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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
/*
Copyright (c) 2007-2010 Gluster, Inc. <http://www.gluster.com>
This file is part of GlusterFS.
GlusterFS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 3 of the License,
or (at your option) any later version.
GlusterFS is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
<http://www.gnu.org/licenses/>.
*/
#ifndef _PROTOCOL_COMMON_H
#define _PROTOCOL_COMMON_H
#define GF_PROTOCOL_DEFAULT_PORT 6971
#define GF_LOCAL_IOV 1 /* All headers are here */
#define GF_EXTRA_IOV 2 /* needed for write/read etc */
enum gf_fop_procnum {
GFS3_OP_NULL, /* 0 */
GFS3_OP_STAT,
GFS3_OP_READLINK,
GFS3_OP_MKNOD,
GFS3_OP_MKDIR,
GFS3_OP_UNLINK,
GFS3_OP_RMDIR,
GFS3_OP_SYMLINK,
GFS3_OP_RENAME,
GFS3_OP_LINK,
GFS3_OP_TRUNCATE,
GFS3_OP_OPEN,
GFS3_OP_READ,
GFS3_OP_WRITE,
GFS3_OP_STATFS,
GFS3_OP_FLUSH,
GFS3_OP_FSYNC,
GFS3_OP_SETXATTR,
GFS3_OP_GETXATTR,
GFS3_OP_REMOVEXATTR,
GFS3_OP_OPENDIR,
GFS3_OP_FSYNCDIR,
GFS3_OP_ACCESS,
GFS3_OP_CREATE,
GFS3_OP_FTRUNCATE,
GFS3_OP_FSTAT,
GFS3_OP_LK,
GFS3_OP_LOOKUP,
GFS3_OP_READDIR,
GFS3_OP_INODELK,
GFS3_OP_FINODELK,
GFS3_OP_ENTRYLK,
GFS3_OP_FENTRYLK,
GFS3_OP_CHECKSUM,
GFS3_OP_XATTROP,
GFS3_OP_FXATTROP,
GFS3_OP_FGETXATTR,
GFS3_OP_FSETXATTR,
GFS3_OP_RCHECKSUM,
GFS3_OP_SETATTR,
GFS3_OP_FSETATTR,
GFS3_OP_READDIRP,
GFS3_OP_RELEASE,
GFS3_OP_RELEASEDIR,
GFS3_OP_MAXVALUE,
} ;
enum gf_handshake_procnum {
GF_HNDSK_NULL,
GF_HNDSK_DUMP_VERSION,
GF_HNDSK_SETVOLUME,
GF_HNDSK_GETSPEC,
GF_HNDSK_PING,
};
enum gf_mgmt_procnum {
GF1_MGMT_NULL, /* 0 */
};
#define GLUSTER3_1_FOP_PROGRAM 1298437 /* Completely random */
#define GLUSTER3_1_FOP_VERSION 310 /* 3.1.0 */
#define GLUSTER3_1_FOP_PROCCNT GFS3_OP_MAXVALUE
#define GLUSTER1_MGMT_PROGRAM 1298433 /* Completely random */
#define GLUSTER1_MGMT_VERSION 1 /* 0.0.1 */
#define GLUSTER_HNDSK_PROGRAM 14398633 /* Completely random */
#define GLUSTER_HNDSK_VERSION 1 /* 0.0.1 */
int
gf_dirent_unserialize (gf_dirent_t *entries, const char *buf, size_t buf_size);
int
gf_dirent_serialize (gf_dirent_t *entries, char *buf, size_t buf_size);
#endif /* !_PROTOCOL_COMMON_H */
|