142 lines
4.3 KiB
C
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 */
|