summaryrefslogtreecommitdiffstats
path: root/rpc/block.x
blob: 0bc988c948e8c90ed77de18904ee2bf160fb3e0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
struct blockCreate {
  char      volume[255];
  char      volfileserver[255];
  char      gbid[127];                   /* uuid */
  u_quad_t  size;
  char      block_name[255];
};

struct blockCreateCli {
  char      volume[255];
  char      volfileserver[255];
  u_quad_t  size;
  u_int     mpath;                /* HA request count */
  char      block_name[255];
  string    block_hosts<>;
};

struct blockDeleteCli {
  char      block_name[255];
  char      volume[255];
};

struct blockDelete {
  char      block_name[255];
  char      gbid[127];
};

struct blockInfoCli {
  char block_name[255];
  char volume[255];
};

struct blockListCli {
  char volume[255];
  u_quad_t offset;      /* dentry d_name offset */
};

struct blockResponse {
  int       exit;       /* exit code of the command */
  string    out<>;      /* json output */
  u_quad_t  offset;     /* dentry d_name offset */
  opaque    xdata<>;    /* future reserve */
};

program GLUSTER_BLOCK_CLI {
  version GLUSTER_BLOCK_CLI_VERS {
    blockResponse BLOCK_CREATE_CLI(blockCreateCli) = 1;
    blockResponse BLOCK_LIST_CLI(blockListCli) = 2;
    blockResponse BLOCK_INFO_CLI(blockInfoCli) = 3;
    blockResponse BLOCK_DELETE_CLI(blockDeleteCli) = 4;
  } = 1;
} = 212153113; /* B2 L12 O15 C3 K11 C3 */

program GLUSTER_BLOCK {
  version GLUSTER_BLOCK_VERS {
    blockResponse BLOCK_CREATE(blockCreate) = 1;
    blockResponse BLOCK_DELETE(blockDelete) = 2;
  } = 1;
} = 21215311; /* B2 L12 O15 C3 K11 */