]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: re-merge s4 drsuapi helper and re-run make samba3-idl.
authorGünther Deschner <gd@samba.org>
Thu, 16 Oct 2008 12:02:26 +0000 (14:02 +0200)
committerGünther Deschner <gd@samba.org>
Thu, 16 Oct 2008 12:02:26 +0000 (14:02 +0200)
Guenther

source3/librpc/gen_ndr/drsuapi.h
source3/librpc/gen_ndr/ndr_drsuapi.c
source3/librpc/gen_ndr/ndr_drsuapi.h
source3/librpc/ndr/ndr_drsuapi.c

index 049c2bf4b11aa4a8ed077ceae2cfa22583e683d5..77ecd9fd79f14c40e762b377a23da80bfacd93c8 100644 (file)
@@ -575,29 +575,37 @@ struct drsuapi_DsGetNCChangesCtr6 {
        WERROR drs_error;
 }/* [gensize,public] */;
 
+struct drsuapi_DsGetNCChangesCtr1TS {
+       struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [subcontext(0xFFFFFC01)] */
+}/* [public] */;
+
+struct drsuapi_DsGetNCChangesCtr6TS {
+       struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [subcontext(0xFFFFFC01)] */
+}/* [public] */;
+
 struct drsuapi_DsGetNCChangesMSZIPCtr1 {
        uint32_t decompressed_length;
        uint32_t compressed_length;
-       struct drsuapi_DsGetNCChangesCtr1 *ctr1;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
-};
+       struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
+}/* [nopush] */;
 
 struct drsuapi_DsGetNCChangesMSZIPCtr6 {
        uint32_t decompressed_length;
        uint32_t compressed_length;
-       struct drsuapi_DsGetNCChangesCtr6 *ctr6;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
-};
+       struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
+}/* [nopush] */;
 
 struct drsuapi_DsGetNCChangesXPRESSCtr1 {
        uint32_t decompressed_length;
        uint32_t compressed_length;
-       struct drsuapi_DsGetNCChangesCtr1 *ctr1;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
-};
+       struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
+}/* [nopush] */;
 
 struct drsuapi_DsGetNCChangesXPRESSCtr6 {
        uint32_t decompressed_length;
        uint32_t compressed_length;
-       struct drsuapi_DsGetNCChangesCtr6 *ctr6;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
-};
+       struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
+}/* [nopush] */;
 
 enum drsuapi_DsGetNCChangesCompressionType
 #ifndef USE_UINT_ENUMS
@@ -620,7 +628,7 @@ union drsuapi_DsGetNCChangesCompressedCtr {
 }/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 struct drsuapi_DsGetNCChangesCtr2 {
-       union drsuapi_DsGetNCChangesCompressedCtr ctr;/* [switch_is(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
+       struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;
 };
 
 struct drsuapi_DsGetNCChangesCtr7 {
@@ -889,7 +897,7 @@ union drsuapi_DsWriteAccountSpnResult {
 struct drsuapi_DsRemoveDSServerRequest1 {
        const char *server_dn;/* [unique,charset(UTF16)] */
        const char *domain_dn;/* [unique,charset(UTF16)] */
-       uint32_t unknown;
+       uint32_t commit;
 };
 
 union drsuapi_DsRemoveDSServerRequest {
@@ -897,7 +905,7 @@ union drsuapi_DsRemoveDSServerRequest {
 }/* [switch_type(int32)] */;
 
 struct drsuapi_DsRemoveDSServerResult1 {
-       WERROR status;
+       uint32_t last_dc_in_domain;
 };
 
 union drsuapi_DsRemoveDSServerResult {
index 38b88f643c9d3cb10fc2a34bbe7a91664e458422..4651d50e956c313f229e1d03d0137a55391befcb 100644 (file)
@@ -2823,217 +2823,219 @@ _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNC
        return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6);
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
+_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->decompressed_length));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->compressed_length));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
+               NDR_CHECK(ndr_push_align(ndr, 1));
+               {
+                       struct ndr_push *_ndr_ctr1;
+                       NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
+                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
+                       NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
+               }
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->ctr1) {
-                       {
-                               struct ndr_push *_ndr_ctr1;
-                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 4, r->compressed_length));
-                               {
-                                       struct ndr_push *_ndr_ctr1_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ctr1, &_ndr_ctr1_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
-                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ctr1, _ndr_ctr1_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
-                               }
-                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 4, r->compressed_length));
-                       }
-               }
        }
        return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
 {
-       uint32_t _ptr_ctr1;
-       TALLOC_CTX *_mem_save_ctr1_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
-               if (_ptr_ctr1) {
-                       NDR_PULL_ALLOC(ndr, r->ctr1);
-               } else {
-                       r->ctr1 = NULL;
+               NDR_CHECK(ndr_pull_align(ndr, 1));
+               {
+                       struct ndr_pull *_ndr_ctr1;
+                       NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
+                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
+                       NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->ctr1) {
-                       _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
-                       {
-                               struct ndr_pull *_ndr_ctr1;
-                               NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 4, r->compressed_length));
-                               {
-                                       struct ndr_pull *_ndr_ctr1_compressed;
-                                       NDR_CHECK(ndr_pull_compression_start(_ndr_ctr1, &_ndr_ctr1_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
-                                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
-                                       NDR_CHECK(ndr_pull_compression_end(_ndr_ctr1, _ndr_ctr1_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
-                               }
-                               NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 4, r->compressed_length));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
-               }
        }
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
+_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
 {
-       ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
-       ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
-       ndr_print_ptr(ndr, "ctr1", r->ctr1);
+       ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
        ndr->depth++;
-       if (r->ctr1) {
-               ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", r->ctr1);
-       }
-       ndr->depth--;
+       ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
+_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->decompressed_length));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->compressed_length));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr6));
+               NDR_CHECK(ndr_push_align(ndr, 1));
+               {
+                       struct ndr_push *_ndr_ctr6;
+                       NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
+                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
+                       NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
+               }
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->ctr6) {
-                       {
-                               struct ndr_push *_ndr_ctr6;
-                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 4, r->compressed_length));
-                               {
-                                       struct ndr_push *_ndr_ctr6_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ctr6, &_ndr_ctr6_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
-                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr6));
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ctr6, _ndr_ctr6_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
-                               }
-                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 4, r->compressed_length));
-                       }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 1));
+               {
+                       struct ndr_pull *_ndr_ctr6;
+                       NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
+                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
+                       NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
                }
        }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
        return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
+_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
+{
+       ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
+       ndr->depth++;
+       ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
 {
-       uint32_t _ptr_ctr6;
-       TALLOC_CTX *_mem_save_ctr6_0;
+       uint32_t _ptr_ts;
+       TALLOC_CTX *_mem_save_ts_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr6));
-               if (_ptr_ctr6) {
-                       NDR_PULL_ALLOC(ndr, r->ctr6);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
+               if (_ptr_ts) {
+                       NDR_PULL_ALLOC(ndr, r->ts);
                } else {
-                       r->ctr6 = NULL;
+                       r->ts = NULL;
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->ctr6) {
-                       _mem_save_ctr6_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->ctr6, 0);
+               if (r->ts) {
+                       _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
                        {
-                               struct ndr_pull *_ndr_ctr6;
-                               NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 4, r->compressed_length));
+                               struct ndr_pull *_ndr_ts;
+                               NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
                                {
-                                       struct ndr_pull *_ndr_ctr6_compressed;
-                                       NDR_CHECK(ndr_pull_compression_start(_ndr_ctr6, &_ndr_ctr6_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
-                                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr6));
-                                       NDR_CHECK(ndr_pull_compression_end(_ndr_ctr6, _ndr_ctr6_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
+                                       struct ndr_pull *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
+                                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
                                }
-                               NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 4, r->compressed_length));
+                               NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
                        }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr6_0, 0);
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
                }
        }
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
+_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
 {
-       ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
+       ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
        ndr->depth++;
        ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
        ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
-       ndr_print_ptr(ndr, "ctr6", r->ctr6);
+       ndr_print_ptr(ndr, "ts", r->ts);
        ndr->depth++;
-       if (r->ctr6) {
-               ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", r->ctr6);
+       if (r->ts) {
+               ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
        }
        ndr->depth--;
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
+static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
 {
+       uint32_t _ptr_ts;
+       TALLOC_CTX *_mem_save_ts_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->decompressed_length));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->compressed_length));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
+               if (_ptr_ts) {
+                       NDR_PULL_ALLOC(ndr, r->ts);
+               } else {
+                       r->ts = NULL;
+               }
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->ctr1) {
+               if (r->ts) {
+                       _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
                        {
-                               struct ndr_push *_ndr_ctr1;
-                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 4, r->compressed_length));
+                               struct ndr_pull *_ndr_ts;
+                               NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
                                {
-                                       struct ndr_push *_ndr_ctr1_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ctr1, &_ndr_ctr1_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
-                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ctr1, _ndr_ctr1_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
+                                       struct ndr_pull *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
+                                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
                                }
-                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 4, r->compressed_length));
+                               NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
                        }
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
                }
        }
        return NDR_ERR_SUCCESS;
 }
 
+_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
+{
+       ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
+       ndr->depth++;
+       ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
+       ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
+       ndr_print_ptr(ndr, "ts", r->ts);
+       ndr->depth++;
+       if (r->ts) {
+               ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
+       }
+       ndr->depth--;
+       ndr->depth--;
+}
+
 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
 {
-       uint32_t _ptr_ctr1;
-       TALLOC_CTX *_mem_save_ctr1_0;
+       uint32_t _ptr_ts;
+       TALLOC_CTX *_mem_save_ts_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
-               if (_ptr_ctr1) {
-                       NDR_PULL_ALLOC(ndr, r->ctr1);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
+               if (_ptr_ts) {
+                       NDR_PULL_ALLOC(ndr, r->ts);
                } else {
-                       r->ctr1 = NULL;
+                       r->ts = NULL;
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->ctr1) {
-                       _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
+               if (r->ts) {
+                       _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
                        {
-                               struct ndr_pull *_ndr_ctr1;
-                               NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 4, r->compressed_length));
+                               struct ndr_pull *_ndr_ts;
+                               NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
                                {
-                                       struct ndr_pull *_ndr_ctr1_compressed;
-                                       NDR_CHECK(ndr_pull_compression_start(_ndr_ctr1, &_ndr_ctr1_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
-                                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
-                                       NDR_CHECK(ndr_pull_compression_end(_ndr_ctr1, _ndr_ctr1_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
+                                       struct ndr_pull *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
+                                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
                                }
-                               NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 4, r->compressed_length));
+                               NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
                        }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -3045,72 +3047,46 @@ _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr,
        ndr->depth++;
        ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
        ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
-       ndr_print_ptr(ndr, "ctr1", r->ctr1);
+       ndr_print_ptr(ndr, "ts", r->ts);
        ndr->depth++;
-       if (r->ctr1) {
-               ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", r->ctr1);
+       if (r->ts) {
+               ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
        }
        ndr->depth--;
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->decompressed_length));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->compressed_length));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr6));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->ctr6) {
-                       {
-                               struct ndr_push *_ndr_ctr6;
-                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 4, r->compressed_length));
-                               {
-                                       struct ndr_push *_ndr_ctr6_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ctr6, &_ndr_ctr6_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
-                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr6));
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ctr6, _ndr_ctr6_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
-                               }
-                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 4, r->compressed_length));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
 {
-       uint32_t _ptr_ctr6;
-       TALLOC_CTX *_mem_save_ctr6_0;
+       uint32_t _ptr_ts;
+       TALLOC_CTX *_mem_save_ts_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr6));
-               if (_ptr_ctr6) {
-                       NDR_PULL_ALLOC(ndr, r->ctr6);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
+               if (_ptr_ts) {
+                       NDR_PULL_ALLOC(ndr, r->ts);
                } else {
-                       r->ctr6 = NULL;
+                       r->ts = NULL;
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->ctr6) {
-                       _mem_save_ctr6_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->ctr6, 0);
+               if (r->ts) {
+                       _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
                        {
-                               struct ndr_pull *_ndr_ctr6;
-                               NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 4, r->compressed_length));
+                               struct ndr_pull *_ndr_ts;
+                               NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
                                {
-                                       struct ndr_pull *_ndr_ctr6_compressed;
-                                       NDR_CHECK(ndr_pull_compression_start(_ndr_ctr6, &_ndr_ctr6_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
-                                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr6));
-                                       NDR_CHECK(ndr_pull_compression_end(_ndr_ctr6, _ndr_ctr6_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
+                                       struct ndr_pull *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
+                                       NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
                                }
-                               NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 4, r->compressed_length));
+                               NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
                        }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr6_0, 0);
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -3122,10 +3098,10 @@ _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr,
        ndr->depth++;
        ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
        ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
-       ndr_print_ptr(ndr, "ctr6", r->ctr6);
+       ndr_print_ptr(ndr, "ts", r->ts);
        ndr->depth++;
-       if (r->ctr6) {
-               ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", r->ctr6);
+       if (r->ts) {
+               ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
        }
        ndr->depth--;
        ndr->depth--;
@@ -3304,11 +3280,10 @@ static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *nd
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, 1 | (DRSUAPI_COMPRESSION_TYPE_MSZIP << 16)));
-               NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
+               NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
+               NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
        }
        return NDR_ERR_SUCCESS;
 }
@@ -3317,11 +3292,10 @@ static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *nd
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, 1 | (DRSUAPI_COMPRESSION_TYPE_MSZIP << 16)));
-               NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
+               NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
+               NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
        }
        return NDR_ERR_SUCCESS;
 }
@@ -3330,8 +3304,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const
 {
        ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
        ndr->depth++;
-       ndr_print_set_switch_value(ndr, &r->ctr, 1 | (DRSUAPI_COMPRESSION_TYPE_MSZIP << 16));
-       ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
+       ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
        ndr->depth--;
 }
 
@@ -5609,7 +5582,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_pu
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->server_dn) {
@@ -5648,7 +5621,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pu
                } else {
                        r->domain_dn = NULL;
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->server_dn) {
@@ -5695,7 +5668,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr,
                ndr_print_string(ndr, "domain_dn", r->domain_dn);
        }
        ndr->depth--;
-       ndr_print_uint32(ndr, "unknown", r->unknown);
+       ndr_print_uint32(ndr, "commit", r->commit);
        ndr->depth--;
 }
 
@@ -5778,7 +5751,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_pus
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -5789,7 +5762,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pul
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -5800,7 +5773,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, c
 {
        ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
        ndr->depth++;
-       ndr_print_WERROR(ndr, "status", r->status);
+       ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
        ndr->depth--;
 }
 
index 6b6a0b5670a52236cdd5765bcd9c817ab19278b2..e65bc62301d6346c74c9fc1696d8f5a0199d9e0e 100644 (file)
@@ -151,9 +151,19 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int
 enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r);
 void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r);
 size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, int flags);
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r);
+enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r);
+void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r);
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r);
+enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r);
+void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r);
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r);
 void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r);
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r);
 void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r);
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r);
 void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r);
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r);
 void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r);
 void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r);
 void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r);
index aeb81c87bd7d796a0dc91604e8e6e716d210d3ff..8bc44dcc36cb8b631ae0764b2a8abdb5ef31e342 100644 (file)
@@ -23,6 +23,8 @@
 #include "includes.h"
 #include "librpc/gen_ndr/ndr_drsuapi.h"
 #include "librpc/gen_ndr/ndr_misc.h"
+#include "../lib/util/asn1.h"
+#include "librpc/ndr/ndr_compression.h"
 
 void ndr_print_drsuapi_DsReplicaObjectListItem(struct ndr_print *ndr, const char *name,
                                               const struct drsuapi_DsReplicaObjectListItem *r)
@@ -144,7 +146,7 @@ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_fl
                        } else {
                                _OID_PULL_CHECK(ber_read_OID_String(ndr, _oid_array, &_oid));
                        }
-                       TALLOC_FREE(_oid_array.data);
+                       data_blob_free(&_oid_array);
                        talloc_steal(r->oid, _oid);
                        r->oid = _oid;
                }
@@ -175,3 +177,175 @@ size_t ndr_size_drsuapi_DsReplicaOID_oid(const char *oid, int flags)
        data_blob_free(&_blob);
        return ret;
 }
+
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               uint32_t decompressed_length = 0;
+               uint32_t compressed_length = 0;
+               if (r->ts) {
+                       {
+                               struct ndr_push *_ndr_ts;
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
+                               {
+                                       struct ndr_push *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       decompressed_length = _ndr_ts_compressed->offset;
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                               }
+                               compressed_length = _ndr_ts->offset;
+                               talloc_free(_ndr_ts);
+                       }
+               }
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, decompressed_length));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, compressed_length));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->ts));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->ts) {
+                       {
+                               struct ndr_push *_ndr_ts;
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
+                               {
+                                       struct ndr_push *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                               }
+                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ts, 4, -1));
+                       }
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               uint32_t decompressed_length = 0;
+               uint32_t compressed_length = 0;
+               if (r->ts) {
+                       {
+                               struct ndr_push *_ndr_ts;
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
+                               {
+                                       struct ndr_push *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       decompressed_length = _ndr_ts_compressed->offset;
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                               }
+                               compressed_length = _ndr_ts->offset;
+                               talloc_free(_ndr_ts);
+                       }
+               }
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, decompressed_length));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, compressed_length));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->ts));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->ts) {
+                       {
+                               struct ndr_push *_ndr_ts;
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
+                               {
+                                       struct ndr_push *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                               }
+                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ts, 4, -1));
+                       }
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               uint32_t decompressed_length = 0;
+               uint32_t compressed_length = 0;
+               if (r->ts) {
+                       {
+                               struct ndr_push *_ndr_ts;
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
+                               {
+                                       struct ndr_push *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, -1));
+                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       decompressed_length = _ndr_ts_compressed->offset;
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, -1));
+                               }
+                               compressed_length = _ndr_ts->offset;
+                               talloc_free(_ndr_ts);
+                       }
+               }
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, decompressed_length));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, compressed_length));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->ts));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->ts) {
+                       {
+                               struct ndr_push *_ndr_ts;
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
+                               {
+                                       struct ndr_push *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, -1));
+                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, -1));
+                               }
+                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ts, 4, -1));
+                       }
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               uint32_t decompressed_length = 0;
+               uint32_t compressed_length = 0;
+               if (r->ts) {
+                       {
+                               struct ndr_push *_ndr_ts;
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
+                               {
+                                       struct ndr_push *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, -1));
+                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       decompressed_length = _ndr_ts_compressed->offset;
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, -1));
+                               }
+                               compressed_length = _ndr_ts->offset;
+                               talloc_free(_ndr_ts);
+                       }
+               }
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, decompressed_length));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, compressed_length));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->ts));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->ts) {
+                       {
+                               struct ndr_push *_ndr_ts;
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
+                               {
+                                       struct ndr_push *_ndr_ts_compressed;
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, -1));
+                                       NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, -1));
+                               }
+                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ts, 4, -1));
+                       }
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}