s3-libnetapi: add I_NetLogonControl{2} to IDL.
authorGünther Deschner <gd@samba.org>
Tue, 13 Oct 2009 13:39:27 +0000 (15:39 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 16 Oct 2009 08:50:27 +0000 (10:50 +0200)
Guenther

source3/librpc/gen_ndr/libnetapi.h
source3/librpc/gen_ndr/ndr_libnetapi.c
source3/librpc/gen_ndr/ndr_libnetapi.h
source3/librpc/idl/libnetapi.idl

index 97b114150ea8b238eaa017c497595ef40a265710..83acb3aa50367c4aad2d8117864bb187ae7f5c0d 100644 (file)
@@ -1295,6 +1295,33 @@ struct FILE_INFO_3 {
        const char * fi3_username;
 };
 
+struct NETLOGON_INFO_1 {
+       uint32_t netlog1_flags;
+       enum NET_API_STATUS netlog1_pdc_connection_status;
+};
+
+struct NETLOGON_INFO_2 {
+       uint32_t netlog2_flags;
+       enum NET_API_STATUS netlog2_pdc_connection_status;
+       const char * netlog2_trusted_dc_name;
+       enum NET_API_STATUS netlog2_tc_connection_status;
+};
+
+struct NETLOGON_INFO_3 {
+       uint32_t netlog1_flags;
+       uint32_t netlog3_logon_attempts;
+       uint32_t netlog3_reserved1;
+       uint32_t netlog3_reserved2;
+       uint32_t netlog3_reserved3;
+       uint32_t netlog3_reserved4;
+       uint32_t netlog3_reserved5;
+};
+
+struct NETLOGON_INFO_4 {
+       const char * netlog4_trusted_dc_name;
+       const char * netlog4_trusted_domain_name;
+};
+
 
 struct NetJoinDomain {
        struct {
@@ -2099,4 +2126,35 @@ struct NetShutdownAbort {
 
 };
 
+
+struct I_NetLogonControl {
+       struct {
+               const char * server_name;
+               uint32_t function_code;
+               uint32_t query_level;
+       } in;
+
+       struct {
+               uint8_t **buffer;/* [ref] */
+               enum NET_API_STATUS result;
+       } out;
+
+};
+
+
+struct I_NetLogonControl2 {
+       struct {
+               const char * server_name;
+               uint32_t function_code;
+               uint32_t query_level;
+               uint8_t *data;/* [ref] */
+       } in;
+
+       struct {
+               uint8_t **buffer;/* [ref] */
+               enum NET_API_STATUS result;
+       } out;
+
+};
+
 #endif /* _HEADER_libnetapi */
index 01910f9ef6b899bef08f5f3f9a68b9f3f1326aee..2dfca23e28a9d2e836125e607603377ec73d384d 100644 (file)
@@ -7938,3 +7938,73 @@ _PUBLIC_ void ndr_print_NetShutdownAbort(struct ndr_print *ndr, const char *name
        ndr->depth--;
 }
 
+_PUBLIC_ void ndr_print_I_NetLogonControl(struct ndr_print *ndr, const char *name, int flags, const struct I_NetLogonControl *r)
+{
+       ndr_print_struct(ndr, name, "I_NetLogonControl");
+       ndr->depth++;
+       if (flags & NDR_SET_VALUES) {
+               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
+       }
+       if (flags & NDR_IN) {
+               ndr_print_struct(ndr, "in", "I_NetLogonControl");
+               ndr->depth++;
+               ndr_print_string(ndr, "server_name", r->in.server_name);
+               ndr_print_uint32(ndr, "function_code", r->in.function_code);
+               ndr_print_uint32(ndr, "query_level", r->in.query_level);
+               ndr->depth--;
+       }
+       if (flags & NDR_OUT) {
+               ndr_print_struct(ndr, "out", "I_NetLogonControl");
+               ndr->depth++;
+               ndr_print_ptr(ndr, "buffer", r->out.buffer);
+               ndr->depth++;
+               ndr_print_ptr(ndr, "buffer", *r->out.buffer);
+               ndr->depth++;
+               if (*r->out.buffer) {
+                       ndr_print_uint8(ndr, "buffer", **r->out.buffer);
+               }
+               ndr->depth--;
+               ndr->depth--;
+               ndr_print_NET_API_STATUS(ndr, "result", r->out.result);
+               ndr->depth--;
+       }
+       ndr->depth--;
+}
+
+_PUBLIC_ void ndr_print_I_NetLogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct I_NetLogonControl2 *r)
+{
+       ndr_print_struct(ndr, name, "I_NetLogonControl2");
+       ndr->depth++;
+       if (flags & NDR_SET_VALUES) {
+               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
+       }
+       if (flags & NDR_IN) {
+               ndr_print_struct(ndr, "in", "I_NetLogonControl2");
+               ndr->depth++;
+               ndr_print_string(ndr, "server_name", r->in.server_name);
+               ndr_print_uint32(ndr, "function_code", r->in.function_code);
+               ndr_print_uint32(ndr, "query_level", r->in.query_level);
+               ndr_print_ptr(ndr, "data", r->in.data);
+               ndr->depth++;
+               ndr_print_uint8(ndr, "data", *r->in.data);
+               ndr->depth--;
+               ndr->depth--;
+       }
+       if (flags & NDR_OUT) {
+               ndr_print_struct(ndr, "out", "I_NetLogonControl2");
+               ndr->depth++;
+               ndr_print_ptr(ndr, "buffer", r->out.buffer);
+               ndr->depth++;
+               ndr_print_ptr(ndr, "buffer", *r->out.buffer);
+               ndr->depth++;
+               if (*r->out.buffer) {
+                       ndr_print_uint8(ndr, "buffer", **r->out.buffer);
+               }
+               ndr->depth--;
+               ndr->depth--;
+               ndr_print_NET_API_STATUS(ndr, "result", r->out.result);
+               ndr->depth--;
+       }
+       ndr->depth--;
+}
+
index f7143023820877941f220f6e92fedd6825460c92..e7825f2edfa025ef0361c97a857036d267af3620 100644 (file)
 
 #define NDR_NETSHUTDOWNABORT (0x32)
 
-#define NDR_LIBNETAPI_CALL_COUNT (51)
+#define NDR_I_NETLOGONCONTROL (0x33)
+
+#define NDR_I_NETLOGONCONTROL2 (0x34)
+
+#define NDR_LIBNETAPI_CALL_COUNT (53)
 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);
@@ -697,4 +701,10 @@ void ndr_print_NetShutdownInit(struct ndr_print *ndr, const char *name, int flag
 enum ndr_err_code ndr_push_NetShutdownAbort(struct ndr_push *ndr, int flags, const struct NetShutdownAbort *r);
 enum ndr_err_code ndr_pull_NetShutdownAbort(struct ndr_pull *ndr, int flags, struct NetShutdownAbort *r);
 void ndr_print_NetShutdownAbort(struct ndr_print *ndr, const char *name, int flags, const struct NetShutdownAbort *r);
+enum ndr_err_code ndr_push_I_NetLogonControl(struct ndr_push *ndr, int flags, const struct I_NetLogonControl *r);
+enum ndr_err_code ndr_pull_I_NetLogonControl(struct ndr_pull *ndr, int flags, struct I_NetLogonControl *r);
+void ndr_print_I_NetLogonControl(struct ndr_print *ndr, const char *name, int flags, const struct I_NetLogonControl *r);
+enum ndr_err_code ndr_push_I_NetLogonControl2(struct ndr_push *ndr, int flags, const struct I_NetLogonControl2 *r);
+enum ndr_err_code ndr_pull_I_NetLogonControl2(struct ndr_pull *ndr, int flags, struct I_NetLogonControl2 *r);
+void ndr_print_I_NetLogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct I_NetLogonControl2 *r);
 #endif /* _HEADER_NDR_libnetapi */
index 54e1bff8abeac3d7276107b61762bdf108a23365..593ee1c560381a99506751e1b3a8df9abcc7616b 100644 (file)
@@ -1870,4 +1870,53 @@ interface libnetapi
                [in] string server_name
        );
 
+       /*******************************************/
+       /* I_NetLogonControl                       */
+       /*******************************************/
+
+       typedef struct {
+               uint32 netlog1_flags;
+               NET_API_STATUS netlog1_pdc_connection_status;
+       } NETLOGON_INFO_1;
+
+       typedef struct {
+               uint32 netlog2_flags;
+               NET_API_STATUS netlog2_pdc_connection_status;
+               string netlog2_trusted_dc_name;
+               NET_API_STATUS netlog2_tc_connection_status;
+       } NETLOGON_INFO_2;
+
+       typedef struct {
+               uint32 netlog1_flags;
+               uint32 netlog3_logon_attempts;
+               uint32 netlog3_reserved1;
+               uint32 netlog3_reserved2;
+               uint32 netlog3_reserved3;
+               uint32 netlog3_reserved4;
+               uint32 netlog3_reserved5;
+       } NETLOGON_INFO_3;
+
+       typedef struct {
+               string netlog4_trusted_dc_name;
+               string netlog4_trusted_domain_name;
+       } NETLOGON_INFO_4;
+
+       [nopush,nopull] NET_API_STATUS I_NetLogonControl(
+               [in] string server_name,
+               [in] uint32 function_code,
+               [in] uint32 query_level,
+               [out,ref] uint8 **buffer
+       );
+
+       /*******************************************/
+       /* I_NetLogonControl2                      */
+       /*******************************************/
+
+       [nopush,nopull] NET_API_STATUS I_NetLogonControl2(
+               [in] string server_name,
+               [in] uint32 function_code,
+               [in] uint32 query_level,
+               [in] uint8 *data,
+               [out,ref] uint8 **buffer
+       );
 }