]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - sys/nfs4client/nfs4_dev.h
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / sys / nfs4client / nfs4_dev.h
1 /* $FreeBSD$ */
2 /* $Id: nfs4_dev.h,v 1.3 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 _NFS3_DEV_H_
29 #define _NFS4_DEV_H_
30
31 #include <sys/ioccom.h>
32
33
34 /* type of upcall */
35 #define NFS4DEV_TYPE_IDMAP 0
36 #define NFS4DEV_TYPE_GSS   1
37 #define NFS4DEV_MAX_TYPE   1
38
39 struct nfs4dev_msg {
40         unsigned int msg_vers;
41         unsigned int msg_type;
42         unsigned int msg_xid;
43         unsigned int msg_error;
44
45         #define NFS4DEV_MSG_MAX_DATALEN 350 
46         size_t msg_len;
47         uint8_t msg_data[NFS4DEV_MSG_MAX_DATALEN];
48 };
49
50 #define NFS4DEV_VERSION  (0x3 << 16 | (int) sizeof(struct nfs4dev_msg))
51
52 /* ioctl commands */
53 #define NFS4DEVIOCGET _IOR('A', 0x200, struct nfs4dev_msg)
54 #define NFS4DEVIOCPUT _IOW('A', 0x201, struct nfs4dev_msg)
55
56 #ifdef _KERNEL
57 int nfs4dev_call(uint32_t type, caddr_t req_data, size_t req_len, caddr_t rep_datap, size_t * rep_lenp);
58
59 void nfs4dev_purge(void);
60
61 void nfs4dev_init(void);
62 void nfs4dev_uninit(void);
63 #endif
64
65 #endif /* _NFS4_DEV_H_ */