The branch, master has been updated
       via  de2a7c8e4caa4898a3ff5cfd85d21cddec8188f2 (commit)
       via  31db53c3586339b7469802a454a3b983807ec518 (commit)
       via  8d901caf353ce99dfdde4e9e8ad5937f91df7c49 (commit)
      from  c388efdbcb9ef1ecd5a81f7731ce56c7f79b2579 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit de2a7c8e4caa4898a3ff5cfd85d21cddec8188f2
Author: Günther Deschner <[email protected]>
Date:   Sat Mar 21 00:10:14 2009 +0100

    s3: use generated dcerpc code.
    
    Guenther

commit 31db53c3586339b7469802a454a3b983807ec518
Author: Günther Deschner <[email protected]>
Date:   Fri Mar 20 23:27:15 2009 +0100

    s3: add generated dcerpc files.
    
    Guenther

commit 8d901caf353ce99dfdde4e9e8ad5937f91df7c49
Author: Günther Deschner <[email protected]>
Date:   Fri Mar 20 23:25:53 2009 +0100

    move dcerpc.idl to main directory.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 librpc/gen_ndr/dcerpc.h       |  343 ++++++++
 librpc/gen_ndr/ndr_dcerpc.c   | 1834 +++++++++++++++++++++++++++++++++++++++++
 librpc/gen_ndr/ndr_dcerpc.h   |   65 ++
 librpc/idl/dcerpc.idl         |  306 +++++++
 source3/Makefile.in           |    3 +-
 source3/include/rpc_dce.h     |   10 -
 source3/include/smb.h         |    2 +
 source4/librpc/config.mk      |    4 +-
 source4/librpc/idl/dcerpc.idl |  306 -------
 9 files changed, 2554 insertions(+), 319 deletions(-)
 create mode 100644 librpc/gen_ndr/dcerpc.h
 create mode 100644 librpc/gen_ndr/ndr_dcerpc.c
 create mode 100644 librpc/gen_ndr/ndr_dcerpc.h
 create mode 100644 librpc/idl/dcerpc.idl
 delete mode 100644 source4/librpc/idl/dcerpc.idl


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/dcerpc.h b/librpc/gen_ndr/dcerpc.h
new file mode 100644
index 0000000..78834f6
--- /dev/null
+++ b/librpc/gen_ndr/dcerpc.h
@@ -0,0 +1,343 @@
+/* header auto-generated by pidl */
+
+#include <stdint.h>
+
+#include "libcli/util/ntstatus.h"
+
+#include "librpc/gen_ndr/misc.h"
+#ifndef _HEADER_dcerpc
+#define _HEADER_dcerpc
+
+#define DCERPC_REQUEST_LENGTH  ( 24 )
+#define DCERPC_BIND_REASON_ASYNTAX     ( 1 )
+#define DCERPC_BIND_PROVIDER_REJECT    ( 2 )
+#define DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED     ( 4 )
+#define DCERPC_BIND_REASON_INVALID_AUTH_TYPE   ( 8 )
+#define DCERPC_RESPONSE_LENGTH ( 24 )
+#define DCERPC_FAULT_OP_RNG_ERROR      ( 0x1c010002 )
+#define DCERPC_FAULT_UNK_IF    ( 0x1c010003 )
+#define DCERPC_FAULT_NDR       ( 0x000006f7 )
+#define DCERPC_FAULT_INVALID_TAG       ( 0x1c000006 )
+#define DCERPC_FAULT_CONTEXT_MISMATCH  ( 0x1c00001a )
+#define DCERPC_FAULT_OTHER     ( 0x00000001 )
+#define DCERPC_FAULT_ACCESS_DENIED     ( 0x00000005 )
+#define DCERPC_FAULT_CANT_PERFORM      ( 0x000006d8 )
+#define DCERPC_FAULT_TODO      ( 0x00000042 )
+#define DCERPC_AUTH_LEVEL_DEFAULT      ( DCERPC_AUTH_LEVEL_CONNECT )
+#define DCERPC_AUTH_TRAILER_LENGTH     ( 8 )
+#define DCERPC_PFC_FLAG_FIRST  ( 0x01 )
+#define DCERPC_PFC_FLAG_LAST   ( 0x02 )
+#define DCERPC_PFC_FLAG_PENDING_CANCEL ( 0x04 )
+#define DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN    ( 
DCERPC_PFC_FLAG_PENDING_CANCEL )
+#define DCERPC_PFC_FLAG_CONC_MPX       ( 0x10 )
+#define DCERPC_PFC_FLAG_DID_NOT_EXECUTE        ( 0x20 )
+#define DCERPC_PFC_FLAG_MAYBE  ( 0x40 )
+#define DCERPC_PFC_FLAG_OBJECT_UUID    ( 0x80 )
+#define DCERPC_PFC_OFFSET      ( 3 )
+#define DCERPC_DREP_OFFSET     ( 4 )
+#define DCERPC_FRAG_LEN_OFFSET ( 8 )
+#define DCERPC_AUTH_LEN_OFFSET ( 10 )
+#define DCERPC_DREP_LE ( 0x10 )
+struct dcerpc_ctx_list {
+       uint16_t context_id;
+       uint8_t num_transfer_syntaxes;
+       struct ndr_syntax_id abstract_syntax;
+       struct ndr_syntax_id *transfer_syntaxes;
+};
+
+struct dcerpc_bind {
+       uint16_t max_xmit_frag;
+       uint16_t max_recv_frag;
+       uint32_t assoc_group_id;
+       uint8_t num_contexts;
+       struct dcerpc_ctx_list *ctx_list;
+       DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
+       DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
+};
+
+struct dcerpc_empty {
+       char _empty_;
+};
+
+union dcerpc_object {
+       struct dcerpc_empty empty;/* [default] */
+       struct GUID object;/* [case(LIBNDR_FLAG_OBJECT_PRESENT)] */
+}/* [nodiscriminant] */;
+
+struct dcerpc_request {
+       uint32_t alloc_hint;
+       uint16_t context_id;
+       uint16_t opnum;
+       union dcerpc_object object;/* 
[switch_is(ndr->flags&LIBNDR_FLAG_OBJECT_PRESENT)] */
+       DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */
+       DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */
+};
+
+struct dcerpc_ack_ctx {
+       uint16_t result;
+       uint16_t reason;
+       struct ndr_syntax_id syntax;
+};
+
+struct dcerpc_bind_ack {
+       uint16_t max_xmit_frag;
+       uint16_t max_recv_frag;
+       uint32_t assoc_group_id;
+       uint16_t secondary_address_size;/* [value(strlen(secondary_address)+1)] 
*/
+       const char *secondary_address;/* [charset(DOS)] */
+       DATA_BLOB _pad1;/* [flag(LIBNDR_FLAG_ALIGN4)] */
+       uint8_t num_results;
+       struct dcerpc_ack_ctx *ctx_list;
+       DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
+};
+
+struct dcerpc_bind_nak_versions {
+       uint32_t num_versions;
+       uint32_t *versions;
+};
+
+union dcerpc_bind_nak_versions_ctr {
+       struct dcerpc_bind_nak_versions v;/* 
[case(DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED)] */
+}/* [nodiscriminant] */;
+
+struct dcerpc_bind_nak {
+       uint16_t reject_reason;
+       union dcerpc_bind_nak_versions_ctr versions;/* 
[switch_is(reject_reason)] */
+};
+
+struct dcerpc_response {
+       uint32_t alloc_hint;
+       uint16_t context_id;
+       uint8_t cancel_count;
+       DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */
+       DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */
+};
+
+struct dcerpc_fault {
+       uint32_t alloc_hint;
+       uint16_t context_id;
+       uint8_t cancel_count;
+       uint32_t status;
+       DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_REMAINING)] */
+};
+
+enum dcerpc_AuthType
+#ifndef USE_UINT_ENUMS
+ {
+       DCERPC_AUTH_TYPE_NONE=0,
+       DCERPC_AUTH_TYPE_KRB5_1=1,
+       DCERPC_AUTH_TYPE_SPNEGO=9,
+       DCERPC_AUTH_TYPE_NTLMSSP=10,
+       DCERPC_AUTH_TYPE_KRB5=16,
+       DCERPC_AUTH_TYPE_DPA=17,
+       DCERPC_AUTH_TYPE_MSN=18,
+       DCERPC_AUTH_TYPE_DIGEST=21,
+       DCERPC_AUTH_TYPE_SCHANNEL=68,
+       DCERPC_AUTH_TYPE_MSMQ=100
+}
+#else
+ { __donnot_use_enum_dcerpc_AuthType=0x7FFFFFFF}
+#define DCERPC_AUTH_TYPE_NONE ( 0 )
+#define DCERPC_AUTH_TYPE_KRB5_1 ( 1 )
+#define DCERPC_AUTH_TYPE_SPNEGO ( 9 )
+#define DCERPC_AUTH_TYPE_NTLMSSP ( 10 )
+#define DCERPC_AUTH_TYPE_KRB5 ( 16 )
+#define DCERPC_AUTH_TYPE_DPA ( 17 )
+#define DCERPC_AUTH_TYPE_MSN ( 18 )
+#define DCERPC_AUTH_TYPE_DIGEST ( 21 )
+#define DCERPC_AUTH_TYPE_SCHANNEL ( 68 )
+#define DCERPC_AUTH_TYPE_MSMQ ( 100 )
+#endif
+;
+
+enum dcerpc_AuthLevel
+#ifndef USE_UINT_ENUMS
+ {
+       DCERPC_AUTH_LEVEL_NONE=1,
+       DCERPC_AUTH_LEVEL_CONNECT=2,
+       DCERPC_AUTH_LEVEL_CALL=3,
+       DCERPC_AUTH_LEVEL_PACKET=4,
+       DCERPC_AUTH_LEVEL_INTEGRITY=5,
+       DCERPC_AUTH_LEVEL_PRIVACY=6
+}
+#else
+ { __donnot_use_enum_dcerpc_AuthLevel=0x7FFFFFFF}
+#define DCERPC_AUTH_LEVEL_NONE ( 1 )
+#define DCERPC_AUTH_LEVEL_CONNECT ( 2 )
+#define DCERPC_AUTH_LEVEL_CALL ( 3 )
+#define DCERPC_AUTH_LEVEL_PACKET ( 4 )
+#define DCERPC_AUTH_LEVEL_INTEGRITY ( 5 )
+#define DCERPC_AUTH_LEVEL_PRIVACY ( 6 )
+#endif
+;
+
+struct dcerpc_auth {
+       enum dcerpc_AuthType auth_type;
+       enum dcerpc_AuthLevel auth_level;
+       uint8_t auth_pad_length;
+       uint8_t auth_reserved;
+       uint32_t auth_context_id;
+       DATA_BLOB credentials;/* [flag(LIBNDR_FLAG_REMAINING)] */
+}/* [public] */;
+
+struct dcerpc_auth3 {
+       uint32_t _pad;
+       DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
+}/* [public] */;
+
+struct dcerpc_orphaned {
+       uint32_t _pad;
+       DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
+}/* [public] */;
+
+struct dcerpc_co_cancel {
+       uint32_t _pad;
+       DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
+}/* [public] */;
+
+struct dcerpc_cl_cancel {
+       uint32_t version;
+       uint32_t id;
+}/* [public] */;
+
+struct dcerpc_cancel_ack {
+       uint32_t version;
+       uint32_t id;
+       uint32_t server_is_accepting;
+}/* [public] */;
+
+struct dcerpc_fack {
+       uint32_t version;
+       uint8_t _pad1;
+       uint16_t window_size;
+       uint32_t max_tdsu;
+       uint32_t max_frag_size;
+       uint16_t serial_no;
+       uint16_t selack_size;
+       uint32_t *selack;
+}/* [public] */;
+
+struct dcerpc_ack {
+       char _empty_;
+}/* [public] */;
+
+struct dcerpc_ping {
+       char _empty_;
+}/* [public] */;
+
+struct dcerpc_shutdown {
+       char _empty_;
+}/* [public] */;
+
+struct dcerpc_working {
+       char _empty_;
+}/* [public] */;
+
+enum dcerpc_pkt_type
+#ifndef USE_UINT_ENUMS
+ {
+       DCERPC_PKT_REQUEST=0,
+       DCERPC_PKT_PING=1,
+       DCERPC_PKT_RESPONSE=2,
+       DCERPC_PKT_FAULT=3,
+       DCERPC_PKT_WORKING=4,
+       DCERPC_PKT_NOCALL=5,
+       DCERPC_PKT_REJECT=6,
+       DCERPC_PKT_ACK=7,
+       DCERPC_PKT_CL_CANCEL=8,
+       DCERPC_PKT_FACK=9,
+       DCERPC_PKT_CANCEL_ACK=10,
+       DCERPC_PKT_BIND=11,
+       DCERPC_PKT_BIND_ACK=12,
+       DCERPC_PKT_BIND_NAK=13,
+       DCERPC_PKT_ALTER=14,
+       DCERPC_PKT_ALTER_RESP=15,
+       DCERPC_PKT_AUTH3=16,
+       DCERPC_PKT_SHUTDOWN=17,
+       DCERPC_PKT_CO_CANCEL=18,
+       DCERPC_PKT_ORPHANED=19
+}
+#else
+ { __donnot_use_enum_dcerpc_pkt_type=0x7FFFFFFF}
+#define DCERPC_PKT_REQUEST ( 0 )
+#define DCERPC_PKT_PING ( 1 )
+#define DCERPC_PKT_RESPONSE ( 2 )
+#define DCERPC_PKT_FAULT ( 3 )
+#define DCERPC_PKT_WORKING ( 4 )
+#define DCERPC_PKT_NOCALL ( 5 )
+#define DCERPC_PKT_REJECT ( 6 )
+#define DCERPC_PKT_ACK ( 7 )
+#define DCERPC_PKT_CL_CANCEL ( 8 )
+#define DCERPC_PKT_FACK ( 9 )
+#define DCERPC_PKT_CANCEL_ACK ( 10 )
+#define DCERPC_PKT_BIND ( 11 )
+#define DCERPC_PKT_BIND_ACK ( 12 )
+#define DCERPC_PKT_BIND_NAK ( 13 )
+#define DCERPC_PKT_ALTER ( 14 )
+#define DCERPC_PKT_ALTER_RESP ( 15 )
+#define DCERPC_PKT_AUTH3 ( 16 )
+#define DCERPC_PKT_SHUTDOWN ( 17 )
+#define DCERPC_PKT_CO_CANCEL ( 18 )
+#define DCERPC_PKT_ORPHANED ( 19 )
+#endif
+;
+
+union dcerpc_payload {
+       struct dcerpc_request request;/* [case(DCERPC_PKT_REQUEST)] */
+       struct dcerpc_ping ping;/* [case(DCERPC_PKT_PING)] */
+       struct dcerpc_response response;/* [case(DCERPC_PKT_RESPONSE)] */
+       struct dcerpc_fault fault;/* [case(DCERPC_PKT_FAULT)] */
+       struct dcerpc_working working;/* [case(DCERPC_PKT_WORKING)] */
+       struct dcerpc_fack nocall;/* [case(DCERPC_PKT_NOCALL)] */
+       struct dcerpc_fault reject;/* [case(DCERPC_PKT_REJECT)] */
+       struct dcerpc_ack ack;/* [case(DCERPC_PKT_ACK)] */
+       struct dcerpc_cl_cancel cl_cancel;/* [case(DCERPC_PKT_CL_CANCEL)] */
+       struct dcerpc_fack fack;/* [case(DCERPC_PKT_FACK)] */
+       struct dcerpc_cancel_ack cancel_ack;/* [case(DCERPC_PKT_CANCEL_ACK)] */
+       struct dcerpc_bind bind;/* [case(DCERPC_PKT_BIND)] */
+       struct dcerpc_bind_ack bind_ack;/* [case(DCERPC_PKT_BIND_ACK)] */
+       struct dcerpc_bind_nak bind_nak;/* [case(DCERPC_PKT_BIND_NAK)] */
+       struct dcerpc_bind alter;/* [case(DCERPC_PKT_ALTER)] */
+       struct dcerpc_bind_ack alter_resp;/* [case(DCERPC_PKT_ALTER_RESP)] */
+       struct dcerpc_shutdown shutdown;/* [case(DCERPC_PKT_SHUTDOWN)] */
+       struct dcerpc_co_cancel co_cancel;/* [case(DCERPC_PKT_CO_CANCEL)] */
+       struct dcerpc_orphaned orphaned;/* [case(DCERPC_PKT_ORPHANED)] */
+       struct dcerpc_auth3 auth3;/* [case(DCERPC_PKT_AUTH3)] */
+}/* [nodiscriminant] */;
+
+struct ncacn_packet {
+       uint8_t rpc_vers;
+       uint8_t rpc_vers_minor;
+       enum dcerpc_pkt_type ptype;
+       uint8_t pfc_flags;
+       uint8_t drep[4];
+       uint16_t frag_length;
+       uint16_t auth_length;
+       uint32_t call_id;
+       union dcerpc_payload u;/* [switch_is(ptype)] */
+}/* [public] */;
+
+struct ncadg_packet {
+       uint8_t rpc_vers;
+       uint8_t ptype;
+       uint8_t pfc_flags;
+       uint8_t ncadg_flags;
+       uint8_t drep[3];
+       uint8_t serial_high;
+       struct GUID object;
+       struct GUID iface;
+       struct GUID activity;
+       uint32_t server_boot;
+       uint32_t iface_version;
+       uint32_t seq_num;
+       uint16_t opnum;
+       uint16_t ihint;
+       uint16_t ahint;
+       uint16_t len;
+       uint16_t fragnum;
+       uint8_t auth_proto;
+       uint8_t serial_low;
+       union dcerpc_payload u;/* [switch_is(ptype)] */
+}/* [public] */;
+
+#endif /* _HEADER_dcerpc */
diff --git a/librpc/gen_ndr/ndr_dcerpc.c b/librpc/gen_ndr/ndr_dcerpc.c
new file mode 100644
index 0000000..c510967
--- /dev/null
+++ b/librpc/gen_ndr/ndr_dcerpc.c
@@ -0,0 +1,1834 @@
+/* parser auto-generated by pidl */
+
+#include "includes.h"
+#include "../librpc/gen_ndr/ndr_dcerpc.h"
+
+#include "librpc/gen_ndr/ndr_misc.h"
+static enum ndr_err_code ndr_push_dcerpc_ctx_list(struct ndr_push *ndr, int 
ndr_flags, const struct dcerpc_ctx_list *r)
+{
+       uint32_t cntr_transfer_syntaxes_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id));
+               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 
r->num_transfer_syntaxes));
+               NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, 
&r->abstract_syntax));
+               for (cntr_transfer_syntaxes_0 = 0; cntr_transfer_syntaxes_0 < 
r->num_transfer_syntaxes; cntr_transfer_syntaxes_0++) {
+                       NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, 
&r->transfer_syntaxes[cntr_transfer_syntaxes_0]));
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_dcerpc_ctx_list(struct ndr_pull *ndr, int 
ndr_flags, struct dcerpc_ctx_list *r)
+{
+       uint32_t cntr_transfer_syntaxes_0;
+       TALLOC_CTX *_mem_save_transfer_syntaxes_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
+               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, 
&r->num_transfer_syntaxes));
+               NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, 
&r->abstract_syntax));
+               NDR_PULL_ALLOC_N(ndr, r->transfer_syntaxes, 
r->num_transfer_syntaxes);
+               _mem_save_transfer_syntaxes_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->transfer_syntaxes, 0);
+               for (cntr_transfer_syntaxes_0 = 0; cntr_transfer_syntaxes_0 < 
r->num_transfer_syntaxes; cntr_transfer_syntaxes_0++) {
+                       NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, 
&r->transfer_syntaxes[cntr_transfer_syntaxes_0]));
+               }
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transfer_syntaxes_0, 0);
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_dcerpc_ctx_list(struct ndr_print *ndr, const char 
*name, const struct dcerpc_ctx_list *r)
+{
+       uint32_t cntr_transfer_syntaxes_0;
+       ndr_print_struct(ndr, name, "dcerpc_ctx_list");
+       ndr->depth++;
+       ndr_print_uint16(ndr, "context_id", r->context_id);
+       ndr_print_uint8(ndr, "num_transfer_syntaxes", r->num_transfer_syntaxes);
+       ndr_print_ndr_syntax_id(ndr, "abstract_syntax", &r->abstract_syntax);
+       ndr->print(ndr, "%s: ARRAY(%d)", "transfer_syntaxes", 
(int)r->num_transfer_syntaxes);
+       ndr->depth++;
+       for 
(cntr_transfer_syntaxes_0=0;cntr_transfer_syntaxes_0<r->num_transfer_syntaxes;cntr_transfer_syntaxes_0++)
 {
+               char *idx_0=NULL;
+               if (asprintf(&idx_0, "[%d]", cntr_transfer_syntaxes_0) != -1) {
+                       ndr_print_ndr_syntax_id(ndr, "transfer_syntaxes", 
&r->transfer_syntaxes[cntr_transfer_syntaxes_0]);
+                       free(idx_0);
+               }
+       }
+       ndr->depth--;
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_dcerpc_bind(struct ndr_push *ndr, int 
ndr_flags, const struct dcerpc_bind *r)
+{
+       uint32_t cntr_ctx_list_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_xmit_frag));
+               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_recv_frag));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->assoc_group_id));
+               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_contexts));
+               for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_contexts; 
cntr_ctx_list_0++) {
+                       NDR_CHECK(ndr_push_dcerpc_ctx_list(ndr, NDR_SCALARS, 
&r->ctx_list[cntr_ctx_list_0]));
+               }
+               {
+                       uint32_t _flags_save_DATA_BLOB = ndr->flags;
+                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+                       NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->_pad));
+                       ndr->flags = _flags_save_DATA_BLOB;
+               }
+               {
+                       uint32_t _flags_save_DATA_BLOB = ndr->flags;
+                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
+                       NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->auth_info));
+                       ndr->flags = _flags_save_DATA_BLOB;
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_dcerpc_bind(struct ndr_pull *ndr, int 
ndr_flags, struct dcerpc_bind *r)
+{
+       uint32_t cntr_ctx_list_0;
+       TALLOC_CTX *_mem_save_ctx_list_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_xmit_frag));
+               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_recv_frag));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, 
&r->assoc_group_id));
+               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_contexts));
+               NDR_PULL_ALLOC_N(ndr, r->ctx_list, r->num_contexts);
+               _mem_save_ctx_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->ctx_list, 0);
+               for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_contexts; 
cntr_ctx_list_0++) {
+                       NDR_CHECK(ndr_pull_dcerpc_ctx_list(ndr, NDR_SCALARS, 
&r->ctx_list[cntr_ctx_list_0]));
+               }
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctx_list_0, 0);
+               {
+                       uint32_t _flags_save_DATA_BLOB = ndr->flags;
+                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+                       NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->_pad));
+                       ndr->flags = _flags_save_DATA_BLOB;
+               }
+               {
+                       uint32_t _flags_save_DATA_BLOB = ndr->flags;
+                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
+                       NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->auth_info));
+                       ndr->flags = _flags_save_DATA_BLOB;
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_dcerpc_bind(struct ndr_print *ndr, const char *name, 
const struct dcerpc_bind *r)
+{
+       uint32_t cntr_ctx_list_0;
+       ndr_print_struct(ndr, name, "dcerpc_bind");
+       ndr->depth++;
+       ndr_print_uint16(ndr, "max_xmit_frag", r->max_xmit_frag);
+       ndr_print_uint16(ndr, "max_recv_frag", r->max_recv_frag);
+       ndr_print_uint32(ndr, "assoc_group_id", r->assoc_group_id);
+       ndr_print_uint8(ndr, "num_contexts", r->num_contexts);
+       ndr->print(ndr, "%s: ARRAY(%d)", "ctx_list", (int)r->num_contexts);
+       ndr->depth++;
+       for 
(cntr_ctx_list_0=0;cntr_ctx_list_0<r->num_contexts;cntr_ctx_list_0++) {
+               char *idx_0=NULL;
+               if (asprintf(&idx_0, "[%d]", cntr_ctx_list_0) != -1) {


-- 
Samba Shared Repository

Reply via email to