2 * support/include/exportfs.h
4 * Declarations for exportfs and mountd
6 * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
18 MCL_IPADDR = MCL_SUBNETWORK,
33 typedef struct mclient {
34 struct mclient * m_next;
38 struct in_addr m_addrlist[NFSCLNT_ADDRMAX];
39 int m_exported; /* exported to nfsd */
43 typedef struct mexport {
44 struct mexport * m_next;
45 struct mclient * m_client;
46 struct exportent m_export;
47 int m_exported; /* known to knfsd. -1 means not sure */
48 int m_xtabent : 1, /* xtab entry exists */
49 m_mayexport: 1, /* derived from xtabbed */
50 m_changed : 1, /* options (may) have changed */
51 m_warned : 1; /* warned about multiple exports
52 * matching one client */
55 extern nfs_client * clientlist[MCL_MAXTYPES];
56 extern nfs_export * exportlist[MCL_MAXTYPES];
58 nfs_client * client_lookup(char *hname, int canonical);
59 nfs_client * client_find(struct hostent *);
60 void client_add(nfs_client *);
61 nfs_client * client_dup(nfs_client *, struct hostent *);
62 int client_gettype(char *hname);
63 int client_check(nfs_client *, struct hostent *);
64 int client_match(nfs_client *, char *hname);
65 void client_release(nfs_client *);
66 void client_freeall(void);
67 char * client_compose(struct hostent *he);
68 struct hostent * client_resolve(struct in_addr addr);
69 int client_member(char *client, char *name);
71 int export_read(char *fname);
72 void export_add(nfs_export *);
73 void export_reset(nfs_export *);
74 nfs_export * export_lookup(char *hname, char *path, int caconical);
75 nfs_export * export_find(struct hostent *, char *path);
76 nfs_export * export_allowed(struct hostent *, char *path);
77 nfs_export * export_create(struct exportent *, int canonical);
78 nfs_export * export_dup(nfs_export *, struct hostent *);
79 void export_freeall(void);
80 int export_export(nfs_export *);
81 int export_unexport(nfs_export *);
83 int xtab_mount_read(void);
84 int xtab_export_read(void);
85 int xtab_mount_write(void);
86 int xtab_export_write(void);
87 void xtab_append(nfs_export *);
91 struct nfskey * key_lookup(char *hname);
93 /* Record export error. */
94 extern int export_errno;
96 #endif /* EXPORTFS_H */