original files of m241
This commit is contained in:
@@ -0,0 +1,157 @@
|
||||
/* nfs3Lib.h - Network File System library header */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2004 - 2006, 2008, 2011-2012, 2014 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
|
||||
--------------------
|
||||
01s,28feb14,yjl Fix VXW6-80644, nfs v3 will support new function FIOLINK.
|
||||
01r,21feb14,xwu fix VXW6-73531 NFSV3 CLIENT : O_EXCL does not work in
|
||||
combination with O_CREAT
|
||||
01q,14sep12,yjl Fix WIND00376255, dosFs to be compatible with Windows FAT32
|
||||
naming rules for file/directory name length
|
||||
01p,06aug12,txu Fix WIND00367917: NFS v3 client does not support READDIRPLUS
|
||||
01o,29jun12,txu fix WIND00356231: UNSTABLE write is not working for the NFS
|
||||
client with the haneWin NFS server
|
||||
01n,21jun11,sjz Improve NFS performance for the requirement WIND00236547.
|
||||
01m,29apr10,pad Moved extern C statement after include statements.
|
||||
01l,09sep08,lyc fix WIND00132892
|
||||
01k,07sep06,mwv update include paths
|
||||
01j,18apr06,pcm added support for chmod()
|
||||
01i,22mar06,pcm fixed SPR 119426--invalidating client cache on NFSERR_STALE
|
||||
01h,23jan06,pcm added nfs3StableWriteGet() and nfs3StableWriteSet()
|
||||
01g,20jan06,md added pathconf support
|
||||
01f,19dec05,pcm re-arranged structure of NFS3_FD
|
||||
01e,07dec05,pcm changed structure of NFS3_FD
|
||||
01d,05nov04,vvv added nfsCommon.h (SPR #103655)
|
||||
01c,23aug04,rp merged from COMP_WN_IPV6_BASE6_ITER5_TO_UNIFIED_PRE_MERGE
|
||||
01b,28may04,niq Merging from base6 label POST_ITER5_FRZ16_REBASE (ver
|
||||
/main/vdt/base6_itn5_networking-int/1)
|
||||
01a,10oct03,snd written
|
||||
*/
|
||||
|
||||
#ifndef __INCnfs3Libh
|
||||
#define __INCnfs3Libh
|
||||
|
||||
#include <vwModNum.h>
|
||||
#include <dirent.h>
|
||||
#include <iosLib.h>
|
||||
#include <ioLib.h>
|
||||
#include <sys/stat.h>
|
||||
#include <nfs/xdr_mnt3.h>
|
||||
#include <nfs/xdr_nfs3.h>
|
||||
#include <nfs/nfs3Defines.h>
|
||||
#include <nfs/nfsCommon.h>
|
||||
#include <vnode.h>
|
||||
#include <private/nfs/nfsCacheLibP.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _WRS_CONFIG_DOSFS_NAME_LENGTH_COMPAT
|
||||
#define NAME3_MAX 255
|
||||
#else
|
||||
#define USE_CHECK_NAMELENGTH
|
||||
#ifdef USE_CHECK_NAMELENGTH
|
||||
#define NAME3_MAX 1020
|
||||
#else
|
||||
#define NAME3_MAX 255
|
||||
#endif
|
||||
#endif
|
||||
|
||||
enum fattr3_st {
|
||||
NFS3ATTR_UPT = 1, /* updated */
|
||||
NFS3ATTR_AST = 2 /* absolete */
|
||||
};
|
||||
|
||||
/* nfs file descriptor */
|
||||
|
||||
typedef struct nfs3_fd /* NFS3_FD - NFS file descriptor */
|
||||
{
|
||||
NFS3_DEV * nfsDev; /* Pointer to this file's NFS device */
|
||||
SEM_ID nfsFdSem; /* Accessing semaphore */
|
||||
NFS_CACHE * pCache; /* NFS Cache info */
|
||||
char curFilename [NAME_MAX+1]; /* Current file name */
|
||||
voff_t offset; /* Current offset in file */
|
||||
unsigned int mode; /* (O_RDONLY, O_WRONLY, O_RDWR) */
|
||||
|
||||
nfs_fh3 fileHandle; /* File's file handle */
|
||||
nfs_fh3 dirHandle; /* File's directory file handle */
|
||||
fattr3 fileAttr; /* File's attributes */
|
||||
cookie3 * pdir_cookie; /* This is the NFS3 directory cookie */
|
||||
cookieverf3 dir_cookieverf; /* The directory entry's cookie verifier */
|
||||
/* Stored here because there is no space */
|
||||
/* in the Directory entry DIR structure */
|
||||
READDIR3res * dirCache; /* Cache of dir list entries */
|
||||
READDIRPLUS3res * dirPlusCache; /* Cache of dir plus list entries */
|
||||
enum fattr3_st fattr_st; /* file attribute status */
|
||||
} NFS3_FD;
|
||||
|
||||
/* function declarations */
|
||||
|
||||
extern STATUS nfs3DirMount (char * hostName, dirpath dirname,
|
||||
nfs_fh3 * pFileHandle);
|
||||
|
||||
extern STATUS nfs3DirUnmount (char * hostName, dirpath dirName);
|
||||
extern STATUS nfs3ExportRead (char * hostName, exports * pExports);
|
||||
extern void nfs3FileAttrGet (fattr3 * pFattr, struct stat * pStat);
|
||||
|
||||
extern STATUS nfs3FsAttrGet (char * pHostName, nfs_fh3 * pDirHandle,
|
||||
struct statfs * pArg);
|
||||
extern STATUS nfs3FsAttrGet64 (char * pHostName, nfs_fh3 * pDirHandle,
|
||||
struct statfs64 * pArg);
|
||||
|
||||
extern int nfs3FileRead (NFS3_FD * pNfsFd, voff_t offset,
|
||||
unsigned int count, char * buf);
|
||||
extern STATUS nfs3FileRemove (char * hostName, nfs_fh3 * pMountHandle,
|
||||
char * fullFileName);
|
||||
extern int nfs3FileWrite (NFS3_FD * pNfsFd, voff_t offset,
|
||||
unsigned int count, char * data);
|
||||
|
||||
extern STATUS nfs3FileCommit (NFS3_FD * pNfsFd, voff_t offset, unsigned count);
|
||||
|
||||
extern int nfs3LookUpByName (char * hostName, char * fileName,
|
||||
nfs_fh3 * pMountHandle, LOOKUP3res * pDirOpRes,
|
||||
nfs_fh3 * pDirHandle, BOOL removeFlag);
|
||||
extern int nfs3ThingCreate (char * hostName, char * fullFileName,
|
||||
nfs_fh3 * pMountHandle, CREATE3res * pDirOpRes,
|
||||
nfs_fh3 * pDirHandle, int flags,u_int mode);
|
||||
|
||||
extern STATUS nfs3DirReadOne (NFS3_FD *pFd,DIR * pDir);
|
||||
extern STATUS nfs3DirReadPlusOne (NFS3_FD *pFd, DIRPLUS * pDir);
|
||||
|
||||
extern STATUS nfs3FsInfoGet (char * pHostName, nfs_fh3 * pMountHandle,
|
||||
nfsinfo * pArg);
|
||||
extern STATUS nfs3Rename (NFS3_FD * pNfsFd, char * newName);
|
||||
|
||||
extern STATUS nfs3Link (NFS3_FD * pNfsFd, char * linkName);
|
||||
|
||||
extern STATUS nfs3MntUnmountAll (char * hostName);
|
||||
|
||||
extern STATUS nfs3MntDump (char * hostName);
|
||||
|
||||
extern STATUS nfs3ExportRead (char * hostName, exports * pExports);
|
||||
|
||||
extern stable_how nfs3StableWriteGet (void);
|
||||
extern STATUS nfs3StableWriteSet (stable_how howStable);
|
||||
|
||||
extern STATUS nfs3PathconfGet (char * pHostName, nfs_fh3 * pDirHandle,
|
||||
nfs_pathconf * pArg);
|
||||
|
||||
extern STATUS nfs3RpcAttrGet (char * pHostName, nfs_fh3 * pHandle,
|
||||
struct fattr3 * pAttr);
|
||||
extern STATUS nfs3RpcAttrSet (char * pHostName, nfs_fh3 * pHandle,
|
||||
sattr3 * pAttr, sattrguard3 * pGuard);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __INCnfs3Libh */
|
||||
Reference in New Issue
Block a user