diff options
author | cy <cy@FreeBSD.org> | 2016-12-23 22:42:14 +0000 |
---|---|---|
committer | cy <cy@FreeBSD.org> | 2016-12-23 22:42:14 +0000 |
commit | 70bf75ae7a6fb3eb5862c9ffe6a0b37f01cece8f (patch) | |
tree | ad789657cf126d79112c72e841748348445a1a97 /contrib/amd/include/am_xdr_func.h | |
parent | c463638654b9ffb469ad4876aa6e924ef67f622f (diff) | |
download | FreeBSD-src-70bf75ae7a6fb3eb5862c9ffe6a0b37f01cece8f.zip FreeBSD-src-70bf75ae7a6fb3eb5862c9ffe6a0b37f01cece8f.tar.gz |
MFC r308493, r308619: Update amd from am-utils 6.1.5 to 6.2.
Used extensively on my network over the past ten weeks.
Reviewed by: pfg, brooks
Suggested by: pfg
Obtained from: ftp://ftp.am-utils.org/pub/am-utils/
Relnotes: yes
Differential Revision: D8405
Diffstat (limited to 'contrib/amd/include/am_xdr_func.h')
-rw-r--r-- | contrib/amd/include/am_xdr_func.h | 1049 |
1 files changed, 1026 insertions, 23 deletions
diff --git a/contrib/amd/include/am_xdr_func.h b/contrib/amd/include/am_xdr_func.h index c415918..3659942 100644 --- a/contrib/amd/include/am_xdr_func.h +++ b/contrib/amd/include/am_xdr_func.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2006 Erez Zadok + * Copyright (c) 1997-2014 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -16,11 +16,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgment: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -43,8 +39,26 @@ #ifdef HAVE_FS_NFS3 +#define AM_MOUNTVERS3 ((unsigned long)(3)) + #define AM_FHSIZE3 64 /* size in bytes of a file handle (v3) */ -#define AM_MOUNTVERS3 ((unsigned long)(3)) +#define AM_NFS3_WRITEVERFSIZE 8 +#define AM_NFS3_CREATEVERFSIZE 8 +#define AM_NFS3_COOKIEVERFSIZE 8 +#define AM_ACCESS3_READ 0x0001 +#define AM_ACCESS3_LOOKUP 0x0002 +#define AM_ACCESS3_MODIFY 0x0004 +#define AM_ACCESS3_EXTEND 0x0008 +#define AM_ACCESS3_DELETE 0x0010 +#define AM_ACCESS3_EXECUTE 0x0020 +#define AM_FSF3_LINK 0x0001 +#define AM_FSF3_SYMLINK 0x0002 +#define AM_FSF3_HOMOGENEOUS 0x0008 +#define AM_FSF3_CANSETTIME 0x0010 + +typedef char am_cookieverf3[AM_NFS3_COOKIEVERFSIZE]; + +typedef uint64 am_cookie3; /* NFSv3 handle */ struct am_nfs_fh3 { @@ -131,37 +145,830 @@ struct am_diropargs3 { }; typedef struct am_diropargs3 am_diropargs3; +enum am_ftype3 { + AM_NF3REG = 1, + AM_NF3DIR = 2, + AM_NF3BLK = 3, + AM_NF3CHR = 4, + AM_NF3LNK = 5, + AM_NF3SOCK = 6, + AM_NF3FIFO = 7, +}; +typedef enum am_ftype3 am_ftype3; + +typedef u_int am_mode3; + +typedef u_int am_uid3; + +typedef u_int am_gid3; + +typedef uint64 am_size3; + +typedef uint64 am_fileid3; + +struct am_specdata3 { + u_int specdata1; + u_int specdata2; +}; +typedef struct am_specdata3 am_specdata3; + +struct am_nfstime3 { + u_int seconds; + u_int nseconds; +}; +typedef struct am_nfstime3 am_nfstime3; + +struct am_fattr3 { + am_ftype3 type; + am_mode3 mode; + u_int nlink; + am_uid3 uid; + am_gid3 gid; + am_size3 size; + am_size3 used; + am_specdata3 rdev; + uint64 fsid; + am_fileid3 fileid; + am_nfstime3 atime; + am_nfstime3 mtime; + am_nfstime3 ctime; +}; +typedef struct am_fattr3 am_fattr3; + +struct am_post_op_attr { + bool_t attributes_follow; + union { + am_fattr3 attributes; + } am_post_op_attr_u; +}; +typedef struct am_post_op_attr am_post_op_attr; + +enum am_stable_how { + AM_UNSTABLE = 0, + AM_DATA_SYNC = 1, + AM_FILE_SYNC = 2, +}; +typedef enum am_stable_how am_stable_how; + +typedef uint64 am_offset3; + +typedef u_int am_count3; + +struct am_wcc_attr { + am_size3 size; + am_nfstime3 mtime; + am_nfstime3 ctime; +}; +typedef struct am_wcc_attr am_wcc_attr; + +struct am_pre_op_attr { + bool_t attributes_follow; + union { + am_wcc_attr attributes; + } am_pre_op_attr_u; +}; +typedef struct am_pre_op_attr am_pre_op_attr; + +struct am_wcc_data { + am_pre_op_attr before; + am_post_op_attr after; +}; +typedef struct am_wcc_data am_wcc_data; + +struct am_WRITE3args { + am_nfs_fh3 file; + am_offset3 offset; + am_count3 count; + am_stable_how stable; + struct { + u_int data_len; + char *data_val; + } data; +}; +typedef struct am_WRITE3args am_WRITE3args; + +typedef char am_writeverf3[AM_NFS3_WRITEVERFSIZE]; + +struct am_WRITE3resok { + am_wcc_data file_wcc; + am_count3 count; + am_stable_how committed; + am_writeverf3 verf; +}; +typedef struct am_WRITE3resok am_WRITE3resok; + +struct am_WRITE3resfail { + am_wcc_data file_wcc; +}; +typedef struct am_WRITE3resfail am_WRITE3resfail; + +struct am_WRITE3res { + am_nfsstat3 status; + union { + am_WRITE3resok ok; + am_WRITE3resfail fail; + } res_u; +}; +typedef struct am_WRITE3res am_WRITE3res; + struct am_LOOKUP3args { - am_diropargs3 what; + am_diropargs3 what; }; typedef struct am_LOOKUP3args am_LOOKUP3args; struct am_LOOKUP3resok { - am_nfs_fh3 object; -#if 0 - post_op_attr obj_attributes; - post_op_attr dir_attributes; -#endif + am_nfs_fh3 object; + am_post_op_attr obj_attributes; + am_post_op_attr dir_attributes; }; typedef struct am_LOOKUP3resok am_LOOKUP3resok; struct am_LOOKUP3resfail { -#if 0 - post_op_attr dir_attributes; -#else - char dummy; /* cannot have an empty declaration */ -#endif + am_post_op_attr dir_attributes; }; typedef struct am_LOOKUP3resfail am_LOOKUP3resfail; struct am_LOOKUP3res { - am_nfsstat3 status; - union { - am_LOOKUP3resok ok; - am_LOOKUP3resfail fail; - } res_u; + am_nfsstat3 status; + union { + am_LOOKUP3resok ok; + am_LOOKUP3resfail fail; + } res_u; }; typedef struct am_LOOKUP3res am_LOOKUP3res; + +struct am_COMMIT3args { + am_nfs_fh3 file; + am_offset3 offset; + am_count3 count; +}; +typedef struct am_COMMIT3args am_COMMIT3args; + +struct am_COMMIT3resok { + am_wcc_data file_wcc; + am_writeverf3 verf; +}; +typedef struct am_COMMIT3resok am_COMMIT3resok; + +struct am_COMMIT3resfail { + am_wcc_data file_wcc; +}; +typedef struct am_COMMIT3resfail am_COMMIT3resfail; + +struct am_COMMIT3res { + am_nfsstat3 status; + union { + am_COMMIT3resok ok; + am_COMMIT3resfail fail; + } res_u; +}; +typedef struct am_COMMIT3res am_COMMIT3res; + +struct am_ACCESS3args { + am_nfs_fh3 object; + u_int access; +}; +typedef struct am_ACCESS3args am_ACCESS3args; + +struct am_ACCESS3resok { + am_post_op_attr obj_attributes; + u_int access; +}; +typedef struct am_ACCESS3resok am_ACCESS3resok; + +struct am_ACCESS3resfail { + am_post_op_attr obj_attributes; +}; +typedef struct am_ACCESS3resfail am_ACCESS3resfail; + +struct am_ACCESS3res { + am_nfsstat3 status; + union { + am_ACCESS3resok ok; + am_ACCESS3resfail fail; + } res_u; +}; +typedef struct am_ACCESS3res am_ACCESS3res; + +struct am_GETATTR3args { + am_nfs_fh3 object; +}; +typedef struct am_GETATTR3args am_GETATTR3args; + +struct am_GETATTR3resok { + am_fattr3 obj_attributes; +}; +typedef struct am_GETATTR3resok am_GETATTR3resok; + +struct am_GETATTR3res { + am_nfsstat3 status; + union { + am_GETATTR3resok ok; + } res_u; +}; +typedef struct am_GETATTR3res am_GETATTR3res; + +enum am_time_how { + AM_DONT_CHANGE = 0, + AM_SET_TO_SERVER_TIME = 1, + AM_SET_TO_CLIENT_TIME = 2, +}; +typedef enum am_time_how am_time_how; + +struct am_set_mode3 { + bool_t set_it; + union { + am_mode3 mode; + } am_set_mode3_u; +}; +typedef struct am_set_mode3 am_set_mode3; + +struct am_set_uid3 { + bool_t set_it; + union { + am_uid3 uid; + } am_set_uid3_u; +}; +typedef struct am_set_uid3 am_set_uid3; + +struct am_set_gid3 { + bool_t set_it; + union { + am_gid3 gid; + } am_set_gid3_u; +}; +typedef struct am_set_gid3 am_set_gid3; + +struct am_set_size3 { + bool_t set_it; + union { + am_size3 size; + } am_set_size3_u; +}; +typedef struct am_set_size3 am_set_size3; + +struct am_set_atime { + am_time_how set_it; + union { + am_nfstime3 atime; + } am_set_atime_u; +}; +typedef struct am_set_atime am_set_atime; + +struct am_set_mtime { + am_time_how set_it; + union { + am_nfstime3 mtime; + } am_set_mtime_u; +}; +typedef struct am_set_mtime am_set_mtime; + +struct am_sattr3 { + am_set_mode3 mode; + am_set_uid3 uid; + am_set_gid3 gid; + am_set_size3 size; + am_set_atime atime; + am_set_mtime mtime; +}; +typedef struct am_sattr3 am_sattr3; + +enum am_createmode3 { + AM_UNCHECKED = 0, + AM_GUARDED = 1, + AM_EXCLUSIVE = 2, +}; +typedef enum am_createmode3 am_createmode3; + +typedef char am_createverf3[AM_NFS3_CREATEVERFSIZE]; + +struct am_createhow3 { + am_createmode3 mode; + union { + am_sattr3 obj_attributes; + am_sattr3 g_obj_attributes; + am_createverf3 verf; + } am_createhow3_u; +}; +typedef struct am_createhow3 am_createhow3; + +struct am_CREATE3args { + am_diropargs3 where; + am_createhow3 how; +}; +typedef struct am_CREATE3args am_CREATE3args; + +struct am_post_op_fh3 { + bool_t handle_follows; + union { + am_nfs_fh3 handle; + } am_post_op_fh3_u; +}; +typedef struct am_post_op_fh3 am_post_op_fh3; + +struct am_CREATE3resok { + am_post_op_fh3 obj; + am_post_op_attr obj_attributes; + am_wcc_data dir_wcc; +}; +typedef struct am_CREATE3resok am_CREATE3resok; + +struct am_CREATE3resfail { + am_wcc_data dir_wcc; +}; +typedef struct am_CREATE3resfail am_CREATE3resfail; + +struct am_CREATE3res { + am_nfsstat3 status; + union { + am_CREATE3resok ok; + am_CREATE3resfail fail; + } res_u; +}; +typedef struct am_CREATE3res am_CREATE3res; + +struct am_REMOVE3args { + am_diropargs3 object; +}; +typedef struct am_REMOVE3args am_REMOVE3args; + +struct am_REMOVE3resok { + am_wcc_data dir_wcc; +}; +typedef struct am_REMOVE3resok am_REMOVE3resok; + +struct am_REMOVE3resfail { + am_wcc_data dir_wcc; +}; +typedef struct am_REMOVE3resfail am_REMOVE3resfail; + +struct am_REMOVE3res { + am_nfsstat3 status; + union { + am_REMOVE3resok ok; + am_REMOVE3resfail fail; + } res_u; +}; +typedef struct am_REMOVE3res am_REMOVE3res; + +struct am_READ3args { + am_nfs_fh3 file; + am_offset3 offset; + am_count3 count; +}; +typedef struct am_READ3args am_READ3args; + +struct am_READ3resok { + am_post_op_attr file_attributes; + am_count3 count; + bool_t eof; + struct { + u_int data_len; + char *data_val; + } data; +}; +typedef struct am_READ3resok am_READ3resok; + +struct am_READ3resfail { + am_post_op_attr file_attributes; +}; +typedef struct am_READ3resfail am_READ3resfail; + +struct am_READ3res { + am_nfsstat3 status; + union { + am_READ3resok ok; + am_READ3resfail fail; + } res_u; +}; +typedef struct am_READ3res am_READ3res; + +struct am_FSINFO3args { + am_nfs_fh3 fsroot; +}; +typedef struct am_FSINFO3args am_FSINFO3args; + +struct am_FSINFO3resok { + am_post_op_attr obj_attributes; + u_int rtmax; + u_int rtpref; + u_int rtmult; + u_int wtmax; + u_int wtpref; + u_int wtmult; + u_int dtpref; + am_size3 maxfilesize; + am_nfstime3 time_delta; + u_int properties; +}; +typedef struct am_FSINFO3resok am_FSINFO3resok; + +struct am_FSINFO3resfail { + am_post_op_attr obj_attributes; +}; +typedef struct am_FSINFO3resfail am_FSINFO3resfail; + +struct am_FSINFO3res { + am_nfsstat3 status; + union { + am_FSINFO3resok ok; + am_FSINFO3resfail fail; + } res_u; +}; +typedef struct am_FSINFO3res am_FSINFO3res; + +struct am_FSSTAT3args { + am_nfs_fh3 fsroot; +}; +typedef struct am_FSSTAT3args am_FSSTAT3args; + +struct am_FSSTAT3resok { + am_post_op_attr obj_attributes; + am_size3 tbytes; + am_size3 fbytes; + am_size3 abytes; + am_size3 tfiles; + am_size3 ffiles; + am_size3 afiles; + u_int invarsec; +}; +typedef struct am_FSSTAT3resok am_FSSTAT3resok; + +struct am_FSSTAT3resfail { + am_post_op_attr obj_attributes; +}; +typedef struct am_FSSTAT3resfail am_FSSTAT3resfail; + +struct am_FSSTAT3res { + am_nfsstat3 status; + union { + am_FSSTAT3resok ok; + am_FSSTAT3resfail fail; + } res_u; +}; +typedef struct am_FSSTAT3res am_FSSTAT3res; + +struct am_PATHCONF3args { + am_nfs_fh3 object; +}; +typedef struct am_PATHCONF3args am_PATHCONF3args; + +struct am_PATHCONF3resok { + am_post_op_attr obj_attributes; + u_int linkmax; + u_int name_max; + bool_t no_trunc; + bool_t chown_restricted; + bool_t case_insensitive; + bool_t case_preserving; +}; +typedef struct am_PATHCONF3resok am_PATHCONF3resok; + +struct am_PATHCONF3resfail { + am_post_op_attr obj_attributes; +}; +typedef struct am_PATHCONF3resfail am_PATHCONF3resfail; + +struct am_PATHCONF3res { + am_nfsstat3 status; + union { + am_PATHCONF3resok ok; + am_PATHCONF3resfail fail; + } res_u; +}; +typedef struct am_PATHCONF3res am_PATHCONF3res; + +typedef char *am_nfspath3; + +struct am_symlinkdata3 { + am_sattr3 symlink_attributes; + am_nfspath3 symlink_data; +}; +typedef struct am_symlinkdata3 am_symlinkdata3; + +struct am_SYMLINK3args { + am_diropargs3 where; + am_symlinkdata3 symlink; +}; +typedef struct am_SYMLINK3args am_SYMLINK3args; + +struct am_SYMLINK3resok { + am_post_op_fh3 obj; + am_post_op_attr obj_attributes; + am_wcc_data dir_wcc; +}; +typedef struct am_SYMLINK3resok am_SYMLINK3resok; + +struct am_SYMLINK3resfail { + am_wcc_data dir_wcc; +}; +typedef struct am_SYMLINK3resfail am_SYMLINK3resfail; + +struct am_SYMLINK3res { + am_nfsstat3 status; + union { + am_SYMLINK3resok ok; + am_SYMLINK3resfail fail; + } res_u; +}; +typedef struct am_SYMLINK3res am_SYMLINK3res; + +struct am_READLINK3args { + am_nfs_fh3 symlink; +}; +typedef struct am_READLINK3args am_READLINK3args; + +struct am_READLINK3resok { + am_post_op_attr symlink_attributes; + am_nfspath3 data; +}; +typedef struct am_READLINK3resok am_READLINK3resok; + +struct am_READLINK3resfail { + am_post_op_attr symlink_attributes; +}; +typedef struct am_READLINK3resfail am_READLINK3resfail; + +struct am_READLINK3res { + am_nfsstat3 status; + union { + am_READLINK3resok ok; + am_READLINK3resfail fail; + } res_u; +}; +typedef struct am_READLINK3res am_READLINK3res; + +struct am_devicedata3 { + am_sattr3 dev_attributes; + am_specdata3 spec; +}; +typedef struct am_devicedata3 am_devicedata3; + +struct am_mknoddata3 { + am_ftype3 type; + union { + am_devicedata3 chr_device; + am_devicedata3 blk_device; + am_sattr3 sock_attributes; + am_sattr3 pipe_attributes; + } am_mknoddata3_u; +}; +typedef struct am_mknoddata3 am_mknoddata3; + +struct am_MKNOD3args { + am_diropargs3 where; + am_mknoddata3 what; +}; +typedef struct am_MKNOD3args am_MKNOD3args; + +struct am_MKNOD3resok { + am_post_op_fh3 obj; + am_post_op_attr obj_attributes; + am_wcc_data dir_wcc; +}; +typedef struct am_MKNOD3resok am_MKNOD3resok; + +struct am_MKNOD3resfail { + am_wcc_data dir_wcc; +}; +typedef struct am_MKNOD3resfail am_MKNOD3resfail; + +struct am_MKNOD3res { + am_nfsstat3 status; + union { + am_MKNOD3resok ok; + am_MKNOD3resfail fail; + } res_u; +}; +typedef struct am_MKNOD3res am_MKNOD3res; + +struct am_MKDIR3args { + am_diropargs3 where; + am_sattr3 attributes; +}; +typedef struct am_MKDIR3args am_MKDIR3args; + +struct am_MKDIR3resok { + am_post_op_fh3 obj; + am_post_op_attr obj_attributes; + am_wcc_data dir_wcc; +}; +typedef struct am_MKDIR3resok am_MKDIR3resok; + +struct am_MKDIR3resfail { + am_wcc_data dir_wcc; +}; +typedef struct am_MKDIR3resfail am_MKDIR3resfail; + +struct am_MKDIR3res { + am_nfsstat3 status; + union { + am_MKDIR3resok ok; + am_MKDIR3resfail fail; + } res_u; +}; +typedef struct am_MKDIR3res am_MKDIR3res; + +struct am_RMDIR3args { + am_diropargs3 object; +}; +typedef struct am_RMDIR3args am_RMDIR3args; + +struct am_RMDIR3resok { + am_wcc_data dir_wcc; +}; +typedef struct am_RMDIR3resok am_RMDIR3resok; + +struct am_RMDIR3resfail { + am_wcc_data dir_wcc; +}; +typedef struct am_RMDIR3resfail am_RMDIR3resfail; + +struct am_RMDIR3res { + am_nfsstat3 status; + union { + am_RMDIR3resok ok; + am_RMDIR3resfail fail; + } res_u; +}; +typedef struct am_RMDIR3res am_RMDIR3res; + +struct am_RENAME3args { + am_diropargs3 from; + am_diropargs3 to; +}; +typedef struct am_RENAME3args am_RENAME3args; + +struct am_RENAME3resok { + am_wcc_data fromdir_wcc; + am_wcc_data todir_wcc; +}; +typedef struct am_RENAME3resok am_RENAME3resok; + +struct am_RENAME3resfail { + am_wcc_data fromdir_wcc; + am_wcc_data todir_wcc; +}; +typedef struct am_RENAME3resfail am_RENAME3resfail; + +struct am_RENAME3res { + am_nfsstat3 status; + union { + am_RENAME3resok ok; + am_RENAME3resfail fail; + } res_u; +}; +typedef struct am_RENAME3res am_RENAME3res; + +struct am_READDIRPLUS3args { + am_nfs_fh3 dir; + am_cookie3 cookie; + am_cookieverf3 cookieverf; + am_count3 dircount; + am_count3 maxcount; +}; +typedef struct am_READDIRPLUS3args am_READDIRPLUS3args; + +struct am_entryplus3 { + am_fileid3 fileid; + am_filename3 name; + am_cookie3 cookie; + am_post_op_attr name_attributes; + am_post_op_fh3 name_handle; + struct am_entryplus3 *nextentry; +}; +typedef struct am_entryplus3 am_entryplus3; + +struct am_dirlistplus3 { + am_entryplus3 *entries; + bool_t eof; +}; +typedef struct am_dirlistplus3 am_dirlistplus3; + +struct am_READDIRPLUS3resok { + am_post_op_attr dir_attributes; + am_cookieverf3 cookieverf; + am_dirlistplus3 reply; +}; +typedef struct am_READDIRPLUS3resok am_READDIRPLUS3resok; + +struct am_READDIRPLUS3resfail { + am_post_op_attr dir_attributes; +}; +typedef struct am_READDIRPLUS3resfail am_READDIRPLUS3resfail; + +struct am_READDIRPLUS3res { + am_nfsstat3 status; + union { + am_READDIRPLUS3resok ok; + am_READDIRPLUS3resfail fail; + } res_u; +}; +typedef struct am_READDIRPLUS3res am_READDIRPLUS3res; + +struct am_READDIR3args { + am_nfs_fh3 dir; + am_cookie3 cookie; + am_cookieverf3 cookieverf; + am_count3 count; +}; +typedef struct am_READDIR3args am_READDIR3args; + +struct am_entry3 { + am_fileid3 fileid; + am_filename3 name; + am_cookie3 cookie; + struct am_entry3 *nextentry; +}; +typedef struct am_entry3 am_entry3; + +struct am_dirlist3 { + am_entry3 *entries; + bool_t eof; +}; +typedef struct am_dirlist3 am_dirlist3; + +struct am_READDIR3resok { + am_post_op_attr dir_attributes; + am_cookieverf3 cookieverf; + am_dirlist3 reply; +}; +typedef struct am_READDIR3resok am_READDIR3resok; + +struct am_READDIR3resfail { + am_post_op_attr dir_attributes; +}; +typedef struct am_READDIR3resfail am_READDIR3resfail; + +struct am_READDIR3res { + am_nfsstat3 status; + union { + am_READDIR3resok ok; + am_READDIR3resfail fail; + } res_u; +}; +typedef struct am_READDIR3res am_READDIR3res; + +struct am_LINK3args { + am_nfs_fh3 file; + am_diropargs3 link; +}; +typedef struct am_LINK3args am_LINK3args; + +struct am_LINK3resok { + am_post_op_attr file_attributes; + am_wcc_data linkdir_wcc; +}; +typedef struct am_LINK3resok am_LINK3resok; + +struct am_LINK3resfail { + am_post_op_attr file_attributes; + am_wcc_data linkdir_wcc; +}; +typedef struct am_LINK3resfail am_LINK3resfail; + +struct am_LINK3res { + am_nfsstat3 status; + union { + am_LINK3resok ok; + am_LINK3resfail fail; + } res_u; +}; +typedef struct am_LINK3res am_LINK3res; + +struct am_sattrguard3 { + bool_t check; + union { + am_nfstime3 obj_ctime; + } am_sattrguard3_u; +}; +typedef struct am_sattrguard3 am_sattrguard3; + +struct am_SETATTR3args { + am_nfs_fh3 object; + am_sattr3 new_attributes; + am_sattrguard3 guard; +}; +typedef struct am_SETATTR3args am_SETATTR3args; + +struct am_SETATTR3resok { + am_wcc_data obj_wcc; +}; +typedef struct am_SETATTR3resok am_SETATTR3resok; + +struct am_SETATTR3resfail { + am_wcc_data obj_wcc; +}; +typedef struct am_SETATTR3resfail am_SETATTR3resfail; + +struct am_SETATTR3res { + am_nfsstat3 status; + union { + am_SETATTR3resok ok; + am_SETATTR3resfail fail; + } res_u; +}; +typedef struct am_SETATTR3res am_SETATTR3res; #endif /* HAVE_FS_NFS3 */ /* @@ -310,6 +1117,74 @@ bool_t xdr_writeargs(XDR *xdrs, nfswriteargs *objp); * NFS3 XDR FUNCTIONS: */ #ifdef HAVE_FS_NFS3 +#define AM_NFS3_NULL 0 +void * am_nfs3_null_3(void *, CLIENT *); +void * am_nfs3_null_3_svc(void *, struct svc_req *); +#define AM_NFS3_GETATTR 1 +am_GETATTR3res * am_nfs3_getattr_3(am_GETATTR3args *, CLIENT *); +am_GETATTR3res * am_nfs3_getattr_3_svc(am_GETATTR3args *, struct svc_req *); +#define AM_NFS3_SETATTR 2 +am_SETATTR3res * am_nfs3_setattr_3(am_SETATTR3args *, CLIENT *); +am_SETATTR3res * am_nfs3_setattr_3_svc(am_SETATTR3args *, struct svc_req *); +#define AM_NFS3_LOOKUP 3 +am_LOOKUP3res * am_nfs3_lookup_3(am_LOOKUP3args *, CLIENT *); +am_LOOKUP3res * am_nfs3_lookup_3_svc(am_LOOKUP3args *, struct svc_req *); +#define AM_NFS3_ACCESS 4 +am_ACCESS3res * am_nfs3_access_3(am_ACCESS3args *, CLIENT *); +am_ACCESS3res * am_nfs3_access_3_svc(am_ACCESS3args *, struct svc_req *); +#define AM_NFS3_READLINK 5 +am_READLINK3res * am_nfs3_readlink_3(am_READLINK3args *, CLIENT *); +am_READLINK3res * am_nfs3_readlink_3_svc(am_READLINK3args *, struct svc_req *); +#define AM_NFS3_READ 6 +am_READ3res * am_nfs3_read_3(am_READ3args *, CLIENT *); +am_READ3res * am_nfs3_read_3_svc(am_READ3args *, struct svc_req *); +#define AM_NFS3_WRITE 7 +am_WRITE3res * am_nfs3_write_3(am_WRITE3args *, CLIENT *); +am_WRITE3res * am_nfs3_write_3_svc(am_WRITE3args *, struct svc_req *); +#define AM_NFS3_CREATE 8 +am_CREATE3res * am_nfs3_create_3(am_CREATE3args *, CLIENT *); +am_CREATE3res * am_nfs3_create_3_svc(am_CREATE3args *, struct svc_req *); +#define AM_NFS3_MKDIR 9 +am_MKDIR3res * am_nfs3_mkdir_3(am_MKDIR3args *, CLIENT *); +am_MKDIR3res * am_nfs3_mkdir_3_svc(am_MKDIR3args *, struct svc_req *); +#define AM_NFS3_SYMLINK 10 +am_SYMLINK3res * am_nfs3_symlink_3(am_SYMLINK3args *, CLIENT *); +am_SYMLINK3res * am_nfs3_symlink_3_svc(am_SYMLINK3args *, struct svc_req *); +#define AM_NFS3_MKNOD 11 +am_MKNOD3res * am_nfs3_mknod_3(am_MKNOD3args *, CLIENT *); +am_MKNOD3res * am_nfs3_mknod_3_svc(am_MKNOD3args *, struct svc_req *); +#define AM_NFS3_REMOVE 12 +am_REMOVE3res * am_nfs3_remove_3(am_REMOVE3args *, CLIENT *); +am_REMOVE3res * am_nfs3_remove_3_svc(am_REMOVE3args *, struct svc_req *); +#define AM_NFS3_RMDIR 13 +am_RMDIR3res * am_nfs3_rmdir_3(am_RMDIR3args *, CLIENT *); +am_RMDIR3res * am_nfs3_rmdir_3_svc(am_RMDIR3args *, struct svc_req *); +#define AM_NFS3_RENAME 14 +am_RENAME3res * am_nfs3_rename_3(am_RENAME3args *, CLIENT *); +am_RENAME3res * am_nfs3_rename_3_svc(am_RENAME3args *, struct svc_req *); +#define AM_NFS3_LINK 15 +am_LINK3res * am_nfs3_link_3(am_LINK3args *, CLIENT *); +am_LINK3res * am_nfs3_link_3_svc(am_LINK3args *, struct svc_req *); +#define AM_NFS3_READDIR 16 +am_READDIR3res * am_nfs3_readdir_3(am_READDIR3args *, CLIENT *); +am_READDIR3res * am_nfs3_readdir_3_svc(am_READDIR3args *, struct svc_req *); +#define AM_NFS3_READDIRPLUS 17 +am_READDIRPLUS3res * am_nfs3_readdirplus_3(am_READDIRPLUS3args *, CLIENT *); +am_READDIRPLUS3res * am_nfs3_readdirplus_3_svc(am_READDIRPLUS3args *, struct svc_req *); +#define AM_NFS3_FSSTAT 18 +am_FSSTAT3res * am_nfs3_fsstat_3(am_FSSTAT3args *, CLIENT *); +am_FSSTAT3res * am_nfs3_fsstat_3_svc(am_FSSTAT3args *, struct svc_req *); +#define AM_NFS3_FSINFO 19 +am_FSINFO3res * am_nfs3_fsinfo_3(am_FSINFO3args *, CLIENT *); +am_FSINFO3res * am_nfs3_fsinfo_3_svc(am_FSINFO3args *, struct svc_req *); +#define AM_NFS3_PATHCONF 20 +am_PATHCONF3res * am_nfs3_pathconf_3(am_PATHCONF3args *, CLIENT *); +am_PATHCONF3res * am_nfs3_pathconf_3_svc(am_PATHCONF3args *, struct svc_req *); +#define AM_NFS3_COMMIT 21 +am_COMMIT3res * am_nfs3_commit_3(am_COMMIT3args *, CLIENT *); +am_COMMIT3res * am_nfs3_commit_3_svc(am_COMMIT3args *, struct svc_req *); +int nfs_program_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t); + bool_t xdr_am_fhandle3(XDR *xdrs, am_fhandle3 *objp); bool_t xdr_am_mountstat3(XDR *xdrs, am_mountstat3 *objp); bool_t xdr_am_mountres3_ok(XDR *xdrs, am_mountres3_ok *objp); @@ -322,6 +1197,134 @@ bool_t xdr_am_LOOKUP3resfail(XDR *xdrs, am_LOOKUP3resfail *objp); bool_t xdr_am_LOOKUP3resok(XDR *xdrs, am_LOOKUP3resok *objp); bool_t xdr_am_nfsstat3(XDR *xdrs, am_nfsstat3 *objp); bool_t xdr_am_nfs_fh3(XDR *xdrs, am_nfs_fh3 *objp); +bool_t xdr_am_cookieverf3 (XDR *, am_cookieverf3); +bool_t xdr_uint64 (XDR *, uint64*); +bool_t xdr_am_cookie3 (XDR *, am_cookie3*); +bool_t xdr_am_nfs_fh3 (XDR *, am_nfs_fh3*); +bool_t xdr_am_nfsstat3 (XDR *, am_nfsstat3*); +bool_t xdr_am_filename3 (XDR *, am_filename3*); +bool_t xdr_am_diropargs3 (XDR *, am_diropargs3*); +bool_t xdr_am_ftype3 (XDR *, am_ftype3*); +bool_t xdr_am_mode3 (XDR *, am_mode3*); +bool_t xdr_am_uid3 (XDR *, am_uid3*); +bool_t xdr_am_gid3 (XDR *, am_gid3*); +bool_t xdr_am_size3 (XDR *, am_size3*); +bool_t xdr_am_fileid3 (XDR *, am_fileid3*); +bool_t xdr_am_specdata3 (XDR *, am_specdata3*); +bool_t xdr_am_nfstime3 (XDR *, am_nfstime3*); +bool_t xdr_am_fattr3 (XDR *, am_fattr3*); +bool_t xdr_am_post_op_attr (XDR *, am_post_op_attr*); +bool_t xdr_am_stable_how (XDR *, am_stable_how*); +bool_t xdr_am_offset3 (XDR *, am_offset3*); +bool_t xdr_am_count3 (XDR *, am_count3*); +bool_t xdr_am_wcc_attr (XDR *, am_wcc_attr*); +bool_t xdr_am_pre_op_attr (XDR *, am_pre_op_attr*); +bool_t xdr_am_wcc_data (XDR *, am_wcc_data*); +bool_t xdr_am_WRITE3args (XDR *, am_WRITE3args*); +bool_t xdr_am_writeverf3 (XDR *, am_writeverf3); +bool_t xdr_am_WRITE3resok (XDR *, am_WRITE3resok*); +bool_t xdr_am_WRITE3resfail (XDR *, am_WRITE3resfail*); +bool_t xdr_am_WRITE3res (XDR *, am_WRITE3res*); +bool_t xdr_am_LOOKUP3args (XDR *, am_LOOKUP3args*); +bool_t xdr_am_LOOKUP3resok (XDR *, am_LOOKUP3resok*); +bool_t xdr_am_LOOKUP3resfail (XDR *, am_LOOKUP3resfail*); +bool_t xdr_am_LOOKUP3res (XDR *, am_LOOKUP3res*); +bool_t xdr_am_COMMIT3args (XDR *, am_COMMIT3args*); +bool_t xdr_am_COMMIT3resok (XDR *, am_COMMIT3resok*); +bool_t xdr_am_COMMIT3resfail (XDR *, am_COMMIT3resfail*); +bool_t xdr_am_COMMIT3res (XDR *, am_COMMIT3res*); +bool_t xdr_am_ACCESS3args (XDR *, am_ACCESS3args*); +bool_t xdr_am_ACCESS3resok (XDR *, am_ACCESS3resok*); +bool_t xdr_am_ACCESS3resfail (XDR *, am_ACCESS3resfail*); +bool_t xdr_am_ACCESS3res (XDR *, am_ACCESS3res*); +bool_t xdr_am_GETATTR3args (XDR *, am_GETATTR3args*); +bool_t xdr_am_GETATTR3resok (XDR *, am_GETATTR3resok*); +bool_t xdr_am_GETATTR3res (XDR *, am_GETATTR3res*); +bool_t xdr_am_time_how (XDR *, am_time_how*); +bool_t xdr_am_set_mode3 (XDR *, am_set_mode3*); +bool_t xdr_am_set_uid3 (XDR *, am_set_uid3*); +bool_t xdr_am_set_gid3 (XDR *, am_set_gid3*); +bool_t xdr_am_set_size3 (XDR *, am_set_size3*); +bool_t xdr_am_set_atime (XDR *, am_set_atime*); +bool_t xdr_am_set_mtime (XDR *, am_set_mtime*); +bool_t xdr_am_sattr3 (XDR *, am_sattr3*); +bool_t xdr_am_createmode3 (XDR *, am_createmode3*); +bool_t xdr_am_createverf3 (XDR *, am_createverf3); +bool_t xdr_am_createhow3 (XDR *, am_createhow3*); +bool_t xdr_am_CREATE3args (XDR *, am_CREATE3args*); +bool_t xdr_am_post_op_fh3 (XDR *, am_post_op_fh3*); +bool_t xdr_am_CREATE3resok (XDR *, am_CREATE3resok*); +bool_t xdr_am_CREATE3resfail (XDR *, am_CREATE3resfail*); +bool_t xdr_am_CREATE3res (XDR *, am_CREATE3res*); +bool_t xdr_am_REMOVE3args (XDR *, am_REMOVE3args*); +bool_t xdr_am_REMOVE3resok (XDR *, am_REMOVE3resok*); +bool_t xdr_am_REMOVE3resfail (XDR *, am_REMOVE3resfail*); +bool_t xdr_am_REMOVE3res (XDR *, am_REMOVE3res*); +bool_t xdr_am_READ3args (XDR *, am_READ3args*); +bool_t xdr_am_READ3resok (XDR *, am_READ3resok*); +bool_t xdr_am_READ3resfail (XDR *, am_READ3resfail*); +bool_t xdr_am_READ3res (XDR *, am_READ3res*); +bool_t xdr_am_FSINFO3args (XDR *, am_FSINFO3args*); +bool_t xdr_am_FSINFO3resok (XDR *, am_FSINFO3resok*); +bool_t xdr_am_FSINFO3resfail (XDR *, am_FSINFO3resfail*); +bool_t xdr_am_FSINFO3res (XDR *, am_FSINFO3res*); +bool_t xdr_am_FSSTAT3args (XDR *, am_FSSTAT3args*); +bool_t xdr_am_FSSTAT3resok (XDR *, am_FSSTAT3resok*); +bool_t xdr_am_FSSTAT3resfail (XDR *, am_FSSTAT3resfail*); +bool_t xdr_am_FSSTAT3res (XDR *, am_FSSTAT3res*); +bool_t xdr_am_PATHCONF3args (XDR *, am_PATHCONF3args*); +bool_t xdr_am_PATHCONF3resok (XDR *, am_PATHCONF3resok*); +bool_t xdr_am_PATHCONF3resfail (XDR *, am_PATHCONF3resfail*); +bool_t xdr_am_PATHCONF3res (XDR *, am_PATHCONF3res*); +bool_t xdr_am_nfspath3 (XDR *, am_nfspath3*); +bool_t xdr_am_symlinkdata3 (XDR *, am_symlinkdata3*); +bool_t xdr_am_SYMLINK3args (XDR *, am_SYMLINK3args*); +bool_t xdr_am_SYMLINK3resok (XDR *, am_SYMLINK3resok*); +bool_t xdr_am_SYMLINK3resfail (XDR *, am_SYMLINK3resfail*); +bool_t xdr_am_SYMLINK3res (XDR *, am_SYMLINK3res*); +bool_t xdr_am_READLINK3args (XDR *, am_READLINK3args*); +bool_t xdr_am_READLINK3resok (XDR *, am_READLINK3resok*); +bool_t xdr_am_READLINK3resfail (XDR *, am_READLINK3resfail*); +bool_t xdr_am_READLINK3res (XDR *, am_READLINK3res*); +bool_t xdr_am_devicedata3 (XDR *, am_devicedata3*); +bool_t xdr_am_mknoddata3 (XDR *, am_mknoddata3*); +bool_t xdr_am_MKNOD3args (XDR *, am_MKNOD3args*); +bool_t xdr_am_MKNOD3resok (XDR *, am_MKNOD3resok*); +bool_t xdr_am_MKNOD3resfail (XDR *, am_MKNOD3resfail*); +bool_t xdr_am_MKNOD3res (XDR *, am_MKNOD3res*); +bool_t xdr_am_MKDIR3args (XDR *, am_MKDIR3args*); +bool_t xdr_am_MKDIR3resok (XDR *, am_MKDIR3resok*); +bool_t xdr_am_MKDIR3resfail (XDR *, am_MKDIR3resfail*); +bool_t xdr_am_MKDIR3res (XDR *, am_MKDIR3res*); +bool_t xdr_am_RMDIR3args (XDR *, am_RMDIR3args*); +bool_t xdr_am_RMDIR3resok (XDR *, am_RMDIR3resok*); +bool_t xdr_am_RMDIR3resfail (XDR *, am_RMDIR3resfail*); +bool_t xdr_am_RMDIR3res (XDR *, am_RMDIR3res*); +bool_t xdr_am_RENAME3args (XDR *, am_RENAME3args*); +bool_t xdr_am_RENAME3resok (XDR *, am_RENAME3resok*); +bool_t xdr_am_RENAME3resfail (XDR *, am_RENAME3resfail*); +bool_t xdr_am_RENAME3res (XDR *, am_RENAME3res*); +bool_t xdr_am_READDIRPLUS3args (XDR *, am_READDIRPLUS3args*); +bool_t xdr_am_entryplus3 (XDR *, am_entryplus3*); +bool_t xdr_am_dirlistplus3 (XDR *, am_dirlistplus3*); +bool_t xdr_am_READDIRPLUS3resok (XDR *, am_READDIRPLUS3resok*); +bool_t xdr_am_READDIRPLUS3resfail (XDR *, am_READDIRPLUS3resfail*); +bool_t xdr_am_READDIRPLUS3res (XDR *, am_READDIRPLUS3res*); +bool_t xdr_am_READDIR3args (XDR *, am_READDIR3args*); +bool_t xdr_am_entry3 (XDR *, am_entry3*); +bool_t xdr_am_dirlist3 (XDR *, am_dirlist3*); +bool_t xdr_am_READDIR3resok (XDR *, am_READDIR3resok*); +bool_t xdr_am_READDIR3resfail (XDR *, am_READDIR3resfail*); +bool_t xdr_am_READDIR3res (XDR *, am_READDIR3res*); +bool_t xdr_am_LINK3args (XDR *, am_LINK3args*); +bool_t xdr_am_LINK3resok (XDR *, am_LINK3resok*); +bool_t xdr_am_LINK3resfail (XDR *, am_LINK3resfail*); +bool_t xdr_am_LINK3res (XDR *, am_LINK3res*); +bool_t xdr_am_sattrguard3 (XDR *, am_sattrguard3*); +bool_t xdr_am_SETATTR3args (XDR *, am_SETATTR3args*); +bool_t xdr_am_SETATTR3resok (XDR *, am_SETATTR3resok*); +bool_t xdr_am_SETATTR3resfail (XDR *, am_SETATTR3resfail*); +bool_t xdr_am_SETATTR3res (XDR *, am_SETATTR3res*); #endif /* HAVE_FS_NFS3 */ #endif /* not _AM_XDR_FUNC_H */ |