From 8daa83a594a2e98f39d764422bfbdbc62c9efd44 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 19:20:00 +0200 Subject: Adding upstream version 2:4.20.0+dfsg. Signed-off-by: Daniel Baumann --- source3/include/client.h | 131 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 source3/include/client.h (limited to 'source3/include/client.h') diff --git a/source3/include/client.h b/source3/include/client.h new file mode 100644 index 0000000..e1a394a --- /dev/null +++ b/source3/include/client.h @@ -0,0 +1,131 @@ +/* + Unix SMB/CIFS implementation. + SMB parameters and setup + Copyright (C) Andrew Tridgell 1992-1998 + Copyright (C) Luke Kenneth Casson Leighton 1996-1998 + Copyright (C) Jeremy Allison 1998 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef _CLIENT_H +#define _CLIENT_H + +#define CLI_BUFFER_SIZE SMB_BUFFER_SIZE_MAX + +/* default client timeout to 20 seconds on most commands */ +#define CLIENT_TIMEOUT (20 * 1000) + +/* + * These definitions depend on smb.h + */ + +struct print_job_info { + uint16_t id; + uint16_t priority; + size_t size; + fstring user; + fstring name; + time_t t; +}; + +struct smbXcli_conn; +struct smbXcli_session; + +struct cli_state { + /** + * A list of subsidiary connections for DFS. + */ + struct cli_state *prev, *next; + int rap_error; + NTSTATUS raw_status; /* maybe via NT_STATUS_DOS() */ + bool map_dos_errors; + + /* + * The following strings are the + * ones returned by the server if + * the protocol > NT1. + */ + char *server_type; + char *server_os; + char *server_domain; + + char *share; + char *dev; + + int timeout; /* in milliseconds. */ + int initialised; + int win95; + /* What the server offered. */ + uint32_t server_posix_capabilities; + /* What the client requested. */ + uint32_t requested_posix_capabilities; + bool backup_intent; + + /* The list of pipes currently open on this connection. */ + struct rpc_pipe_client *pipe_list; + + bool use_oplocks; /* should we use oplocks? */ + + struct smbXcli_conn *conn; + + struct { + uint32_t pid; + uint16_t vc_num; + struct smbXcli_session *session; + struct smbXcli_tcon *tcon; + } smb1; + + struct { + struct smbXcli_session *session; + struct smbXcli_tcon *tcon; + struct idr_context *open_handles; + bool client_smb311_posix; + } smb2; +}; + +struct file_info { + uint64_t size; + uint64_t allocated_size; + uint32_t attr; + uid_t uid; + gid_t gid; + uint64_t ino; + /* these times are normally kept in GMT */ + struct timespec btime_ts; /* Birth-time if supported by system */ + struct timespec mtime_ts; + struct timespec atime_ts; + struct timespec ctime_ts; + char *name; + char *short_name; + uint32_t reparse_tag; + dev_t st_ex_dev; + mode_t st_ex_mode; + nlink_t st_ex_nlink; + struct dom_sid owner_sid; + struct dom_sid group_sid; +}; + +#define CLI_FULL_CONNECTION_DONT_SPNEGO 0x0001 +#define CLI_FULL_CONNECTION_ANONYMOUS_FALLBACK 0x0004 +#define CLI_FULL_CONNECTION_OPLOCKS 0x0010 +#define CLI_FULL_CONNECTION_LEVEL_II_OPLOCKS 0x0020 +#define CLI_FULL_CONNECTION_FORCE_DOS_ERRORS 0x0080 +#define CLI_FULL_CONNECTION_FORCE_ASCII 0x0100 +#define CLI_FULL_CONNECTION_FORCE_SMB1 0x0400 +#define CLI_FULL_CONNECTION_DISABLE_SMB1 0x0800 +#define CLI_FULL_CONNECTION_IPC 0x1000 +#define CLI_FULL_CONNECTION_REQUEST_POSIX 0x2000 + +#endif /* _CLIENT_H */ -- cgit v1.2.3