preparing for release of alpha.0.8
[Samba.git] / source / include / client.h
blob88e882f9429639e594a8bd90dd0101694f9d7c76
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 (0x4400)
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;
48 file_info;
50 struct print_job_info
52 uint16 id;
53 uint16 priority;
54 size_t size;
55 fstring user;
56 fstring name;
57 time_t t;
60 struct cli_state
62 int port;
63 int fd;
64 uint16 cnum;
65 uint16 pid;
66 uint16 mid;
67 uint16 vuid;
68 int protocol;
69 int sec_mode;
70 int rap_error;
71 int privileges;
73 struct ntuser_creds usr;
74 BOOL retry;
76 fstring eff_name;
77 fstring desthost;
80 * The following strings are the
81 * ones returned by the server if
82 * the protocol > NT1.
84 fstring server_type;
85 fstring server_os;
86 fstring server_domain;
88 fstring share;
89 fstring dev;
90 struct nmb_name called;
91 struct nmb_name calling;
92 struct in_addr dest_ip;
94 unsigned char cryptkey[8];
95 unsigned char lm_cli_chal[8];
96 unsigned char nt_cli_chal[128];
97 size_t nt_cli_chal_len;
99 BOOL use_ntlmv2;
100 BOOL redirect;
101 BOOL reuse;
103 uint32 sesskey;
104 int serverzone;
105 uint32 servertime;
106 int readbraw_supported;
107 int writebraw_supported;
108 int timeout;
109 int max_xmit;
110 int max_mux;
111 char *outbuf;
112 char *inbuf;
113 int bufsize;
114 int initialised;
115 int win95;
116 uint32 capabilities;
118 struct ntdom_info nt;
120 uint32 nt_error; /* NT RPC error code. */
123 struct cli_connection;
125 #endif /* _CLIENT_H */