1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_NCP_FS_H
20#define _LINUX_NCP_FS_H
21#include <linux/fs.h>
22#include <linux/in.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#include <linux/types.h>
25#include <linux/magic.h>
26#include <linux/ipx.h>
27#include <linux/ncp_no.h>
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29struct ncp_ioctl_request {
30  unsigned int function;
31  unsigned int size;
32  char __user * data;
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34};
35struct ncp_fs_info {
36  int version;
37  struct sockaddr_ipx addr;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  __kernel_uid_t mounted_uid;
40  int connection;
41  int buffer_size;
42  int volume_number;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  __le32 directory_id;
45};
46struct ncp_fs_info_v2 {
47  int version;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  unsigned long mounted_uid;
50  unsigned int connection;
51  unsigned int buffer_size;
52  unsigned int volume_number;
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  __le32 directory_id;
55  __u32 dummy1;
56  __u32 dummy2;
57  __u32 dummy3;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59};
60struct ncp_sign_init {
61  char sign_root[8];
62  char sign_last[16];
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64};
65struct ncp_lock_ioctl {
66#define NCP_LOCK_LOG 0
67#define NCP_LOCK_SH 1
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define NCP_LOCK_EX 2
70#define NCP_LOCK_CLEAR 256
71  int cmd;
72  int origin;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  unsigned int offset;
75  unsigned int length;
76#define NCP_LOCK_DEFAULT_TIMEOUT 18
77#define NCP_LOCK_MAX_TIMEOUT 180
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  int timeout;
80};
81struct ncp_setroot_ioctl {
82  int volNumber;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  int namespace;
85  __le32 dirEntNum;
86};
87struct ncp_objectname_ioctl {
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define NCP_AUTH_NONE 0x00
90#define NCP_AUTH_BIND 0x31
91#define NCP_AUTH_NDS 0x32
92  int auth_type;
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  size_t object_name_len;
95  void __user * object_name;
96};
97struct ncp_privatedata_ioctl {
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  size_t len;
100  void __user * data;
101};
102#define NCP_IOCSNAME_LEN 20
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104struct ncp_nls_ioctl {
105  unsigned char codepage[NCP_IOCSNAME_LEN + 1];
106  unsigned char iocharset[NCP_IOCSNAME_LEN + 1];
107};
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define NCP_IOC_NCPREQUEST _IOR('n', 1, struct ncp_ioctl_request)
110#define NCP_IOC_GETMOUNTUID _IOW('n', 2, __kernel_old_uid_t)
111#define NCP_IOC_GETMOUNTUID2 _IOW('n', 2, unsigned long)
112#define NCP_IOC_CONN_LOGGED_IN _IO('n', 3)
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#define NCP_GET_FS_INFO_VERSION (1)
115#define NCP_IOC_GET_FS_INFO _IOWR('n', 4, struct ncp_fs_info)
116#define NCP_GET_FS_INFO_VERSION_V2 (2)
117#define NCP_IOC_GET_FS_INFO_V2 _IOWR('n', 4, struct ncp_fs_info_v2)
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define NCP_IOC_SIGN_INIT _IOR('n', 5, struct ncp_sign_init)
120#define NCP_IOC_SIGN_WANTED _IOR('n', 6, int)
121#define NCP_IOC_SET_SIGN_WANTED _IOW('n', 6, int)
122#define NCP_IOC_LOCKUNLOCK _IOR('n', 7, struct ncp_lock_ioctl)
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define NCP_IOC_GETROOT _IOW('n', 8, struct ncp_setroot_ioctl)
125#define NCP_IOC_SETROOT _IOR('n', 8, struct ncp_setroot_ioctl)
126#define NCP_IOC_GETOBJECTNAME _IOWR('n', 9, struct ncp_objectname_ioctl)
127#define NCP_IOC_SETOBJECTNAME _IOR('n', 9, struct ncp_objectname_ioctl)
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#define NCP_IOC_GETPRIVATEDATA _IOWR('n', 10, struct ncp_privatedata_ioctl)
130#define NCP_IOC_SETPRIVATEDATA _IOR('n', 10, struct ncp_privatedata_ioctl)
131#define NCP_IOC_GETCHARSETS _IOWR('n', 11, struct ncp_nls_ioctl)
132#define NCP_IOC_SETCHARSETS _IOR('n', 11, struct ncp_nls_ioctl)
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#define NCP_IOC_GETDENTRYTTL _IOW('n', 12, __u32)
135#define NCP_IOC_SETDENTRYTTL _IOR('n', 12, __u32)
136#define NCP_PACKET_SIZE 4070
137#define NCP_MAXPATHLEN 255
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define NCP_MAXNAMELEN 14
140#endif
141