Added initial unfs3 sources for version 0.9.22+dfsg-1maemo2
[unfs3] / unfs3 / daemon.h
1 /*
2  * UNFS3 server framework
3  * (C) 2004, Pascal Schmidt
4  * see file LICENSE for license details
5  */
6
7 #ifndef UNFS3_DAEMON_H
8 #define UNFS3_DAEMON_H
9
10 #include "nfs.h"
11
12 /* exit status for internal errors */
13 #define CRISIS  99
14
15 /* HP-UX does not have seteuid() and setegid() */
16 #if HAVE_SETEUID == 0 && HAVE_SETRESUID == 1
17 #define seteuid(u) setresuid(-1, u, -1)
18 #endif
19 #if HAVE_SETEGID == 0 && HAVE_SETRESGID == 1
20 #define setegid(g) setresgid(-1, g, -1)
21 #endif
22
23 /* error handling */
24 void daemon_exit(int);
25 void logmsg(int, const char *, ...);
26
27 /* remote address */
28 struct in_addr get_remote(struct svc_req *);
29 short get_port(struct svc_req *);
30 int get_socket_type(struct svc_req *rqstp);
31
32 /* write verifier */
33 extern writeverf3 wverf;
34 void regenerate_write_verifier(void);
35
36 /* readdir cookie */
37 extern cookie3 rcookie;
38 void change_readdir_cookie(void);
39
40 /* options */
41 extern int      opt_detach;
42 extern char     *opt_exports;
43 extern int      opt_cluster;
44 extern char     *opt_cluster_path;
45 extern int      opt_singleuser;
46 extern int      opt_brute_force;
47 extern int      opt_readable_executables;
48
49 #endif