280 lines
8.0 KiB
C
280 lines
8.0 KiB
C
/*
|
|
Copyright (c) 2014, Ronnie Sahlberg
|
|
All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions are met:
|
|
|
|
1. Redistributions of source code must retain the above copyright notice, this
|
|
list of conditions and the following disclaimer.
|
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
this list of conditions and the following disclaimer in the documentation
|
|
and/or other materials provided with the distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
The views and conclusions contained in the software and documentation are those
|
|
of the authors and should not be interpreted as representing official policies,
|
|
either expressed or implied, of the FreeBSD Project.
|
|
*/
|
|
|
|
/*
|
|
* Please do not edit this file.
|
|
* It was generated using rpcgen.
|
|
*/
|
|
|
|
#ifndef _MOUNT_H_RPCGEN
|
|
#define _MOUNT_H_RPCGEN
|
|
|
|
#include <nfsc/libnfs-zdr.h>
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define MNTPATHLEN 1024
|
|
#define MNTNAMLEN 255
|
|
#define FHSIZE3 64
|
|
|
|
typedef struct {
|
|
u_int fhandle3_len;
|
|
char *fhandle3_val;
|
|
} fhandle3;
|
|
|
|
typedef char *dirpath;
|
|
|
|
typedef char *name;
|
|
|
|
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;
|
|
|
|
typedef struct mountbody *mountlist;
|
|
|
|
struct mountbody {
|
|
name ml_hostname;
|
|
dirpath ml_directory;
|
|
mountlist ml_next;
|
|
};
|
|
typedef struct mountbody mountbody;
|
|
|
|
typedef struct groupnode *groups;
|
|
|
|
struct groupnode {
|
|
name gr_name;
|
|
groups gr_next;
|
|
};
|
|
typedef struct groupnode groupnode;
|
|
|
|
typedef struct exportnode *exports;
|
|
|
|
struct exportnode {
|
|
dirpath ex_dir;
|
|
groups ex_groups;
|
|
exports ex_next;
|
|
};
|
|
typedef struct exportnode exportnode;
|
|
|
|
struct mountres3_ok {
|
|
fhandle3 fhandle;
|
|
struct {
|
|
u_int auth_flavors_len;
|
|
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;
|
|
|
|
enum mountstat1 {
|
|
MNT1_OK = 0,
|
|
MNT1ERR_PERM = 1,
|
|
MNT1ERR_NOENT = 2,
|
|
MNT1ERR_IO = 5,
|
|
MNT1ERR_ACCES = 13,
|
|
MNT1ERR_NOTDIR = 20,
|
|
MNT1ERR_INVAL = 22,
|
|
MNT1ERR_NAMETOOLONG = 63,
|
|
MNT1ERR_NOTSUPP = 10004,
|
|
MNT1ERR_SERVERFAULT = 10006,
|
|
};
|
|
typedef enum mountstat1 mountstat1;
|
|
#define FHSIZE 32
|
|
|
|
typedef char fhandle1[FHSIZE];
|
|
|
|
struct mountres1_ok {
|
|
fhandle1 fhandle;
|
|
};
|
|
typedef struct mountres1_ok mountres1_ok;
|
|
|
|
struct mountres1 {
|
|
mountstat1 fhs_status;
|
|
union {
|
|
mountres1_ok mountinfo;
|
|
} mountres1_u;
|
|
};
|
|
typedef struct mountres1 mountres1;
|
|
|
|
#define MOUNT_PROGRAM 100005
|
|
#define MOUNT_V1 1
|
|
|
|
#if defined(__STDC__) || defined(__cplusplus)
|
|
#define MOUNT1_NULL 0
|
|
extern void * mount1_null_1(void *, void *);
|
|
extern void * mount1_null_1_svc(void *, struct svc_req *);
|
|
#define MOUNT1_MNT 1
|
|
extern mountres1 * mount1_mnt_1(dirpath *, void *);
|
|
extern mountres1 * mount1_mnt_1_svc(dirpath *, struct svc_req *);
|
|
#define MOUNT1_DUMP 2
|
|
extern mountlist * mount1_dump_1(void *, void *);
|
|
extern mountlist * mount1_dump_1_svc(void *, struct svc_req *);
|
|
#define MOUNT1_UMNT 3
|
|
extern void * mount1_umnt_1(dirpath *, void *);
|
|
extern void * mount1_umnt_1_svc(dirpath *, struct svc_req *);
|
|
#define MOUNT1_UMNTALL 4
|
|
extern void * mount1_umntall_1(void *, void *);
|
|
extern void * mount1_umntall_1_svc(void *, struct svc_req *);
|
|
#define MOUNT1_EXPORT 5
|
|
extern exports * mount1_export_1(void *, void *);
|
|
extern exports * mount1_export_1_svc(void *, struct svc_req *);
|
|
extern int mount_program_1_freeresult (void *, zdrproc_t, caddr_t);
|
|
|
|
#else /* K&R C */
|
|
#define MOUNT1_NULL 0
|
|
extern void * mount1_null_1();
|
|
extern void * mount1_null_1_svc();
|
|
#define MOUNT1_MNT 1
|
|
extern mountres1 * mount1_mnt_1();
|
|
extern mountres1 * mount1_mnt_1_svc();
|
|
#define MOUNT1_DUMP 2
|
|
extern mountlist * mount1_dump_1();
|
|
extern mountlist * mount1_dump_1_svc();
|
|
#define MOUNT1_UMNT 3
|
|
extern void * mount1_umnt_1();
|
|
extern void * mount1_umnt_1_svc();
|
|
#define MOUNT1_UMNTALL 4
|
|
extern void * mount1_umntall_1();
|
|
extern void * mount1_umntall_1_svc();
|
|
#define MOUNT1_EXPORT 5
|
|
extern exports * mount1_export_1();
|
|
extern exports * mount1_export_1_svc();
|
|
extern int mount_program_1_freeresult ();
|
|
#endif /* K&R C */
|
|
#define MOUNT_V3 3
|
|
|
|
#if defined(__STDC__) || defined(__cplusplus)
|
|
#define MOUNT3_NULL 0
|
|
extern void * mount3_null_3(void *, void *);
|
|
extern void * mount3_null_3_svc(void *, struct svc_req *);
|
|
#define MOUNT3_MNT 1
|
|
extern mountres3 * mount3_mnt_3(dirpath *, void *);
|
|
extern mountres3 * mount3_mnt_3_svc(dirpath *, struct svc_req *);
|
|
#define MOUNT3_DUMP 2
|
|
extern mountlist * mount3_dump_3(void *, void *);
|
|
extern mountlist * mount3_dump_3_svc(void *, struct svc_req *);
|
|
#define MOUNT3_UMNT 3
|
|
extern void * mount3_umnt_3(dirpath *, void *);
|
|
extern void * mount3_umnt_3_svc(dirpath *, struct svc_req *);
|
|
#define MOUNT3_UMNTALL 4
|
|
extern void * mount3_umntall_3(void *, void *);
|
|
extern void * mount3_umntall_3_svc(void *, struct svc_req *);
|
|
#define MOUNT3_EXPORT 5
|
|
extern exports * mount3_export_3(void *, void *);
|
|
extern exports * mount3_export_3_svc(void *, struct svc_req *);
|
|
extern int mount_program_3_freeresult (void *, zdrproc_t, caddr_t);
|
|
|
|
#else /* K&R C */
|
|
#define MOUNT3_NULL 0
|
|
extern void * mount3_null_3();
|
|
extern void * mount3_null_3_svc();
|
|
#define MOUNT3_MNT 1
|
|
extern mountres3 * mount3_mnt_3();
|
|
extern mountres3 * mount3_mnt_3_svc();
|
|
#define MOUNT3_DUMP 2
|
|
extern mountlist * mount3_dump_3();
|
|
extern mountlist * mount3_dump_3_svc();
|
|
#define MOUNT3_UMNT 3
|
|
extern void * mount3_umnt_3();
|
|
extern void * mount3_umnt_3_svc();
|
|
#define MOUNT3_UMNTALL 4
|
|
extern void * mount3_umntall_3();
|
|
extern void * mount3_umntall_3_svc();
|
|
#define MOUNT3_EXPORT 5
|
|
extern exports * mount3_export_3();
|
|
extern exports * mount3_export_3_svc();
|
|
extern int mount_program_3_freeresult ();
|
|
#endif /* K&R C */
|
|
|
|
/* the zdr functions */
|
|
|
|
#if defined(__STDC__) || defined(__cplusplus)
|
|
extern uint32_t zdr_fhandle3 (ZDR *, fhandle3*);
|
|
extern uint32_t zdr_dirpath (ZDR *, dirpath*);
|
|
extern uint32_t zdr_name (ZDR *, name*);
|
|
extern uint32_t zdr_mountstat3 (ZDR *, mountstat3*);
|
|
extern uint32_t zdr_mountlist (ZDR *, mountlist*);
|
|
extern uint32_t zdr_mountbody (ZDR *, mountbody*);
|
|
extern uint32_t zdr_groups (ZDR *, groups*);
|
|
extern uint32_t zdr_groupnode (ZDR *, groupnode*);
|
|
extern uint32_t zdr_exports (ZDR *, exports*);
|
|
extern uint32_t zdr_exportnode (ZDR *, exportnode*);
|
|
extern uint32_t zdr_mountres3_ok (ZDR *, mountres3_ok*);
|
|
extern uint32_t zdr_mountres3 (ZDR *, mountres3*);
|
|
extern uint32_t zdr_mountstat1 (ZDR *, mountstat1*);
|
|
extern uint32_t zdr_fhandle1 (ZDR *, fhandle1);
|
|
extern uint32_t zdr_mountres1_ok (ZDR *, mountres1_ok*);
|
|
extern uint32_t zdr_mountres1 (ZDR *, mountres1*);
|
|
|
|
#else /* K&R C */
|
|
extern uint32_t zdr_fhandle3 ();
|
|
extern uint32_t zdr_dirpath ();
|
|
extern uint32_t zdr_name ();
|
|
extern uint32_t zdr_mountstat3 ();
|
|
extern uint32_t zdr_mountlist ();
|
|
extern uint32_t zdr_mountbody ();
|
|
extern uint32_t zdr_groups ();
|
|
extern uint32_t zdr_groupnode ();
|
|
extern uint32_t zdr_exports ();
|
|
extern uint32_t zdr_exportnode ();
|
|
extern uint32_t zdr_mountres3_ok ();
|
|
extern uint32_t zdr_mountres3 ();
|
|
extern uint32_t zdr_mountstat1 ();
|
|
extern uint32_t zdr_fhandle1 ();
|
|
extern uint32_t zdr_mountres1_ok ();
|
|
extern uint32_t zdr_mountres1 ();
|
|
|
|
#endif /* K&R C */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* !_MOUNT_H_RPCGEN */
|