11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds * Mapping of UID to name and vice versa.
31da177e4SLinus Torvalds *
41da177e4SLinus Torvalds * Copyright (c) 2002, 2003 The Regents of the University of
51da177e4SLinus Torvalds * Michigan. All rights reserved.
61da177e4SLinus Torvalds > *
71da177e4SLinus Torvalds * Marius Aamodt Eriksen <marius@umich.edu>
81da177e4SLinus Torvalds *
91da177e4SLinus Torvalds * Redistribution and use in source and binary forms, with or without
101da177e4SLinus Torvalds * modification, are permitted provided that the following conditions
111da177e4SLinus Torvalds * are met:
121da177e4SLinus Torvalds *
131da177e4SLinus Torvalds * 1. Redistributions of source code must retain the above copyright
141da177e4SLinus Torvalds * notice, this list of conditions and the following disclaimer.
151da177e4SLinus Torvalds * 2. Redistributions in binary form must reproduce the above copyright
161da177e4SLinus Torvalds * notice, this list of conditions and the following disclaimer in the
171da177e4SLinus Torvalds * documentation and/or other materials provided with the distribution.
181da177e4SLinus Torvalds * 3. Neither the name of the University nor the names of its
191da177e4SLinus Torvalds * contributors may be used to endorse or promote products derived
201da177e4SLinus Torvalds * from this software without specific prior written permission.
211da177e4SLinus Torvalds *
221da177e4SLinus Torvalds * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
231da177e4SLinus Torvalds * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
241da177e4SLinus Torvalds * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
251da177e4SLinus Torvalds * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
261da177e4SLinus Torvalds * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
271da177e4SLinus Torvalds * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
281da177e4SLinus Torvalds * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
291da177e4SLinus Torvalds * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
301da177e4SLinus Torvalds * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
311da177e4SLinus Torvalds * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
321da177e4SLinus Torvalds * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
331da177e4SLinus Torvalds */
341da177e4SLinus Torvalds
351da177e4SLinus Torvalds #ifndef LINUX_NFSD_IDMAP_H
361da177e4SLinus Torvalds #define LINUX_NFSD_IDMAP_H
371da177e4SLinus Torvalds
381da177e4SLinus Torvalds #include <linux/in.h>
391da177e4SLinus Torvalds #include <linux/sunrpc/svc.h>
40*e446d66dSKinglong Mee #include <linux/nfs_idmap.h>
411da177e4SLinus Torvalds
42bd0b1e95SNeilBrown #ifdef CONFIG_NFSD_V4
4343ec1a20SStanislav Kinsbursky int nfsd_idmap_init(struct net *);
4443ec1a20SStanislav Kinsbursky void nfsd_idmap_shutdown(struct net *);
45bd0b1e95SNeilBrown #else
nfsd_idmap_init(struct net * net)4643ec1a20SStanislav Kinsbursky static inline int nfsd_idmap_init(struct net *net)
47dbf847ecSJ. Bruce Fields {
48dbf847ecSJ. Bruce Fields return 0;
49dbf847ecSJ. Bruce Fields }
nfsd_idmap_shutdown(struct net * net)5043ec1a20SStanislav Kinsbursky static inline void nfsd_idmap_shutdown(struct net *net)
51dbf847ecSJ. Bruce Fields {
52dbf847ecSJ. Bruce Fields }
53bd0b1e95SNeilBrown #endif
541da177e4SLinus Torvalds
5565e10f6dSEric W. Biederman __be32 nfsd_map_name_to_uid(struct svc_rqst *, const char *, size_t, kuid_t *);
5665e10f6dSEric W. Biederman __be32 nfsd_map_name_to_gid(struct svc_rqst *, const char *, size_t, kgid_t *);
57ddd1ea56SJ. Bruce Fields __be32 nfsd4_encode_user(struct xdr_stream *, struct svc_rqst *, kuid_t);
58ddd1ea56SJ. Bruce Fields __be32 nfsd4_encode_group(struct xdr_stream *, struct svc_rqst *, kgid_t);
591da177e4SLinus Torvalds
601da177e4SLinus Torvalds #endif /* LINUX_NFSD_IDMAP_H */
61