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

111 lines
4.1 KiB
C

/* nfs2Lib.h - Network File System library header */
/*
* Copyright (c) 2004 - 2006, 2010, 2015 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
--------------------
01i,27apr15,yjl Fix VXW6-84258, Request for NFS client to support FIOLINK
01h,29apr10,pad Moved extern C statement after include statements.
01g,07sep06,mwv update include paths
01f,20apr06,pcm added support for chmod()
01e,22mar06,pcm fixed SPR 119426--invalidating client cache on NFSERR_STALE
01d,15dec05,pcm changed structure of NFS_FD and renamed to NFS2_FD
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 __INCnfs2Libh
#define __INCnfs2Libh
#include <wrn/netVersion.h>
#include <vwModNum.h>
#include <dirent.h>
#include <sys/stat.h>
#include <iosLib.h>
#include <nfs/nfsCommon.h>
#include <nfs/nfsDriver.h>
#include <nfs/xdr_mnt1.h>
#include <vnode.h>
#include <private/nfs/nfsCacheLibP.h>
#ifdef __cplusplus
extern "C" {
#endif
/* nfs file descriptor */
typedef struct nfs2_fd /* NFS2_FD - NFS file descriptor */
{
NFS_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; /* number of current byte in file */
unsigned int mode; /* (O_RDONLY, O_WRONLY, O_RDWR) */
nfs_fh2 fileHandle; /* file's file handle */
nfs_fh2 dirHandle; /* file's directory file handle */
fattr fileAttr; /* file's attributes */
readdirres *dirCache; /* cache of dir list entries */
} NFS2_FD;
/* function declarations */
extern void nfs2ClientClose (void);
extern STATUS nfs2DirMount (char *hostName, dirpath dirname,
nfs_fh2 *pFileHandle);
extern STATUS nfs2DirUnmount (char * hostName, dirpath dirName);
extern STATUS nfs2DirReadOne (NFS2_FD *pFd, DIR *pDir);
extern STATUS nfs2ExportRead (char *hostName, exports *pExports);
extern void nfs2FileAttrGet (fattr *pFattr, struct stat *pStat);
extern STATUS nfs2FsAttrGet (char* pHostName,nfs_fh2* pDirHandle,
struct statfs* pArg );
extern int nfs2FileRead (NFS2_FD * pNfsFd, voff_t offset,
unsigned int count, char *buf);
extern STATUS nfs2FileRemove (char *hostName, nfs_fh2 *pMountHandle,
char *fullFileName);
extern int nfs2FileWrite (NFS2_FD * pNfsFd, voff_t offset,
unsigned int count, char * data);
extern int nfs2LookUpByName (char *hostName, char *fileName,
nfs_fh2 *pMountHandle, diropres *pDirOpRes,
nfs_fh2 *pDirHandle, BOOL removeFlag);
extern int nfs2ThingCreate (char *hostName, char *fullFileName,
nfs_fh2 *pMountHandle, diropres *pDirOpRes,
nfs_fh2 *pDirHandle, u_int mode);
extern STATUS nfs2MntUnmountAll (char *hostName);
extern STATUS nfs2Rename (NFS2_FD * pNfsFd, char * newName);
extern STATUS nfs2DevInfoGet (unsigned long nfsDevHandle,
NFS_DEV_INFO * pnfsInfo);
extern STATUS nfs2MntDump (char * hostName);
extern STATUS nfs2ExportRead (char * hostName, exports * pExports);
extern STATUS nfs2RpcAttrGet (char * pHostName, nfs_fh2 * pHandle,
fattr * pAttr);
extern STATUS nfs2RpcAttrSet (char * pHostName, nfs_fh2 * pHandle,
sattr * pAttr);
extern STATUS nfs2Link (NFS2_FD * pNfsFd, char * linkName);
#ifdef __cplusplus
}
#endif
#endif /* __INCnfs2Libh */