X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/c672f002763b3a4fc30ca229e57f50d3b2e6d766..refs/heads/master:/smb.h diff --git a/smb.h b/smb.h index 446fb738..40bba500 100644 --- a/smb.h +++ b/smb.h @@ -1,5 +1,4 @@ -/* @(#) $Header: /tcpdump/master/tcpdump/smb.h,v 1.6 2001-09-17 21:58:05 fenner Exp $ (LBL) */ -/* +/* * Copyright (C) Andrew Tridgell 1995-1999 * * This software may be distributed either under the terms of the @@ -7,33 +6,8 @@ * or later */ -#define CVAL(buf,pos) (((unsigned char *)(buf))[pos]) -#define PVAL(buf,pos) ((unsigned)CVAL(buf,pos)) -#define SCVAL(buf,pos,val) (CVAL(buf,pos) = (val)) - -#define SVAL(buf,pos) (PVAL(buf,pos)|PVAL(buf,(pos)+1)<<8) -#define IVAL(buf,pos) (SVAL(buf,pos)|SVAL(buf,(pos)+2)<<16) -#define SSVALX(buf,pos,val) (CVAL(buf,pos)=(val)&0xFF,CVAL(buf,pos+1)=(val)>>8) -#define SIVALX(buf,pos,val) (SSVALX(buf,pos,val&0xFFFF),SSVALX(buf,pos+2,val>>16)) -#define SVALS(buf,pos) ((int16_t)SVAL(buf,pos)) -#define IVALS(buf,pos) ((int32_t)IVAL(buf,pos)) -#define SSVAL(buf,pos,val) SSVALX((buf),(pos),((u_int16_t)(val))) -#define SIVAL(buf,pos,val) SIVALX((buf),(pos),((u_int32_t)(val))) -#define SSVALS(buf,pos,val) SSVALX((buf),(pos),((int16_t)(val))) -#define SIVALS(buf,pos,val) SIVALX((buf),(pos),((int32_t)(val))) - -/* now the reverse routines - these are used in nmb packets (mostly) */ -#define SREV(x) ((((x)&0xFF)<<8) | (((x)>>8)&0xFF)) -#define IREV(x) ((SREV(x)<<16) | (SREV((x)>>16))) - -#define RSVAL(buf,pos) SREV(SVAL(buf,pos)) -#define RIVAL(buf,pos) IREV(IVAL(buf,pos)) -#define RSSVAL(buf,pos,val) SSVAL(buf,pos,SREV(val)) -#define RSIVAL(buf,pos,val) SIVAL(buf,pos,IREV(val)) - -#ifndef MIN -#define MIN(a,b) ((a)<(b)?(a):(b)) -#endif +/* for netdissect_options */ +#include "netdissect.h" /* the complete */ #define SMBmkdir 0x00 /* create directory */ @@ -142,7 +116,9 @@ #define TRANSACT2_FINDNOTIFYNEXT 12 #define TRANSACT2_MKDIR 13 -#define PTR_DIFF(p1, p2) ((size_t)(((char *)(p1)) - (char *)(p2))) - /* some protos */ -const u_char *smb_fdata(const u_char *, const char *, const u_char *); +void smb_reset(void); +const u_char *smb_fdata(netdissect_options *, const u_char *, const char *, const u_char *, int); +extern void smb_data_print(netdissect_options *, const u_char *, u_int); +extern const char *smb_errstr(int, int); +extern const char *nt_errstr(uint32_t);