From 78011b55064b08b0628914e5d32972e23c94b5af Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Thu, 26 Feb 2004 04:58:45 +0000 Subject: LANMAN still not working, but we're on our way --- src/nu_server.h | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'src/nu_server.h') diff --git a/src/nu_server.h b/src/nu_server.h index 4d6abaa..89fe2e9 100755 --- a/src/nu_server.h +++ b/src/nu_server.h @@ -1,8 +1,23 @@ +#ifndef _NU_SERVER_H_ +#define _NU_SERVER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; typedef int64_t QWORD; +#define SKIPSTRING( str ) ((BYTE*)(str)) + 1 + strlen( (str) ) +#define GETNWORD(addr) (*((BYTE*)(addr)) | 256 * ((BYTE*)(addr))[1] ) + #include "nu_defines.h" #define SMB_MAXREQUESTS 16 @@ -34,11 +49,41 @@ typedef struct { typedef struct { SMB_PARAMS *params; - SMB_BYTES *bytes; + SMB_BYTES *bytes; } SMB_DATA; +typedef struct { + BYTE WordCount; /* 19 + SetupCount */ + BYTE TotalParameterCount [2]; + BYTE TotalDataCount [2]; + BYTE MaxParameterCount [2]; /* For now we only support packets */ + BYTE MaxDataCount [2]; /* with TotalXXCount == MaxXXCount */ + BYTE MaxSetupCount; + BYTE Reserved; + BYTE Flags [2]; + BYTE Timeout [4]; + BYTE Reserved2 [2]; + + BYTE ParameterCount [2]; + BYTE ParameterOffset [2]; + BYTE DataCount [2]; + BYTE DataOffset [2]; + BYTE SetupCount; + BYTE Reserved3; + BYTE Setup[0]; +} SMB_PARAMS_TRANSACTION; + +typedef struct { + BYTE *params; + DWORD paramc; + BYTE *data; + DWORD datac; +} SMB_TRANSACTION_BYTES; + typedef struct { BYTE cmd; SMB_COMMAND_FLAG flags; SMB_STATUS (*handler)(SMB_HEADER *header, SMB_DATA *data); } SMB_COMMAND_HANDLER; + +#endif -- cgit v1.2.3