Ethereal-dev: [ethereal-dev] Packet decode generation
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Richard Sharpe <sharpe@xxxxxxxxxx>
Date: Mon, 12 Jul 1999 23:37:00 +0900
Hi,
just an update on this. I should be committing some changes to
packet-smb.c that adds code for open_andX SMBs.
These are quite complex ... The description below shows that, and I really
need a type capability in the definitions ...
I think I have now preserved the changes that Gilbert has made and have
adapted to them.
Anyway, here is the declaration for the open_andx SMB.
SMB open_andx {
andx; # An andx SMB
request {
UCHAR Word Count
(WCT) = 15;
UCHAR AndXCommand;
UCHAR AndXReserved;
USHORT
AndXOffset;
BITFIELD 16 Flags = {
0x01 = { "Return Additional
Info" , "Dont Return Additional Info" };
0x02 = { "Exclusive OpLock
Requested" , "Exclusive OpLock not Requested" };
0x04 = { "Batch
OpLock Requested" , "Batch OpLock not Requested" };
};
ENUMFIELD 16
Desired Access = {
0x07 = { "Open for reading" , "Open for writing"
, "Open for reading and writing" , "Open for execute" };
0x70 = {
"Compatibility mode" , "Deny read/write/execute (exclusive)" , "Deny write"
, "Deny read/execute" , "Deny none" };
0x700 = { "Locality of
reference unknown" , "Mainly sequential access" , "Mainly random access" ,
"Random access with some locality" };
0x1000 = { "Normal file
(caching permitted)" , "Do not cache this file" };
0x4000 = { "Write
through mode disabled" , "Write through mode enabled" };
};
BITFIELD 16 Search Attributes = {
0x01 = { "Not a read only file" ,
"Read only file" };
0x02 = { "Not a hidden file" , "Hidden file" };
0x04 = { "Not a system file" , "System file" };
0x08 = { "Not a
volume" , "Volume" };
0x10 = { "Not a directory" , "Directory" };
0x20 = { "Do not archive file" , "Archive file" };
};
BITFIELD 16
File Attributes = {
0x01 = { "Not a read only file" , "Read only
file" };
0x02 = { "Not a hidden file" , "Hidden file" };
0x04 =
{ "Not a system file" , "System file" };
0x08 = { "Not a volume" ,
"Volume" };
0x10 = { "Not a directory" , "Directory" };
0x20 =
{ "Do not archive file" , "Archive file" };
};
USHORT Creation Time
| fcall dissect_smb_time;
USHORT Creation Date | fcall
dissect_smb_date;
ENUMFIELD 16 Open Function = {
0x10 = { "Fail
if file does not exist" , "Create file if it does not exist" };
0x03
= { "Fail if file exists" , "Open file if it exists" , "Truncate File if it
exists" };
};
ULONG Allocated Size;
ULONG Reserved1;
ULONG
Reserved2;
USHORT Byte Count;
UCHAR Buffer Format;
STRING File
Name;
}
response {
UCHAR Word Count (WCT) = 15;
UCHAR
AndXCommand;
UCHAR AndXReserved;
USHORT AndXOffset;
USHORT
FID;
BITFIELD 16 FileAttributes = {
0x01 = { "Not a read only
file" , "Read only file" };
0x02 = { "Not a hidden file" , "Hidden
file" };
0x04 = { "Not a system file" , "System file" };
0x08 =
{ "Not a volume" , "Volume" };
0x10 = { "Not a directory" ,
"Directory" };
0x20 = { "Do not archive file" , "Archive file" };
};
USHORT Last Write Time | fcall dissect_dos_time;
USHORT Last
Write Date | fcall dissect_dos_date;
ULONG Data Size;
USHORT
Granted Access;
ENUMFIELD 16 File Type = {
0xFFFF = { "Disk file
or directory" , "Named pipe in byte mode" , "Named pipe in message mode" ,
"Spooled printer" };
};
USHORT Device State;
ENUMFIELD 16
Action = {
0x8000 = { "File opened by another user (or mode not
supported by server)" , "File is opened only by this user at present" };
0x0003 = { "No action taken?" , "The file existed and was opened" , "The
file did not exist but was created" , "The file existed and was truncated"
};
};
ULONG Server FID;
USHORT Reserved;
USHORT Byte
Count;
}
}
Regards
-------
Richard Sharpe, sharpe@xxxxxxxxxx, NS Computer Software and Services P/L,
Samba (Team member www.samba.org), Ethereal (Team member www.zing.org)
Co-author, SAMS Teach Yourself Samba in 24 Hours
- Prev by Date: Re: [ethereal-dev] Re: ntop and libpcap on w32
- Next by Date: Re: [ethereal-dev] Re: ntop and libpcap on w32
- Previous by thread: Re: [ethereal-dev] tcpdump file != ethereal file ?
- Next by thread: [ethereal-dev] Mirroring www.zing.org?
- Index(es):





