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