Files
m241Neelima/vxworks-6.9/target/h/nfs/nfs3Defines.h
T
2026-07-30 11:19:44 +05:30

142 lines
4.3 KiB
C

/* nfs3Defines.h - Network File System version 3 definitions header */
/*
* Copyright (c) 1995-2006, 2010, 2012 Wind River Systems, Inc.
*
* The right to copy, distribute or otherwise make use of this software
* may be licensed only pursuant to the terms of an applicable Wind River
* license agreement.
*/
/*
modification history
--------------------
01f,06aug12,txu Fix WIND00367917: NFS v3 client does not support READDIRPLUS
01e,29apr10,pad Moved extern C statement after include statements.
01d,20apr06,pcm made modifications due to xdr_nfs3.h changes
01c,20jan06,md Added pathconf support
01b,05dec06,pcm added PA_FILEID
01a,28jun04,dlk Added modification history. Removed commented-out
S_nfsLib_NFS3ERR_* defines, which interfere with makeStatTbl.
*/
#ifndef __INCnfs3Definesh
#define __INCnfs3Definesh
#include "vwModNum.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct nfsinfo
{
uint32 rtmax;
uint32 rtpref;
uint32 rtmult;
uint32 wtmax;
uint32 wtpref;
uint32 wtmult;
uint32 dtpref;
size3 maxfilesize;
nfstime3 time_delta;
uint32 properties;
} nfsinfo;
struct nfs_pathconf {
uint32 name_max;
uint32 linkmax;
bool_t no_trunc;
bool_t chown_restricted;
bool_t case_insensitive;
bool_t case_preserving;
};
typedef struct nfs_pathconf nfs_pathconf;
#define NFS3_FHSIZE 64
#define NFS3_COOKIEVERFSIZE 8
#define NFS3_CREATEVERFSIZE 8
#define NFS3_WRITEVERFSIZE 8
#define PA_ATTR attributes
#define PA_TYPE attributes.type
#define PA_MODE attributes.mode
#define PA_SIZE attributes.size
#define PA_UID attributes.uid
#define PA_GID attributes.gid
#define PA_ATIME attributes.atime
#define PA_MTIME attributes.mtime
#define PA_CTIME attributes.ctime
#define PA_FILEID attributes.fileid
#define RLOK_ATTR READLINK3res_u.resok.symlink_attributes
#define RLOK_PATH READLINK3res_u.resok.data
#define RLFL_ATTR READLINK3res_u.resfail.symlink_attributes
#define LUOK_FH LOOKUP3res_u.resok.object
#define LUOK_OBJATTR LOOKUP3res_u.resok.obj_attributes
#define LUOK_DIRATTR LOOKUP3res_u.resok.dir_attributes
#define LUFL_DIRATTR LOOKUP3res_u.resfail.dir_attributes
#define CTAR_OBJATTR how.createhow3_u.obj_attributes
#define CTAR_VERF how.createhow3_u.verf
#define CTOK_FH CREATE3res_u.resok.obj
#define CTOK_OBJ CREATE3res_u.resok.obj
#define CTOK_OBJATTR CREATE3res_u.resok.obj_attributes
#define CTOK_WCC CREATE3res_u.resok.dir_wcc
#define CTFL_WCC CREATE3res_u.resfail.dir_wcc
#define REOK_FILEATTR READ3res_u.resok.file_attributes
#define REOK_COUNT READ3res_u.resok.count
#define REOK_EOF READ3res_u.resok.eof
#define REOK_DATA READ3res_u.resok.data
#define REFL_FILEATTR READ3res_u.resfail.file_attributes
#define WROK_FILEWCC WRITE3res_u.resok.file_wcc
#define WROK_COUNT WRITE3res_u.resok.count
#define WROK_COMMIT WRITE3res_u.resok.committed
#define WROK_VERF WRITE3res_u.resok.verf
#define WRFL_FILEWCC WRITE3res_u.resfail.file_wcc
#define PE_SIZE attributes.size
#define PE_MTIME attributes.mtime
#define PE_CTIME attributes.ctime
#define GAOK_ATTR resok.obj_attributes
#define SATT_MODE mode.mode
#define SATT_UID uid.uid
#define SATT_GID gid.gid
#define SATT_SIZE size.size
#define SATT_ATIME atime.atime
#define SATT_MTIME atime.mtime
#define RDOK_DIRATTR READDIR3res_u.resok.dir_attributes
#define RDOK_COOKIEVERF READDIR3res_u.resok.cookieverf
#define RDOK_REPLY READDIR3res_u.resok.reply
#define RDPOK_DIRATTR READDIRPLUS3res_u.resok.dir_attributes
#define RDPOK_COOKIEVERF READDIRPLUS3res_u.resok.cookieverf
#define RDPOK_REPLY READDIRPLUS3res_u.resok.reply
#define FIOK_INFO_OFF FSINFO3res_u.resok.rtmax
#define PF_FH handle
#define FH_BUF data.data_val
#define COPY_FH(pf1, pf2) \
bcopy ((char *) (pf1)->data.data_val, (char *) (pf2)->data.data_val, \
(pf1)->data.data_len); \
(pf2)->data.data_len = (pf1)->data.data_len;
#define ASSIGN_FH(pf1, pf2) \
bcopy ((char *) pf1, (char *) pf2, sizeof (nfs_fh3));
#ifdef __cplusplus
}
#endif
#endif /* __INCnfs3Definesh */