summaryrefslogtreecommitdiffstats
path: root/sys/nfs4client/nfs4_idmap.h
blob: 86cd01b175db1514eca20f1b9e0a3f8767319577 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/* $FreeBSD$ */
/* $Id: nfs4_idmap.h,v 1.2 2003/11/05 14:58:59 rees Exp $ */

/*
 * copyright (c) 2003
 * the regents of the university of michigan
 * all rights reserved
 * 
 * permission is granted to use, copy, create derivative works and redistribute
 * this software and such derivative works for any purpose, so long as the name
 * of the university of michigan is not used in any advertising or publicity
 * pertaining to the use or distribution of this software without specific,
 * written prior authorization.  if the above copyright notice or any other
 * identification of the university of michigan is included in any copy of any
 * portion of this software, then the disclaimer below must also be included.
 * 
 * this software is provided as is, without representation from the university
 * of michigan as to its fitness for any purpose, and without warranty by the
 * university of michigan of any kind, either express or implied, including
 * without limitation the implied warranties of merchantability and fitness for
 * a particular purpose. the regents of the university of michigan shall not be
 * liable for any damages, including special, indirect, incidental, or
 * consequential damages, with respect to any claim arising out of or in
 * connection with the use of the software, even if it has been or is hereafter
 * advised of the possibility of such damages.
 */

#ifndef __NFS4_IDMAP_H__
#define __NFS4_IDMAP_H__

#define IDMAP_TYPE_GID 1
#define IDMAP_TYPE_UID 2
#define IDMAP_MAX_TYPE 2

typedef union {
  uid_t uid;
  gid_t gid;
} ident_t;

#define IDMAP_MAXNAMELEN 249
struct idmap_msg {
	uint32_t id_type;
	ident_t id_id;
	size_t id_namelen; 
	char id_name[IDMAP_MAXNAMELEN + 1];
};


#ifdef _KERNEL
MALLOC_DECLARE(M_IDMAP);

void idmap_init(void);
void idmap_uninit(void);

int idmap_gid_to_name(gid_t id, char ** name, size_t * len);
int idmap_uid_to_name(uid_t id, char ** name, size_t * len);

int idmap_name_to_gid(char *, size_t len, gid_t *);
int idmap_name_to_uid(char *, size_t len, uid_t *);

#endif /* _KERNEL */


#endif /* __NFS4_GSS_H__ */
OpenPOWER on IntegriCloud