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 #endif
72