blob: 863062022def236e4ae057c000475829385bea2d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
/*
* smb_fs_sb.h
*
* Copyright (C) 1995 by Paal-Kr. Engstad and Volker Lendecke
*
*/
#ifndef _SMB_FS_SB
#define _SMB_FS_SB
#include <linux/smb.h>
#include <linux/smb_fs_i.h>
#include <linux/smb_mount.h>
#include <linux/types.h>
#ifdef __KERNEL__
struct smb_server {
enum smb_protocol protocol; /* The protocol this
connection accepts. */
enum smb_case_hndl case_handling;
struct file * sock_file; /* The socket we transfer
data on. */
int lock; /* To prevent mismatch in
protocols. */
struct wait_queue *wait;
__u32 max_xmit;
char hostname[256];
word pid;
word server_uid;
word mid;
word tid;
struct smb_mount_data m; /* We store the complete information here
* to be able to reconnect.
*/
unsigned short rcls; /* The error codes we received */
unsigned short err;
__u32 packet_size;
unsigned char * packet;
enum smb_conn_state state;
unsigned long reconnect_time; /* The time of the last attempt */
/* The following are LANMAN 1.0 options transferred to us in
SMBnegprot */
word secmode;
word maxmux;
word maxvcs;
word blkmode;
dword sesskey;
/* We use our on data_ready callback, but need the original one */
void *data_ready;
/* We do not have unique numbers for files in the smb protocol
like NFS-filehandles. (SMB was designed for DOS, not for
UNIX!) So we have to create our own inode numbers. We keep
a complete path of smb_inode_info's to each active
inode. The inode number is then created by the address of
this structure. */
struct smb_inode_info root;
};
/*
* This is the part of the super-block (in memory) for the SMB file system.
*/
struct smb_sb_info {
struct smb_server s_server;
struct smb_dskattr s_attr;
};
#endif /* __KERNEL__ */
#endif
|