Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-update
[linux-2.6] / include / linux / ncp_mount.h
1 /*
2  *  ncp_mount.h
3  *
4  *  Copyright (C) 1995, 1996 by Volker Lendecke
5  *
6  */
7
8 #ifndef _LINUX_NCP_MOUNT_H
9 #define _LINUX_NCP_MOUNT_H
10
11 #include <linux/types.h>
12 #include <linux/ncp.h>
13
14 #define NCP_MOUNT_VERSION 3     /* Binary */
15
16 /* Values for flags */
17 #define NCP_MOUNT_SOFT          0x0001
18 #define NCP_MOUNT_INTR          0x0002
19 #define NCP_MOUNT_STRONG        0x0004  /* enable delete/rename of r/o files */
20 #define NCP_MOUNT_NO_OS2        0x0008  /* do not use OS/2 (LONG) namespace */
21 #define NCP_MOUNT_NO_NFS        0x0010  /* do not use NFS namespace */
22 #define NCP_MOUNT_EXTRAS        0x0020
23 #define NCP_MOUNT_SYMLINKS      0x0040  /* enable symlinks */
24 #define NCP_MOUNT_NFS_EXTRAS    0x0080  /* Enable use of NFS NS meta-info */
25
26 struct ncp_mount_data {
27         int version;
28         unsigned int ncp_fd;    /* The socket to the ncp port */
29         __kernel_uid_t mounted_uid;     /* Who may umount() this filesystem? */
30         __kernel_pid_t wdog_pid;                /* Who cares for our watchdog packets? */
31
32         unsigned char mounted_vol[NCP_VOLNAME_LEN + 1];
33         unsigned int time_out;  /* How long should I wait after
34                                    sending a NCP request? */
35         unsigned int retry_count;       /* And how often should I retry? */
36         unsigned int flags;
37
38         __kernel_uid_t uid;
39         __kernel_gid_t gid;
40         __kernel_mode_t file_mode;
41         __kernel_mode_t dir_mode;
42 };
43
44 #define NCP_MOUNT_VERSION_V4    (4)     /* Binary or text */
45
46 struct ncp_mount_data_v4 {
47         int version;
48         unsigned long flags;    /* NCP_MOUNT_* flags */
49         /* MIPS uses long __kernel_uid_t, but... */
50         /* we neever pass -1, so it is safe */
51         unsigned long mounted_uid;      /* Who may umount() this filesystem? */
52         /* MIPS uses long __kernel_pid_t */
53         long wdog_pid;          /* Who cares for our watchdog packets? */
54
55         unsigned int ncp_fd;    /* The socket to the ncp port */
56         unsigned int time_out;  /* How long should I wait after
57                                    sending a NCP request? */
58         unsigned int retry_count;       /* And how often should I retry? */
59
60         /* MIPS uses long __kernel_uid_t... */
61         /* we never pass -1, so it is safe */
62         unsigned long uid;
63         unsigned long gid;
64         /* MIPS uses unsigned long __kernel_mode_t */
65         unsigned long file_mode;
66         unsigned long dir_mode;
67 };
68
69 #define NCP_MOUNT_VERSION_V5    (5)     /* Text only */
70
71 #ifdef __KERNEL__
72
73 struct ncp_mount_data_kernel {
74         unsigned long    flags;         /* NCP_MOUNT_* flags */
75         unsigned int     int_flags;     /* internal flags */
76 #define NCP_IMOUNT_LOGGEDIN_POSSIBLE    0x0001
77         __kernel_uid32_t mounted_uid;   /* Who may umount() this filesystem? */
78         struct pid      *wdog_pid;      /* Who cares for our watchdog packets? */
79         unsigned int     ncp_fd;        /* The socket to the ncp port */
80         unsigned int     time_out;      /* How long should I wait after
81                                            sending a NCP request? */
82         unsigned int     retry_count;   /* And how often should I retry? */
83         unsigned char    mounted_vol[NCP_VOLNAME_LEN + 1];
84         __kernel_uid32_t uid;
85         __kernel_gid32_t gid;
86         __kernel_mode_t  file_mode;
87         __kernel_mode_t  dir_mode;
88         int              info_fd;
89 };
90
91 #endif /* __KERNEL__ */
92
93 #endif