blob: a2b549eb1ecaf5624c608eef6b5f4df721219a9a [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
26struct 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
46struct 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
73struct 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? */
Eric W. Biederman21542272006-12-13 00:35:11 -080078 struct pid *wdog_pid; /* Who cares for our watchdog packets? */
Linus Torvalds1da177e2005-04-16 15:20:36 -070079 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