1 /*
2  * linux/include/linux/sunrpc/svcauth.h
3  *
4  * RPC server-side authentication stuff.
5  *
6  * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
7  */
8 
9 #ifndef _LINUX_SUNRPC_SVCAUTH_H_
10 #define _LINUX_SUNRPC_SVCAUTH_H_
11 
12 #ifdef __KERNEL__
13 
14 #include <linux/sunrpc/msg_prot.h>
15 
16 struct svc_cred {
17 	u32			cr_flavor;
18 	uid_t			cr_uid;
19 	gid_t			cr_gid;
20 	gid_t			cr_groups[NGROUPS];
21 };
22 
23 struct svc_rqst;		/* forward decl */
24 
25 void	svc_authenticate(struct svc_rqst *rqstp, u32 *statp, u32 *authp);
26 int	svc_auth_register(u32 flavor, void (*)(struct svc_rqst *,u32 *,u32 *));
27 void	svc_auth_unregister(u32 flavor);
28 
29 #if 0
30 /*
31  * Decoded AUTH_UNIX data. This is different from what's in the RPC lib.
32  */
33 #define NGRPS		16
34 struct authunix_parms {
35 	u32		aup_stamp;
36 	u32		aup_uid;
37 	u32		aup_gid;
38 	u32		aup_len;
39 	u32		aup_gids[NGRPS];
40 };
41 
42 struct svc_authops *	auth_getops(u32 flavor);
43 #endif
44 
45 
46 #endif /* __KERNEL__ */
47 
48 #endif /* _LINUX_SUNRPC_SVCAUTH_H_ */
49