s4-loadparm: 2nd half of lp_ to lpcfg_ conversion
[gd/samba-autobuild/.git] / source4 / libcli / smb_composite / smb_composite.h
index 617daaf442301aa36f6ef49176cb090eeb0107e5..84d9e78b911fcd4ed0e4944a89299952fb0758ab 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
@@ -45,13 +49,18 @@ struct smb_composite_loadfile {
 struct smb_composite_fetchfile {
        struct {
                const char *dest_host;
-               int port;
+               const char **ports;
                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;
-               int port;
+               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;
@@ -121,13 +135,15 @@ struct smb_composite_sesssetup {
 struct smb_composite_fsinfo {
        struct {
                const char *dest_host;
-               int port;
+               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 {
@@ -162,7 +178,7 @@ struct smb_composite_connectmulti {
                int num_dests;
                const char **hostnames;
                const char **addresses;
-               int *ports;     /* Either NULL for lp_smb_ports() per
+               int *ports;     /* Either NULL for lpcfg_smb_ports() per
                                 * destination or a list of explicit ports */
        } in;
        struct {
@@ -171,5 +187,6 @@ struct smb_composite_connectmulti {
 };
 
 struct smbcli_session;
+struct resolve_context;
 
 #include "libcli/smb_composite/proto.h"