1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-28 11:42:03 +03:00

r14205: move smb specific stuff out of includes.h (finally!!!:-)

all this changes really help ccache to speed up the samba4 build:-)

metze
(This used to be commit 180a79d103)
This commit is contained in:
Stefan Metzmacher
2006-03-11 10:25:59 +00:00
committed by Gerald (Jerry) Carter
parent bc4156e6e2
commit 32b0bb64bc
15 changed files with 63 additions and 51 deletions

View File

@ -58,4 +58,20 @@ struct ipv4_addr {
typedef NTSTATUS (*init_module_fn) (void); typedef NTSTATUS (*init_module_fn) (void);
/*
use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really
just a dom sid, but with the sub_auths represented as a conformant
array. As with all in-structure conformant arrays, the array length
is placed before the start of the structure. That's what gives rise
to the extra num_auths elemenent. We don't want the Samba code to
have to bother with such esoteric NDR details, so its easier to just
define it as a dom_sid and use pidl magic to make it all work. It
just means you need to mark a sid as a "dom_sid2" in the IDL when you
know it is of the conformant array variety
*/
#define dom_sid2 dom_sid
/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */
#define dom_sid28 dom_sid
#endif /* _SAMBA_CORE_H */ #endif /* _SAMBA_CORE_H */

View File

@ -119,8 +119,6 @@ enum brl_type {
#include "librpc/ndr/ndr_orpc.h" #include "librpc/ndr/ndr_orpc.h"
#include "librpc/gen_ndr/orpc.h" #include "librpc/gen_ndr/orpc.h"
#include "librpc/rpc/dcerpc.h" #include "librpc/rpc/dcerpc.h"
#include "libcli/raw/trans2.h"
#include "libcli/raw/interfaces.h"
#include "auth/credentials/credentials.h" #include "auth/credentials/credentials.h"
#include "libcli/nbt/libnbt.h" #include "libcli/nbt/libnbt.h"
#include "libcli/util/proto.h" #include "libcli/util/proto.h"

View File

@ -579,4 +579,7 @@
#define _smb2_setlen(buf,len) do {(buf)[0] = 0; (buf)[1] = ((len)&0xFF0000)>>16; \ #define _smb2_setlen(buf,len) do {(buf)[0] = 0; (buf)[1] = ((len)&0xFF0000)>>16; \
(buf)[2] = ((len)&0xFF00)>>8; (buf)[3] = (len)&0xFF;} while (0) (buf)[2] = ((len)&0xFF00)>>8; (buf)[3] = (len)&0xFF;} while (0)
#include "libcli/raw/trans2.h"
#include "libcli/raw/interfaces.h"
#endif /* _SMB_H */ #endif /* _SMB_H */

View File

@ -159,3 +159,7 @@ struct smbcli_session;
struct smbcli_state; struct smbcli_state;
struct model_ops; struct model_ops;
struct smb_wire_string;
union smb_fileinfo;

View File

@ -34,27 +34,10 @@
is always determined by NULL or packet termination a normal char* is always determined by NULL or packet termination a normal char*
is used in the structure definition. is used in the structure definition.
*/ */
typedef struct { struct smb_wire_string {
uint32_t private_length; uint32_t private_length;
const char *s; const char *s;
} WIRE_STRING; };
/*
use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really
just a dom sid, but with the sub_auths represented as a conformant
array. As with all in-structure conformant arrays, the array length
is placed before the start of the structure. That's what gives rise
to the extra num_auths elemenent. We don't want the Samba code to
have to bother with such esoteric NDR details, so its easier to just
define it as a dom_sid and use pidl magic to make it all work. It
just means you need to mark a sid as a "dom_sid2" in the IDL when you
know it is of the conformant array variety
*/
#define dom_sid2 dom_sid
/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */
#define dom_sid28 dom_sid
/* /*
a generic container for file handles a generic container for file handles
@ -368,7 +351,7 @@ union smb_fileinfo {
uint_t num_eas; uint_t num_eas;
struct ea_struct { struct ea_struct {
uint8_t flags; uint8_t flags;
WIRE_STRING name; struct smb_wire_string name;
DATA_BLOB value; DATA_BLOB value;
} *eas; } *eas;
NTTIME create_time; NTTIME create_time;
@ -378,8 +361,8 @@ union smb_fileinfo {
uint64_t alloc_size; uint64_t alloc_size;
uint64_t size; uint64_t size;
uint32_t nlink; uint32_t nlink;
WIRE_STRING fname; struct smb_wire_string fname;
WIRE_STRING alt_fname; struct smb_wire_string alt_fname;
uint8_t delete_pending; uint8_t delete_pending;
uint8_t directory; uint8_t directory;
uint64_t compressed_size; uint64_t compressed_size;
@ -397,7 +380,7 @@ union smb_fileinfo {
struct stream_struct { struct stream_struct {
uint64_t size; uint64_t size;
uint64_t alloc_size; uint64_t alloc_size;
WIRE_STRING stream_name; struct smb_wire_string stream_name;
} *streams; } *streams;
} out; } out;
} generic; } generic;
@ -455,7 +438,7 @@ union smb_fileinfo {
struct { struct {
uint_t num_names; uint_t num_names;
struct ea_name { struct ea_name {
WIRE_STRING name; struct smb_wire_string name;
} *ea_names; } *ea_names;
} in; } in;
@ -528,7 +511,7 @@ union smb_fileinfo {
union smb_file file; union smb_file file;
struct { struct {
WIRE_STRING fname; struct smb_wire_string fname;
} out; } out;
} name_info; } name_info;
@ -549,7 +532,7 @@ union smb_fileinfo {
uint8_t delete_pending; uint8_t delete_pending;
uint8_t directory; uint8_t directory;
uint32_t ea_size; uint32_t ea_size;
WIRE_STRING fname; struct smb_wire_string fname;
} out; } out;
} all_info; } all_info;
@ -576,7 +559,7 @@ union smb_fileinfo {
uint32_t access_mask; uint32_t access_mask;
uint64_t position; uint64_t position;
uint64_t mode; uint64_t mode;
WIRE_STRING fname; struct smb_wire_string fname;
} out; } out;
} all_info2; } all_info2;
@ -586,7 +569,7 @@ union smb_fileinfo {
union smb_file file; union smb_file file;
struct { struct {
WIRE_STRING fname; struct smb_wire_string fname;
} out; } out;
} alt_name_info; } alt_name_info;
@ -643,7 +626,7 @@ union smb_fileinfo {
union smb_file file; union smb_file file;
struct { struct {
WIRE_STRING link_dest; struct smb_wire_string link_dest;
} out; } out;
} unix_link_info; } unix_link_info;
@ -1009,7 +992,7 @@ union smb_fsinfo {
struct { struct {
uint32_t serial_number; uint32_t serial_number;
WIRE_STRING volume_name; struct smb_wire_string volume_name;
} out; } out;
} volume; } volume;
@ -1021,7 +1004,7 @@ union smb_fsinfo {
struct { struct {
NTTIME create_time; NTTIME create_time;
uint32_t serial_number; uint32_t serial_number;
WIRE_STRING volume_name; struct smb_wire_string volume_name;
} out; } out;
} volume_info; } volume_info;
@ -1058,7 +1041,7 @@ union smb_fsinfo {
struct { struct {
uint32_t fs_attr; uint32_t fs_attr;
uint32_t max_file_component_length; uint32_t max_file_component_length;
WIRE_STRING fs_type; struct smb_wire_string fs_type;
} out; } out;
} attribute_info; } attribute_info;
@ -1741,7 +1724,7 @@ union smb_notify {
uint32_t num_changes; uint32_t num_changes;
struct notify_changes { struct notify_changes {
uint32_t action; uint32_t action;
WIRE_STRING name; struct smb_wire_string name;
} *changes; } *changes;
} out; } out;
} notify; } notify;
@ -1876,7 +1859,7 @@ union smb_search_data {
uint32_t size; uint32_t size;
uint32_t alloc_size; uint32_t alloc_size;
uint16_t attrib; uint16_t attrib;
WIRE_STRING name; struct smb_wire_string name;
} standard; } standard;
/* trans2 findfirst RAW_SEARCH_EA_SIZE level */ /* trans2 findfirst RAW_SEARCH_EA_SIZE level */
@ -1889,7 +1872,7 @@ union smb_search_data {
uint32_t alloc_size; uint32_t alloc_size;
uint16_t attrib; uint16_t attrib;
uint32_t ea_size; uint32_t ea_size;
WIRE_STRING name; struct smb_wire_string name;
} ea_size; } ea_size;
/* trans2 findfirst RAW_SEARCH_EA_LIST level */ /* trans2 findfirst RAW_SEARCH_EA_LIST level */
@ -1902,7 +1885,7 @@ union smb_search_data {
uint32_t alloc_size; uint32_t alloc_size;
uint16_t attrib; uint16_t attrib;
struct smb_ea_list eas; struct smb_ea_list eas;
WIRE_STRING name; struct smb_wire_string name;
} ea_list; } ea_list;
/* RAW_SEARCH_DIRECTORY_INFO interface */ /* RAW_SEARCH_DIRECTORY_INFO interface */
@ -1915,7 +1898,7 @@ union smb_search_data {
uint64_t size; uint64_t size;
uint64_t alloc_size; uint64_t alloc_size;
uint32_t attrib; uint32_t attrib;
WIRE_STRING name; struct smb_wire_string name;
} directory_info; } directory_info;
/* RAW_SEARCH_FULL_DIRECTORY_INFO interface */ /* RAW_SEARCH_FULL_DIRECTORY_INFO interface */
@ -1929,13 +1912,13 @@ union smb_search_data {
uint64_t alloc_size; uint64_t alloc_size;
uint32_t attrib; uint32_t attrib;
uint32_t ea_size; uint32_t ea_size;
WIRE_STRING name; struct smb_wire_string name;
} full_directory_info; } full_directory_info;
/* RAW_SEARCH_NAME_INFO interface */ /* RAW_SEARCH_NAME_INFO interface */
struct { struct {
uint32_t file_index; uint32_t file_index;
WIRE_STRING name; struct smb_wire_string name;
} name_info; } name_info;
/* RAW_SEARCH_BOTH_DIRECTORY_INFO interface */ /* RAW_SEARCH_BOTH_DIRECTORY_INFO interface */
@ -1949,8 +1932,8 @@ union smb_search_data {
uint64_t alloc_size; uint64_t alloc_size;
uint32_t attrib; uint32_t attrib;
uint32_t ea_size; uint32_t ea_size;
WIRE_STRING short_name; struct smb_wire_string short_name;
WIRE_STRING name; struct smb_wire_string name;
} both_directory_info; } both_directory_info;
/* RAW_SEARCH_ID_FULL_DIRECTORY_INFO interface */ /* RAW_SEARCH_ID_FULL_DIRECTORY_INFO interface */
@ -1965,7 +1948,7 @@ union smb_search_data {
uint32_t attrib; uint32_t attrib;
uint32_t ea_size; uint32_t ea_size;
uint64_t file_id; uint64_t file_id;
WIRE_STRING name; struct smb_wire_string name;
} id_full_directory_info; } id_full_directory_info;
/* RAW_SEARCH_ID_BOTH_DIRECTORY_INFO interface */ /* RAW_SEARCH_ID_BOTH_DIRECTORY_INFO interface */
@ -1980,8 +1963,8 @@ union smb_search_data {
uint32_t attrib; uint32_t attrib;
uint32_t ea_size; uint32_t ea_size;
uint64_t file_id; uint64_t file_id;
WIRE_STRING short_name; struct smb_wire_string short_name;
WIRE_STRING name; struct smb_wire_string name;
} id_both_directory_info; } id_both_directory_info;
/* RAW_SEARCH_UNIX_INFO interface */ /* RAW_SEARCH_UNIX_INFO interface */

View File

@ -19,6 +19,7 @@
*/ */
#include "includes.h" #include "includes.h"
#include "smb.h"
/* /*
work out how many bytes on the wire a ea list will consume. work out how many bytes on the wire a ea list will consume.

View File

@ -19,6 +19,7 @@
*/ */
#include "includes.h" #include "includes.h"
#include "smb.h"
/**************************************************************************** /****************************************************************************
lpq - async send lpq - async send

View File

@ -827,7 +827,7 @@ static size_t smbcli_blob_pull_ascii(TALLOC_CTX *mem_ctx,
} }
/* /*
pull a string from a blob, returning a talloced WIRE_STRING pull a string from a blob, returning a talloced struct smb_wire_string
the string length is limited by the 3 things: the string length is limited by the 3 things:
- the data size in the blob - the data size in the blob
@ -843,7 +843,7 @@ static size_t smbcli_blob_pull_ascii(TALLOC_CTX *mem_ctx,
size_t smbcli_blob_pull_string(struct smbcli_session *session, size_t smbcli_blob_pull_string(struct smbcli_session *session,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DATA_BLOB *blob, const DATA_BLOB *blob,
WIRE_STRING *dest, struct smb_wire_string *dest,
uint16_t len_offset, uint16_t str_offset, uint16_t len_offset, uint16_t str_offset,
uint_t flags) uint_t flags)
{ {

View File

@ -22,6 +22,7 @@
*/ */
#include "includes.h" #include "includes.h"
#include "smb.h"
#include "libcli/composite/composite.h" #include "libcli/composite/composite.h"
#include "libcli/smb_composite/smb_composite.h" #include "libcli/smb_composite/smb_composite.h"

View File

@ -25,6 +25,7 @@
#include "includes.h" #include "includes.h"
#include "smb.h"
#include "libcli/composite/composite.h" #include "libcli/composite/composite.h"
#include "libcli/smb_composite/smb_composite.h" #include "libcli/smb_composite/smb_composite.h"
#include "libcli/smb2/smb2.h" #include "libcli/smb2/smb2.h"

View File

@ -20,6 +20,7 @@
*/ */
#include "includes.h" #include "includes.h"
#include "smb.h"
#include "libcli/rap/rap.h" #include "libcli/rap/rap.h"
#include "ntvfs/ipc/proto.h" #include "ntvfs/ipc/proto.h"

View File

@ -123,7 +123,7 @@ static size_t trans2_push_data_string(struct smbsrv_request *req,
struct smb_trans2 *trans, struct smb_trans2 *trans,
uint32_t len_offset, uint32_t len_offset,
uint32_t offset, uint32_t offset,
const WIRE_STRING *str, const struct smb_wire_string *str,
int dest_len, int dest_len,
int flags) int flags)
{ {
@ -190,7 +190,7 @@ static size_t trans2_push_data_string(struct smbsrv_request *req,
*/ */
static void trans2_append_data_string(struct smbsrv_request *req, static void trans2_append_data_string(struct smbsrv_request *req,
struct smb_trans2 *trans, struct smb_trans2 *trans,
const WIRE_STRING *str, const struct smb_wire_string *str,
uint_t len_offset, uint_t len_offset,
int flags) int flags)
{ {

View File

@ -32,6 +32,7 @@
#include "build.h" #include "build.h"
#include "ldb/include/ldb.h" #include "ldb/include/ldb.h"
#include "registry/registry.h" #include "registry/registry.h"
#include "smb.h"
#include "ntvfs/ntvfs.h" #include "ntvfs/ntvfs.h"
#include "ntptr/ntptr.h" #include "ntptr/ntptr.h"
#include "auth/gensec/gensec.h" #include "auth/gensec/gensec.h"

View File

@ -19,6 +19,7 @@
*/ */
#include "includes.h" #include "includes.h"
#include "smb.h"
#include "libcli/raw/libcliraw.h" #include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h" #include "libcli/libcli.h"
#include "system/shmem.h" #include "system/shmem.h"
@ -274,7 +275,7 @@ void *shm_setup(int size)
check that a wire string matches the flags specified check that a wire string matches the flags specified
not 100% accurate, but close enough for testing not 100% accurate, but close enough for testing
*/ */
BOOL wire_bad_flags(WIRE_STRING *str, int flags, struct smbcli_state *cli) BOOL wire_bad_flags(struct smb_wire_string *str, int flags, struct smbcli_state *cli)
{ {
BOOL server_unicode; BOOL server_unicode;
int len; int len;

View File

@ -21,6 +21,7 @@
*/ */
#include "includes.h" #include "includes.h"
#include "smb.h"
#include "libcli/composite/composite.h" #include "libcli/composite/composite.h"
#include "libcli/smb_composite/smb_composite.h" #include "libcli/smb_composite/smb_composite.h"
#include "winbind/wb_server.h" #include "winbind/wb_server.h"