]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - sys/nfs4client/nfs4_idmap.h
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / sys / nfs4client / nfs4_idmap.h
1 /* $FreeBSD$ */
2 /* $Id: nfs4_idmap.h,v 1.2 2003/11/05 14:58:59 rees Exp $ */
3
4 /*-
5  * copyright (c) 2003
6  * the regents of the university of michigan
7  * all rights reserved
8  * 
9  * permission is granted to use, copy, create derivative works and redistribute
10  * this software and such derivative works for any purpose, so long as the name
11  * of the university of michigan is not used in any advertising or publicity
12  * pertaining to the use or distribution of this software without specific,
13  * written prior authorization.  if the above copyright notice or any other
14  * identification of the university of michigan is included in any copy of any
15  * portion of this software, then the disclaimer below must also be included.
16  * 
17  * this software is provided as is, without representation from the university
18  * of michigan as to its fitness for any purpose, and without warranty by the
19  * university of michigan of any kind, either express or implied, including
20  * without limitation the implied warranties of merchantability and fitness for
21  * a particular purpose. the regents of the university of michigan shall not be
22  * liable for any damages, including special, indirect, incidental, or
23  * consequential damages, with respect to any claim arising out of or in
24  * connection with the use of the software, even if it has been or is hereafter
25  * advised of the possibility of such damages.
26  */
27
28 #ifndef __NFS4_IDMAP_H__
29 #define __NFS4_IDMAP_H__
30
31 #define IDMAP_TYPE_GID 1
32 #define IDMAP_TYPE_UID 2
33 #define IDMAP_MAX_TYPE 2
34
35 typedef union {
36   uid_t uid;
37   gid_t gid;
38 } ident_t;
39
40 #define IDMAP_MAXNAMELEN 249
41 struct idmap_msg {
42         uint32_t id_type;
43         ident_t id_id;
44         size_t id_namelen; 
45         char id_name[IDMAP_MAXNAMELEN + 1];
46 };
47
48
49 #ifdef _KERNEL
50 MALLOC_DECLARE(M_IDMAP);
51
52 void idmap_init(void);
53 void idmap_uninit(void);
54
55 int idmap_gid_to_name(gid_t id, char ** name, size_t * len);
56 int idmap_uid_to_name(uid_t id, char ** name, size_t * len);
57
58 int idmap_name_to_gid(char *, size_t len, gid_t *);
59 int idmap_name_to_uid(char *, size_t len, uid_t *);
60
61 #endif /* _KERNEL */
62
63
64 #endif /* __NFS4_GSS_H__ */