Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
idmap.h
Go to the documentation of this file.
1 /*
2  * Mapping of UID to name and vice versa.
3  *
4  * Copyright (c) 2002, 2003 The Regents of the University of
5  * Michigan. All rights reserved.
6 > *
7  * Marius Aamodt Eriksen <[email protected]>
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in the
17  * documentation and/or other materials provided with the distribution.
18  * 3. Neither the name of the University nor the names of its
19  * contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
23  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25  * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
29  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  */
34 
35 #ifndef LINUX_NFSD_IDMAP_H
36 #define LINUX_NFSD_IDMAP_H
37 
38 #include <linux/in.h>
39 #include <linux/sunrpc/svc.h>
40 
41 /* XXX from linux/nfs_idmap.h */
42 #define IDMAP_NAMESZ 128
43 
44 #ifdef CONFIG_NFSD_V4
45 int nfsd_idmap_init(struct net *);
46 void nfsd_idmap_shutdown(struct net *);
47 #else
48 static inline int nfsd_idmap_init(struct net *net)
49 {
50  return 0;
51 }
52 static inline void nfsd_idmap_shutdown(struct net *net)
53 {
54 }
55 #endif
56 
57 __be32 nfsd_map_name_to_uid(struct svc_rqst *, const char *, size_t, __u32 *);
58 __be32 nfsd_map_name_to_gid(struct svc_rqst *, const char *, size_t, __u32 *);
59 int nfsd_map_uid_to_name(struct svc_rqst *, __u32, char *);
60 int nfsd_map_gid_to_name(struct svc_rqst *, __u32, char *);
61 
62 #endif /* LINUX_NFSD_IDMAP_H */