summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/librpc/gen_ndr/libnetapi.h29
-rw-r--r--source3/librpc/gen_ndr/ndr_libnetapi.c107
-rw-r--r--source3/librpc/gen_ndr/ndr_libnetapi.h10
3 files changed, 145 insertions, 1 deletions
diff --git a/source3/librpc/gen_ndr/libnetapi.h b/source3/librpc/gen_ndr/libnetapi.h
index 8247e9e64f..88fe43ac78 100644
--- a/source3/librpc/gen_ndr/libnetapi.h
+++ b/source3/librpc/gen_ndr/libnetapi.h
@@ -17,6 +17,18 @@ enum NET_API_STATUS
#endif
;
+struct DOMAIN_CONTROLLER_INFO {
+ const char * domain_controller_name;
+ const char * domain_controller_address;
+ uint32_t domain_controller_address_type;
+ struct GUID domain_guid;
+ const char * domain_name;
+ const char * dns_forest_name;
+ uint32_t flags;
+ const char * dc_site_name;
+ const char * client_site_name;
+};
+
struct NetJoinDomain {
struct {
@@ -137,4 +149,21 @@ struct NetGetAnyDCName {
};
+
+struct DsGetDcName {
+ struct {
+ const char * server_name;/* [unique] */
+ const char * domain_name;/* [ref] */
+ struct GUID *domain_guid;/* [unique] */
+ const char * site_name;/* [unique] */
+ uint32_t flags;
+ } in;
+
+ struct {
+ struct DOMAIN_CONTROLLER_INFO **dc_info;/* [ref] */
+ enum NET_API_STATUS result;
+ } out;
+
+};
+
#endif /* _HEADER_libnetapi */
diff --git a/source3/librpc/gen_ndr/ndr_libnetapi.c b/source3/librpc/gen_ndr/ndr_libnetapi.c
index 5dc3c3d826..cca10e8416 100644
--- a/source3/librpc/gen_ndr/ndr_libnetapi.c
+++ b/source3/librpc/gen_ndr/ndr_libnetapi.c
@@ -27,6 +27,60 @@ _PUBLIC_ void ndr_print_NET_API_STATUS(struct ndr_print *ndr, const char *name,
ndr_print_enum(ndr, name, "ENUM", val, r);
}
+_PUBLIC_ enum ndr_err_code ndr_push_DOMAIN_CONTROLLER_INFO(struct ndr_push *ndr, int ndr_flags, const struct DOMAIN_CONTROLLER_INFO *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_controller_name));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_controller_address));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->domain_controller_address_type));
+ NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_forest_name));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dc_site_name));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->client_site_name));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_DOMAIN_CONTROLLER_INFO(struct ndr_pull *ndr, int ndr_flags, struct DOMAIN_CONTROLLER_INFO *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_controller_name));
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_controller_address));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->domain_controller_address_type));
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name));
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_forest_name));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dc_site_name));
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->client_site_name));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_DOMAIN_CONTROLLER_INFO(struct ndr_print *ndr, const char *name, const struct DOMAIN_CONTROLLER_INFO *r)
+{
+ ndr_print_struct(ndr, name, "DOMAIN_CONTROLLER_INFO");
+ ndr->depth++;
+ ndr_print_string(ndr, "domain_controller_name", r->domain_controller_name);
+ ndr_print_string(ndr, "domain_controller_address", r->domain_controller_address);
+ ndr_print_uint32(ndr, "domain_controller_address_type", r->domain_controller_address_type);
+ ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
+ ndr_print_string(ndr, "domain_name", r->domain_name);
+ ndr_print_string(ndr, "dns_forest_name", r->dns_forest_name);
+ ndr_print_uint32(ndr, "flags", r->flags);
+ ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
+ ndr_print_string(ndr, "client_site_name", r->client_site_name);
+ ndr->depth--;
+}
+
_PUBLIC_ void ndr_print_NetJoinDomain(struct ndr_print *ndr, const char *name, int flags, const struct NetJoinDomain *r)
{
ndr_print_struct(ndr, name, "NetJoinDomain");
@@ -375,3 +429,56 @@ _PUBLIC_ void ndr_print_NetGetAnyDCName(struct ndr_print *ndr, const char *name,
ndr->depth--;
}
+_PUBLIC_ void ndr_print_DsGetDcName(struct ndr_print *ndr, const char *name, int flags, const struct DsGetDcName *r)
+{
+ ndr_print_struct(ndr, name, "DsGetDcName");
+ ndr->depth++;
+ if (flags & NDR_SET_VALUES) {
+ ndr->flags |= LIBNDR_PRINT_SET_VALUES;
+ }
+ if (flags & NDR_IN) {
+ ndr_print_struct(ndr, "in", "DsGetDcName");
+ ndr->depth++;
+ ndr_print_ptr(ndr, "server_name", r->in.server_name);
+ ndr->depth++;
+ if (r->in.server_name) {
+ ndr_print_string(ndr, "server_name", r->in.server_name);
+ }
+ ndr->depth--;
+ ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
+ ndr->depth++;
+ ndr_print_string(ndr, "domain_name", r->in.domain_name);
+ ndr->depth--;
+ ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
+ ndr->depth++;
+ if (r->in.domain_guid) {
+ ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
+ }
+ ndr->depth--;
+ ndr_print_ptr(ndr, "site_name", r->in.site_name);
+ ndr->depth++;
+ if (r->in.site_name) {
+ ndr_print_string(ndr, "site_name", r->in.site_name);
+ }
+ ndr->depth--;
+ ndr_print_uint32(ndr, "flags", r->in.flags);
+ ndr->depth--;
+ }
+ if (flags & NDR_OUT) {
+ ndr_print_struct(ndr, "out", "DsGetDcName");
+ ndr->depth++;
+ ndr_print_ptr(ndr, "dc_info", r->out.dc_info);
+ ndr->depth++;
+ ndr_print_ptr(ndr, "dc_info", *r->out.dc_info);
+ ndr->depth++;
+ if (*r->out.dc_info) {
+ ndr_print_DOMAIN_CONTROLLER_INFO(ndr, "dc_info", *r->out.dc_info);
+ }
+ ndr->depth--;
+ ndr->depth--;
+ ndr_print_NET_API_STATUS(ndr, "result", r->out.result);
+ ndr->depth--;
+ }
+ ndr->depth--;
+}
+
diff --git a/source3/librpc/gen_ndr/ndr_libnetapi.h b/source3/librpc/gen_ndr/ndr_libnetapi.h
index 890c7d0d34..eff4f6db91 100644
--- a/source3/librpc/gen_ndr/ndr_libnetapi.h
+++ b/source3/librpc/gen_ndr/ndr_libnetapi.h
@@ -22,10 +22,15 @@
#define NDR_NETGETANYDCNAME (0x07)
-#define NDR_LIBNETAPI_CALL_COUNT (8)
+#define NDR_DSGETDCNAME (0x08)
+
+#define NDR_LIBNETAPI_CALL_COUNT (9)
enum ndr_err_code ndr_push_NET_API_STATUS(struct ndr_push *ndr, int ndr_flags, enum NET_API_STATUS r);
enum ndr_err_code ndr_pull_NET_API_STATUS(struct ndr_pull *ndr, int ndr_flags, enum NET_API_STATUS *r);
void ndr_print_NET_API_STATUS(struct ndr_print *ndr, const char *name, enum NET_API_STATUS r);
+enum ndr_err_code ndr_push_DOMAIN_CONTROLLER_INFO(struct ndr_push *ndr, int ndr_flags, const struct DOMAIN_CONTROLLER_INFO *r);
+enum ndr_err_code ndr_pull_DOMAIN_CONTROLLER_INFO(struct ndr_pull *ndr, int ndr_flags, struct DOMAIN_CONTROLLER_INFO *r);
+void ndr_print_DOMAIN_CONTROLLER_INFO(struct ndr_print *ndr, const char *name, const struct DOMAIN_CONTROLLER_INFO *r);
enum ndr_err_code ndr_push_NetJoinDomain(struct ndr_push *ndr, int flags, const struct NetJoinDomain *r);
enum ndr_err_code ndr_pull_NetJoinDomain(struct ndr_pull *ndr, int flags, struct NetJoinDomain *r);
void ndr_print_NetJoinDomain(struct ndr_print *ndr, const char *name, int flags, const struct NetJoinDomain *r);
@@ -50,4 +55,7 @@ void ndr_print_NetGetDCName(struct ndr_print *ndr, const char *name, int flags,
enum ndr_err_code ndr_push_NetGetAnyDCName(struct ndr_push *ndr, int flags, const struct NetGetAnyDCName *r);
enum ndr_err_code ndr_pull_NetGetAnyDCName(struct ndr_pull *ndr, int flags, struct NetGetAnyDCName *r);
void ndr_print_NetGetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct NetGetAnyDCName *r);
+enum ndr_err_code ndr_push_DsGetDcName(struct ndr_push *ndr, int flags, const struct DsGetDcName *r);
+enum ndr_err_code ndr_pull_DsGetDcName(struct ndr_pull *ndr, int flags, struct DsGetDcName *r);
+void ndr_print_DsGetDcName(struct ndr_print *ndr, const char *name, int flags, const struct DsGetDcName *r);
#endif /* _HEADER_NDR_libnetapi */