1 /* 2 * Copyright (c) 2006-2018, 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 14 #ifndef _MOUNT_H_RPCGEN 15 #define _MOUNT_H_RPCGEN 16 17 #include <rpc/rpc.h> 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 /* This file is copied from RFC1813 24 * Copyright 1995 Sun Micrososystems (I assume) 25 */ 26 #define MNTPATHLEN 1024 27 #define MNTNAMLEN 255 28 #define FHSIZE3 64 29 30 typedef struct { 31 unsigned int fhandle3_len; 32 char *fhandle3_val; 33 } fhandle3; 34 35 typedef char *dirpath; 36 37 typedef char *name; 38 39 typedef struct exportnode *exports; 40 41 typedef struct groupnode *groups; 42 43 typedef struct mountbody *mountlist; 44 45 enum mountstat3 { 46 MNT3_OK = 0, 47 MNT3ERR_PERM = 1, 48 MNT3ERR_NOENT = 2, 49 MNT3ERR_IO = 5, 50 MNT3ERR_ACCES = 13, 51 MNT3ERR_NOTDIR = 20, 52 MNT3ERR_INVAL = 22, 53 MNT3ERR_NAMETOOLONG = 63, 54 MNT3ERR_NOTSUPP = 10004, 55 MNT3ERR_SERVERFAULT = 10006 56 }; 57 typedef enum mountstat3 mountstat3; 58 59 struct mountres3_ok { 60 fhandle3 fhandle; 61 struct { 62 unsigned int auth_flavors_len; 63 int *auth_flavors_val; 64 } auth_flavors; 65 }; 66 typedef struct mountres3_ok mountres3_ok; 67 68 struct mountres3 { 69 mountstat3 fhs_status; 70 union { 71 mountres3_ok mountinfo; 72 } mountres3_u; 73 }; 74 typedef struct mountres3 mountres3; 75 76 struct mountbody { 77 name ml_hostname; 78 dirpath ml_directory; 79 mountlist ml_next; 80 }; 81 typedef struct mountbody mountbody; 82 83 struct groupnode { 84 name gr_name; 85 groups gr_next; 86 }; 87 typedef struct groupnode groupnode; 88 89 struct exportnode { 90 dirpath ex_dir; 91 groups ex_groups; 92 exports ex_next; 93 }; 94 typedef struct exportnode exportnode; 95 96 #define MOUNT_PROGRAM 100005 97 #define MOUNT_V3 3 98 99 #define MOUNTPROC3_NULL 0 100 extern enum clnt_stat mountproc3_null_3(void *, CLIENT *); 101 #define MOUNTPROC3_MNT 1 102 extern enum clnt_stat mountproc3_mnt_3(dirpath , mountres3 *, CLIENT *); 103 #define MOUNTPROC3_DUMP 2 104 extern enum clnt_stat mountproc3_dump_3(mountlist *, CLIENT *); 105 #define MOUNTPROC3_UMNT 3 106 extern enum clnt_stat mountproc3_umnt_3(dirpath , void *, CLIENT *); 107 #define MOUNTPROC3_UMNTALL 4 108 extern enum clnt_stat mountproc3_umntall_3(void *, CLIENT *); 109 #define MOUNTPROC3_EXPORT 5 110 extern enum clnt_stat mountproc3_export_3(exports *, CLIENT *); 111 112 /* the xdr functions */ 113 114 extern bool_t xdr_fhandle3(XDR *, fhandle3*); 115 extern bool_t xdr_dirpath(XDR *, dirpath*); 116 extern bool_t xdr_name(XDR *, name*); 117 extern bool_t xdr_exports(XDR *, exports*); 118 extern bool_t xdr_groups(XDR *, groups*); 119 extern bool_t xdr_mountlist(XDR *, mountlist*); 120 extern bool_t xdr_mountstat3(XDR *, mountstat3*); 121 extern bool_t xdr_mountres3_ok(XDR *, mountres3_ok*); 122 extern bool_t xdr_mountres3(XDR *, mountres3*); 123 extern bool_t xdr_mountbody(XDR *, mountbody*); 124 extern bool_t xdr_groupnode(XDR *, groupnode*); 125 extern bool_t xdr_exportnode(XDR *, exportnode*); 126 127 #ifdef __cplusplus 128 } 129 #endif 130 131 #endif /* !_MOUNT_H_RPCGEN */ 132