Fixed NFS so it supports 2.4.x kernels and NFSv3. Should close bug #1009.
-Erik
This commit is contained in:
parent
cc54d12ef7
commit
da1d1e763d
@ -41,6 +41,7 @@
|
|||||||
couldn't maintain it very well, so including it was not really
|
couldn't maintain it very well, so including it was not really
|
||||||
very appropriate. Those wanting an fdisk are invited to
|
very appropriate. Those wanting an fdisk are invited to
|
||||||
grab a copy from util-linux.
|
grab a copy from util-linux.
|
||||||
|
* Fixed NFS so it supports 2.4.x kernels and NFSv3.
|
||||||
|
|
||||||
|
|
||||||
-Erik Andersen
|
-Erik Andersen
|
||||||
|
@ -195,14 +195,14 @@
|
|||||||
// Enable support for a real /etc/mtab file instead of /proc/mounts
|
// Enable support for a real /etc/mtab file instead of /proc/mounts
|
||||||
//#define BB_FEATURE_MOUNT_MTAB_SUPPORT
|
//#define BB_FEATURE_MOUNT_MTAB_SUPPORT
|
||||||
//
|
//
|
||||||
|
// Enable support for mounting remote NFS volumes
|
||||||
|
// (This does not yet work with Linux 2.[34].x kernels)
|
||||||
|
#define BB_FEATURE_NFSMOUNT
|
||||||
|
//
|
||||||
// Enable support forced filesystem unmounting
|
// Enable support forced filesystem unmounting
|
||||||
// (i.e. in case of an unreachable NFS system).
|
// (i.e. in case of an unreachable NFS system).
|
||||||
#define BB_FEATURE_MOUNT_FORCE
|
#define BB_FEATURE_MOUNT_FORCE
|
||||||
//
|
//
|
||||||
// Enable support for mounting remote NFS volumes
|
|
||||||
// (This does not yet work with Linux 2.[34].x kernels)
|
|
||||||
//#define BB_FEATURE_NFSMOUNT
|
|
||||||
//
|
|
||||||
// Enable support for creation of tar files.
|
// Enable support for creation of tar files.
|
||||||
#define BB_FEATURE_TAR_CREATE
|
#define BB_FEATURE_TAR_CREATE
|
||||||
//
|
//
|
||||||
|
@ -255,12 +255,16 @@ extern char *mtab_getinfo(const char *match, const char which);
|
|||||||
extern int check_wildcard_match(const char* text, const char* pattern);
|
extern int check_wildcard_match(const char* text, const char* pattern);
|
||||||
extern long getNum (const char *cp);
|
extern long getNum (const char *cp);
|
||||||
extern pid_t* findPidByName( char* pidName);
|
extern pid_t* findPidByName( char* pidName);
|
||||||
extern void *xmalloc (size_t size);
|
|
||||||
extern int find_real_root_device_name(char* name);
|
extern int find_real_root_device_name(char* name);
|
||||||
extern char *get_line_from_file(FILE *file);
|
extern char *get_line_from_file(FILE *file);
|
||||||
extern char process_escape_sequence(char **ptr);
|
extern char process_escape_sequence(char **ptr);
|
||||||
extern char *get_last_path_component(char *path);
|
extern char *get_last_path_component(char *path);
|
||||||
|
|
||||||
|
extern void *xmalloc (size_t size);
|
||||||
|
extern char *xstrdup (const char *s);
|
||||||
|
extern char *xstrndup (const char *s, int n);
|
||||||
|
|
||||||
|
|
||||||
/* These parse entries in /etc/passwd and /etc/group. This is desirable
|
/* These parse entries in /etc/passwd and /etc/group. This is desirable
|
||||||
* for BusyBox since we want to avoid using the glibc NSS stuff, which
|
* for BusyBox since we want to avoid using the glibc NSS stuff, which
|
||||||
* increases target size and is often not needed embedded systems. */
|
* increases target size and is often not needed embedded systems. */
|
||||||
|
1189
nfsmount.c
1189
nfsmount.c
File diff suppressed because it is too large
Load Diff
310
nfsmount.h
310
nfsmount.h
@ -9,6 +9,11 @@
|
|||||||
|
|
||||||
#include <rpc/rpc.h>
|
#include <rpc/rpc.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
|
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
|
||||||
* unrestricted use provided that this legend is included on all tape
|
* unrestricted use provided that this legend is included on all tape
|
||||||
@ -45,19 +50,33 @@
|
|||||||
/* from @(#)mount.x 1.3 91/03/11 TIRPC 1.0 */
|
/* from @(#)mount.x 1.3 91/03/11 TIRPC 1.0 */
|
||||||
#ifndef _rpcsvc_mount_h
|
#ifndef _rpcsvc_mount_h
|
||||||
#define _rpcsvc_mount_h
|
#define _rpcsvc_mount_h
|
||||||
|
#include <asm/types.h>
|
||||||
|
#define MOUNTPORT 635
|
||||||
#define MNTPATHLEN 1024
|
#define MNTPATHLEN 1024
|
||||||
#define MNTNAMLEN 255
|
#define MNTNAMLEN 255
|
||||||
#define FHSIZE 32
|
#define FHSIZE 32
|
||||||
|
#define FHSIZE3 64
|
||||||
|
|
||||||
typedef char fhandle[FHSIZE];
|
typedef char fhandle[FHSIZE];
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_fhandle(XDR *, fhandle);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_fhandle(XDR *, fhandle);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_fhandle();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u_int fhandle3_len;
|
||||||
|
char *fhandle3_val;
|
||||||
|
} fhandle3;
|
||||||
|
|
||||||
|
enum mountstat3 {
|
||||||
|
MNT_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 fhstatus {
|
struct fhstatus {
|
||||||
u_int fhs_status;
|
u_int fhs_status;
|
||||||
@ -66,44 +85,29 @@ struct fhstatus {
|
|||||||
} fhstatus_u;
|
} fhstatus_u;
|
||||||
};
|
};
|
||||||
typedef struct fhstatus fhstatus;
|
typedef struct fhstatus fhstatus;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_fhstatus(XDR *, fhstatus*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_fhstatus();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
struct mountres3_ok {
|
||||||
|
fhandle3 fhandle;
|
||||||
|
struct {
|
||||||
|
u_int auth_flavours_len;
|
||||||
|
int *auth_flavours_val;
|
||||||
|
} auth_flavours;
|
||||||
|
};
|
||||||
|
typedef struct mountres3_ok mountres3_ok;
|
||||||
|
|
||||||
|
struct mountres3 {
|
||||||
|
mountstat3 fhs_status;
|
||||||
|
union {
|
||||||
|
mountres3_ok mountinfo;
|
||||||
|
} mountres3_u;
|
||||||
|
};
|
||||||
|
typedef struct mountres3 mountres3;
|
||||||
|
|
||||||
typedef char *dirpath;
|
typedef char *dirpath;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_dirpath(XDR *, dirpath*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_dirpath();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
typedef char *name;
|
typedef char *name;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_name(XDR *, name*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_name(XDR *, name*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_name();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct mountbody *mountlist;
|
typedef struct mountbody *mountlist;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_mountlist(XDR *, mountlist*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_mountlist();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
struct mountbody {
|
struct mountbody {
|
||||||
name ml_hostname;
|
name ml_hostname;
|
||||||
@ -111,48 +115,16 @@ struct mountbody {
|
|||||||
mountlist ml_next;
|
mountlist ml_next;
|
||||||
};
|
};
|
||||||
typedef struct mountbody mountbody;
|
typedef struct mountbody mountbody;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_mountbody(XDR *, mountbody*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_mountbody();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct groupnode *groups;
|
typedef struct groupnode *groups;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_groups(XDR *, groups*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_groups(XDR *, groups*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_groups();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
struct groupnode {
|
struct groupnode {
|
||||||
name gr_name;
|
name gr_name;
|
||||||
groups gr_next;
|
groups gr_next;
|
||||||
};
|
};
|
||||||
typedef struct groupnode groupnode;
|
typedef struct groupnode groupnode;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_groupnode(XDR *, groupnode*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_groupnode();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct exportnode *exports;
|
typedef struct exportnode *exports;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_exports(XDR *, exports*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_exports(XDR *, exports*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_exports();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
struct exportnode {
|
struct exportnode {
|
||||||
dirpath ex_dir;
|
dirpath ex_dir;
|
||||||
@ -160,14 +132,6 @@ struct exportnode {
|
|||||||
exports ex_next;
|
exports ex_next;
|
||||||
};
|
};
|
||||||
typedef struct exportnode exportnode;
|
typedef struct exportnode exportnode;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_exportnode(XDR *, exportnode*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_exportnode();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
struct ppathcnf {
|
struct ppathcnf {
|
||||||
int pc_link_max;
|
int pc_link_max;
|
||||||
@ -181,110 +145,62 @@ struct ppathcnf {
|
|||||||
short pc_mask[2];
|
short pc_mask[2];
|
||||||
};
|
};
|
||||||
typedef struct ppathcnf ppathcnf;
|
typedef struct ppathcnf ppathcnf;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_ppathcnf(XDR *, ppathcnf*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_ppathcnf(XDR *, ppathcnf*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_ppathcnf();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
#endif /*!_rpcsvc_mount_h*/
|
#endif /*!_rpcsvc_mount_h*/
|
||||||
|
|
||||||
#define MOUNTPROG ((u_long)100005)
|
#define MOUNTPROG 100005
|
||||||
#define MOUNTVERS ((u_long)1)
|
#define MOUNTVERS 1
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
#define MOUNTPROC_NULL ((u_long)0)
|
#define MOUNTPROC_NULL 0
|
||||||
extern "C" void * mountproc_null_1(void *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_MNT ((u_long)1)
|
|
||||||
extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
|
|
||||||
extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_DUMP ((u_long)2)
|
|
||||||
extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
|
|
||||||
extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_UMNT ((u_long)3)
|
|
||||||
extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_UMNTALL ((u_long)4)
|
|
||||||
extern "C" void * mountproc_umntall_1(void *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_EXPORT ((u_long)5)
|
|
||||||
extern "C" exports * mountproc_export_1(void *, CLIENT *);
|
|
||||||
extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_EXPORTALL ((u_long)6)
|
|
||||||
extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
|
|
||||||
extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
|
|
||||||
|
|
||||||
#elif __STDC__
|
|
||||||
#define MOUNTPROC_NULL ((u_long)0)
|
|
||||||
extern void * mountproc_null_1(void *, CLIENT *);
|
extern void * mountproc_null_1(void *, CLIENT *);
|
||||||
extern void * mountproc_null_1_svc(void *, struct svc_req *);
|
extern void * mountproc_null_1_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_MNT ((u_long)1)
|
#define MOUNTPROC_MNT 1
|
||||||
extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
|
extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
|
||||||
extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
|
extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
|
||||||
#define MOUNTPROC_DUMP ((u_long)2)
|
#define MOUNTPROC_DUMP 2
|
||||||
extern mountlist * mountproc_dump_1(void *, CLIENT *);
|
extern mountlist * mountproc_dump_1(void *, CLIENT *);
|
||||||
extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
|
extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_UMNT ((u_long)3)
|
#define MOUNTPROC_UMNT 3
|
||||||
extern void * mountproc_umnt_1(dirpath *, CLIENT *);
|
extern void * mountproc_umnt_1(dirpath *, CLIENT *);
|
||||||
extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
|
extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
|
||||||
#define MOUNTPROC_UMNTALL ((u_long)4)
|
#define MOUNTPROC_UMNTALL 4
|
||||||
extern void * mountproc_umntall_1(void *, CLIENT *);
|
extern void * mountproc_umntall_1(void *, CLIENT *);
|
||||||
extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
|
extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_EXPORT ((u_long)5)
|
#define MOUNTPROC_EXPORT 5
|
||||||
extern exports * mountproc_export_1(void *, CLIENT *);
|
extern exports * mountproc_export_1(void *, CLIENT *);
|
||||||
extern exports * mountproc_export_1_svc(void *, struct svc_req *);
|
extern exports * mountproc_export_1_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_EXPORTALL ((u_long)6)
|
#define MOUNTPROC_EXPORTALL 6
|
||||||
extern exports * mountproc_exportall_1(void *, CLIENT *);
|
extern exports * mountproc_exportall_1(void *, CLIENT *);
|
||||||
extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
|
extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
|
||||||
|
extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
|
||||||
|
|
||||||
#else /* Old Style C */
|
#else /* K&R C */
|
||||||
#define MOUNTPROC_NULL ((u_long)0)
|
#define MOUNTPROC_NULL 0
|
||||||
extern void * mountproc_null_1();
|
extern void * mountproc_null_1();
|
||||||
extern void * mountproc_null_1_svc();
|
extern void * mountproc_null_1_svc();
|
||||||
#define MOUNTPROC_MNT ((u_long)1)
|
#define MOUNTPROC_MNT 1
|
||||||
extern fhstatus * mountproc_mnt_1();
|
extern fhstatus * mountproc_mnt_1();
|
||||||
extern fhstatus * mountproc_mnt_1_svc();
|
extern fhstatus * mountproc_mnt_1_svc();
|
||||||
#define MOUNTPROC_DUMP ((u_long)2)
|
#define MOUNTPROC_DUMP 2
|
||||||
extern mountlist * mountproc_dump_1();
|
extern mountlist * mountproc_dump_1();
|
||||||
extern mountlist * mountproc_dump_1_svc();
|
extern mountlist * mountproc_dump_1_svc();
|
||||||
#define MOUNTPROC_UMNT ((u_long)3)
|
#define MOUNTPROC_UMNT 3
|
||||||
extern void * mountproc_umnt_1();
|
extern void * mountproc_umnt_1();
|
||||||
extern void * mountproc_umnt_1_svc();
|
extern void * mountproc_umnt_1_svc();
|
||||||
#define MOUNTPROC_UMNTALL ((u_long)4)
|
#define MOUNTPROC_UMNTALL 4
|
||||||
extern void * mountproc_umntall_1();
|
extern void * mountproc_umntall_1();
|
||||||
extern void * mountproc_umntall_1_svc();
|
extern void * mountproc_umntall_1_svc();
|
||||||
#define MOUNTPROC_EXPORT ((u_long)5)
|
#define MOUNTPROC_EXPORT 5
|
||||||
extern exports * mountproc_export_1();
|
extern exports * mountproc_export_1();
|
||||||
extern exports * mountproc_export_1_svc();
|
extern exports * mountproc_export_1_svc();
|
||||||
#define MOUNTPROC_EXPORTALL ((u_long)6)
|
#define MOUNTPROC_EXPORTALL 6
|
||||||
extern exports * mountproc_exportall_1();
|
extern exports * mountproc_exportall_1();
|
||||||
extern exports * mountproc_exportall_1_svc();
|
extern exports * mountproc_exportall_1_svc();
|
||||||
#endif /* Old Style C */
|
extern int mountprog_1_freeresult ();
|
||||||
#define MOUNTVERS_POSIX ((u_long)2)
|
#endif /* K&R C */
|
||||||
|
#define MOUNTVERS_POSIX 2
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
extern "C" void * mountproc_null_2(void *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_null_2_svc(void *, struct svc_req *);
|
|
||||||
extern "C" fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
|
|
||||||
extern "C" fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
|
|
||||||
extern "C" mountlist * mountproc_dump_2(void *, CLIENT *);
|
|
||||||
extern "C" mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
|
|
||||||
extern "C" void * mountproc_umnt_2(dirpath *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
|
|
||||||
extern "C" void * mountproc_umntall_2(void *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_umntall_2_svc(void *, struct svc_req *);
|
|
||||||
extern "C" exports * mountproc_export_2(void *, CLIENT *);
|
|
||||||
extern "C" exports * mountproc_export_2_svc(void *, struct svc_req *);
|
|
||||||
extern "C" exports * mountproc_exportall_2(void *, CLIENT *);
|
|
||||||
extern "C" exports * mountproc_exportall_2_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_PATHCONF ((u_long)7)
|
|
||||||
extern "C" ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
|
|
||||||
extern "C" ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
|
|
||||||
|
|
||||||
#elif __STDC__
|
|
||||||
extern void * mountproc_null_2(void *, CLIENT *);
|
extern void * mountproc_null_2(void *, CLIENT *);
|
||||||
extern void * mountproc_null_2_svc(void *, struct svc_req *);
|
extern void * mountproc_null_2_svc(void *, struct svc_req *);
|
||||||
extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
|
extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
|
||||||
@ -299,11 +215,12 @@ extern exports * mountproc_export_2(void *, CLIENT *);
|
|||||||
extern exports * mountproc_export_2_svc(void *, struct svc_req *);
|
extern exports * mountproc_export_2_svc(void *, struct svc_req *);
|
||||||
extern exports * mountproc_exportall_2(void *, CLIENT *);
|
extern exports * mountproc_exportall_2(void *, CLIENT *);
|
||||||
extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
|
extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_PATHCONF ((u_long)7)
|
#define MOUNTPROC_PATHCONF 7
|
||||||
extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
|
extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
|
||||||
extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
|
extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
|
||||||
|
extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
|
||||||
|
|
||||||
#else /* Old Style C */
|
#else /* K&R C */
|
||||||
extern void * mountproc_null_2();
|
extern void * mountproc_null_2();
|
||||||
extern void * mountproc_null_2_svc();
|
extern void * mountproc_null_2_svc();
|
||||||
extern fhstatus * mountproc_mnt_2();
|
extern fhstatus * mountproc_mnt_2();
|
||||||
@ -318,9 +235,96 @@ extern exports * mountproc_export_2();
|
|||||||
extern exports * mountproc_export_2_svc();
|
extern exports * mountproc_export_2_svc();
|
||||||
extern exports * mountproc_exportall_2();
|
extern exports * mountproc_exportall_2();
|
||||||
extern exports * mountproc_exportall_2_svc();
|
extern exports * mountproc_exportall_2_svc();
|
||||||
#define MOUNTPROC_PATHCONF ((u_long)7)
|
#define MOUNTPROC_PATHCONF 7
|
||||||
extern ppathcnf * mountproc_pathconf_2();
|
extern ppathcnf * mountproc_pathconf_2();
|
||||||
extern ppathcnf * mountproc_pathconf_2_svc();
|
extern ppathcnf * mountproc_pathconf_2_svc();
|
||||||
#endif /* Old Style C */
|
extern int mountprog_2_freeresult ();
|
||||||
|
#endif /* K&R C */
|
||||||
|
#define MOUNT_V3 3
|
||||||
|
|
||||||
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
|
#define MOUNTPROC3_NULL 0
|
||||||
|
extern void * mountproc3_null_3(void *, CLIENT *);
|
||||||
|
extern void * mountproc3_null_3_svc(void *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_MNT 1
|
||||||
|
extern mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
|
||||||
|
extern mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_DUMP 2
|
||||||
|
extern mountlist * mountproc3_dump_3(void *, CLIENT *);
|
||||||
|
extern mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_UMNT 3
|
||||||
|
extern void * mountproc3_umnt_3(dirpath *, CLIENT *);
|
||||||
|
extern void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_UMNTALL 4
|
||||||
|
extern void * mountproc3_umntall_3(void *, CLIENT *);
|
||||||
|
extern void * mountproc3_umntall_3_svc(void *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_EXPORT 5
|
||||||
|
extern exports * mountproc3_export_3(void *, CLIENT *);
|
||||||
|
extern exports * mountproc3_export_3_svc(void *, struct svc_req *);
|
||||||
|
extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
|
||||||
|
|
||||||
|
#else /* K&R C */
|
||||||
|
#define MOUNTPROC3_NULL 0
|
||||||
|
extern void * mountproc3_null_3();
|
||||||
|
extern void * mountproc3_null_3_svc();
|
||||||
|
#define MOUNTPROC3_MNT 1
|
||||||
|
extern mountres3 * mountproc3_mnt_3();
|
||||||
|
extern mountres3 * mountproc3_mnt_3_svc();
|
||||||
|
#define MOUNTPROC3_DUMP 2
|
||||||
|
extern mountlist * mountproc3_dump_3();
|
||||||
|
extern mountlist * mountproc3_dump_3_svc();
|
||||||
|
#define MOUNTPROC3_UMNT 3
|
||||||
|
extern void * mountproc3_umnt_3();
|
||||||
|
extern void * mountproc3_umnt_3_svc();
|
||||||
|
#define MOUNTPROC3_UMNTALL 4
|
||||||
|
extern void * mountproc3_umntall_3();
|
||||||
|
extern void * mountproc3_umntall_3_svc();
|
||||||
|
#define MOUNTPROC3_EXPORT 5
|
||||||
|
extern exports * mountproc3_export_3();
|
||||||
|
extern exports * mountproc3_export_3_svc();
|
||||||
|
extern int mountprog_3_freeresult ();
|
||||||
|
#endif /* K&R C */
|
||||||
|
|
||||||
|
/* the xdr functions */
|
||||||
|
|
||||||
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
|
extern bool_t xdr_fhandle (XDR *, fhandle);
|
||||||
|
extern bool_t xdr_fhandle3 (XDR *, fhandle3*);
|
||||||
|
extern bool_t xdr_mountstat3 (XDR *, mountstat3*);
|
||||||
|
extern bool_t xdr_fhstatus (XDR *, fhstatus*);
|
||||||
|
extern bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
|
||||||
|
extern bool_t xdr_mountres3 (XDR *, mountres3*);
|
||||||
|
extern bool_t xdr_dirpath (XDR *, dirpath*);
|
||||||
|
extern bool_t xdr_name (XDR *, name*);
|
||||||
|
extern bool_t xdr_mountlist (XDR *, mountlist*);
|
||||||
|
extern bool_t xdr_mountbody (XDR *, mountbody*);
|
||||||
|
extern bool_t xdr_groups (XDR *, groups*);
|
||||||
|
extern bool_t xdr_groupnode (XDR *, groupnode*);
|
||||||
|
extern bool_t xdr_exports (XDR *, exports*);
|
||||||
|
extern bool_t xdr_exportnode (XDR *, exportnode*);
|
||||||
|
extern bool_t xdr_ppathcnf (XDR *, ppathcnf*);
|
||||||
|
|
||||||
|
#else /* K&R C */
|
||||||
|
extern bool_t xdr_fhandle ();
|
||||||
|
extern bool_t xdr_fhandle3 ();
|
||||||
|
extern bool_t xdr_mountstat3 ();
|
||||||
|
extern bool_t xdr_fhstatus ();
|
||||||
|
extern bool_t xdr_mountres3_ok ();
|
||||||
|
extern bool_t xdr_mountres3 ();
|
||||||
|
extern bool_t xdr_dirpath ();
|
||||||
|
extern bool_t xdr_name ();
|
||||||
|
extern bool_t xdr_mountlist ();
|
||||||
|
extern bool_t xdr_mountbody ();
|
||||||
|
extern bool_t xdr_groups ();
|
||||||
|
extern bool_t xdr_groupnode ();
|
||||||
|
extern bool_t xdr_exports ();
|
||||||
|
extern bool_t xdr_exportnode ();
|
||||||
|
extern bool_t xdr_ppathcnf ();
|
||||||
|
|
||||||
|
#endif /* K&R C */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* !_NFSMOUNT_H_RPCGEN */
|
#endif /* !_NFSMOUNT_H_RPCGEN */
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -9,6 +9,11 @@
|
|||||||
|
|
||||||
#include <rpc/rpc.h>
|
#include <rpc/rpc.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
|
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
|
||||||
* unrestricted use provided that this legend is included on all tape
|
* unrestricted use provided that this legend is included on all tape
|
||||||
@ -45,19 +50,33 @@
|
|||||||
/* from @(#)mount.x 1.3 91/03/11 TIRPC 1.0 */
|
/* from @(#)mount.x 1.3 91/03/11 TIRPC 1.0 */
|
||||||
#ifndef _rpcsvc_mount_h
|
#ifndef _rpcsvc_mount_h
|
||||||
#define _rpcsvc_mount_h
|
#define _rpcsvc_mount_h
|
||||||
|
#include <asm/types.h>
|
||||||
|
#define MOUNTPORT 635
|
||||||
#define MNTPATHLEN 1024
|
#define MNTPATHLEN 1024
|
||||||
#define MNTNAMLEN 255
|
#define MNTNAMLEN 255
|
||||||
#define FHSIZE 32
|
#define FHSIZE 32
|
||||||
|
#define FHSIZE3 64
|
||||||
|
|
||||||
typedef char fhandle[FHSIZE];
|
typedef char fhandle[FHSIZE];
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_fhandle(XDR *, fhandle);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_fhandle(XDR *, fhandle);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_fhandle();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u_int fhandle3_len;
|
||||||
|
char *fhandle3_val;
|
||||||
|
} fhandle3;
|
||||||
|
|
||||||
|
enum mountstat3 {
|
||||||
|
MNT_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 fhstatus {
|
struct fhstatus {
|
||||||
u_int fhs_status;
|
u_int fhs_status;
|
||||||
@ -66,44 +85,29 @@ struct fhstatus {
|
|||||||
} fhstatus_u;
|
} fhstatus_u;
|
||||||
};
|
};
|
||||||
typedef struct fhstatus fhstatus;
|
typedef struct fhstatus fhstatus;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_fhstatus(XDR *, fhstatus*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_fhstatus();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
struct mountres3_ok {
|
||||||
|
fhandle3 fhandle;
|
||||||
|
struct {
|
||||||
|
u_int auth_flavours_len;
|
||||||
|
int *auth_flavours_val;
|
||||||
|
} auth_flavours;
|
||||||
|
};
|
||||||
|
typedef struct mountres3_ok mountres3_ok;
|
||||||
|
|
||||||
|
struct mountres3 {
|
||||||
|
mountstat3 fhs_status;
|
||||||
|
union {
|
||||||
|
mountres3_ok mountinfo;
|
||||||
|
} mountres3_u;
|
||||||
|
};
|
||||||
|
typedef struct mountres3 mountres3;
|
||||||
|
|
||||||
typedef char *dirpath;
|
typedef char *dirpath;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_dirpath(XDR *, dirpath*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_dirpath();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
typedef char *name;
|
typedef char *name;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_name(XDR *, name*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_name(XDR *, name*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_name();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct mountbody *mountlist;
|
typedef struct mountbody *mountlist;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_mountlist(XDR *, mountlist*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_mountlist();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
struct mountbody {
|
struct mountbody {
|
||||||
name ml_hostname;
|
name ml_hostname;
|
||||||
@ -111,48 +115,16 @@ struct mountbody {
|
|||||||
mountlist ml_next;
|
mountlist ml_next;
|
||||||
};
|
};
|
||||||
typedef struct mountbody mountbody;
|
typedef struct mountbody mountbody;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_mountbody(XDR *, mountbody*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_mountbody();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct groupnode *groups;
|
typedef struct groupnode *groups;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_groups(XDR *, groups*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_groups(XDR *, groups*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_groups();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
struct groupnode {
|
struct groupnode {
|
||||||
name gr_name;
|
name gr_name;
|
||||||
groups gr_next;
|
groups gr_next;
|
||||||
};
|
};
|
||||||
typedef struct groupnode groupnode;
|
typedef struct groupnode groupnode;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_groupnode(XDR *, groupnode*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_groupnode();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct exportnode *exports;
|
typedef struct exportnode *exports;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_exports(XDR *, exports*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_exports(XDR *, exports*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_exports();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
struct exportnode {
|
struct exportnode {
|
||||||
dirpath ex_dir;
|
dirpath ex_dir;
|
||||||
@ -160,14 +132,6 @@ struct exportnode {
|
|||||||
exports ex_next;
|
exports ex_next;
|
||||||
};
|
};
|
||||||
typedef struct exportnode exportnode;
|
typedef struct exportnode exportnode;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_exportnode(XDR *, exportnode*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_exportnode();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
|
|
||||||
struct ppathcnf {
|
struct ppathcnf {
|
||||||
int pc_link_max;
|
int pc_link_max;
|
||||||
@ -181,110 +145,62 @@ struct ppathcnf {
|
|||||||
short pc_mask[2];
|
short pc_mask[2];
|
||||||
};
|
};
|
||||||
typedef struct ppathcnf ppathcnf;
|
typedef struct ppathcnf ppathcnf;
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" bool_t xdr_ppathcnf(XDR *, ppathcnf*);
|
|
||||||
#elif __STDC__
|
|
||||||
extern bool_t xdr_ppathcnf(XDR *, ppathcnf*);
|
|
||||||
#else /* Old Style C */
|
|
||||||
bool_t xdr_ppathcnf();
|
|
||||||
#endif /* Old Style C */
|
|
||||||
|
|
||||||
#endif /*!_rpcsvc_mount_h*/
|
#endif /*!_rpcsvc_mount_h*/
|
||||||
|
|
||||||
#define MOUNTPROG ((u_long)100005)
|
#define MOUNTPROG 100005
|
||||||
#define MOUNTVERS ((u_long)1)
|
#define MOUNTVERS 1
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
#define MOUNTPROC_NULL ((u_long)0)
|
#define MOUNTPROC_NULL 0
|
||||||
extern "C" void * mountproc_null_1(void *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_MNT ((u_long)1)
|
|
||||||
extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
|
|
||||||
extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_DUMP ((u_long)2)
|
|
||||||
extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
|
|
||||||
extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_UMNT ((u_long)3)
|
|
||||||
extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_UMNTALL ((u_long)4)
|
|
||||||
extern "C" void * mountproc_umntall_1(void *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_EXPORT ((u_long)5)
|
|
||||||
extern "C" exports * mountproc_export_1(void *, CLIENT *);
|
|
||||||
extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_EXPORTALL ((u_long)6)
|
|
||||||
extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
|
|
||||||
extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
|
|
||||||
|
|
||||||
#elif __STDC__
|
|
||||||
#define MOUNTPROC_NULL ((u_long)0)
|
|
||||||
extern void * mountproc_null_1(void *, CLIENT *);
|
extern void * mountproc_null_1(void *, CLIENT *);
|
||||||
extern void * mountproc_null_1_svc(void *, struct svc_req *);
|
extern void * mountproc_null_1_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_MNT ((u_long)1)
|
#define MOUNTPROC_MNT 1
|
||||||
extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
|
extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
|
||||||
extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
|
extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
|
||||||
#define MOUNTPROC_DUMP ((u_long)2)
|
#define MOUNTPROC_DUMP 2
|
||||||
extern mountlist * mountproc_dump_1(void *, CLIENT *);
|
extern mountlist * mountproc_dump_1(void *, CLIENT *);
|
||||||
extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
|
extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_UMNT ((u_long)3)
|
#define MOUNTPROC_UMNT 3
|
||||||
extern void * mountproc_umnt_1(dirpath *, CLIENT *);
|
extern void * mountproc_umnt_1(dirpath *, CLIENT *);
|
||||||
extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
|
extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
|
||||||
#define MOUNTPROC_UMNTALL ((u_long)4)
|
#define MOUNTPROC_UMNTALL 4
|
||||||
extern void * mountproc_umntall_1(void *, CLIENT *);
|
extern void * mountproc_umntall_1(void *, CLIENT *);
|
||||||
extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
|
extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_EXPORT ((u_long)5)
|
#define MOUNTPROC_EXPORT 5
|
||||||
extern exports * mountproc_export_1(void *, CLIENT *);
|
extern exports * mountproc_export_1(void *, CLIENT *);
|
||||||
extern exports * mountproc_export_1_svc(void *, struct svc_req *);
|
extern exports * mountproc_export_1_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_EXPORTALL ((u_long)6)
|
#define MOUNTPROC_EXPORTALL 6
|
||||||
extern exports * mountproc_exportall_1(void *, CLIENT *);
|
extern exports * mountproc_exportall_1(void *, CLIENT *);
|
||||||
extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
|
extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
|
||||||
|
extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
|
||||||
|
|
||||||
#else /* Old Style C */
|
#else /* K&R C */
|
||||||
#define MOUNTPROC_NULL ((u_long)0)
|
#define MOUNTPROC_NULL 0
|
||||||
extern void * mountproc_null_1();
|
extern void * mountproc_null_1();
|
||||||
extern void * mountproc_null_1_svc();
|
extern void * mountproc_null_1_svc();
|
||||||
#define MOUNTPROC_MNT ((u_long)1)
|
#define MOUNTPROC_MNT 1
|
||||||
extern fhstatus * mountproc_mnt_1();
|
extern fhstatus * mountproc_mnt_1();
|
||||||
extern fhstatus * mountproc_mnt_1_svc();
|
extern fhstatus * mountproc_mnt_1_svc();
|
||||||
#define MOUNTPROC_DUMP ((u_long)2)
|
#define MOUNTPROC_DUMP 2
|
||||||
extern mountlist * mountproc_dump_1();
|
extern mountlist * mountproc_dump_1();
|
||||||
extern mountlist * mountproc_dump_1_svc();
|
extern mountlist * mountproc_dump_1_svc();
|
||||||
#define MOUNTPROC_UMNT ((u_long)3)
|
#define MOUNTPROC_UMNT 3
|
||||||
extern void * mountproc_umnt_1();
|
extern void * mountproc_umnt_1();
|
||||||
extern void * mountproc_umnt_1_svc();
|
extern void * mountproc_umnt_1_svc();
|
||||||
#define MOUNTPROC_UMNTALL ((u_long)4)
|
#define MOUNTPROC_UMNTALL 4
|
||||||
extern void * mountproc_umntall_1();
|
extern void * mountproc_umntall_1();
|
||||||
extern void * mountproc_umntall_1_svc();
|
extern void * mountproc_umntall_1_svc();
|
||||||
#define MOUNTPROC_EXPORT ((u_long)5)
|
#define MOUNTPROC_EXPORT 5
|
||||||
extern exports * mountproc_export_1();
|
extern exports * mountproc_export_1();
|
||||||
extern exports * mountproc_export_1_svc();
|
extern exports * mountproc_export_1_svc();
|
||||||
#define MOUNTPROC_EXPORTALL ((u_long)6)
|
#define MOUNTPROC_EXPORTALL 6
|
||||||
extern exports * mountproc_exportall_1();
|
extern exports * mountproc_exportall_1();
|
||||||
extern exports * mountproc_exportall_1_svc();
|
extern exports * mountproc_exportall_1_svc();
|
||||||
#endif /* Old Style C */
|
extern int mountprog_1_freeresult ();
|
||||||
#define MOUNTVERS_POSIX ((u_long)2)
|
#endif /* K&R C */
|
||||||
|
#define MOUNTVERS_POSIX 2
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
extern "C" void * mountproc_null_2(void *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_null_2_svc(void *, struct svc_req *);
|
|
||||||
extern "C" fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
|
|
||||||
extern "C" fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
|
|
||||||
extern "C" mountlist * mountproc_dump_2(void *, CLIENT *);
|
|
||||||
extern "C" mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
|
|
||||||
extern "C" void * mountproc_umnt_2(dirpath *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
|
|
||||||
extern "C" void * mountproc_umntall_2(void *, CLIENT *);
|
|
||||||
extern "C" void * mountproc_umntall_2_svc(void *, struct svc_req *);
|
|
||||||
extern "C" exports * mountproc_export_2(void *, CLIENT *);
|
|
||||||
extern "C" exports * mountproc_export_2_svc(void *, struct svc_req *);
|
|
||||||
extern "C" exports * mountproc_exportall_2(void *, CLIENT *);
|
|
||||||
extern "C" exports * mountproc_exportall_2_svc(void *, struct svc_req *);
|
|
||||||
#define MOUNTPROC_PATHCONF ((u_long)7)
|
|
||||||
extern "C" ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
|
|
||||||
extern "C" ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
|
|
||||||
|
|
||||||
#elif __STDC__
|
|
||||||
extern void * mountproc_null_2(void *, CLIENT *);
|
extern void * mountproc_null_2(void *, CLIENT *);
|
||||||
extern void * mountproc_null_2_svc(void *, struct svc_req *);
|
extern void * mountproc_null_2_svc(void *, struct svc_req *);
|
||||||
extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
|
extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
|
||||||
@ -299,11 +215,12 @@ extern exports * mountproc_export_2(void *, CLIENT *);
|
|||||||
extern exports * mountproc_export_2_svc(void *, struct svc_req *);
|
extern exports * mountproc_export_2_svc(void *, struct svc_req *);
|
||||||
extern exports * mountproc_exportall_2(void *, CLIENT *);
|
extern exports * mountproc_exportall_2(void *, CLIENT *);
|
||||||
extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
|
extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
|
||||||
#define MOUNTPROC_PATHCONF ((u_long)7)
|
#define MOUNTPROC_PATHCONF 7
|
||||||
extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
|
extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
|
||||||
extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
|
extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
|
||||||
|
extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
|
||||||
|
|
||||||
#else /* Old Style C */
|
#else /* K&R C */
|
||||||
extern void * mountproc_null_2();
|
extern void * mountproc_null_2();
|
||||||
extern void * mountproc_null_2_svc();
|
extern void * mountproc_null_2_svc();
|
||||||
extern fhstatus * mountproc_mnt_2();
|
extern fhstatus * mountproc_mnt_2();
|
||||||
@ -318,9 +235,96 @@ extern exports * mountproc_export_2();
|
|||||||
extern exports * mountproc_export_2_svc();
|
extern exports * mountproc_export_2_svc();
|
||||||
extern exports * mountproc_exportall_2();
|
extern exports * mountproc_exportall_2();
|
||||||
extern exports * mountproc_exportall_2_svc();
|
extern exports * mountproc_exportall_2_svc();
|
||||||
#define MOUNTPROC_PATHCONF ((u_long)7)
|
#define MOUNTPROC_PATHCONF 7
|
||||||
extern ppathcnf * mountproc_pathconf_2();
|
extern ppathcnf * mountproc_pathconf_2();
|
||||||
extern ppathcnf * mountproc_pathconf_2_svc();
|
extern ppathcnf * mountproc_pathconf_2_svc();
|
||||||
#endif /* Old Style C */
|
extern int mountprog_2_freeresult ();
|
||||||
|
#endif /* K&R C */
|
||||||
|
#define MOUNT_V3 3
|
||||||
|
|
||||||
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
|
#define MOUNTPROC3_NULL 0
|
||||||
|
extern void * mountproc3_null_3(void *, CLIENT *);
|
||||||
|
extern void * mountproc3_null_3_svc(void *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_MNT 1
|
||||||
|
extern mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
|
||||||
|
extern mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_DUMP 2
|
||||||
|
extern mountlist * mountproc3_dump_3(void *, CLIENT *);
|
||||||
|
extern mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_UMNT 3
|
||||||
|
extern void * mountproc3_umnt_3(dirpath *, CLIENT *);
|
||||||
|
extern void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_UMNTALL 4
|
||||||
|
extern void * mountproc3_umntall_3(void *, CLIENT *);
|
||||||
|
extern void * mountproc3_umntall_3_svc(void *, struct svc_req *);
|
||||||
|
#define MOUNTPROC3_EXPORT 5
|
||||||
|
extern exports * mountproc3_export_3(void *, CLIENT *);
|
||||||
|
extern exports * mountproc3_export_3_svc(void *, struct svc_req *);
|
||||||
|
extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
|
||||||
|
|
||||||
|
#else /* K&R C */
|
||||||
|
#define MOUNTPROC3_NULL 0
|
||||||
|
extern void * mountproc3_null_3();
|
||||||
|
extern void * mountproc3_null_3_svc();
|
||||||
|
#define MOUNTPROC3_MNT 1
|
||||||
|
extern mountres3 * mountproc3_mnt_3();
|
||||||
|
extern mountres3 * mountproc3_mnt_3_svc();
|
||||||
|
#define MOUNTPROC3_DUMP 2
|
||||||
|
extern mountlist * mountproc3_dump_3();
|
||||||
|
extern mountlist * mountproc3_dump_3_svc();
|
||||||
|
#define MOUNTPROC3_UMNT 3
|
||||||
|
extern void * mountproc3_umnt_3();
|
||||||
|
extern void * mountproc3_umnt_3_svc();
|
||||||
|
#define MOUNTPROC3_UMNTALL 4
|
||||||
|
extern void * mountproc3_umntall_3();
|
||||||
|
extern void * mountproc3_umntall_3_svc();
|
||||||
|
#define MOUNTPROC3_EXPORT 5
|
||||||
|
extern exports * mountproc3_export_3();
|
||||||
|
extern exports * mountproc3_export_3_svc();
|
||||||
|
extern int mountprog_3_freeresult ();
|
||||||
|
#endif /* K&R C */
|
||||||
|
|
||||||
|
/* the xdr functions */
|
||||||
|
|
||||||
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
|
extern bool_t xdr_fhandle (XDR *, fhandle);
|
||||||
|
extern bool_t xdr_fhandle3 (XDR *, fhandle3*);
|
||||||
|
extern bool_t xdr_mountstat3 (XDR *, mountstat3*);
|
||||||
|
extern bool_t xdr_fhstatus (XDR *, fhstatus*);
|
||||||
|
extern bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
|
||||||
|
extern bool_t xdr_mountres3 (XDR *, mountres3*);
|
||||||
|
extern bool_t xdr_dirpath (XDR *, dirpath*);
|
||||||
|
extern bool_t xdr_name (XDR *, name*);
|
||||||
|
extern bool_t xdr_mountlist (XDR *, mountlist*);
|
||||||
|
extern bool_t xdr_mountbody (XDR *, mountbody*);
|
||||||
|
extern bool_t xdr_groups (XDR *, groups*);
|
||||||
|
extern bool_t xdr_groupnode (XDR *, groupnode*);
|
||||||
|
extern bool_t xdr_exports (XDR *, exports*);
|
||||||
|
extern bool_t xdr_exportnode (XDR *, exportnode*);
|
||||||
|
extern bool_t xdr_ppathcnf (XDR *, ppathcnf*);
|
||||||
|
|
||||||
|
#else /* K&R C */
|
||||||
|
extern bool_t xdr_fhandle ();
|
||||||
|
extern bool_t xdr_fhandle3 ();
|
||||||
|
extern bool_t xdr_mountstat3 ();
|
||||||
|
extern bool_t xdr_fhstatus ();
|
||||||
|
extern bool_t xdr_mountres3_ok ();
|
||||||
|
extern bool_t xdr_mountres3 ();
|
||||||
|
extern bool_t xdr_dirpath ();
|
||||||
|
extern bool_t xdr_name ();
|
||||||
|
extern bool_t xdr_mountlist ();
|
||||||
|
extern bool_t xdr_mountbody ();
|
||||||
|
extern bool_t xdr_groups ();
|
||||||
|
extern bool_t xdr_groupnode ();
|
||||||
|
extern bool_t xdr_exports ();
|
||||||
|
extern bool_t xdr_exportnode ();
|
||||||
|
extern bool_t xdr_ppathcnf ();
|
||||||
|
|
||||||
|
#endif /* K&R C */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* !_NFSMOUNT_H_RPCGEN */
|
#endif /* !_NFSMOUNT_H_RPCGEN */
|
||||||
|
30
utility.c
30
utility.c
@ -1456,6 +1456,36 @@ extern void *xmalloc(size_t size)
|
|||||||
return cp;
|
return cp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined BB_FEATURE_NFSMOUNT
|
||||||
|
extern char * xstrdup (const char *s) {
|
||||||
|
char *t;
|
||||||
|
|
||||||
|
if (s == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
t = strdup (s);
|
||||||
|
|
||||||
|
if (t == NULL)
|
||||||
|
fatalError(memory_exhausted, "");
|
||||||
|
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern char * xstrndup (const char *s, int n) {
|
||||||
|
char *t;
|
||||||
|
|
||||||
|
if (s == NULL)
|
||||||
|
fatalError("xstrndup bug");
|
||||||
|
|
||||||
|
t = xmalloc(n+1);
|
||||||
|
strncpy(t,s,n);
|
||||||
|
t[n] = 0;
|
||||||
|
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if (__GLIBC__ < 2) && (defined BB_SYSLOGD || defined BB_INIT)
|
#if (__GLIBC__ < 2) && (defined BB_SYSLOGD || defined BB_INIT)
|
||||||
extern int vdprintf(int d, const char *format, va_list ap)
|
extern int vdprintf(int d, const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user