nfsdLib.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* nfsdLib.h - Network File System Server library header */
  2. /* Copyright 1994 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,21apr94,jmm  more cleanup of prototypes; added NFSD_ARGUMENT
  7. 01b,20apr94,jmm  added new prototypes
  8. 01a,31mar94,jmm  written.
  9. */
  10. #ifndef __INCnfsdLibh
  11. #define __INCnfsdLibh
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. #include "limits.h"
  16. #include "xdr_nfs.h"
  17. /* VxWorks file handle information */
  18. typedef struct 
  19.     {
  20.     int    volumeId;            /* Volume identifier for the file system */
  21.     ULONG  fsId;                /* Inode of the exported directory */
  22.     ULONG  inode; /* Inode of the file as returned from stat */
  23.     INT8   reserved [24];       /* NFS file handles have 32 bytes */
  24.     } NFS_FILE_HANDLE;
  25. /* nfsdStatusGet() information */
  26. typedef struct
  27.     {
  28.     int nullCalls;
  29.     int getattrCalls;
  30.     int setattrCalls;
  31.     int rootCalls;
  32.     int lookupCalls;
  33.     int readlinkCalls;
  34.     int readCalls;
  35.     int writecacheCalls;
  36.     int writeCalls;
  37.     int createCalls;
  38.     int removeCalls;
  39.     int renameCalls;
  40.     int linkCalls;
  41.     int symlinkCalls;
  42.     int mkdirCalls;
  43.     int rmdirCalls;
  44.     int readdirCalls;
  45.     int statfsCalls;
  46.     } NFS_SERVER_STATUS;
  47. typedef union
  48.     {
  49.     nfs_fh nfsproc_getattr_2_arg;
  50.     sattrargs nfsproc_setattr_2_arg;
  51.     diropargs nfsproc_lookup_2_arg;
  52.     nfs_fh nfsproc_readlink_2_arg;
  53.     readargs nfsproc_read_2_arg;
  54.     writeargs nfsproc_write_2_arg;
  55.     createargs nfsproc_create_2_arg;
  56.     diropargs nfsproc_remove_2_arg;
  57.     renameargs nfsproc_rename_2_arg;
  58.     linkargs nfsproc_link_2_arg;
  59.     symlinkargs nfsproc_symlink_2_arg;
  60.     createargs nfsproc_mkdir_2_arg;
  61.     diropargs nfsproc_rmdir_2_arg;
  62.     readdirargs nfsproc_readdir_2_arg;
  63.     nfs_fh nfsproc_statfs_2_arg;
  64.     } NFSD_ARGUMENT;
  65. #if defined(__STDC__) || defined(__cplusplus)
  66. extern STATUS nfsdInit (int nServers, int nExportedFs, int priority,
  67. FUNCPTR authHook, FUNCPTR mountAuthHook, int options);
  68. extern void nfsdRequestProcess (void);
  69. extern void nfsd (void);
  70. extern STATUS nfsdStatusGet (NFS_SERVER_STATUS * serverStats);
  71. extern STATUS nfsdStatusShow (int options);
  72. extern STATUS nfsdFhCreate (NFS_FILE_HANDLE * parentDir, char * fileName,
  73.     NFS_FILE_HANDLE * fh);
  74. extern STATUS nfsdFhToName (NFS_FILE_HANDLE * fh, char * fileName);
  75. extern STATUS nfsdFattrGet (NFS_FILE_HANDLE * fh,
  76.     struct fattr * fileAttributes);
  77. extern nfsstat nfsdErrToNfs (int theErr);
  78. extern void nfsdFhHton (NFS_FILE_HANDLE * fh);
  79. extern void nfsdFhNtoh (NFS_FILE_HANDLE * fh);
  80. #else 
  81. extern STATUS nfsdInit ();
  82. extern void nfsdRequestProcess ();
  83. extern void nfsd ();
  84. extern STATUS nfsdStatusGet ();
  85. extern STATUS nfsdStatusShow ();
  86. extern STATUS nfsdFhCreate ();
  87. extern STATUS nfsdFhToName ();
  88. extern STATUS nfsdFattrGet ();
  89. extern nfsstat nfsdErrToNfs ();
  90. extern void nfsdFhHton ();
  91. extern void nfsdFhNtoh ();
  92. #endif /* __STDC__ */
  93. #ifdef __cplusplus
  94. }
  95. #endif
  96. #endif /* __INCnfsdLibh */