Correct PPTP server firewall rules chain.
[tomato/davidwu.git] / release / src / router / samba / source / include / client.h
blob15ba66e3e12416412529f762536254fd7e3955dc
1 /*
2 Unix SMB/Netbios implementation.
3 Version 1.9.
4 SMB parameters and setup
5 Copyright (C) Andrew Tridgell 1992-1998
6 Copyright (C) Luke Kenneth Casson Leighton 1996-1998
7 Copyright (C) Jeremy Allison 1998
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 #ifndef _CLIENT_H
25 #define _CLIENT_H
27 /* the client asks for a smaller buffer to save ram and also to get more
28 overlap on the wire. This size gives us a nice read/write size, which
29 will be a multiple of the page size on almost any system */
30 #define CLI_BUFFER_SIZE (0xFFFF)
33 * These definitions depend on smb.h
36 typedef struct file_info
38 SMB_OFF_T size;
39 uint16 mode;
40 uid_t uid;
41 gid_t gid;
42 /* these times are normally kept in GMT */
43 time_t mtime;
44 time_t atime;
45 time_t ctime;
46 pstring name;
47 } file_info;
49 struct print_job_info
51 uint16 id;
52 uint16 priority;
53 size_t size;
54 fstring user;
55 fstring name;
56 time_t t;
59 struct pwd_info
61 BOOL null_pwd;
62 BOOL cleartext;
63 BOOL crypted;
65 fstring password;
67 uchar smb_lm_pwd[16];
68 uchar smb_nt_pwd[16];
70 uchar smb_lm_owf[24];
71 uchar smb_nt_owf[24];
74 struct cli_state {
75 int port;
76 int fd;
77 uint16 cnum;
78 uint16 pid;
79 uint16 mid;
80 uint16 vuid;
81 int protocol;
82 int sec_mode;
83 int rap_error;
84 int privileges;
86 fstring eff_name;
87 fstring desthost;
88 fstring user_name;
89 fstring domain;
92 * The following strings are the
93 * ones returned by the server if
94 * the protocol > NT1.
96 fstring server_type;
97 fstring server_os;
98 fstring server_domain;
100 fstring share;
101 fstring dev;
102 struct nmb_name called;
103 struct nmb_name calling;
104 fstring full_dest_host_name;
105 struct in_addr dest_ip;
107 struct pwd_info pwd;
108 unsigned char cryptkey[8];
109 uint32 sesskey;
110 int serverzone;
111 uint32 servertime;
112 int readbraw_supported;
113 int writebraw_supported;
114 int timeout; /* in milliseconds. */
115 int max_xmit;
116 int max_mux;
117 char *outbuf;
118 char *inbuf;
119 int bufsize;
120 int initialised;
121 int win95;
122 uint32 capabilities;
125 * Only used in NT domain calls.
128 uint32 nt_error; /* NT RPC error code. */
129 uint16 nt_pipe_fnum; /* Pipe handle. */
130 unsigned char sess_key[16]; /* Current session key. */
131 unsigned char ntlmssp_hash[258]; /* ntlmssp data. */
132 uint32 ntlmssp_cli_flgs; /* ntlmssp client flags */
133 uint32 ntlmssp_srv_flgs; /* ntlmssp server flags */
134 uint32 ntlmssp_seq_num; /* ntlmssp sequence number */
135 DOM_CRED clnt_cred; /* Client credential. */
136 fstring mach_acct; /* MYNAME$. */
137 fstring srv_name_slash; /* \\remote server. */
138 fstring clnt_name_slash; /* \\local client. */
139 uint16 max_xmit_frag;
140 uint16 max_recv_frag;
142 BOOL use_oplocks; /* should we use oplocks? */
145 #endif /* _CLIENT_H */