mount.h 2.8 KB
Newer Older
1 2 3 4 5 6 7 8
/*
 * Copyright (c) 2006-2018, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 */
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _MOUNT_H_RPCGEN
#define	_MOUNT_H_RPCGEN

#include <rpc/rpc.h>

#ifdef __cplusplus
extern "C" {
#endif

/* This file is copied from RFC1813
 * Copyright 1995 Sun Micrososystems (I assume)
 */
#define	MNTPATHLEN 1024
#define	MNTNAMLEN 255
#define	FHSIZE3 64

typedef struct {
31
	unsigned int fhandle3_len;
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
	char *fhandle3_val;
} fhandle3;

typedef char *dirpath;

typedef char *name;

typedef struct exportnode *exports;

typedef struct groupnode *groups;

typedef struct mountbody *mountlist;

enum mountstat3 {
	MNT3_OK = 0,
	MNT3ERR_PERM = 1,
	MNT3ERR_NOENT = 2,
	MNT3ERR_IO = 5,
	MNT3ERR_ACCES = 13,
	MNT3ERR_NOTDIR = 20,
	MNT3ERR_INVAL = 22,
	MNT3ERR_NAMETOOLONG = 63,
	MNT3ERR_NOTSUPP = 10004,
	MNT3ERR_SERVERFAULT = 10006
};
typedef enum mountstat3 mountstat3;

struct mountres3_ok {
	fhandle3 fhandle;
	struct {
62
		unsigned int auth_flavors_len;
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
		int *auth_flavors_val;
	} auth_flavors;
};
typedef struct mountres3_ok mountres3_ok;

struct mountres3 {
	mountstat3 fhs_status;
	union {
		mountres3_ok mountinfo;
	} mountres3_u;
};
typedef struct mountres3 mountres3;

struct mountbody {
	name ml_hostname;
	dirpath ml_directory;
	mountlist ml_next;
};
typedef struct mountbody mountbody;

struct groupnode {
	name gr_name;
	groups gr_next;
};
typedef struct groupnode groupnode;

struct exportnode {
	dirpath ex_dir;
	groups ex_groups;
	exports ex_next;
};
typedef struct exportnode exportnode;

#define	MOUNT_PROGRAM	100005
#define	MOUNT_V3	3

#define	MOUNTPROC3_NULL	0
extern  enum clnt_stat mountproc3_null_3(void *, CLIENT *);
#define	MOUNTPROC3_MNT	1
extern  enum clnt_stat mountproc3_mnt_3(dirpath , mountres3 *, CLIENT *);
#define	MOUNTPROC3_DUMP	2
extern  enum clnt_stat mountproc3_dump_3(mountlist *, CLIENT *);
#define	MOUNTPROC3_UMNT	3
extern  enum clnt_stat mountproc3_umnt_3(dirpath , void *, CLIENT *);
#define	MOUNTPROC3_UMNTALL	4
extern  enum clnt_stat mountproc3_umntall_3(void *, CLIENT *);
#define	MOUNTPROC3_EXPORT	5
extern  enum clnt_stat mountproc3_export_3(exports *, CLIENT *);

/* the xdr functions */

extern  bool_t xdr_fhandle3(XDR *, fhandle3*);
extern  bool_t xdr_dirpath(XDR *, dirpath*);
extern  bool_t xdr_name(XDR *, name*);
extern  bool_t xdr_exports(XDR *, exports*);
extern  bool_t xdr_groups(XDR *, groups*);
extern  bool_t xdr_mountlist(XDR *, mountlist*);
extern  bool_t xdr_mountstat3(XDR *, mountstat3*);
extern  bool_t xdr_mountres3_ok(XDR *, mountres3_ok*);
extern  bool_t xdr_mountres3(XDR *, mountres3*);
extern  bool_t xdr_mountbody(XDR *, mountbody*);
extern  bool_t xdr_groupnode(XDR *, groupnode*);
extern  bool_t xdr_exportnode(XDR *, exportnode*);

#ifdef __cplusplus
}
#endif

#endif /* !_MOUNT_H_RPCGEN */