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