nfs.h revision dd51520e127b452179a2ce4ea3bd8dee949f9afe
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A#ifndef _NFS_NFS_H
#define _NFS_NFS_H
/* nfs.h 2.38 88/08/19 SMI */
#ifdef _KERNEL
#ifdef __cplusplus
* The value of UID_NOBODY/GID_NOBODY presented to the world via NFS.
* UID_NOBODY/GID_NOBODY is translated to NFS_UID_NOBODY/NFS_GID_NOBODY
* when being sent out over the network and NFS_UID_NOBODY/NFS_GID_NOBODY
* is translated to UID_NOBODY/GID_NOBODY when received.
enum wnfsstat {
enum nfsstat {
enum nfsftype {
#define nfsv2_cmpdev(x) \
((uint32_t) \
#define nfsv2_expdev(x) \
#ifdef _KERNEL
#ifdef _LP64
if (nfs_allow_preepoch_time) { \
struct nfs_fid {
typedef struct svcfh {
} fhandle_t;
} fhandle3_t;
} fhandle4_t;
struct otw_nfswriteargs {
struct nfswriteargs {
#ifdef _KERNEL
struct nfs2_timeval {
struct nfsfattr {
struct nfsreadargs {
#ifdef _KERNEL
struct nfsrrok {
#ifdef _KERNEL
struct nfsrdresult {
} rr_u;
struct nfssattr {
struct nfsattrstat {
} ns_u;
struct nfssrok {
struct nfsrdlnres {
} rl_u;
struct nfsrddirargs {
struct nfsrdok {
struct nfsrddirres {
} rd_u;
struct nfsdiropargs {
struct nfsdrok {
struct nfsdiropres {
} dr_u;
struct nfssaargs {
struct nfscreatargs {
struct nfslinkargs {
struct nfsrnmargs {
struct nfsslargs {
struct nfsstatfsok {
struct nfsstatfs {
} fs_u;
#ifdef _KERNEL
#ifdef _LITTLE_ENDIAN
#ifdef _LITTLE_ENDIAN
#define RFS_NULL 0
#ifdef _KERNEL
extern void rfs_srvrinit(void);
extern void rfs_srvrfini(void);
extern int nfs_clntinit(void);
extern void nfs_clntfini(void);
extern int nfstsize(void);
extern int nfs_srvinit(void);
extern void nfs_srvfini(void);
extern int newnum(void);
extern char *newname(void);
extern int nfs_subrinit(void);
extern void nfs_subrfini(void);
extern int nfsinit(int, char *);
extern void nfsfini(void);
extern int nfs_vfsinit(void);
extern void nfs_vfsfini(void);
caller_context_t *);
extern void nfsauth_init();
extern void nfsauth_fini();
extern void nfs_srv_stop_all(void);
extern void nfs_srv_quiesce_all(void);
extern void (*nfs_srv_quiesce_func)(void);
extern int nfs_major;
extern int nfs_minor;
extern int nfsfstyp;
struct nfs_version_stats {
struct nfs_stats {
typedef char *filename3;
typedef char *nfspath3;
typedef struct nfs_fh3 {
union nfs_fh3_u {
struct nfs_fh3_i {
} nfs_fh3_i;
} fh3_u;
} nfs_fh3;
struct diropargs3 {
int flags;
struct nfstime3 {
struct specdata3 {
enum nfsstat3 {
NFS3_OK = 0,
enum ftype3 {
struct fattr3 {
#ifdef _KERNEL
struct fattr3_res {
struct post_op_attr {
#ifdef _KERNEL
struct post_op_vattr {
struct wcc_attr {
struct pre_op_attr {
struct wcc_data {
struct post_op_fh3 {
enum time_how {
DONT_CHANGE = 0,
struct set_mode3 {
struct set_uid3 {
struct set_gid3 {
struct set_size3 {
struct set_atime {
struct set_mtime {
struct sattr3 {
struct GETATTR3args {
struct GETATTR3resok {
struct GETATTR3res {
} res_u;
#ifdef _KERNEL
struct GETATTR3vres {
struct sattrguard3 {
struct SETATTR3args {
struct SETATTR3resok {
struct SETATTR3resfail {
struct SETATTR3res {
} res_u;
struct LOOKUP3args {
struct LOOKUP3resok {
struct LOOKUP3resfail {
struct LOOKUP3res {
} res_u;
#ifdef _KERNEL
struct LOOKUP3vres {
struct ACCESS3args {
struct ACCESS3resok {
struct ACCESS3resfail {
struct ACCESS3res {
} res_u;
struct READLINK3args {
struct READLINK3resok {
struct READLINK3resfail {
struct READLINK3res {
} res_u;
struct READ3args {
#ifdef _KERNEL
char *res_data_val_alt;
struct READ3resok {
char *data_val;
} data;
#ifdef _KERNEL
struct READ3resfail {
struct READ3res {
} res_u;
#ifdef _KERNEL
struct READ3vres {
char *data_val;
} data;
struct READ3uiores {
#ifdef _KERNEL
enum stable_how {
UNSTABLE = 0,
struct WRITE3args {
char *data_val;
} data;
#ifdef _KERNEL
struct WRITE3resok {
struct WRITE3resfail {
struct WRITE3res {
} res_u;
enum createmode3 {
UNCHECKED = 0,
struct createhow3 {
} createhow3_u;
struct CREATE3args {
struct CREATE3resok {
struct CREATE3resfail {
struct CREATE3res {
} res_u;
struct MKDIR3args {
struct MKDIR3resok {
struct MKDIR3resfail {
struct MKDIR3res {
} res_u;
struct symlinkdata3 {
struct SYMLINK3args {
struct SYMLINK3resok {
struct SYMLINK3resfail {
struct SYMLINK3res {
} res_u;
struct devicedata3 {
struct mknoddata3 {
} mknoddata3_u;
struct MKNOD3args {
struct MKNOD3resok {
struct MKNOD3resfail {
struct MKNOD3res {
} res_u;
struct REMOVE3args {
struct REMOVE3resok {
struct REMOVE3resfail {
struct REMOVE3res {
} res_u;
struct RMDIR3args {
struct RMDIR3resok {
struct RMDIR3resfail {
struct RMDIR3res {
} res_u;
struct RENAME3args {
struct RENAME3resok {
struct RENAME3resfail {
struct RENAME3res {
} res_u;
struct LINK3args {
struct LINK3resok {
struct LINK3resfail {
struct LINK3res {
} res_u;
struct READDIR3args {
struct entry3 {
struct dirlist3 {
struct READDIR3resok {
struct READDIR3resfail {
struct READDIR3res {
} res_u;
#ifdef _KERNEL
struct READDIR3vres {
struct READDIRPLUS3args {
struct entryplus3 {
struct dirlistplus3 {
struct entryplus3_info {
struct READDIRPLUS3resok {
struct READDIRPLUS3resfail {
struct READDIRPLUS3res {
} res_u;
#ifdef _KERNEL
struct entryplus3_va_fh {
int va_valid;
int fh_valid;
struct READDIRPLUS3vres {
struct FSSTAT3args {
struct FSSTAT3resok {
struct FSSTAT3resfail {
struct FSSTAT3res {
} res_u;
struct FSINFO3args {
struct FSINFO3resok {
struct FSINFO3resfail {
struct FSINFO3res {
} res_u;
struct PATHCONF3args {
struct nfs3_pathconf_info {
struct PATHCONF3resok {
struct PATHCONF3resfail {
struct PATHCONF3res {
} res_u;
struct COMMIT3args {
struct COMMIT3resok {
struct COMMIT3resfail {
struct COMMIT3res {
} res_u;
#ifndef _KERNEL
extern void * nfsproc3_null_3();
#ifdef _KERNEL
extern void rfs3_srvrinit(void);
extern void rfs3_srvrfini(void);
cred_t *);
cred_t *);
cred_t *);
extern int nfs3tsize(void);
extern int nfs3init(int, char *);
extern void nfs3fini(void);
extern int nfs3_vfsinit(void);
extern void nfs3_vfsfini(void);
#ifdef DEBUG
extern int rfs3_do_pre_op_attr;
extern int rfs3_do_post_op_attr;
extern int rfs3_do_post_op_fh3;
extern int nfs_disable_rddir_cache;
extern void nfs4_clnt_init(void);
extern void nfs4_clnt_fini(void);
extern void rfs4_hold_deleg_policy(void);
extern void rfs4_rele_deleg_policy(void);
struct exportinfo *);
typedef struct nfs_xuio {
} nfs_xuio_t;
void rfs_free_xuio(void *);
#ifdef __cplusplus