1 /* 2 * smb_fs_sb.h 3 * 4 * Copyright (C) 1995 by Paal-Kr. Engstad and Volker Lendecke 5 * 6 */ 7
8 #ifndef_SMB_FS_SB 9 #define_SMB_FS_SB 10
11 #include <linux/smb.h>
12 #include <linux/smb_fs_i.h>
13 #include <linux/smb_mount.h>
14 #include <linux/types.h>
15
16 #ifdef__KERNEL__ 17
18 structsmb_server{ 19 enumsmb_protocolprotocol; /* The protocol this 20 connection accepts. */ 21 enumsmb_case_hndlcase_handling;
22 structfile * sock_file; /* The socket we transfer 23 data on. */ 24 intlock; /* To prevent mismatch in 25 protocols. */ 26 structwait_queue *wait;
27
28 wordmax_xmit;
29 charhostname[256];
30 wordpid;
31 wordserver_uid;
32 wordmid;
33 wordtid;
34
35 structsmb_mount_datam; /* We store the complete information here 36 * to be able to reconnect. 37 */ 38
39 unsignedshortrcls; /* The error codes we received */ 40 unsignedshorterr;
41 unsignedchar * packet;
42
43 enumsmb_conn_statestate;
44 unsignedlong reconnect_time; /* The time of the last attempt */ 45
46 /* The following are LANMAN 1.0 options transferred to us in 47 SMBnegprot */ 48 word secmode;
49 wordmaxxmt;
50 wordmaxmux;
51 wordmaxvcs;
52 wordblkmode;
53 dwordsesskey;
54
55 /* We use our on data_ready callback, but need the original one */ 56 void *data_ready;
57
58 /* We do not have unique numbers for files in the smb protocol 59 like NFS-filehandles. (SMB was designed for DOS, not for 60 UNIX!) So we have to create our own inode numbers. We keep 61 a complete path of smb_inode_info's to each active 62 inode. The inode number is then created by the address of 63 this structure. */ 64 structsmb_inode_inforoot;
65 };
66
67 /* 68 * This is the part of the super-block (in memory) for the SMB file system. 69 */ 70
71 structsmb_sb_info{ 72 structsmb_servers_server;
73 structsmb_dskattrs_attr;
74 };
75
76 #endif/* __KERNEL__ */ 77
78 #endif