#define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
#define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
+/* bitmap drsuapi_SupportedExtensionsExt */
+#define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
+#define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
+
struct drsuapi_DsBindInfo24 {
uint32_t supported_extensions;
struct GUID site_guid;
uint32_t repl_epoch;
};
+struct drsuapi_DsBindInfo48 {
+ uint32_t supported_extensions;
+ struct GUID site_guid;
+ uint32_t u1;
+ uint32_t repl_epoch;
+ uint32_t supported_extensions_ext;
+ struct GUID config_dn_guid;
+};
+
struct drsuapi_DsBindInfoFallBack {
DATA_BLOB info;/* [flag(LIBNDR_FLAG_REMAINING)] */
};
union drsuapi_DsBindInfo {
struct drsuapi_DsBindInfo24 info24;/* [subcontext(4),case(24)] */
struct drsuapi_DsBindInfo28 info28;/* [subcontext(4),case(28)] */
+ struct drsuapi_DsBindInfo48 info48;/* [subcontext(4),case(48)] */
struct drsuapi_DsBindInfoFallBack FallBack;/* [subcontext(4),default] */
}/* [nodiscriminant] */;
ndr->depth--;
}
+static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+{
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+{
+ uint32_t v;
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+ *r = v;
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
+{
+ ndr_print_uint32(ndr, name, r);
+ ndr->depth++;
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
+ ndr->depth--;
+}
+
static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
{
if (ndr_flags & NDR_SCALARS) {
ndr->depth--;
}
+static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
+ NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
+ NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
+ NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
+ NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
+{
+ ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
+ ndr->depth++;
+ ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
+ ndr_print_GUID(ndr, "site_guid", &r->site_guid);
+ ndr_print_uint32(ndr, "u1", r->u1);
+ ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
+ ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
+ ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
+ ndr->depth--;
+}
+
static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
{
if (ndr_flags & NDR_SCALARS) {
}
break; }
+ case 48: {
+ {
+ struct ndr_push *_ndr_info48;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
+ NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
+ }
+ break; }
+
default: {
{
struct ndr_push *_ndr_FallBack;
case 28:
break;
+ case 48:
+ break;
+
default:
break;
}
break; }
+ case 48: {
+ {
+ struct ndr_pull *_ndr_info48;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
+ NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
+ }
+ break; }
+
default: {
{
struct ndr_pull *_ndr_FallBack;
case 28:
break;
+ case 48:
+ break;
+
default:
break;
ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
break;
+ case 48:
+ ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
+ break;
+
default:
ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
break;