Subversion Repositories shark

Rev

Rev 422 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 1
/*
2
 * include/linux/nfs_idmap.h
3
 *
4
 *  UID and GID to name mapping for clients.
5
 *
6
 *  Copyright (c) 2002 The Regents of the University of Michigan.
7
 *  All rights reserved.
8
 *
9
 *  Marius Aamodt Eriksen <marius@umich.edu>
10
 *
11
 *  Redistribution and use in source and binary forms, with or without
12
 *  modification, are permitted provided that the following conditions
13
 *  are met:
14
 *
15
 *  1. Redistributions of source code must retain the above copyright
16
 *     notice, this list of conditions and the following disclaimer.
17
 *  2. Redistributions in binary form must reproduce the above copyright
18
 *     notice, this list of conditions and the following disclaimer in the
19
 *     documentation and/or other materials provided with the distribution.
20
 *  3. Neither the name of the University nor the names of its
21
 *     contributors may be used to endorse or promote products derived
22
 *     from this software without specific prior written permission.
23
 *
24
 *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
25
 *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26
 *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
 *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28
 *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
 *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30
 *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
31
 *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32
 *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34
 *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
 */
36
 
37
#ifndef NFS_IDMAP_H
38
#define NFS_IDMAP_H
39
 
40
/* XXX from bits/utmp.h  */
41
#define IDMAP_NAMESZ  128
42
 
43
#define IDMAP_TYPE_USER  0
44
#define IDMAP_TYPE_GROUP 1
45
 
46
#define IDMAP_CONV_IDTONAME 0
47
#define IDMAP_CONV_NAMETOID 1
48
 
49
#define IDMAP_STATUS_INVALIDMSG 0x01
50
#define IDMAP_STATUS_AGAIN      0x02
51
#define IDMAP_STATUS_LOOKUPFAIL 0x04
52
#define IDMAP_STATUS_SUCCESS    0x08
53
 
54
struct idmap_msg {
55
        u_int8_t  im_type;
56
        u_int8_t  im_conv;
57
        char      im_name[IDMAP_NAMESZ];
58
        u_int32_t im_id;
59
        u_int8_t  im_status;
60
};
61
 
62
#ifdef __KERNEL__
63
void      *nfs_idmap_new(struct nfs_server *);
64
void       nfs_idmap_delete(struct nfs_server *);
65
int        nfs_idmap_id(struct nfs_server *, u_int8_t, char *, u_int,  uid_t *);
66
int        nfs_idmap_name(struct nfs_server *, u_int8_t, uid_t, char *, u_int *);
67
#endif /* __KERNEL__ */
68
 
69
#endif /* NFS_IDMAP_H */