Home | History | Annotate | Download | only in rpcsvc
      1 /*
      2  * Please do not edit this file.
      3  * It was generated using rpcgen.
      4  */
      5 
      6 #ifndef _NFS_PROT_H_RPCGEN
      7 #define _NFS_PROT_H_RPCGEN
      8 
      9 #include <rpc/rpc.h>
     10 
     11 
     12 #ifdef __cplusplus
     13 extern "C" {
     14 #endif
     15 
     16 #define NFS_PORT 2049
     17 #define NFS_MAXDATA 8192
     18 #define NFS_MAXPATHLEN 1024
     19 #define NFS_MAXNAMLEN 255
     20 #define NFS_FHSIZE 32
     21 #define NFS_COOKIESIZE 4
     22 #define NFS_FIFO_DEV -1
     23 #define NFSMODE_FMT 0170000
     24 #define NFSMODE_DIR 0040000
     25 #define NFSMODE_CHR 0020000
     26 #define NFSMODE_BLK 0060000
     27 #define NFSMODE_REG 0100000
     28 #define NFSMODE_LNK 0120000
     29 #define NFSMODE_SOCK 0140000
     30 #define NFSMODE_FIFO 0010000
     31 
     32 enum nfsstat {
     33 	NFS_OK = 0,
     34 	NFSERR_PERM = 1,
     35 	NFSERR_NOENT = 2,
     36 	NFSERR_IO = 5,
     37 	NFSERR_NXIO = 6,
     38 	NFSERR_ACCES = 13,
     39 	NFSERR_EXIST = 17,
     40 	NFSERR_NODEV = 19,
     41 	NFSERR_NOTDIR = 20,
     42 	NFSERR_ISDIR = 21,
     43 	NFSERR_FBIG = 27,
     44 	NFSERR_NOSPC = 28,
     45 	NFSERR_ROFS = 30,
     46 	NFSERR_NAMETOOLONG = 63,
     47 	NFSERR_NOTEMPTY = 66,
     48 	NFSERR_DQUOT = 69,
     49 	NFSERR_STALE = 70,
     50 	NFSERR_WFLUSH = 99,
     51 };
     52 typedef enum nfsstat nfsstat;
     53 
     54 enum ftype {
     55 	NFNON = 0,
     56 	NFREG = 1,
     57 	NFDIR = 2,
     58 	NFBLK = 3,
     59 	NFCHR = 4,
     60 	NFLNK = 5,
     61 	NFSOCK = 6,
     62 	NFBAD = 7,
     63 	NFFIFO = 8,
     64 };
     65 typedef enum ftype ftype;
     66 
     67 struct nfs_fh {
     68 	char data[NFS_FHSIZE];
     69 };
     70 typedef struct nfs_fh nfs_fh;
     71 
     72 struct nfstime {
     73 	u_int seconds;
     74 	u_int useconds;
     75 };
     76 typedef struct nfstime nfstime;
     77 
     78 struct fattr {
     79 	ftype type;
     80 	u_int mode;
     81 	u_int nlink;
     82 	u_int uid;
     83 	u_int gid;
     84 	u_int size;
     85 	u_int blocksize;
     86 	u_int rdev;
     87 	u_int blocks;
     88 	u_int fsid;
     89 	u_int fileid;
     90 	nfstime atime;
     91 	nfstime mtime;
     92 	nfstime ctime;
     93 };
     94 typedef struct fattr fattr;
     95 
     96 struct sattr {
     97 	u_int mode;
     98 	u_int uid;
     99 	u_int gid;
    100 	u_int size;
    101 	nfstime atime;
    102 	nfstime mtime;
    103 };
    104 typedef struct sattr sattr;
    105 
    106 typedef char *filename;
    107 
    108 typedef char *nfspath;
    109 
    110 struct attrstat {
    111 	nfsstat status;
    112 	union {
    113 		fattr attributes;
    114 	} attrstat_u;
    115 };
    116 typedef struct attrstat attrstat;
    117 
    118 struct sattrargs {
    119 	nfs_fh file;
    120 	sattr attributes;
    121 };
    122 typedef struct sattrargs sattrargs;
    123 
    124 struct diropargs {
    125 	nfs_fh dir;
    126 	filename name;
    127 };
    128 typedef struct diropargs diropargs;
    129 
    130 struct diropokres {
    131 	nfs_fh file;
    132 	fattr attributes;
    133 };
    134 typedef struct diropokres diropokres;
    135 
    136 struct diropres {
    137 	nfsstat status;
    138 	union {
    139 		diropokres diropres;
    140 	} diropres_u;
    141 };
    142 typedef struct diropres diropres;
    143 
    144 struct readlinkres {
    145 	nfsstat status;
    146 	union {
    147 		nfspath data;
    148 	} readlinkres_u;
    149 };
    150 typedef struct readlinkres readlinkres;
    151 
    152 struct readargs {
    153 	nfs_fh file;
    154 	u_int offset;
    155 	u_int count;
    156 	u_int totalcount;
    157 };
    158 typedef struct readargs readargs;
    159 
    160 struct readokres {
    161 	fattr attributes;
    162 	struct {
    163 		u_int data_len;
    164 		char *data_val;
    165 	} data;
    166 };
    167 typedef struct readokres readokres;
    168 
    169 struct readres {
    170 	nfsstat status;
    171 	union {
    172 		readokres reply;
    173 	} readres_u;
    174 };
    175 typedef struct readres readres;
    176 
    177 struct writeargs {
    178 	nfs_fh file;
    179 	u_int beginoffset;
    180 	u_int offset;
    181 	u_int totalcount;
    182 	struct {
    183 		u_int data_len;
    184 		char *data_val;
    185 	} data;
    186 };
    187 typedef struct writeargs writeargs;
    188 
    189 struct createargs {
    190 	diropargs where;
    191 	sattr attributes;
    192 };
    193 typedef struct createargs createargs;
    194 
    195 struct renameargs {
    196 	diropargs from;
    197 	diropargs to;
    198 };
    199 typedef struct renameargs renameargs;
    200 
    201 struct linkargs {
    202 	nfs_fh from;
    203 	diropargs to;
    204 };
    205 typedef struct linkargs linkargs;
    206 
    207 struct symlinkargs {
    208 	diropargs from;
    209 	nfspath to;
    210 	sattr attributes;
    211 };
    212 typedef struct symlinkargs symlinkargs;
    213 
    214 typedef char nfscookie[NFS_COOKIESIZE];
    215 
    216 struct readdirargs {
    217 	nfs_fh dir;
    218 	nfscookie cookie;
    219 	u_int count;
    220 };
    221 typedef struct readdirargs readdirargs;
    222 
    223 struct entry {
    224 	u_int fileid;
    225 	filename name;
    226 	nfscookie cookie;
    227 	struct entry *nextentry;
    228 };
    229 typedef struct entry entry;
    230 
    231 struct dirlist {
    232 	entry *entries;
    233 	bool_t eof;
    234 };
    235 typedef struct dirlist dirlist;
    236 
    237 struct readdirres {
    238 	nfsstat status;
    239 	union {
    240 		dirlist reply;
    241 	} readdirres_u;
    242 };
    243 typedef struct readdirres readdirres;
    244 
    245 struct statfsokres {
    246 	u_int tsize;
    247 	u_int bsize;
    248 	u_int blocks;
    249 	u_int bfree;
    250 	u_int bavail;
    251 };
    252 typedef struct statfsokres statfsokres;
    253 
    254 struct statfsres {
    255 	nfsstat status;
    256 	union {
    257 		statfsokres reply;
    258 	} statfsres_u;
    259 };
    260 typedef struct statfsres statfsres;
    261 
    262 #define NFS_PROGRAM 100003
    263 #define NFS_VERSION 2
    264 
    265 #if defined(__STDC__) || defined(__cplusplus)
    266 #define NFSPROC_NULL 0
    267 extern  void * nfsproc_null_2(void *, CLIENT *);
    268 extern  void * nfsproc_null_2_svc(void *, struct svc_req *);
    269 #define NFSPROC_GETATTR 1
    270 extern  attrstat * nfsproc_getattr_2(nfs_fh *, CLIENT *);
    271 extern  attrstat * nfsproc_getattr_2_svc(nfs_fh *, struct svc_req *);
    272 #define NFSPROC_SETATTR 2
    273 extern  attrstat * nfsproc_setattr_2(sattrargs *, CLIENT *);
    274 extern  attrstat * nfsproc_setattr_2_svc(sattrargs *, struct svc_req *);
    275 #define NFSPROC_ROOT 3
    276 extern  void * nfsproc_root_2(void *, CLIENT *);
    277 extern  void * nfsproc_root_2_svc(void *, struct svc_req *);
    278 #define NFSPROC_LOOKUP 4
    279 extern  diropres * nfsproc_lookup_2(diropargs *, CLIENT *);
    280 extern  diropres * nfsproc_lookup_2_svc(diropargs *, struct svc_req *);
    281 #define NFSPROC_READLINK 5
    282 extern  readlinkres * nfsproc_readlink_2(nfs_fh *, CLIENT *);
    283 extern  readlinkres * nfsproc_readlink_2_svc(nfs_fh *, struct svc_req *);
    284 #define NFSPROC_READ 6
    285 extern  readres * nfsproc_read_2(readargs *, CLIENT *);
    286 extern  readres * nfsproc_read_2_svc(readargs *, struct svc_req *);
    287 #define NFSPROC_WRITECACHE 7
    288 extern  void * nfsproc_writecache_2(void *, CLIENT *);
    289 extern  void * nfsproc_writecache_2_svc(void *, struct svc_req *);
    290 #define NFSPROC_WRITE 8
    291 extern  attrstat * nfsproc_write_2(writeargs *, CLIENT *);
    292 extern  attrstat * nfsproc_write_2_svc(writeargs *, struct svc_req *);
    293 #define NFSPROC_CREATE 9
    294 extern  diropres * nfsproc_create_2(createargs *, CLIENT *);
    295 extern  diropres * nfsproc_create_2_svc(createargs *, struct svc_req *);
    296 #define NFSPROC_REMOVE 10
    297 extern  nfsstat * nfsproc_remove_2(diropargs *, CLIENT *);
    298 extern  nfsstat * nfsproc_remove_2_svc(diropargs *, struct svc_req *);
    299 #define NFSPROC_RENAME 11
    300 extern  nfsstat * nfsproc_rename_2(renameargs *, CLIENT *);
    301 extern  nfsstat * nfsproc_rename_2_svc(renameargs *, struct svc_req *);
    302 #define NFSPROC_LINK 12
    303 extern  nfsstat * nfsproc_link_2(linkargs *, CLIENT *);
    304 extern  nfsstat * nfsproc_link_2_svc(linkargs *, struct svc_req *);
    305 #define NFSPROC_SYMLINK 13
    306 extern  nfsstat * nfsproc_symlink_2(symlinkargs *, CLIENT *);
    307 extern  nfsstat * nfsproc_symlink_2_svc(symlinkargs *, struct svc_req *);
    308 #define NFSPROC_MKDIR 14
    309 extern  diropres * nfsproc_mkdir_2(createargs *, CLIENT *);
    310 extern  diropres * nfsproc_mkdir_2_svc(createargs *, struct svc_req *);
    311 #define NFSPROC_RMDIR 15
    312 extern  nfsstat * nfsproc_rmdir_2(diropargs *, CLIENT *);
    313 extern  nfsstat * nfsproc_rmdir_2_svc(diropargs *, struct svc_req *);
    314 #define NFSPROC_READDIR 16
    315 extern  readdirres * nfsproc_readdir_2(readdirargs *, CLIENT *);
    316 extern  readdirres * nfsproc_readdir_2_svc(readdirargs *, struct svc_req *);
    317 #define NFSPROC_STATFS 17
    318 extern  statfsres * nfsproc_statfs_2(nfs_fh *, CLIENT *);
    319 extern  statfsres * nfsproc_statfs_2_svc(nfs_fh *, struct svc_req *);
    320 extern int nfs_program_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
    321 
    322 #else /* K&R C */
    323 #define NFSPROC_NULL 0
    324 extern  void * nfsproc_null_2();
    325 extern  void * nfsproc_null_2_svc();
    326 #define NFSPROC_GETATTR 1
    327 extern  attrstat * nfsproc_getattr_2();
    328 extern  attrstat * nfsproc_getattr_2_svc();
    329 #define NFSPROC_SETATTR 2
    330 extern  attrstat * nfsproc_setattr_2();
    331 extern  attrstat * nfsproc_setattr_2_svc();
    332 #define NFSPROC_ROOT 3
    333 extern  void * nfsproc_root_2();
    334 extern  void * nfsproc_root_2_svc();
    335 #define NFSPROC_LOOKUP 4
    336 extern  diropres * nfsproc_lookup_2();
    337 extern  diropres * nfsproc_lookup_2_svc();
    338 #define NFSPROC_READLINK 5
    339 extern  readlinkres * nfsproc_readlink_2();
    340 extern  readlinkres * nfsproc_readlink_2_svc();
    341 #define NFSPROC_READ 6
    342 extern  readres * nfsproc_read_2();
    343 extern  readres * nfsproc_read_2_svc();
    344 #define NFSPROC_WRITECACHE 7
    345 extern  void * nfsproc_writecache_2();
    346 extern  void * nfsproc_writecache_2_svc();
    347 #define NFSPROC_WRITE 8
    348 extern  attrstat * nfsproc_write_2();
    349 extern  attrstat * nfsproc_write_2_svc();
    350 #define NFSPROC_CREATE 9
    351 extern  diropres * nfsproc_create_2();
    352 extern  diropres * nfsproc_create_2_svc();
    353 #define NFSPROC_REMOVE 10
    354 extern  nfsstat * nfsproc_remove_2();
    355 extern  nfsstat * nfsproc_remove_2_svc();
    356 #define NFSPROC_RENAME 11
    357 extern  nfsstat * nfsproc_rename_2();
    358 extern  nfsstat * nfsproc_rename_2_svc();
    359 #define NFSPROC_LINK 12
    360 extern  nfsstat * nfsproc_link_2();
    361 extern  nfsstat * nfsproc_link_2_svc();
    362 #define NFSPROC_SYMLINK 13
    363 extern  nfsstat * nfsproc_symlink_2();
    364 extern  nfsstat * nfsproc_symlink_2_svc();
    365 #define NFSPROC_MKDIR 14
    366 extern  diropres * nfsproc_mkdir_2();
    367 extern  diropres * nfsproc_mkdir_2_svc();
    368 #define NFSPROC_RMDIR 15
    369 extern  nfsstat * nfsproc_rmdir_2();
    370 extern  nfsstat * nfsproc_rmdir_2_svc();
    371 #define NFSPROC_READDIR 16
    372 extern  readdirres * nfsproc_readdir_2();
    373 extern  readdirres * nfsproc_readdir_2_svc();
    374 #define NFSPROC_STATFS 17
    375 extern  statfsres * nfsproc_statfs_2();
    376 extern  statfsres * nfsproc_statfs_2_svc();
    377 extern int nfs_program_2_freeresult ();
    378 #endif /* K&R C */
    379 
    380 /* the xdr functions */
    381 
    382 #if defined(__STDC__) || defined(__cplusplus)
    383 extern  bool_t xdr_nfsstat (XDR *, nfsstat*);
    384 extern  bool_t xdr_ftype (XDR *, ftype*);
    385 extern  bool_t xdr_nfs_fh (XDR *, nfs_fh*);
    386 extern  bool_t xdr_nfstime (XDR *, nfstime*);
    387 extern  bool_t xdr_fattr (XDR *, fattr*);
    388 extern  bool_t xdr_sattr (XDR *, sattr*);
    389 extern  bool_t xdr_filename (XDR *, filename*);
    390 extern  bool_t xdr_nfspath (XDR *, nfspath*);
    391 extern  bool_t xdr_attrstat (XDR *, attrstat*);
    392 extern  bool_t xdr_sattrargs (XDR *, sattrargs*);
    393 extern  bool_t xdr_diropargs (XDR *, diropargs*);
    394 extern  bool_t xdr_diropokres (XDR *, diropokres*);
    395 extern  bool_t xdr_diropres (XDR *, diropres*);
    396 extern  bool_t xdr_readlinkres (XDR *, readlinkres*);
    397 extern  bool_t xdr_readargs (XDR *, readargs*);
    398 extern  bool_t xdr_readokres (XDR *, readokres*);
    399 extern  bool_t xdr_readres (XDR *, readres*);
    400 extern  bool_t xdr_writeargs (XDR *, writeargs*);
    401 extern  bool_t xdr_createargs (XDR *, createargs*);
    402 extern  bool_t xdr_renameargs (XDR *, renameargs*);
    403 extern  bool_t xdr_linkargs (XDR *, linkargs*);
    404 extern  bool_t xdr_symlinkargs (XDR *, symlinkargs*);
    405 extern  bool_t xdr_nfscookie (XDR *, nfscookie);
    406 extern  bool_t xdr_readdirargs (XDR *, readdirargs*);
    407 extern  bool_t xdr_entry (XDR *, entry*);
    408 extern  bool_t xdr_dirlist (XDR *, dirlist*);
    409 extern  bool_t xdr_readdirres (XDR *, readdirres*);
    410 extern  bool_t xdr_statfsokres (XDR *, statfsokres*);
    411 extern  bool_t xdr_statfsres (XDR *, statfsres*);
    412 
    413 #else /* K&R C */
    414 extern bool_t xdr_nfsstat ();
    415 extern bool_t xdr_ftype ();
    416 extern bool_t xdr_nfs_fh ();
    417 extern bool_t xdr_nfstime ();
    418 extern bool_t xdr_fattr ();
    419 extern bool_t xdr_sattr ();
    420 extern bool_t xdr_filename ();
    421 extern bool_t xdr_nfspath ();
    422 extern bool_t xdr_attrstat ();
    423 extern bool_t xdr_sattrargs ();
    424 extern bool_t xdr_diropargs ();
    425 extern bool_t xdr_diropokres ();
    426 extern bool_t xdr_diropres ();
    427 extern bool_t xdr_readlinkres ();
    428 extern bool_t xdr_readargs ();
    429 extern bool_t xdr_readokres ();
    430 extern bool_t xdr_readres ();
    431 extern bool_t xdr_writeargs ();
    432 extern bool_t xdr_createargs ();
    433 extern bool_t xdr_renameargs ();
    434 extern bool_t xdr_linkargs ();
    435 extern bool_t xdr_symlinkargs ();
    436 extern bool_t xdr_nfscookie ();
    437 extern bool_t xdr_readdirargs ();
    438 extern bool_t xdr_entry ();
    439 extern bool_t xdr_dirlist ();
    440 extern bool_t xdr_readdirres ();
    441 extern bool_t xdr_statfsokres ();
    442 extern bool_t xdr_statfsres ();
    443 
    444 #endif /* K&R C */
    445 
    446 #ifdef __cplusplus
    447 }
    448 #endif
    449 
    450 #endif /* !_NFS_PROT_H_RPCGEN */
    451