OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [LINUX_2_4_26_OR32/] [linux/] [linux-2.4/] [include/] [linux/] [smb.h] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 *  smb.h
3
 *
4
 *  Copyright (C) 1995, 1996 by Paal-Kr. Engstad and Volker Lendecke
5
 *  Copyright (C) 1997 by Volker Lendecke
6
 *
7
 */
8
 
9
#ifndef _LINUX_SMB_H
10
#define _LINUX_SMB_H
11
 
12
#include <linux/types.h>
13
 
14
enum smb_protocol {
15
        SMB_PROTOCOL_NONE,
16
        SMB_PROTOCOL_CORE,
17
        SMB_PROTOCOL_COREPLUS,
18
        SMB_PROTOCOL_LANMAN1,
19
        SMB_PROTOCOL_LANMAN2,
20
        SMB_PROTOCOL_NT1
21
};
22
 
23
enum smb_case_hndl {
24
        SMB_CASE_DEFAULT,
25
        SMB_CASE_LOWER,
26
        SMB_CASE_UPPER
27
};
28
 
29
struct smb_dskattr {
30
        __u16 total;
31
        __u16 allocblocks;
32
        __u16 blocksize;
33
        __u16 free;
34
};
35
 
36
struct smb_conn_opt {
37
 
38
        /* The socket */
39
        unsigned int fd;
40
 
41
        enum smb_protocol protocol;
42
        enum smb_case_hndl case_handling;
43
 
44
        /* Connection-Options */
45
 
46
        __u32              max_xmit;
47
        __u16              server_uid;
48
        __u16              tid;
49
 
50
        /* The following are LANMAN 1.0 options */
51
        __u16              secmode;
52
        __u16              maxmux;
53
        __u16              maxvcs;
54
        __u16              rawmode;
55
        __u32              sesskey;
56
 
57
        /* The following are NT LM 0.12 options */
58
        __u32              maxraw;
59
        __u32              capabilities;
60
        __s16              serverzone;
61
};
62
 
63
#ifdef __KERNEL__
64
 
65
#define SMB_NLS_MAXNAMELEN 20
66
struct smb_nls_codepage {
67
        char local_name[SMB_NLS_MAXNAMELEN];
68
        char remote_name[SMB_NLS_MAXNAMELEN];
69
};
70
 
71
 
72
#define SMB_MAXNAMELEN 255
73
#define SMB_MAXPATHLEN 1024
74
 
75
/*
76
 * Contains all relevant data on a SMB networked file.
77
 */
78
struct smb_fattr {
79
 
80
        __u16 attr;
81
 
82
        unsigned long   f_ino;
83
        umode_t         f_mode;
84
        nlink_t         f_nlink;
85
        uid_t           f_uid;
86
        gid_t           f_gid;
87
        kdev_t          f_rdev;
88
        loff_t          f_size;
89
        time_t          f_atime;
90
        time_t          f_mtime;
91
        time_t          f_ctime;
92
        unsigned long   f_blksize;
93
        unsigned long   f_blocks;
94
        int             f_unix;
95
};
96
 
97
enum smb_conn_state {
98
        CONN_VALID,             /* everything's fine */
99
        CONN_INVALID,           /* Something went wrong, but did not
100
                                   try to reconnect yet. */
101
        CONN_RETRIED,           /* Tried a reconnection, but was refused */
102
        CONN_RETRYING           /* Currently trying to reconnect */
103
};
104
 
105
#define SMB_SUPER_MAGIC               0x517B
106
 
107
#define SMB_HEADER_LEN   37     /* includes everything up to, but not
108
                                 * including smb_bcc */
109
 
110
#define SMB_INITIAL_PACKET_SIZE         4000
111
#define SMB_MAX_PACKET_SIZE             32768
112
 
113
/* reserve this much space for trans2 parameters. Shouldn't have to be more
114
   than 10 or so, but OS/2 seems happier like this. */
115
#define SMB_TRANS2_MAX_PARAM 64
116
 
117
#endif
118
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.