summaryrefslogtreecommitdiff
path: root/source4/libcli/smb2
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-11-12 08:39:36 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:46:15 -0500
commit72565088bcb044bb790e25a0ea55f77cfa9fd9aa (patch)
treec1ca087602331c17f0b56155d59a875112604890 /source4/libcli/smb2
parente465cad75936af15a1e6020e34a7a2db162d76ca (diff)
downloadsamba-72565088bcb044bb790e25a0ea55f77cfa9fd9aa.tar.gz
samba-72565088bcb044bb790e25a0ea55f77cfa9fd9aa.tar.bz2
samba-72565088bcb044bb790e25a0ea55f77cfa9fd9aa.zip
r11700: added structure definitions for many of the getinfo structures
(This used to be commit 2919d4228636f1d61d930a37cddd5b1700bf2233)
Diffstat (limited to 'source4/libcli/smb2')
-rw-r--r--source4/libcli/smb2/smb2_calls.h101
1 files changed, 100 insertions, 1 deletions
diff --git a/source4/libcli/smb2/smb2_calls.h b/source4/libcli/smb2/smb2_calls.h
index df2aff75e6..22cdcef14f 100644
--- a/source4/libcli/smb2/smb2_calls.h
+++ b/source4/libcli/smb2/smb2_calls.h
@@ -178,7 +178,7 @@ struct smb2_close {
#define SMB2_GETINFO_FILE_10 0x1001
#define SMB2_GETINFO_FILE_11 0x1101
#define SMB2_GETINFO_FILE_ALL_INFO 0x1201
-#define SMB2_GETINFO_FILE_NAME_INFO 0x1501
+#define SMB2_GETINFO_FILE_SHORT_INFO 0x1501
#define SMB2_GETINFO_FILE_STREAM_INFO 0x1601
#define SMB2_GETINFO_FILE_EOF_INFO 0x1c01
#define SMB2_GETINFO_FILE_STANDARD_INFO 0x2201
@@ -203,3 +203,102 @@ struct smb2_getinfo {
} out;
};
+union smb2_fileinfo {
+ struct {
+ NTTIME create_time;
+ NTTIME access_time;
+ NTTIME write_time;
+ NTTIME change_time;
+ uint32_t file_attr;
+ uint32_t unknown;
+ } basic_info;
+
+ struct {
+ uint64_t alloc_size;
+ uint64_t size;
+ uint32_t nlink;
+ uint32_t unknown;
+ } size_info;
+
+ struct {
+ uint32_t unknown1;
+ uint32_t unknown2;
+ } unknown06;
+
+ struct {
+ uint32_t ea_size;
+ } ea_info;
+
+ struct {
+ uint32_t access_mask;
+ } access_info;
+
+ struct {
+ uint32_t unknown1;
+ uint32_t unknown2;
+ } unknown0e;
+
+ struct {
+ struct smb_ea_list all_eas;
+ } all_ea_info;
+
+ struct {
+ uint32_t unknown; /* 2 */
+ } unknown10;
+
+ struct {
+ uint32_t unknown;
+ } unknown11;
+
+ struct {
+ NTTIME create_time;
+ NTTIME access_time;
+ NTTIME write_time;
+ NTTIME change_time;
+ uint32_t file_attr;
+ uint32_t unknown1;
+ uint64_t alloc_size;
+ uint64_t size;
+ uint32_t nlink;
+ uint32_t unknown2;
+ uint32_t unknown3;
+ uint32_t unknown4;
+ uint32_t ea_size;
+ uint32_t access_mask;
+ uint64_t unknown5;
+ uint64_t unknown6;
+ const char *fname;
+ } all_info;
+
+ struct {
+ const char *short_name;
+ } short_info;
+
+ struct {
+ uint32_t unknown;
+ uint64_t size;
+ uint64_t alloc_size;
+ const char *stream_name;
+ } stream_info;
+
+ struct {
+ uint64_t size;
+ uint64_t unknown;
+ } eof_info;
+
+ struct {
+ NTTIME create_time;
+ NTTIME access_time;
+ NTTIME write_time;
+ NTTIME change_time;
+ uint64_t alloc_size;
+ uint64_t size;
+ uint32_t file_attr;
+ uint32_t unknown;
+ } standard_info;
+
+ struct {
+ uint32_t file_attr;
+ uint32_t unknown;
+ } attrib_info;
+};