summaryrefslogtreecommitdiff
path: root/source4/libcli/raw/interfaces.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-07-12 14:25:50 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:10:06 -0500
commita8958391e8fd9ddd996d2d3aff7ddeed3243fc1f (patch)
tree617c2420c90d475b05bb3b3894feb2914fbed393 /source4/libcli/raw/interfaces.h
parente6b29409a29bdf99c45b2c0aefecb321904f2fd3 (diff)
downloadsamba-a8958391e8fd9ddd996d2d3aff7ddeed3243fc1f.tar.gz
samba-a8958391e8fd9ddd996d2d3aff7ddeed3243fc1f.tar.bz2
samba-a8958391e8fd9ddd996d2d3aff7ddeed3243fc1f.zip
r16980: - make struct smb_notify a union and add levels RAW_NOTIFY_NTTRANS,RAW_NOTIFY_SMB2
- parse SMB2 Notify reponse metze (This used to be commit de50e0ccddfad16ad7b254770f4c52c1abe707b9)
Diffstat (limited to 'source4/libcli/raw/interfaces.h')
-rw-r--r--source4/libcli/raw/interfaces.h65
1 files changed, 51 insertions, 14 deletions
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h
index 8ebdd38bee..d3e7611c75 100644
--- a/source4/libcli/raw/interfaces.h
+++ b/source4/libcli/raw/interfaces.h
@@ -2128,23 +2128,60 @@ struct smb_nttrans {
} out;
};
+enum smb_notify_level {
+ RAW_NOTIFY_NTTRANS,
+ RAW_NOTIFY_SMB2
+};
-/* struct for nttrans change notify call */
-struct smb_notify {
+union smb_notify {
+ /* struct for nttrans change notify call */
struct {
- union smb_handle file;
- uint32_t buffer_size;
- uint32_t completion_filter;
- BOOL recursive;
- } in;
+ enum smb_notify_level level;
- struct {
- uint32_t num_changes;
- struct notify_changes {
- uint32_t action;
- struct smb_wire_string name;
- } *changes;
- } out;
+ struct {
+ union smb_handle file;
+ uint32_t buffer_size;
+ uint32_t completion_filter;
+ BOOL recursive;
+ } in;
+
+ struct {
+ uint32_t num_changes;
+ struct notify_changes {
+ uint32_t action;
+ struct smb_wire_string name;
+ } *changes;
+ } out;
+ } nttrans;
+
+ struct smb2_notify {
+ enum smb_notify_level level;
+
+ struct {
+ union smb_handle file;
+ /* static body buffer 32 (0x20) bytes */
+ /* uint16_t buffer_code; 0x32 */
+ uint16_t recursive;
+ uint32_t buffer_size;
+ /*struct smb2_handle file;*/
+ uint32_t completion_filter;
+ uint32_t unknown;
+ } in;
+
+ struct {
+ /* static body buffer 8 (0x08) bytes */
+ /* uint16_t buffer_code; 0x09 = 0x08 + 1 */
+ /* uint16_t blob_ofs; */
+ /* uint16_t blob_size; */
+
+ /* dynamic body */
+ /*DATA_BLOB blob;*/
+
+ /* DATA_BLOB content */
+ uint32_t num_changes;
+ struct notify_changes *changes;
+ } out;
+ } smb2;
};
enum smb_search_level {