s3: Remove use of iconv_convenience.
[samba.git] / source4 / libcli / smb_composite / smb_composite.h
index a3188c4fe24e542dcaf1f39472ed5a361067aaec..448e05a6ed46cbd989ce80059c7a3414f85256c7 100644 (file)
   particularly designed to be used in async applications
 */
 
+#include "libcli/raw/signing.h"
+#include "libcli/raw/libcliraw.h"
+#include "libcli/smb2/smb2.h"
+
 
 /*
   a composite open/read(s)/close request that loads a whole file
@@ -49,9 +53,14 @@ struct smb_composite_fetchfile {
                const char *called_name;
                const char *service;
                const char *service_type;
+               const char *socket_options;
                struct cli_credentials *credentials;
                const char *workgroup;
                const char *filename;
+               struct smbcli_options options;
+               struct smbcli_session_options session_options;
+               struct resolve_context *resolve_ctx;
+               struct gensec_settings *gensec_settings;
        } in;
        struct {
                uint8_t *data;
@@ -78,19 +87,23 @@ struct smb_composite_savefile {
     - socket establishment
     - session request
     - negprot
-    - session setup
-    - tree connect
+    - session setup (if credentials are not NULL)
+    - tree connect (if service is not NULL)
 */
 struct smb_composite_connect {
        struct {
                const char *dest_host;
                const char **dest_ports;
+               const char *socket_options;
                const char *called_name;
                const char *service;
                const char *service_type;
                struct cli_credentials *credentials;
                bool fallback_to_anonymous;
                const char *workgroup;
+               struct smbcli_options options;
+               struct smbcli_session_options session_options;
+               struct gensec_settings *gensec_settings;
        } in;
        struct {
                struct smbcli_tree *tree;
@@ -109,6 +122,7 @@ struct smb_composite_sesssetup {
                uint32_t capabilities;
                struct cli_credentials *credentials;
                const char *workgroup;
+               struct gensec_settings *gensec_settings;
        } in;
        struct {
                uint16_t vuid;
@@ -122,12 +136,14 @@ struct smb_composite_fsinfo {
        struct {
                const char *dest_host;
                const char **dest_ports;
+               const char *socket_options;
                const char *called_name;
                const char *service;
                const char *service_type;
                struct cli_credentials *credentials;
                const char *workgroup;
                enum smb_fsinfo_level level;
+               struct gensec_settings *gensec_settings;
        } in;
        
        struct {
@@ -171,5 +187,6 @@ struct smb_composite_connectmulti {
 };
 
 struct smbcli_session;
+struct resolve_context;
 
 #include "libcli/smb_composite/proto.h"