summaryrefslogtreecommitdiff
path: root/source4/include/smb_interfaces.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-12-18 04:38:43 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:07:29 -0500
commited42a64901ba0a7ad8cbaac582600688af1b7d72 (patch)
treeb68217a14fbd61d1f58b702d7ecc5b9ee66f2ce5 /source4/include/smb_interfaces.h
parentb02c5abfb470575a67ced192b2913b5a1c73dd3e (diff)
downloadsamba-ed42a64901ba0a7ad8cbaac582600688af1b7d72.tar.gz
samba-ed42a64901ba0a7ad8cbaac582600688af1b7d72.tar.bz2
samba-ed42a64901ba0a7ad8cbaac582600688af1b7d72.zip
r4263: added support for the trans2 RAW_SEARCH_EA_LIST information
level. This is quite a strange level that we've never seen before, but is used by the os2 workplace shell. note w2k screws up this level when unicode is negotiated, so it only passes the RAW-SEARCH test when you force non-unicode (This used to be commit 25189b8fbf6515d573e3398dc9fca56505dc37b9)
Diffstat (limited to 'source4/include/smb_interfaces.h')
-rw-r--r--source4/include/smb_interfaces.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/source4/include/smb_interfaces.h b/source4/include/smb_interfaces.h
index 9916bf2385..91ed102d6a 100644
--- a/source4/include/smb_interfaces.h
+++ b/source4/include/smb_interfaces.h
@@ -1675,6 +1675,7 @@ enum smb_search_level {RAW_SEARCH_GENERIC = 0xF000,
RAW_SEARCH_FUNIQUE, /* SMBfunique */
RAW_SEARCH_STANDARD = SMB_FIND_STANDARD,
RAW_SEARCH_EA_SIZE = SMB_FIND_EA_SIZE,
+ RAW_SEARCH_EA_LIST = SMB_FIND_EA_LIST,
RAW_SEARCH_DIRECTORY_INFO = SMB_FIND_DIRECTORY_INFO,
RAW_SEARCH_FULL_DIRECTORY_INFO = SMB_FIND_FULL_DIRECTORY_INFO,
RAW_SEARCH_NAME_INFO = SMB_FIND_NAME_INFO,
@@ -1715,6 +1716,10 @@ union smb_search_first {
uint16_t flags;
uint32_t storage_type;
const char *pattern;
+
+ /* the ea names are only used for RAW_SEARCH_EA_LIST */
+ uint_t num_names;
+ struct ea_name *ea_names;
} in;
struct {
uint16_t handle;
@@ -1761,6 +1766,10 @@ union smb_search_next {
uint32_t resume_key;
uint16_t flags;
const char *last_name;
+
+ /* the ea names are only used for RAW_SEARCH_EA_LIST */
+ uint_t num_names;
+ struct ea_name *ea_names;
} in;
struct {
uint16_t count;
@@ -1805,6 +1814,19 @@ union smb_search_data {
WIRE_STRING name;
} ea_size;
+ /* trans2 findfirst RAW_SEARCH_EA_LIST level */
+ struct {
+ uint32_t resume_key;
+ time_t create_time;
+ time_t access_time;
+ time_t write_time;
+ uint32_t size;
+ uint32_t alloc_size;
+ uint16_t attrib;
+ struct smb_ea_list eas;
+ WIRE_STRING name;
+ } ea_list;
+
/* RAW_SEARCH_DIRECTORY_INFO interface */
struct {
uint32_t file_index;