46 #define SMB_PORTS "445 139"
55 #define smb_pidhigh 16
56 #define smb_ss_field 18
84 size_t (*
direct)(
void *cd,
const char **inbuf,
size_t *inbytesleft,
85 char **outbuf,
size_t *outbytesleft);
86 size_t (*
pull)(
void *cd,
const char **inbuf,
size_t *inbytesleft,
87 char **outbuf,
size_t *outbytesleft);
88 size_t (*
push)(
void *cd,
const char **inbuf,
size_t *inbytesleft,
89 char **outbuf,
size_t *outbytesleft);
95 #define STR_TERMINATE 1
99 #define STR_NOALIGN 16
100 #define STR_TERMINATE_ASCII 128
103 #define NEGOTIATE_SECURITY_USER_LEVEL 0x01
104 #define NEGOTIATE_SECURITY_CHALLENGE_RESPONSE 0x02
105 #define NEGOTIATE_SECURITY_SIGNATURES_ENABLED 0x04
106 #define NEGOTIATE_SECURITY_SIGNATURES_REQUIRED 0x08
110 #define FLAGS2_LONG_PATH_COMPONENTS 0x0001
111 #define FLAGS2_EXTENDED_ATTRIBUTES 0x0002
112 #define FLAGS2_SMB_SECURITY_SIGNATURES 0x0004
113 #define FLAGS2_UNKNOWN_BIT4 0x0010
114 #define FLAGS2_IS_LONG_NAME 0x0040
115 #define FLAGS2_EXTENDED_SECURITY 0x0800
116 #define FLAGS2_DFS_PATHNAMES 0x1000
117 #define FLAGS2_READ_PERMIT_EXECUTE 0x2000
118 #define FLAGS2_32_BIT_ERROR_CODES 0x4000
119 #define FLAGS2_UNICODE_STRINGS 0x8000
121 #define FLAGS2_WIN2K_SIGNATURE 0xC852
124 #define TCONX_FLAG_EXTENDED_RESPONSE 0x8
128 #define CAP_RAW_MODE 0x0001
129 #define CAP_MPX_MODE 0x0002
130 #define CAP_UNICODE 0x0004
131 #define CAP_LARGE_FILES 0x0008
132 #define CAP_NT_SMBS 0x0010
133 #define CAP_RPC_REMOTE_APIS 0x0020
134 #define CAP_STATUS32 0x0040
135 #define CAP_LEVEL_II_OPLOCKS 0x0080
136 #define CAP_LOCK_AND_READ 0x0100
137 #define CAP_NT_FIND 0x0200
138 #define CAP_DFS 0x1000
139 #define CAP_W2K_SMBS 0x2000
140 #define CAP_LARGE_READX 0x4000
141 #define CAP_LARGE_WRITEX 0x8000
142 #define CAP_UNIX 0x800000
143 #define CAP_EXTENDED_SECURITY 0x80000000
149 #ifdef WORDS_BIGENDIAN
156 #define UCS2_CHAR(c) ((c) << UCS2_SHIFT)
159 #define UCS2_TO_CHAR(c) (((c) >> UCS2_SHIFT) & 0xff)
162 #define COPY_UCS2_CHAR(dest,src) (((unsigned char *)(dest))[0] = ((unsigned char *)(src))[0],\
163 ((unsigned char *)(dest))[1] = ((unsigned char *)(src))[1], (dest))
169 #define SAFE_FREE(x) do { if ((x) != NULL) {free(x); x=NULL;} } while(0)
171 #define SMB_MALLOC_P(type) (type *)malloc(sizeof(type))
173 #define SMB_REALLOC(p,s) Realloc((p),(s),True)
175 #define SMB_MALLOC(s) malloc(s)
178 #define SMB_STRDUP(s) strdup(s)
179 #define SMB_STRNDUP(s,n) strndup(s,n)
181 #define smb_len(buf) (PVAL(buf,3)|(PVAL(buf,2)<<8)|((PVAL(buf,1)&1)<<16))
184 #define MIN(a,b) ((a)<(b)?(a):(b))
struct _smb_iconv_t * smb_iconv_t
void * cd_pull
Definition: smb.h:90
uint64_t NTTIME
Definition: smb.h:166
char * to_name
Definition: smb.h:91
size_t(* pull)(void *cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
Definition: smb.h:86
size_t(* direct)(void *cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
Definition: smb.h:84
size_t(* push)(void *cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
Definition: smb.h:88
void * cd_direct
Definition: smb.h:90
protocol_types
Definition: smb.h:147
void * cd_push
Definition: smb.h:90
char * from_name
Definition: smb.h:91