r26654: libcli/smb_composite: Rather than specifying each of the gazillion options...
[jelmer/samba4-debian.git] / source / libcli / raw / libcliraw.h
index dfc4dc37b5dba076755989102e2f8937fb138724..0032eb4e948a7412f7bde5cf17221b93d5ff034e 100644 (file)
@@ -7,7 +7,7 @@
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "request.h"
-#include "librpc/gen_ndr/ndr_nbt.h"
+#ifndef __LIBCLI_RAW_H__
+#define __LIBCLI_RAW_H__
+
+#include "libcli/raw/request.h"
+#include "librpc/gen_ndr/nbt.h"
 
 struct smbcli_tree;  /* forward declare */
 struct smbcli_request;  /* forward declare */
 struct smbcli_session;  /* forward declare */
 struct smbcli_transport;  /* forward declare */
 
+struct resolve_context;
+struct cli_credentials;
+
 /* default timeout for all smb requests */
 #define SMB_REQUEST_TIMEOUT 60
 
@@ -89,9 +94,13 @@ struct smbcli_options {
        uint_t use_oplocks:1;
        uint_t use_level2_oplocks:1;
        uint_t use_spnego:1;
+       uint_t unicode:1;
+       uint_t ntstatus_support:1;
+       int max_protocol;
        uint32_t max_xmit;
        uint16_t max_mux;
        int request_timeout;
+       enum smb_signing_state signing;
 };
 
 /* this is the context for the client transport layer */
@@ -138,15 +147,12 @@ struct smbcli_transport {
 
        struct {
                /* a oplock break request handler */
-               BOOL (*handler)(struct smbcli_transport *transport, 
+               bool (*handler)(struct smbcli_transport *transport, 
                                uint16_t tid, uint16_t fnum, uint8_t level, void *private);
                /* private data passed to the oplock handler */
                void *private;
        } oplock;
 
-       /* a list of async requests that are pending for send on this connection */
-       struct smbcli_request *pending_send;
-
        /* a list of async requests that are pending for receive on this connection */
        struct smbcli_request *pending_recv;
 
@@ -199,7 +205,6 @@ struct smbcli_tree {
   a client request moves between the following 4 states.
 */
 enum smbcli_request_state {SMBCLI_REQUEST_INIT, /* we are creating the request */
-                       SMBCLI_REQUEST_SEND, /* the request is in the outgoing socket Q */
                        SMBCLI_REQUEST_RECV, /* we are waiting for a matching reply */
                        SMBCLI_REQUEST_DONE, /* the request is finished */
                        SMBCLI_REQUEST_ERROR}; /* a packet or transport level error has occurred */
@@ -273,3 +278,8 @@ struct smbcli_request {
       req->status = NT_STATUS_INVALID_PARAMETER; \
       goto failed; \
 }
+
+#include "libcli/raw/interfaces.h" 
+#include "libcli/raw/raw_proto.h"
+
+#endif /* __LIBCLI_RAW__H__ */