mount.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. */
  9. /*
  10. * Please do not edit this file.
  11. * It was generated using rpcgen.
  12. */
  13. #ifndef _MOUNT_H_RPCGEN
  14. #define _MOUNT_H_RPCGEN
  15. #include <rpc/rpc.h>
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. /* This file is copied from RFC1813
  20. * Copyright 1995 Sun Micrososystems (I assume)
  21. */
  22. #define MNTPATHLEN 1024
  23. #define MNTNAMLEN 255
  24. #define FHSIZE3 64
  25. typedef struct {
  26. unsigned int fhandle3_len;
  27. char *fhandle3_val;
  28. } fhandle3;
  29. typedef char *dirpath;
  30. typedef char *name;
  31. typedef struct exportnode *exports;
  32. typedef struct groupnode *groups;
  33. typedef struct mountbody *mountlist;
  34. enum mountstat3 {
  35. MNT3_OK = 0,
  36. MNT3ERR_PERM = 1,
  37. MNT3ERR_NOENT = 2,
  38. MNT3ERR_IO = 5,
  39. MNT3ERR_ACCES = 13,
  40. MNT3ERR_NOTDIR = 20,
  41. MNT3ERR_INVAL = 22,
  42. MNT3ERR_NAMETOOLONG = 63,
  43. MNT3ERR_NOTSUPP = 10004,
  44. MNT3ERR_SERVERFAULT = 10006
  45. };
  46. typedef enum mountstat3 mountstat3;
  47. struct mountres3_ok {
  48. fhandle3 fhandle;
  49. struct {
  50. unsigned int auth_flavors_len;
  51. int *auth_flavors_val;
  52. } auth_flavors;
  53. };
  54. typedef struct mountres3_ok mountres3_ok;
  55. struct mountres3 {
  56. mountstat3 fhs_status;
  57. union {
  58. mountres3_ok mountinfo;
  59. } mountres3_u;
  60. };
  61. typedef struct mountres3 mountres3;
  62. struct mountbody {
  63. name ml_hostname;
  64. dirpath ml_directory;
  65. mountlist ml_next;
  66. };
  67. typedef struct mountbody mountbody;
  68. struct groupnode {
  69. name gr_name;
  70. groups gr_next;
  71. };
  72. typedef struct groupnode groupnode;
  73. struct exportnode {
  74. dirpath ex_dir;
  75. groups ex_groups;
  76. exports ex_next;
  77. };
  78. typedef struct exportnode exportnode;
  79. #define MOUNT_PROGRAM 100005
  80. #define MOUNT_V3 3
  81. #define MOUNTPROC3_NULL 0
  82. extern enum clnt_stat mountproc3_null_3(void *, CLIENT *);
  83. #define MOUNTPROC3_MNT 1
  84. extern enum clnt_stat mountproc3_mnt_3(dirpath , mountres3 *, CLIENT *);
  85. #define MOUNTPROC3_DUMP 2
  86. extern enum clnt_stat mountproc3_dump_3(mountlist *, CLIENT *);
  87. #define MOUNTPROC3_UMNT 3
  88. extern enum clnt_stat mountproc3_umnt_3(dirpath , void *, CLIENT *);
  89. #define MOUNTPROC3_UMNTALL 4
  90. extern enum clnt_stat mountproc3_umntall_3(void *, CLIENT *);
  91. #define MOUNTPROC3_EXPORT 5
  92. extern enum clnt_stat mountproc3_export_3(exports *, CLIENT *);
  93. /* the xdr functions */
  94. extern bool_t xdr_fhandle3(XDR *, fhandle3*);
  95. extern bool_t xdr_dirpath(XDR *, dirpath*);
  96. extern bool_t xdr_name(XDR *, name*);
  97. extern bool_t xdr_exports(XDR *, exports*);
  98. extern bool_t xdr_groups(XDR *, groups*);
  99. extern bool_t xdr_mountlist(XDR *, mountlist*);
  100. extern bool_t xdr_mountstat3(XDR *, mountstat3*);
  101. extern bool_t xdr_mountres3_ok(XDR *, mountres3_ok*);
  102. extern bool_t xdr_mountres3(XDR *, mountres3*);
  103. extern bool_t xdr_mountbody(XDR *, mountbody*);
  104. extern bool_t xdr_groupnode(XDR *, groupnode*);
  105. extern bool_t xdr_exportnode(XDR *, exportnode*);
  106. #ifdef __cplusplus
  107. }
  108. #endif
  109. #endif /* !_MOUNT_H_RPCGEN */