c969a27ca18e48c23625701f749a716e5a4e4d90
[nfs-utils.git] / utils / mountd / mountd.h
1 /*
2  * utils/mountd/mountd.h
3  *
4  * Declarations for mountd.
5  *
6  * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
7  */
8
9 #ifndef MOUNTD_H
10 #define MOUNTD_H
11
12 #include <rpc/rpc.h>
13 #include <rpc/svc.h>
14 #include "nfslib.h"
15 #include "exportfs.h"
16 #include "mount.h"
17
18 union mountd_arguments {
19         dirpath                 dirpath;
20 };
21
22 union mountd_results {
23         fhstatus                fstatus;
24         mountlist               mountlist;
25         exports                 exports;
26 };
27
28 /*
29  * Global Function prototypes.
30  */
31 bool_t          mount_null_1_svc(struct svc_req *, void *, void *);
32 bool_t          mount_mnt_1_svc(struct svc_req *, dirpath *, fhstatus *);
33 bool_t          mount_dump_1_svc(struct svc_req *, void *, mountlist *);
34 bool_t          mount_umnt_1_svc(struct svc_req *, dirpath *, void *);
35 bool_t          mount_umntall_1_svc(struct svc_req *, void *, void *);
36 bool_t          mount_export_1_svc(struct svc_req *, void *, exports *);
37 bool_t          mount_exportall_1_svc(struct svc_req *, void *, exports *);
38 bool_t          mount_pathconf_2_svc(struct svc_req *, dirpath *, ppathcnf *);
39 bool_t          mount_mnt_3_svc(struct svc_req *, dirpath *, mountres3 *);
40
41 void            mount_dispatch(struct svc_req *, SVCXPRT *);
42 void            auth_init(char *export_file);
43 unsigned int    auth_reload(void);
44 nfs_export *    auth_authenticate(const char *what,
45                                         const struct sockaddr *caller,
46                                         const char *path);
47 void            auth_export(nfs_export *exp);
48
49 void            mountlist_add(char *host, const char *path);
50 void            mountlist_del(char *host, const char *path);
51 void            mountlist_del_all(const struct sockaddr *sap);
52 mountlist       mountlist_list(void);
53
54 void            cache_open(void);
55 struct nfs_fh_len *
56                 cache_get_filehandle(nfs_export *exp, int len, char *p);
57 int             cache_export(nfs_export *exp, char *path);
58
59 bool ipaddr_client_matches(nfs_export *exp, struct addrinfo *ai);
60 bool namelist_client_matches(nfs_export *exp, char *dom);
61 bool client_matches(nfs_export *exp, char *dom, struct addrinfo *ai);
62
63 #endif /* MOUNTD_H */