s3: re-run make full_idl.
[abartlet/samba.git/.git] / librpc / gen_ndr / ndr_drsblobs.c
index 8a0842bce3ed5cdfddc9d977e9a4b3cf94bb5694..807d15f267e19b076f3f237583658b24c55f0afa 100644 (file)
@@ -60,7 +60,7 @@ static enum ndr_err_code ndr_push_replPropertyMetaDataCtr1(struct ndr_push *ndr,
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 8));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
                        NDR_CHECK(ndr_push_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
                }
@@ -99,7 +99,7 @@ _PUBLIC_ void ndr_print_replPropertyMetaDataCtr1(struct ndr_print *ndr, const ch
        ndr_print_struct(ndr, name, "replPropertyMetaDataCtr1");
        ndr->depth++;
        ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_uint32(ndr, "reserved", r->reserved);
+       ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
        ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
        ndr->depth++;
        for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
@@ -187,7 +187,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_replPropertyMetaDataBlob(struct ndr_push *nd
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 8));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
                NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr));
                NDR_CHECK(ndr_push_trailer_align(ndr, 8));
@@ -217,7 +217,7 @@ _PUBLIC_ void ndr_print_replPropertyMetaDataBlob(struct ndr_print *ndr, const ch
        ndr_print_struct(ndr, name, "replPropertyMetaDataBlob");
        ndr->depth++;
        ndr_print_uint32(ndr, "version", r->version);
-       ndr_print_uint32(ndr, "reserved", r->reserved);
+       ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
        ndr_print_set_switch_value(ndr, &r->ctr, r->version);
        ndr_print_replPropertyMetaDataCtr(ndr, "ctr", &r->ctr);
        ndr->depth--;
@@ -229,7 +229,7 @@ static enum ndr_err_code ndr_push_replUpToDateVectorCtr1(struct ndr_push *ndr, i
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 8));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
                        NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
                }
@@ -268,7 +268,7 @@ _PUBLIC_ void ndr_print_replUpToDateVectorCtr1(struct ndr_print *ndr, const char
        ndr_print_struct(ndr, name, "replUpToDateVectorCtr1");
        ndr->depth++;
        ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_uint32(ndr, "reserved", r->reserved);
+       ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
        ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
        ndr->depth++;
        for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
@@ -288,7 +288,7 @@ static enum ndr_err_code ndr_push_replUpToDateVectorCtr2(struct ndr_push *ndr, i
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 8));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
                        NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
                }
@@ -327,7 +327,7 @@ _PUBLIC_ void ndr_print_replUpToDateVectorCtr2(struct ndr_print *ndr, const char
        ndr_print_struct(ndr, name, "replUpToDateVectorCtr2");
        ndr->depth++;
        ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_uint32(ndr, "reserved", r->reserved);
+       ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
        ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
        ndr->depth++;
        for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
@@ -433,7 +433,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_replUpToDateVectorBlob(struct ndr_push *ndr,
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 8));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
                NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr));
                NDR_CHECK(ndr_push_trailer_align(ndr, 8));
@@ -463,7 +463,7 @@ _PUBLIC_ void ndr_print_replUpToDateVectorBlob(struct ndr_print *ndr, const char
        ndr_print_struct(ndr, name, "replUpToDateVectorBlob");
        ndr->depth++;
        ndr_print_uint32(ndr, "version", r->version);
-       ndr_print_uint32(ndr, "reserved", r->reserved);
+       ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
        ndr_print_set_switch_value(ndr, &r->ctr, r->version);
        ndr_print_replUpToDateVectorCtr(ndr, "ctr", &r->ctr);
        ndr->depth--;
@@ -523,9 +523,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_fl
                        NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags)));
-                       NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
+                       NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
                        NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                        NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
                        NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
                        NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
@@ -534,8 +534,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_fl
                }
                if (ndr_flags & NDR_BUFFERS) {
                        if (r->other_info) {
-                               NDR_CHECK(ndr_push_relative_ptr2(ndr, r->other_info));
+                               NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
                                NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
+                               NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
                        }
                }
                ndr->flags = _flags_save_STRUCT;
@@ -565,7 +566,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1(struct ndr_pull *ndr, int ndr_fl
                                r->other_info = NULL;
                        }
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length));
-                       NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
+                       NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
                        NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
                        NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
@@ -583,6 +584,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1(struct ndr_pull *ndr, int ndr_fl
                                NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
                                NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) {
+                                       ndr->relative_highest_offset = ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                }
@@ -610,9 +614,9 @@ _PUBLIC_ void ndr_print_repsFromTo1(struct ndr_print *ndr, const char *name, con
                }
                ndr->depth--;
                ndr_print_uint32(ndr, "other_info_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags):r->other_info_length);
-               ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
+               ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
                ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
-               ndr_print_uint32(ndr, "reserved", r->reserved);
+               ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
                ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
                ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
                ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
@@ -657,8 +661,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, i
                        uint32_t _flags_save_string = ndr->flags;
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
                        if (r->dns_name1) {
-                               NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dns_name1));
+                               NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name1));
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name1));
+                               NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name1));
                        }
                        ndr->flags = _flags_save_string;
                }
@@ -666,8 +671,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, i
                        uint32_t _flags_save_string = ndr->flags;
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
                        if (r->dns_name2) {
-                               NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dns_name2));
+                               NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name2));
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name2));
+                               NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name2));
                        }
                        ndr->flags = _flags_save_string;
                }
@@ -728,6 +734,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->dns_name1, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name1));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name1_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) {
+                                       ndr->relative_highest_offset = ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -743,6 +752,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->dns_name2, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name2));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name2_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) {
+                                       ndr->relative_highest_offset = ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -793,9 +805,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_fl
                        NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags)));
-                       NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
+                       NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
                        NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                        NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
                        NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
                        NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
@@ -805,8 +817,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_fl
                }
                if (ndr_flags & NDR_BUFFERS) {
                        if (r->other_info) {
-                               NDR_CHECK(ndr_push_relative_ptr2(ndr, r->other_info));
+                               NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
                                NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info));
+                               NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
                        }
                }
                ndr->flags = _flags_save_STRUCT;
@@ -836,7 +849,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2(struct ndr_pull *ndr, int ndr_fl
                                r->other_info = NULL;
                        }
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length));
-                       NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
+                       NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
                        NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
                        NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
@@ -855,6 +868,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2(struct ndr_pull *ndr, int ndr_fl
                                NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
                                NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) {
+                                       ndr->relative_highest_offset = ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                }
@@ -882,9 +898,9 @@ _PUBLIC_ void ndr_print_repsFromTo2(struct ndr_print *ndr, const char *name, con
                }
                ndr->depth--;
                ndr_print_uint32(ndr, "other_info_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags):r->other_info_length);
-               ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
+               ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
                ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
-               ndr_print_uint32(ndr, "reserved", r->reserved);
+               ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
                ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
                ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
                ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
@@ -997,7 +1013,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromToBlob(struct ndr_push *ndr, int ndr
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 8));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
                NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_SCALARS, &r->ctr));
                NDR_CHECK(ndr_push_trailer_align(ndr, 8));
@@ -1029,7 +1045,7 @@ _PUBLIC_ void ndr_print_repsFromToBlob(struct ndr_print *ndr, const char *name,
        ndr_print_struct(ndr, name, "repsFromToBlob");
        ndr->depth++;
        ndr_print_uint32(ndr, "version", r->version);
-       ndr_print_uint32(ndr, "reserved", r->reserved);
+       ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
        ndr_print_set_switch_value(ndr, &r->ctr, r->version);
        ndr_print_repsFromTo(ndr, "ctr", &r->ctr);
        ndr->depth--;
@@ -1165,7 +1181,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_partialAttributeSetBlob(struct ndr_push *ndr
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
                NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr));
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
@@ -1195,12 +1211,115 @@ _PUBLIC_ void ndr_print_partialAttributeSetBlob(struct ndr_print *ndr, const cha
        ndr_print_struct(ndr, name, "partialAttributeSetBlob");
        ndr->depth++;
        ndr_print_uint32(ndr, "version", r->version);
-       ndr_print_uint32(ndr, "reserved", r->reserved);
+       ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
        ndr_print_set_switch_value(ndr, &r->ctr, r->version);
        ndr_print_partialAttributeSetCtr(ndr, "ctr", &r->ctr);
        ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Entry(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Entry *r)
+{
+       {
+               uint32_t _flags_save_STRUCT = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
+               if (ndr_flags & NDR_SCALARS) {
+                       NDR_CHECK(ndr_push_align(ndr, 2));
+                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->entryID));
+                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
+                       NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 2));
+               }
+               if (ndr_flags & NDR_BUFFERS) {
+               }
+               ndr->flags = _flags_save_STRUCT;
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Entry(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Entry *r)
+{
+       {
+               uint32_t _flags_save_STRUCT = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
+               if (ndr_flags & NDR_SCALARS) {
+                       NDR_CHECK(ndr_pull_align(ndr, 2));
+                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->entryID));
+                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
+                       NDR_PULL_ALLOC_N(ndr, r->binary_oid, r->length);
+                       NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
+               }
+               if (ndr_flags & NDR_BUFFERS) {
+               }
+               ndr->flags = _flags_save_STRUCT;
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Ctr *r)
+{
+       uint32_t cntr_entries_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_entries));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->iconv_convenience, ndr->flags)));
+               for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
+                       NDR_CHECK(ndr_push_drsuapi_MSPrefixMap_Entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
+               }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Ctr *r)
+{
+       uint32_t cntr_entries_0;
+       TALLOC_CTX *_mem_save_entries_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_entries));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
+               NDR_PULL_ALLOC_N(ndr, r->entries, r->num_entries);
+               _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+               for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
+                       NDR_CHECK(ndr_pull_drsuapi_MSPrefixMap_Entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
+               }
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_drsuapi_MSPrefixMap_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_MSPrefixMap_Ctr *r)
+{
+       uint32_t cntr_entries_0;
+       ndr_print_struct(ndr, name, "drsuapi_MSPrefixMap_Ctr");
+       ndr->depth++;
+       ndr_print_uint32(ndr, "num_entries", r->num_entries);
+       ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
+       ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->num_entries);
+       ndr->depth++;
+       for (cntr_entries_0=0;cntr_entries_0<r->num_entries;cntr_entries_0++) {
+               char *idx_0=NULL;
+               if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) {
+                       ndr_print_drsuapi_MSPrefixMap_Entry(ndr, "entries", &r->entries[cntr_entries_0]);
+                       free(idx_0);
+               }
+       }
+       ndr->depth--;
+       ndr->depth--;
+}
+
+_PUBLIC_ size_t ndr_size_drsuapi_MSPrefixMap_Ctr(const struct drsuapi_MSPrefixMap_Ctr *r, struct smb_iconv_convenience *ic, int flags)
+{
+       return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_MSPrefixMap_Ctr, ic);
+}
+
 static enum ndr_err_code ndr_push_prefixMapVersion(struct ndr_push *ndr, int ndr_flags, enum prefixMapVersion r)
 {
        NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
@@ -1301,7 +1420,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_prefixMapBlob(struct ndr_push *ndr, int ndr_
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_prefixMapVersion(ndr, NDR_SCALARS, r->version));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
                NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
@@ -1333,7 +1452,7 @@ _PUBLIC_ void ndr_print_prefixMapBlob(struct ndr_print *ndr, const char *name, c
        ndr_print_struct(ndr, name, "prefixMapBlob");
        ndr->depth++;
        ndr_print_prefixMapVersion(ndr, "version", r->version);
-       ndr_print_uint32(ndr, "reserved", r->reserved);
+       ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
        ndr_print_set_switch_value(ndr, &r->ctr, r->version);
        ndr_print_prefixMapCtr(ndr, "ctr", &r->ctr);
        ndr->depth--;
@@ -1794,13 +1913,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push
                        uint32_t _flags_save_string = ndr->flags;
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
                        if (r->string) {
-                               NDR_CHECK(ndr_push_relative_ptr2(ndr, r->string));
+                               NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string));
                                {
                                        struct ndr_push *_ndr_string;
                                        NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string)));
                                        NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string));
                                        NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string)));
                                }
+                               NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string));
                        }
                        ndr->flags = _flags_save_string;
                }
@@ -1847,6 +1967,9 @@ static enum ndr_err_code ndr_pull_package_PrimaryKerberosString(struct ndr_pull
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_string, 0, r->size));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) {
+                                       ndr->relative_highest_offset = ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1892,13 +2015,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *n
                        uint32_t _flags_save_DATA_BLOB = ndr->flags;
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
                        if (r->value) {
-                               NDR_CHECK(ndr_push_relative_ptr2(ndr, r->value));
+                               NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
                                {
                                        struct ndr_push *_ndr_value;
                                        NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
                                        NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
                                        NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
                                }
+                               NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
                        }
                        ndr->flags = _flags_save_DATA_BLOB;
                }
@@ -1948,6 +2072,9 @@ static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *n
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) {
+                                       ndr->relative_highest_offset = ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_DATA_BLOB;
@@ -2118,13 +2245,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *n
                        uint32_t _flags_save_DATA_BLOB = ndr->flags;
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
                        if (r->value) {
-                               NDR_CHECK(ndr_push_relative_ptr2(ndr, r->value));
+                               NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
                                {
                                        struct ndr_push *_ndr_value;
                                        NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
                                        NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
                                        NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
                                }
+                               NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
                        }
                        ndr->flags = _flags_save_DATA_BLOB;
                }
@@ -2175,6 +2303,9 @@ static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *n
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) {
+                                       ndr->relative_highest_offset = ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_DATA_BLOB;
@@ -3001,8 +3132,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr,
        if (ndr_flags & NDR_BUFFERS) {
                for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
                        if (r->current[cntr_current_0]) {
-                               NDR_CHECK(ndr_push_relative_ptr2(ndr, r->current[cntr_current_0]));
+                               NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0]));
                                NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
+                               NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0]));
                        }
                }
        }
@@ -3045,6 +3177,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr,
                                NDR_PULL_SET_MEM_CTX(ndr, r->current[cntr_current_0], 0);
                                NDR_CHECK(ndr_pull_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_1, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) {
+                                       ndr->relative_highest_offset = ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                }