s3/s4: Add new autogenerated files from "make idl_full"
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Mon, 3 Aug 2009 07:51:44 +0000 (09:51 +0200)
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Mon, 3 Aug 2009 07:51:44 +0000 (09:51 +0200)
librpc/gen_ndr/cli_netlogon.c
librpc/gen_ndr/cli_netlogon.h
librpc/gen_ndr/ndr_netlogon.c
librpc/gen_ndr/ndr_netlogon.h
librpc/gen_ndr/netlogon.h

index 6d454ce9f2e02316fb4854c3547722939eed6273..b173804c621e179ee03c400b43b00391d6668f24 100644 (file)
@@ -19,8 +19,8 @@ struct tevent_req *rpccli_netr_LogonUasLogon_send(TALLOC_CTX *mem_ctx,
                                                  struct tevent_context *ev,
                                                  struct rpc_pipe_client *cli,
                                                  const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                 const char *_account_name /* [in] [charset(UTF16)] */,
-                                                 const char *_workstation /* [in] [charset(UTF16)] */,
+                                                 const char *_account_name /* [in] [ref,charset(UTF16)] */,
+                                                 const char *_workstation /* [in] [ref,charset(UTF16)] */,
                                                  struct netr_UasInfo **_info /* [out] [ref] */)
 {
        struct tevent_req *req;
@@ -134,8 +134,8 @@ NTSTATUS rpccli_netr_LogonUasLogon_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli,
                                   TALLOC_CTX *mem_ctx,
                                   const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                  const char *account_name /* [in] [charset(UTF16)] */,
-                                  const char *workstation /* [in] [charset(UTF16)] */,
+                                  const char *account_name /* [in] [ref,charset(UTF16)] */,
+                                  const char *workstation /* [in] [ref,charset(UTF16)] */,
                                   struct netr_UasInfo **info /* [out] [ref] */,
                                   WERROR *werror)
 {
@@ -193,8 +193,8 @@ struct tevent_req *rpccli_netr_LogonUasLogoff_send(TALLOC_CTX *mem_ctx,
                                                   struct tevent_context *ev,
                                                   struct rpc_pipe_client *cli,
                                                   const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                  const char *_account_name /* [in] [charset(UTF16)] */,
-                                                  const char *_workstation /* [in] [charset(UTF16)] */,
+                                                  const char *_account_name /* [in] [ref,charset(UTF16)] */,
+                                                  const char *_workstation /* [in] [ref,charset(UTF16)] */,
                                                   struct netr_UasLogoffInfo *_info /* [out] [ref] */)
 {
        struct tevent_req *req;
@@ -308,8 +308,8 @@ NTSTATUS rpccli_netr_LogonUasLogoff_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli,
                                    TALLOC_CTX *mem_ctx,
                                    const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                   const char *account_name /* [in] [charset(UTF16)] */,
-                                   const char *workstation /* [in] [charset(UTF16)] */,
+                                   const char *account_name /* [in] [ref,charset(UTF16)] */,
+                                   const char *workstation /* [in] [ref,charset(UTF16)] */,
                                    struct netr_UasLogoffInfo *info /* [out] [ref] */,
                                    WERROR *werror)
 {
@@ -747,7 +747,7 @@ struct tevent_req *rpccli_netr_ServerReqChallenge_send(TALLOC_CTX *mem_ctx,
                                                       struct tevent_context *ev,
                                                       struct rpc_pipe_client *cli,
                                                       const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                      const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                      const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                       struct netr_Credential *_credentials /* [in] [ref] */,
                                                       struct netr_Credential *_return_credentials /* [out] [ref] */)
 {
@@ -862,7 +862,7 @@ NTSTATUS rpccli_netr_ServerReqChallenge_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerReqChallenge(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
                                        const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                       const char *computer_name /* [in] [charset(UTF16)] */,
+                                       const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                        struct netr_Credential *credentials /* [in] [ref] */,
                                        struct netr_Credential *return_credentials /* [out] [ref] */)
 {
@@ -916,9 +916,9 @@ struct tevent_req *rpccli_netr_ServerAuthenticate_send(TALLOC_CTX *mem_ctx,
                                                       struct tevent_context *ev,
                                                       struct rpc_pipe_client *cli,
                                                       const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                      const char *_account_name /* [in] [charset(UTF16)] */,
+                                                      const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                       enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                      const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                      const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                       struct netr_Credential *_credentials /* [in] [ref] */,
                                                       struct netr_Credential *_return_credentials /* [out] [ref] */)
 {
@@ -1035,9 +1035,9 @@ NTSTATUS rpccli_netr_ServerAuthenticate_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerAuthenticate(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
                                        const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                       const char *account_name /* [in] [charset(UTF16)] */,
+                                       const char *account_name /* [in] [ref,charset(UTF16)] */,
                                        enum netr_SchannelType secure_channel_type /* [in]  */,
-                                       const char *computer_name /* [in] [charset(UTF16)] */,
+                                       const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                        struct netr_Credential *credentials /* [in] [ref] */,
                                        struct netr_Credential *return_credentials /* [out] [ref] */)
 {
@@ -1093,9 +1093,9 @@ struct tevent_req *rpccli_netr_ServerPasswordSet_send(TALLOC_CTX *mem_ctx,
                                                      struct tevent_context *ev,
                                                      struct rpc_pipe_client *cli,
                                                      const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                     const char *_account_name /* [in] [charset(UTF16)] */,
+                                                     const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                      enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                     const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                     const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                      struct netr_Authenticator *_credential /* [in] [ref] */,
                                                      struct netr_Authenticator *_return_authenticator /* [out] [ref] */,
                                                      struct samr_Password *_new_password /* [in] [ref] */)
@@ -1214,9 +1214,9 @@ NTSTATUS rpccli_netr_ServerPasswordSet_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerPasswordSet(struct rpc_pipe_client *cli,
                                       TALLOC_CTX *mem_ctx,
                                       const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                      const char *account_name /* [in] [charset(UTF16)] */,
+                                      const char *account_name /* [in] [ref,charset(UTF16)] */,
                                       enum netr_SchannelType secure_channel_type /* [in]  */,
-                                      const char *computer_name /* [in] [charset(UTF16)] */,
+                                      const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                       struct netr_Authenticator *credential /* [in] [ref] */,
                                       struct netr_Authenticator *return_authenticator /* [out] [ref] */,
                                       struct samr_Password *new_password /* [in] [ref] */)
@@ -1273,8 +1273,8 @@ static void rpccli_netr_DatabaseDeltas_done(struct tevent_req *subreq);
 struct tevent_req *rpccli_netr_DatabaseDeltas_send(TALLOC_CTX *mem_ctx,
                                                   struct tevent_context *ev,
                                                   struct rpc_pipe_client *cli,
-                                                  const char *_logon_server /* [in] [charset(UTF16)] */,
-                                                  const char *_computername /* [in] [charset(UTF16)] */,
+                                                  const char *_logon_server /* [in] [ref,charset(UTF16)] */,
+                                                  const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                   struct netr_Authenticator *_credential /* [in] [ref] */,
                                                   struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                   enum netr_SamDatabaseID _database_id /* [in]  */,
@@ -1400,8 +1400,8 @@ NTSTATUS rpccli_netr_DatabaseDeltas_recv(struct tevent_req *req,
 
 NTSTATUS rpccli_netr_DatabaseDeltas(struct rpc_pipe_client *cli,
                                    TALLOC_CTX *mem_ctx,
-                                   const char *logon_server /* [in] [charset(UTF16)] */,
-                                   const char *computername /* [in] [charset(UTF16)] */,
+                                   const char *logon_server /* [in] [ref,charset(UTF16)] */,
+                                   const char *computername /* [in] [ref,charset(UTF16)] */,
                                    struct netr_Authenticator *credential /* [in] [ref] */,
                                    struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                    enum netr_SamDatabaseID database_id /* [in]  */,
@@ -1464,8 +1464,8 @@ static void rpccli_netr_DatabaseSync_done(struct tevent_req *subreq);
 struct tevent_req *rpccli_netr_DatabaseSync_send(TALLOC_CTX *mem_ctx,
                                                 struct tevent_context *ev,
                                                 struct rpc_pipe_client *cli,
-                                                const char *_logon_server /* [in] [charset(UTF16)] */,
-                                                const char *_computername /* [in] [charset(UTF16)] */,
+                                                const char *_logon_server /* [in] [ref,charset(UTF16)] */,
+                                                const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                 struct netr_Authenticator *_credential /* [in] [ref] */,
                                                 struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                 enum netr_SamDatabaseID _database_id /* [in]  */,
@@ -1591,8 +1591,8 @@ NTSTATUS rpccli_netr_DatabaseSync_recv(struct tevent_req *req,
 
 NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli,
                                  TALLOC_CTX *mem_ctx,
-                                 const char *logon_server /* [in] [charset(UTF16)] */,
-                                 const char *computername /* [in] [charset(UTF16)] */,
+                                 const char *logon_server /* [in] [ref,charset(UTF16)] */,
+                                 const char *computername /* [in] [ref,charset(UTF16)] */,
                                  struct netr_Authenticator *credential /* [in] [ref] */,
                                  struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                  enum netr_SamDatabaseID database_id /* [in]  */,
@@ -1656,7 +1656,7 @@ struct tevent_req *rpccli_netr_AccountDeltas_send(TALLOC_CTX *mem_ctx,
                                                  struct tevent_context *ev,
                                                  struct rpc_pipe_client *cli,
                                                  const char *_logon_server /* [in] [unique,charset(UTF16)] */,
-                                                 const char *_computername /* [in] [charset(UTF16)] */,
+                                                 const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                  struct netr_Authenticator _credential /* [in]  */,
                                                  struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                  struct netr_UAS_INFO_0 _uas /* [in]  */,
@@ -1792,7 +1792,7 @@ NTSTATUS rpccli_netr_AccountDeltas_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli,
                                   TALLOC_CTX *mem_ctx,
                                   const char *logon_server /* [in] [unique,charset(UTF16)] */,
-                                  const char *computername /* [in] [charset(UTF16)] */,
+                                  const char *computername /* [in] [ref,charset(UTF16)] */,
                                   struct netr_Authenticator credential /* [in]  */,
                                   struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                   struct netr_UAS_INFO_0 uas /* [in]  */,
@@ -1863,7 +1863,7 @@ struct tevent_req *rpccli_netr_AccountSync_send(TALLOC_CTX *mem_ctx,
                                                struct tevent_context *ev,
                                                struct rpc_pipe_client *cli,
                                                const char *_logon_server /* [in] [unique,charset(UTF16)] */,
-                                               const char *_computername /* [in] [charset(UTF16)] */,
+                                               const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                struct netr_Authenticator _credential /* [in]  */,
                                                struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                uint32_t _reference /* [in]  */,
@@ -2001,7 +2001,7 @@ NTSTATUS rpccli_netr_AccountSync_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_AccountSync(struct rpc_pipe_client *cli,
                                 TALLOC_CTX *mem_ctx,
                                 const char *logon_server /* [in] [unique,charset(UTF16)] */,
-                                const char *computername /* [in] [charset(UTF16)] */,
+                                const char *computername /* [in] [ref,charset(UTF16)] */,
                                 struct netr_Authenticator credential /* [in]  */,
                                 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                 uint32_t reference /* [in]  */,
@@ -2072,7 +2072,7 @@ static void rpccli_netr_GetDcName_done(struct tevent_req *subreq);
 struct tevent_req *rpccli_netr_GetDcName_send(TALLOC_CTX *mem_ctx,
                                              struct tevent_context *ev,
                                              struct rpc_pipe_client *cli,
-                                             const char *_logon_server /* [in] [charset(UTF16)] */,
+                                             const char *_logon_server /* [in] [ref,charset(UTF16)] */,
                                              const char *_domainname /* [in] [unique,charset(UTF16)] */,
                                              const char **_dcname /* [out] [ref,charset(UTF16)] */)
 {
@@ -2185,7 +2185,7 @@ NTSTATUS rpccli_netr_GetDcName_recv(struct tevent_req *req,
 
 NTSTATUS rpccli_netr_GetDcName(struct rpc_pipe_client *cli,
                               TALLOC_CTX *mem_ctx,
-                              const char *logon_server /* [in] [charset(UTF16)] */,
+                              const char *logon_server /* [in] [ref,charset(UTF16)] */,
                               const char *domainname /* [in] [unique,charset(UTF16)] */,
                               const char **dcname /* [out] [ref,charset(UTF16)] */,
                               WERROR *werror)
@@ -2765,9 +2765,9 @@ struct tevent_req *rpccli_netr_ServerAuthenticate2_send(TALLOC_CTX *mem_ctx,
                                                        struct tevent_context *ev,
                                                        struct rpc_pipe_client *cli,
                                                        const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                       const char *_account_name /* [in] [charset(UTF16)] */,
+                                                       const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                        enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                       const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                       const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                        struct netr_Credential *_credentials /* [in] [ref] */,
                                                        struct netr_Credential *_return_credentials /* [out] [ref] */,
                                                        uint32_t *_negotiate_flags /* [in,out] [ref] */)
@@ -2888,9 +2888,9 @@ NTSTATUS rpccli_netr_ServerAuthenticate2_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerAuthenticate2(struct rpc_pipe_client *cli,
                                         TALLOC_CTX *mem_ctx,
                                         const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                        const char *account_name /* [in] [charset(UTF16)] */,
+                                        const char *account_name /* [in] [ref,charset(UTF16)] */,
                                         enum netr_SchannelType secure_channel_type /* [in]  */,
-                                        const char *computer_name /* [in] [charset(UTF16)] */,
+                                        const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                         struct netr_Credential *credentials /* [in] [ref] */,
                                         struct netr_Credential *return_credentials /* [out] [ref] */,
                                         uint32_t *negotiate_flags /* [in,out] [ref] */)
@@ -2948,8 +2948,8 @@ static void rpccli_netr_DatabaseSync2_done(struct tevent_req *subreq);
 struct tevent_req *rpccli_netr_DatabaseSync2_send(TALLOC_CTX *mem_ctx,
                                                  struct tevent_context *ev,
                                                  struct rpc_pipe_client *cli,
-                                                 const char *_logon_server /* [in] [charset(UTF16)] */,
-                                                 const char *_computername /* [in] [charset(UTF16)] */,
+                                                 const char *_logon_server /* [in] [ref,charset(UTF16)] */,
+                                                 const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                  struct netr_Authenticator *_credential /* [in] [ref] */,
                                                  struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                  enum netr_SamDatabaseID _database_id /* [in]  */,
@@ -3077,8 +3077,8 @@ NTSTATUS rpccli_netr_DatabaseSync2_recv(struct tevent_req *req,
 
 NTSTATUS rpccli_netr_DatabaseSync2(struct rpc_pipe_client *cli,
                                   TALLOC_CTX *mem_ctx,
-                                  const char *logon_server /* [in] [charset(UTF16)] */,
-                                  const char *computername /* [in] [charset(UTF16)] */,
+                                  const char *logon_server /* [in] [ref,charset(UTF16)] */,
+                                  const char *computername /* [in] [ref,charset(UTF16)] */,
                                   struct netr_Authenticator *credential /* [in] [ref] */,
                                   struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                   enum netr_SamDatabaseID database_id /* [in]  */,
@@ -3143,8 +3143,8 @@ static void rpccli_netr_DatabaseRedo_done(struct tevent_req *subreq);
 struct tevent_req *rpccli_netr_DatabaseRedo_send(TALLOC_CTX *mem_ctx,
                                                 struct tevent_context *ev,
                                                 struct rpc_pipe_client *cli,
-                                                const char *_logon_server /* [in] [charset(UTF16)] */,
-                                                const char *_computername /* [in] [charset(UTF16)] */,
+                                                const char *_logon_server /* [in] [ref,charset(UTF16)] */,
+                                                const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                 struct netr_Authenticator *_credential /* [in] [ref] */,
                                                 struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                 struct netr_ChangeLogEntry _change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
@@ -3266,8 +3266,8 @@ NTSTATUS rpccli_netr_DatabaseRedo_recv(struct tevent_req *req,
 
 NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli,
                                  TALLOC_CTX *mem_ctx,
-                                 const char *logon_server /* [in] [charset(UTF16)] */,
-                                 const char *computername /* [in] [charset(UTF16)] */,
+                                 const char *logon_server /* [in] [ref,charset(UTF16)] */,
+                                 const char *computername /* [in] [ref,charset(UTF16)] */,
                                  struct netr_Authenticator *credential /* [in] [ref] */,
                                  struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                  struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
@@ -3853,7 +3853,7 @@ static void rpccli_netr_LogonGetCapabilities_done(struct tevent_req *subreq);
 struct tevent_req *rpccli_netr_LogonGetCapabilities_send(TALLOC_CTX *mem_ctx,
                                                         struct tevent_context *ev,
                                                         struct rpc_pipe_client *cli,
-                                                        const char *_server_name /* [in] [charset(UTF16)] */,
+                                                        const char *_server_name /* [in] [ref,charset(UTF16)] */,
                                                         const char *_computer_name /* [in] [unique,charset(UTF16)] */,
                                                         struct netr_Authenticator *_credential /* [in] [ref] */,
                                                         struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
@@ -3974,7 +3974,7 @@ NTSTATUS rpccli_netr_LogonGetCapabilities_recv(struct tevent_req *req,
 
 NTSTATUS rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client *cli,
                                          TALLOC_CTX *mem_ctx,
-                                         const char *server_name /* [in] [charset(UTF16)] */,
+                                         const char *server_name /* [in] [ref,charset(UTF16)] */,
                                          const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                          struct netr_Authenticator *credential /* [in] [ref] */,
                                          struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
@@ -4657,9 +4657,9 @@ struct tevent_req *rpccli_netr_ServerAuthenticate3_send(TALLOC_CTX *mem_ctx,
                                                        struct tevent_context *ev,
                                                        struct rpc_pipe_client *cli,
                                                        const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                       const char *_account_name /* [in] [charset(UTF16)] */,
+                                                       const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                        enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                       const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                       const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                        struct netr_Credential *_credentials /* [in] [ref] */,
                                                        struct netr_Credential *_return_credentials /* [out] [ref] */,
                                                        uint32_t *_negotiate_flags /* [in,out] [ref] */,
@@ -4783,9 +4783,9 @@ NTSTATUS rpccli_netr_ServerAuthenticate3_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli,
                                         TALLOC_CTX *mem_ctx,
                                         const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                        const char *account_name /* [in] [charset(UTF16)] */,
+                                        const char *account_name /* [in] [ref,charset(UTF16)] */,
                                         enum netr_SchannelType secure_channel_type /* [in]  */,
-                                        const char *computer_name /* [in] [charset(UTF16)] */,
+                                        const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                         struct netr_Credential *credentials /* [in] [ref] */,
                                         struct netr_Credential *return_credentials /* [out] [ref] */,
                                         uint32_t *negotiate_flags /* [in,out] [ref] */,
@@ -5193,12 +5193,12 @@ static void rpccli_netr_LogonGetDomainInfo_done(struct tevent_req *subreq);
 struct tevent_req *rpccli_netr_LogonGetDomainInfo_send(TALLOC_CTX *mem_ctx,
                                                       struct tevent_context *ev,
                                                       struct rpc_pipe_client *cli,
-                                                      const char *_server_name /* [in] [charset(UTF16)] */,
+                                                      const char *_server_name /* [in] [ref,charset(UTF16)] */,
                                                       const char *_computer_name /* [in] [unique,charset(UTF16)] */,
                                                       struct netr_Authenticator *_credential /* [in] [ref] */,
                                                       struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                       uint32_t _level /* [in]  */,
-                                                      union netr_DomainQuery _query /* [in] [switch_is(level)] */,
+                                                      union netr_WorkstationInfo *_query /* [in] [ref,switch_is(level)] */,
                                                       union netr_DomainInfo *_info /* [out] [ref,switch_is(level)] */)
 {
        struct tevent_req *req;
@@ -5316,12 +5316,12 @@ NTSTATUS rpccli_netr_LogonGetDomainInfo_recv(struct tevent_req *req,
 
 NTSTATUS rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
-                                       const char *server_name /* [in] [charset(UTF16)] */,
+                                       const char *server_name /* [in] [ref,charset(UTF16)] */,
                                        const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                        struct netr_Authenticator *credential /* [in] [ref] */,
                                        struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                        uint32_t level /* [in]  */,
-                                       union netr_DomainQuery query /* [in] [switch_is(level)] */,
+                                       union netr_WorkstationInfo *query /* [in] [ref,switch_is(level)] */,
                                        union netr_DomainInfo *info /* [out] [ref,switch_is(level)] */)
 {
        struct netr_LogonGetDomainInfo r;
@@ -5378,9 +5378,9 @@ struct tevent_req *rpccli_netr_ServerPasswordSet2_send(TALLOC_CTX *mem_ctx,
                                                       struct tevent_context *ev,
                                                       struct rpc_pipe_client *cli,
                                                       const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                      const char *_account_name /* [in] [charset(UTF16)] */,
+                                                      const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                       enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                      const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                      const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                       struct netr_Authenticator *_credential /* [in] [ref] */,
                                                       struct netr_Authenticator *_return_authenticator /* [out] [ref] */,
                                                       struct netr_CryptPassword *_new_password /* [in] [ref] */)
@@ -5499,9 +5499,9 @@ NTSTATUS rpccli_netr_ServerPasswordSet2_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
                                        const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                       const char *account_name /* [in] [charset(UTF16)] */,
+                                       const char *account_name /* [in] [ref,charset(UTF16)] */,
                                        enum netr_SchannelType secure_channel_type /* [in]  */,
-                                       const char *computer_name /* [in] [charset(UTF16)] */,
+                                       const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                        struct netr_Authenticator *credential /* [in] [ref] */,
                                        struct netr_Authenticator *return_authenticator /* [out] [ref] */,
                                        struct netr_CryptPassword *new_password /* [in] [ref] */)
@@ -5559,9 +5559,9 @@ struct tevent_req *rpccli_netr_ServerPasswordGet_send(TALLOC_CTX *mem_ctx,
                                                      struct tevent_context *ev,
                                                      struct rpc_pipe_client *cli,
                                                      const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                     const char *_account_name /* [in] [charset(UTF16)] */,
+                                                     const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                      enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                     const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                     const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                      struct netr_Authenticator *_credential /* [in] [ref] */,
                                                      struct netr_Authenticator *_return_authenticator /* [out] [ref] */,
                                                      struct samr_Password *_password /* [out] [ref] */)
@@ -5681,9 +5681,9 @@ NTSTATUS rpccli_netr_ServerPasswordGet_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerPasswordGet(struct rpc_pipe_client *cli,
                                       TALLOC_CTX *mem_ctx,
                                       const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                      const char *account_name /* [in] [charset(UTF16)] */,
+                                      const char *account_name /* [in] [ref,charset(UTF16)] */,
                                       enum netr_SchannelType secure_channel_type /* [in]  */,
-                                      const char *computer_name /* [in] [charset(UTF16)] */,
+                                      const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                       struct netr_Authenticator *credential /* [in] [ref] */,
                                       struct netr_Authenticator *return_authenticator /* [out] [ref] */,
                                       struct samr_Password *password /* [out] [ref] */,
@@ -7448,9 +7448,9 @@ struct tevent_req *rpccli_netr_ServerTrustPasswordsGet_send(TALLOC_CTX *mem_ctx,
                                                            struct tevent_context *ev,
                                                            struct rpc_pipe_client *cli,
                                                            const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                           const char *_account_name /* [in] [charset(UTF16)] */,
+                                                           const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                            enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                           const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                           const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                            struct netr_Authenticator *_credential /* [in] [ref] */,
                                                            struct netr_Authenticator *_return_authenticator /* [out] [ref] */,
                                                            struct samr_Password *_password /* [out] [ref] */,
@@ -7573,9 +7573,9 @@ NTSTATUS rpccli_netr_ServerTrustPasswordsGet_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client *cli,
                                             TALLOC_CTX *mem_ctx,
                                             const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                            const char *account_name /* [in] [charset(UTF16)] */,
+                                            const char *account_name /* [in] [ref,charset(UTF16)] */,
                                             enum netr_SchannelType secure_channel_type /* [in]  */,
-                                            const char *computer_name /* [in] [charset(UTF16)] */,
+                                            const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                             struct netr_Authenticator *credential /* [in] [ref] */,
                                             struct netr_Authenticator *return_authenticator /* [out] [ref] */,
                                             struct samr_Password *password /* [out] [ref] */,
index eb6b1933274c6973a87d951e5b6cacc9f042b496..adbe176e6a9a122c9c3b5e1d67b84b6a3d3477cc 100644 (file)
@@ -5,8 +5,8 @@ struct tevent_req *rpccli_netr_LogonUasLogon_send(TALLOC_CTX *mem_ctx,
                                                  struct tevent_context *ev,
                                                  struct rpc_pipe_client *cli,
                                                  const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                 const char *_account_name /* [in] [charset(UTF16)] */,
-                                                 const char *_workstation /* [in] [charset(UTF16)] */,
+                                                 const char *_account_name /* [in] [ref,charset(UTF16)] */,
+                                                 const char *_workstation /* [in] [ref,charset(UTF16)] */,
                                                  struct netr_UasInfo **_info /* [out] [ref] */);
 NTSTATUS rpccli_netr_LogonUasLogon_recv(struct tevent_req *req,
                                        TALLOC_CTX *mem_ctx,
@@ -14,16 +14,16 @@ NTSTATUS rpccli_netr_LogonUasLogon_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli,
                                   TALLOC_CTX *mem_ctx,
                                   const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                  const char *account_name /* [in] [charset(UTF16)] */,
-                                  const char *workstation /* [in] [charset(UTF16)] */,
+                                  const char *account_name /* [in] [ref,charset(UTF16)] */,
+                                  const char *workstation /* [in] [ref,charset(UTF16)] */,
                                   struct netr_UasInfo **info /* [out] [ref] */,
                                   WERROR *werror);
 struct tevent_req *rpccli_netr_LogonUasLogoff_send(TALLOC_CTX *mem_ctx,
                                                   struct tevent_context *ev,
                                                   struct rpc_pipe_client *cli,
                                                   const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                  const char *_account_name /* [in] [charset(UTF16)] */,
-                                                  const char *_workstation /* [in] [charset(UTF16)] */,
+                                                  const char *_account_name /* [in] [ref,charset(UTF16)] */,
+                                                  const char *_workstation /* [in] [ref,charset(UTF16)] */,
                                                   struct netr_UasLogoffInfo *_info /* [out] [ref] */);
 NTSTATUS rpccli_netr_LogonUasLogoff_recv(struct tevent_req *req,
                                         TALLOC_CTX *mem_ctx,
@@ -31,8 +31,8 @@ NTSTATUS rpccli_netr_LogonUasLogoff_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli,
                                    TALLOC_CTX *mem_ctx,
                                    const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                   const char *account_name /* [in] [charset(UTF16)] */,
-                                   const char *workstation /* [in] [charset(UTF16)] */,
+                                   const char *account_name /* [in] [ref,charset(UTF16)] */,
+                                   const char *workstation /* [in] [ref,charset(UTF16)] */,
                                    struct netr_UasLogoffInfo *info /* [out] [ref] */,
                                    WERROR *werror);
 struct tevent_req *rpccli_netr_LogonSamLogon_send(TALLOC_CTX *mem_ctx,
@@ -85,7 +85,7 @@ struct tevent_req *rpccli_netr_ServerReqChallenge_send(TALLOC_CTX *mem_ctx,
                                                       struct tevent_context *ev,
                                                       struct rpc_pipe_client *cli,
                                                       const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                      const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                      const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                       struct netr_Credential *_credentials /* [in] [ref] */,
                                                       struct netr_Credential *_return_credentials /* [out] [ref] */);
 NTSTATUS rpccli_netr_ServerReqChallenge_recv(struct tevent_req *req,
@@ -94,16 +94,16 @@ NTSTATUS rpccli_netr_ServerReqChallenge_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerReqChallenge(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
                                        const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                       const char *computer_name /* [in] [charset(UTF16)] */,
+                                       const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                        struct netr_Credential *credentials /* [in] [ref] */,
                                        struct netr_Credential *return_credentials /* [out] [ref] */);
 struct tevent_req *rpccli_netr_ServerAuthenticate_send(TALLOC_CTX *mem_ctx,
                                                       struct tevent_context *ev,
                                                       struct rpc_pipe_client *cli,
                                                       const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                      const char *_account_name /* [in] [charset(UTF16)] */,
+                                                      const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                       enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                      const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                      const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                       struct netr_Credential *_credentials /* [in] [ref] */,
                                                       struct netr_Credential *_return_credentials /* [out] [ref] */);
 NTSTATUS rpccli_netr_ServerAuthenticate_recv(struct tevent_req *req,
@@ -112,18 +112,18 @@ NTSTATUS rpccli_netr_ServerAuthenticate_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerAuthenticate(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
                                        const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                       const char *account_name /* [in] [charset(UTF16)] */,
+                                       const char *account_name /* [in] [ref,charset(UTF16)] */,
                                        enum netr_SchannelType secure_channel_type /* [in]  */,
-                                       const char *computer_name /* [in] [charset(UTF16)] */,
+                                       const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                        struct netr_Credential *credentials /* [in] [ref] */,
                                        struct netr_Credential *return_credentials /* [out] [ref] */);
 struct tevent_req *rpccli_netr_ServerPasswordSet_send(TALLOC_CTX *mem_ctx,
                                                      struct tevent_context *ev,
                                                      struct rpc_pipe_client *cli,
                                                      const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                     const char *_account_name /* [in] [charset(UTF16)] */,
+                                                     const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                      enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                     const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                     const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                      struct netr_Authenticator *_credential /* [in] [ref] */,
                                                      struct netr_Authenticator *_return_authenticator /* [out] [ref] */,
                                                      struct samr_Password *_new_password /* [in] [ref] */);
@@ -133,17 +133,17 @@ NTSTATUS rpccli_netr_ServerPasswordSet_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerPasswordSet(struct rpc_pipe_client *cli,
                                       TALLOC_CTX *mem_ctx,
                                       const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                      const char *account_name /* [in] [charset(UTF16)] */,
+                                      const char *account_name /* [in] [ref,charset(UTF16)] */,
                                       enum netr_SchannelType secure_channel_type /* [in]  */,
-                                      const char *computer_name /* [in] [charset(UTF16)] */,
+                                      const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                       struct netr_Authenticator *credential /* [in] [ref] */,
                                       struct netr_Authenticator *return_authenticator /* [out] [ref] */,
                                       struct samr_Password *new_password /* [in] [ref] */);
 struct tevent_req *rpccli_netr_DatabaseDeltas_send(TALLOC_CTX *mem_ctx,
                                                   struct tevent_context *ev,
                                                   struct rpc_pipe_client *cli,
-                                                  const char *_logon_server /* [in] [charset(UTF16)] */,
-                                                  const char *_computername /* [in] [charset(UTF16)] */,
+                                                  const char *_logon_server /* [in] [ref,charset(UTF16)] */,
+                                                  const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                   struct netr_Authenticator *_credential /* [in] [ref] */,
                                                   struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                   enum netr_SamDatabaseID _database_id /* [in]  */,
@@ -155,8 +155,8 @@ NTSTATUS rpccli_netr_DatabaseDeltas_recv(struct tevent_req *req,
                                         NTSTATUS *result);
 NTSTATUS rpccli_netr_DatabaseDeltas(struct rpc_pipe_client *cli,
                                    TALLOC_CTX *mem_ctx,
-                                   const char *logon_server /* [in] [charset(UTF16)] */,
-                                   const char *computername /* [in] [charset(UTF16)] */,
+                                   const char *logon_server /* [in] [ref,charset(UTF16)] */,
+                                   const char *computername /* [in] [ref,charset(UTF16)] */,
                                    struct netr_Authenticator *credential /* [in] [ref] */,
                                    struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                    enum netr_SamDatabaseID database_id /* [in]  */,
@@ -166,8 +166,8 @@ NTSTATUS rpccli_netr_DatabaseDeltas(struct rpc_pipe_client *cli,
 struct tevent_req *rpccli_netr_DatabaseSync_send(TALLOC_CTX *mem_ctx,
                                                 struct tevent_context *ev,
                                                 struct rpc_pipe_client *cli,
-                                                const char *_logon_server /* [in] [charset(UTF16)] */,
-                                                const char *_computername /* [in] [charset(UTF16)] */,
+                                                const char *_logon_server /* [in] [ref,charset(UTF16)] */,
+                                                const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                 struct netr_Authenticator *_credential /* [in] [ref] */,
                                                 struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                 enum netr_SamDatabaseID _database_id /* [in]  */,
@@ -179,8 +179,8 @@ NTSTATUS rpccli_netr_DatabaseSync_recv(struct tevent_req *req,
                                       NTSTATUS *result);
 NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli,
                                  TALLOC_CTX *mem_ctx,
-                                 const char *logon_server /* [in] [charset(UTF16)] */,
-                                 const char *computername /* [in] [charset(UTF16)] */,
+                                 const char *logon_server /* [in] [ref,charset(UTF16)] */,
+                                 const char *computername /* [in] [ref,charset(UTF16)] */,
                                  struct netr_Authenticator *credential /* [in] [ref] */,
                                  struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                  enum netr_SamDatabaseID database_id /* [in]  */,
@@ -191,7 +191,7 @@ struct tevent_req *rpccli_netr_AccountDeltas_send(TALLOC_CTX *mem_ctx,
                                                  struct tevent_context *ev,
                                                  struct rpc_pipe_client *cli,
                                                  const char *_logon_server /* [in] [unique,charset(UTF16)] */,
-                                                 const char *_computername /* [in] [charset(UTF16)] */,
+                                                 const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                  struct netr_Authenticator _credential /* [in]  */,
                                                  struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                  struct netr_UAS_INFO_0 _uas /* [in]  */,
@@ -208,7 +208,7 @@ NTSTATUS rpccli_netr_AccountDeltas_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli,
                                   TALLOC_CTX *mem_ctx,
                                   const char *logon_server /* [in] [unique,charset(UTF16)] */,
-                                  const char *computername /* [in] [charset(UTF16)] */,
+                                  const char *computername /* [in] [ref,charset(UTF16)] */,
                                   struct netr_Authenticator credential /* [in]  */,
                                   struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                   struct netr_UAS_INFO_0 uas /* [in]  */,
@@ -223,7 +223,7 @@ struct tevent_req *rpccli_netr_AccountSync_send(TALLOC_CTX *mem_ctx,
                                                struct tevent_context *ev,
                                                struct rpc_pipe_client *cli,
                                                const char *_logon_server /* [in] [unique,charset(UTF16)] */,
-                                               const char *_computername /* [in] [charset(UTF16)] */,
+                                               const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                struct netr_Authenticator _credential /* [in]  */,
                                                struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                uint32_t _reference /* [in]  */,
@@ -240,7 +240,7 @@ NTSTATUS rpccli_netr_AccountSync_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_AccountSync(struct rpc_pipe_client *cli,
                                 TALLOC_CTX *mem_ctx,
                                 const char *logon_server /* [in] [unique,charset(UTF16)] */,
-                                const char *computername /* [in] [charset(UTF16)] */,
+                                const char *computername /* [in] [ref,charset(UTF16)] */,
                                 struct netr_Authenticator credential /* [in]  */,
                                 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                 uint32_t reference /* [in]  */,
@@ -254,7 +254,7 @@ NTSTATUS rpccli_netr_AccountSync(struct rpc_pipe_client *cli,
 struct tevent_req *rpccli_netr_GetDcName_send(TALLOC_CTX *mem_ctx,
                                              struct tevent_context *ev,
                                              struct rpc_pipe_client *cli,
-                                             const char *_logon_server /* [in] [charset(UTF16)] */,
+                                             const char *_logon_server /* [in] [ref,charset(UTF16)] */,
                                              const char *_domainname /* [in] [unique,charset(UTF16)] */,
                                              const char **_dcname /* [out] [ref,charset(UTF16)] */);
 NTSTATUS rpccli_netr_GetDcName_recv(struct tevent_req *req,
@@ -262,7 +262,7 @@ NTSTATUS rpccli_netr_GetDcName_recv(struct tevent_req *req,
                                    WERROR *result);
 NTSTATUS rpccli_netr_GetDcName(struct rpc_pipe_client *cli,
                               TALLOC_CTX *mem_ctx,
-                              const char *logon_server /* [in] [charset(UTF16)] */,
+                              const char *logon_server /* [in] [ref,charset(UTF16)] */,
                               const char *domainname /* [in] [unique,charset(UTF16)] */,
                               const char **dcname /* [out] [ref,charset(UTF16)] */,
                               WERROR *werror);
@@ -321,9 +321,9 @@ struct tevent_req *rpccli_netr_ServerAuthenticate2_send(TALLOC_CTX *mem_ctx,
                                                        struct tevent_context *ev,
                                                        struct rpc_pipe_client *cli,
                                                        const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                       const char *_account_name /* [in] [charset(UTF16)] */,
+                                                       const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                        enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                       const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                       const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                        struct netr_Credential *_credentials /* [in] [ref] */,
                                                        struct netr_Credential *_return_credentials /* [out] [ref] */,
                                                        uint32_t *_negotiate_flags /* [in,out] [ref] */);
@@ -333,17 +333,17 @@ NTSTATUS rpccli_netr_ServerAuthenticate2_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerAuthenticate2(struct rpc_pipe_client *cli,
                                         TALLOC_CTX *mem_ctx,
                                         const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                        const char *account_name /* [in] [charset(UTF16)] */,
+                                        const char *account_name /* [in] [ref,charset(UTF16)] */,
                                         enum netr_SchannelType secure_channel_type /* [in]  */,
-                                        const char *computer_name /* [in] [charset(UTF16)] */,
+                                        const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                         struct netr_Credential *credentials /* [in] [ref] */,
                                         struct netr_Credential *return_credentials /* [out] [ref] */,
                                         uint32_t *negotiate_flags /* [in,out] [ref] */);
 struct tevent_req *rpccli_netr_DatabaseSync2_send(TALLOC_CTX *mem_ctx,
                                                  struct tevent_context *ev,
                                                  struct rpc_pipe_client *cli,
-                                                 const char *_logon_server /* [in] [charset(UTF16)] */,
-                                                 const char *_computername /* [in] [charset(UTF16)] */,
+                                                 const char *_logon_server /* [in] [ref,charset(UTF16)] */,
+                                                 const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                  struct netr_Authenticator *_credential /* [in] [ref] */,
                                                  struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                  enum netr_SamDatabaseID _database_id /* [in]  */,
@@ -356,8 +356,8 @@ NTSTATUS rpccli_netr_DatabaseSync2_recv(struct tevent_req *req,
                                        NTSTATUS *result);
 NTSTATUS rpccli_netr_DatabaseSync2(struct rpc_pipe_client *cli,
                                   TALLOC_CTX *mem_ctx,
-                                  const char *logon_server /* [in] [charset(UTF16)] */,
-                                  const char *computername /* [in] [charset(UTF16)] */,
+                                  const char *logon_server /* [in] [ref,charset(UTF16)] */,
+                                  const char *computername /* [in] [ref,charset(UTF16)] */,
                                   struct netr_Authenticator *credential /* [in] [ref] */,
                                   struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                   enum netr_SamDatabaseID database_id /* [in]  */,
@@ -368,8 +368,8 @@ NTSTATUS rpccli_netr_DatabaseSync2(struct rpc_pipe_client *cli,
 struct tevent_req *rpccli_netr_DatabaseRedo_send(TALLOC_CTX *mem_ctx,
                                                 struct tevent_context *ev,
                                                 struct rpc_pipe_client *cli,
-                                                const char *_logon_server /* [in] [charset(UTF16)] */,
-                                                const char *_computername /* [in] [charset(UTF16)] */,
+                                                const char *_logon_server /* [in] [ref,charset(UTF16)] */,
+                                                const char *_computername /* [in] [ref,charset(UTF16)] */,
                                                 struct netr_Authenticator *_credential /* [in] [ref] */,
                                                 struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                 struct netr_ChangeLogEntry _change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
@@ -380,8 +380,8 @@ NTSTATUS rpccli_netr_DatabaseRedo_recv(struct tevent_req *req,
                                       NTSTATUS *result);
 NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli,
                                  TALLOC_CTX *mem_ctx,
-                                 const char *logon_server /* [in] [charset(UTF16)] */,
-                                 const char *computername /* [in] [charset(UTF16)] */,
+                                 const char *logon_server /* [in] [ref,charset(UTF16)] */,
+                                 const char *computername /* [in] [ref,charset(UTF16)] */,
                                  struct netr_Authenticator *credential /* [in] [ref] */,
                                  struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                  struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
@@ -443,7 +443,7 @@ NTSTATUS rpccli_netr_DsRGetDCName(struct rpc_pipe_client *cli,
 struct tevent_req *rpccli_netr_LogonGetCapabilities_send(TALLOC_CTX *mem_ctx,
                                                         struct tevent_context *ev,
                                                         struct rpc_pipe_client *cli,
-                                                        const char *_server_name /* [in] [charset(UTF16)] */,
+                                                        const char *_server_name /* [in] [ref,charset(UTF16)] */,
                                                         const char *_computer_name /* [in] [unique,charset(UTF16)] */,
                                                         struct netr_Authenticator *_credential /* [in] [ref] */,
                                                         struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
@@ -454,7 +454,7 @@ NTSTATUS rpccli_netr_LogonGetCapabilities_recv(struct tevent_req *req,
                                               NTSTATUS *result);
 NTSTATUS rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client *cli,
                                          TALLOC_CTX *mem_ctx,
-                                         const char *server_name /* [in] [charset(UTF16)] */,
+                                         const char *server_name /* [in] [ref,charset(UTF16)] */,
                                          const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                          struct netr_Authenticator *credential /* [in] [ref] */,
                                          struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
@@ -506,9 +506,9 @@ struct tevent_req *rpccli_netr_ServerAuthenticate3_send(TALLOC_CTX *mem_ctx,
                                                        struct tevent_context *ev,
                                                        struct rpc_pipe_client *cli,
                                                        const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                       const char *_account_name /* [in] [charset(UTF16)] */,
+                                                       const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                        enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                       const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                       const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                        struct netr_Credential *_credentials /* [in] [ref] */,
                                                        struct netr_Credential *_return_credentials /* [out] [ref] */,
                                                        uint32_t *_negotiate_flags /* [in,out] [ref] */,
@@ -519,9 +519,9 @@ NTSTATUS rpccli_netr_ServerAuthenticate3_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli,
                                         TALLOC_CTX *mem_ctx,
                                         const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                        const char *account_name /* [in] [charset(UTF16)] */,
+                                        const char *account_name /* [in] [ref,charset(UTF16)] */,
                                         enum netr_SchannelType secure_channel_type /* [in]  */,
-                                        const char *computer_name /* [in] [charset(UTF16)] */,
+                                        const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                         struct netr_Credential *credentials /* [in] [ref] */,
                                         struct netr_Credential *return_credentials /* [out] [ref] */,
                                         uint32_t *negotiate_flags /* [in,out] [ref] */,
@@ -563,32 +563,32 @@ NTSTATUS rpccli_netr_DsRGetSiteName(struct rpc_pipe_client *cli,
 struct tevent_req *rpccli_netr_LogonGetDomainInfo_send(TALLOC_CTX *mem_ctx,
                                                       struct tevent_context *ev,
                                                       struct rpc_pipe_client *cli,
-                                                      const char *_server_name /* [in] [charset(UTF16)] */,
+                                                      const char *_server_name /* [in] [ref,charset(UTF16)] */,
                                                       const char *_computer_name /* [in] [unique,charset(UTF16)] */,
                                                       struct netr_Authenticator *_credential /* [in] [ref] */,
                                                       struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
                                                       uint32_t _level /* [in]  */,
-                                                      union netr_DomainQuery _query /* [in] [switch_is(level)] */,
+                                                      union netr_WorkstationInfo *_query /* [in] [ref,switch_is(level)] */,
                                                       union netr_DomainInfo *_info /* [out] [ref,switch_is(level)] */);
 NTSTATUS rpccli_netr_LogonGetDomainInfo_recv(struct tevent_req *req,
                                             TALLOC_CTX *mem_ctx,
                                             NTSTATUS *result);
 NTSTATUS rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
-                                       const char *server_name /* [in] [charset(UTF16)] */,
+                                       const char *server_name /* [in] [ref,charset(UTF16)] */,
                                        const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                        struct netr_Authenticator *credential /* [in] [ref] */,
                                        struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
                                        uint32_t level /* [in]  */,
-                                       union netr_DomainQuery query /* [in] [switch_is(level)] */,
+                                       union netr_WorkstationInfo *query /* [in] [ref,switch_is(level)] */,
                                        union netr_DomainInfo *info /* [out] [ref,switch_is(level)] */);
 struct tevent_req *rpccli_netr_ServerPasswordSet2_send(TALLOC_CTX *mem_ctx,
                                                       struct tevent_context *ev,
                                                       struct rpc_pipe_client *cli,
                                                       const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                      const char *_account_name /* [in] [charset(UTF16)] */,
+                                                      const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                       enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                      const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                      const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                       struct netr_Authenticator *_credential /* [in] [ref] */,
                                                       struct netr_Authenticator *_return_authenticator /* [out] [ref] */,
                                                       struct netr_CryptPassword *_new_password /* [in] [ref] */);
@@ -598,9 +598,9 @@ NTSTATUS rpccli_netr_ServerPasswordSet2_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
                                        const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                       const char *account_name /* [in] [charset(UTF16)] */,
+                                       const char *account_name /* [in] [ref,charset(UTF16)] */,
                                        enum netr_SchannelType secure_channel_type /* [in]  */,
-                                       const char *computer_name /* [in] [charset(UTF16)] */,
+                                       const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                        struct netr_Authenticator *credential /* [in] [ref] */,
                                        struct netr_Authenticator *return_authenticator /* [out] [ref] */,
                                        struct netr_CryptPassword *new_password /* [in] [ref] */);
@@ -608,9 +608,9 @@ struct tevent_req *rpccli_netr_ServerPasswordGet_send(TALLOC_CTX *mem_ctx,
                                                      struct tevent_context *ev,
                                                      struct rpc_pipe_client *cli,
                                                      const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                     const char *_account_name /* [in] [charset(UTF16)] */,
+                                                     const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                      enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                     const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                     const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                      struct netr_Authenticator *_credential /* [in] [ref] */,
                                                      struct netr_Authenticator *_return_authenticator /* [out] [ref] */,
                                                      struct samr_Password *_password /* [out] [ref] */);
@@ -620,9 +620,9 @@ NTSTATUS rpccli_netr_ServerPasswordGet_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerPasswordGet(struct rpc_pipe_client *cli,
                                       TALLOC_CTX *mem_ctx,
                                       const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                      const char *account_name /* [in] [charset(UTF16)] */,
+                                      const char *account_name /* [in] [ref,charset(UTF16)] */,
                                       enum netr_SchannelType secure_channel_type /* [in]  */,
-                                      const char *computer_name /* [in] [charset(UTF16)] */,
+                                      const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                       struct netr_Authenticator *credential /* [in] [ref] */,
                                       struct netr_Authenticator *return_authenticator /* [out] [ref] */,
                                       struct samr_Password *password /* [out] [ref] */,
@@ -792,9 +792,9 @@ struct tevent_req *rpccli_netr_ServerTrustPasswordsGet_send(TALLOC_CTX *mem_ctx,
                                                            struct tevent_context *ev,
                                                            struct rpc_pipe_client *cli,
                                                            const char *_server_name /* [in] [unique,charset(UTF16)] */,
-                                                           const char *_account_name /* [in] [charset(UTF16)] */,
+                                                           const char *_account_name /* [in] [ref,charset(UTF16)] */,
                                                            enum netr_SchannelType _secure_channel_type /* [in]  */,
-                                                           const char *_computer_name /* [in] [charset(UTF16)] */,
+                                                           const char *_computer_name /* [in] [ref,charset(UTF16)] */,
                                                            struct netr_Authenticator *_credential /* [in] [ref] */,
                                                            struct netr_Authenticator *_return_authenticator /* [out] [ref] */,
                                                            struct samr_Password *_password /* [out] [ref] */,
@@ -805,9 +805,9 @@ NTSTATUS rpccli_netr_ServerTrustPasswordsGet_recv(struct tevent_req *req,
 NTSTATUS rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client *cli,
                                             TALLOC_CTX *mem_ctx,
                                             const char *server_name /* [in] [unique,charset(UTF16)] */,
-                                            const char *account_name /* [in] [charset(UTF16)] */,
+                                            const char *account_name /* [in] [ref,charset(UTF16)] */,
                                             enum netr_SchannelType secure_channel_type /* [in]  */,
-                                            const char *computer_name /* [in] [charset(UTF16)] */,
+                                            const char *computer_name /* [in] [ref,charset(UTF16)] */,
                                             struct netr_Authenticator *credential /* [in] [ref] */,
                                             struct netr_Authenticator *return_authenticator /* [out] [ref] */,
                                             struct samr_Password *password /* [out] [ref] */,
index 8db8c112767e8b4a8b4bfde6922fce723ddcc08f..82d2dca1fe0cf7ea7a91357390d3f087d3a03216 100644 (file)
@@ -7213,287 +7213,577 @@ _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name,
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
+static enum ndr_err_code ndr_push_netr_WorkstationFlags(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_netr_WorkstationFlags(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_netr_WorkstationFlags(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), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r)
+{
+       ndr_print_uint16(ndr, name, r);
+       ndr->depth++;
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r);
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r)
+{
+       NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
+{
+       uint8_t v;
+       NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r)
+{
+       ndr_print_uint8(ndr, name, r);
+       ndr->depth++;
+       ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r);
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r)
 {
-       uint32_t cntr_unknown7_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->blob2));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
-               for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->policy) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
+                       NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r)
+{
+       uint32_t _ptr_policy;
+       TALLOC_CTX *_mem_save_policy_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
+               if (_ptr_policy) {
+                       NDR_PULL_ALLOC(ndr, r->policy);
+               } else {
+                       r->policy = NULL;
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->policy) {
+                       _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
+                       NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
+                       NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy));
+                       NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy)));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
+               }
+               if (r->policy) {
+                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
                }
        }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r)
+{
+       ndr_print_struct(ndr, name, "netr_LsaPolicyInformation");
+       ndr->depth++;
+       ndr_print_uint32(ndr, "policy_size", r->policy_size);
+       ndr_print_ptr(ndr, "policy", r->policy);
+       ndr->depth++;
+       if (r->policy) {
+               ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
+       }
+       ndr->depth--;
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId));
+               NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16));
+               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor));
+               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor));
+               NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask));
+               NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType));
+               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved));
+       }
        if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
-               if (r->workstation_domain) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId));
+               NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16));
+               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor));
+               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor));
+               NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask));
+               NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType));
+               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r)
+{
+       ndr_print_struct(ndr, name, "netr_OsVersionInfoEx");
+       ndr->depth++;
+       ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize);
+       ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion);
+       ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion);
+       ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber);
+       ndr_print_uint32(ndr, "PlatformId", r->PlatformId);
+       ndr_print_string(ndr, "CSDVersion", r->CSDVersion);
+       ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor);
+       ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor);
+       ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask);
+       ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType);
+       ndr_print_uint8(ndr, "Reserved", r->Reserved);
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
+               NDR_CHECK(ndr_push_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
+               NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r)
+{
+       ndr_print_struct(ndr, name, "netr_OsVersion");
+       ndr->depth++;
+       ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length);
+       ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
+       ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size);
+       ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os);
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
+               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->os));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->os) {
+                       NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os));
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r)
+{
+       uint32_t _ptr_os;
+       TALLOC_CTX *_mem_save_os_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
+               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os));
+               if (_ptr_os) {
+                       NDR_PULL_ALLOC(ndr, r->os);
+               } else {
+                       r->os = NULL;
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->os) {
+                       _mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->os, 0);
+                       NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0);
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r)
+{
+       ndr_print_struct(ndr, name, "netr_OsVersionContainer");
+       ndr->depth++;
+       ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length);
+       ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size);
+       ndr_print_ptr(ndr, "os", r->os);
+       ndr->depth++;
+       if (r->os) {
+               ndr_print_netr_OsVersion(ndr, "os", r->os);
+       }
+       ndr->depth--;
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4));
+               NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
+               NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
+               if (r->dns_hostname) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
+                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
-               if (r->workstation_site) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
+               if (r->sitename) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
+                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
-               if (r->unknown1) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
+               if (r->dummy1) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
+                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
-               if (r->unknown2) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
+               if (r->dummy2) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
+                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
-               if (r->unknown3) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
+               if (r->dummy3) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
+                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
-               if (r->unknown4) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
+               if (r->dummy4) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
+                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
+               NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
        }
        return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
+static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r)
 {
-       uint32_t _ptr_workstation_domain;
-       TALLOC_CTX *_mem_save_workstation_domain_0;
-       uint32_t _ptr_workstation_site;
-       TALLOC_CTX *_mem_save_workstation_site_0;
-       uint32_t _ptr_unknown1;
-       TALLOC_CTX *_mem_save_unknown1_0;
-       uint32_t _ptr_unknown2;
-       TALLOC_CTX *_mem_save_unknown2_0;
-       uint32_t _ptr_unknown3;
-       TALLOC_CTX *_mem_save_unknown3_0;
-       uint32_t _ptr_unknown4;
-       TALLOC_CTX *_mem_save_unknown4_0;
-       uint32_t cntr_unknown7_0;
+       uint32_t _ptr_dns_hostname;
+       TALLOC_CTX *_mem_save_dns_hostname_0;
+       uint32_t _ptr_sitename;
+       TALLOC_CTX *_mem_save_sitename_0;
+       uint32_t _ptr_dummy1;
+       TALLOC_CTX *_mem_save_dummy1_0;
+       uint32_t _ptr_dummy2;
+       TALLOC_CTX *_mem_save_dummy2_0;
+       uint32_t _ptr_dummy3;
+       TALLOC_CTX *_mem_save_dummy3_0;
+       uint32_t _ptr_dummy4;
+       TALLOC_CTX *_mem_save_dummy4_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
-               if (_ptr_workstation_domain) {
-                       NDR_PULL_ALLOC(ndr, r->workstation_domain);
+               NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname));
+               if (_ptr_dns_hostname) {
+                       NDR_PULL_ALLOC(ndr, r->dns_hostname);
                } else {
-                       r->workstation_domain = NULL;
+                       r->dns_hostname = NULL;
                }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
-               if (_ptr_workstation_site) {
-                       NDR_PULL_ALLOC(ndr, r->workstation_site);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
+               if (_ptr_sitename) {
+                       NDR_PULL_ALLOC(ndr, r->sitename);
                } else {
-                       r->workstation_site = NULL;
+                       r->sitename = NULL;
                }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
-               if (_ptr_unknown1) {
-                       NDR_PULL_ALLOC(ndr, r->unknown1);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1));
+               if (_ptr_dummy1) {
+                       NDR_PULL_ALLOC(ndr, r->dummy1);
                } else {
-                       r->unknown1 = NULL;
+                       r->dummy1 = NULL;
                }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
-               if (_ptr_unknown2) {
-                       NDR_PULL_ALLOC(ndr, r->unknown2);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2));
+               if (_ptr_dummy2) {
+                       NDR_PULL_ALLOC(ndr, r->dummy2);
                } else {
-                       r->unknown2 = NULL;
+                       r->dummy2 = NULL;
                }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
-               if (_ptr_unknown3) {
-                       NDR_PULL_ALLOC(ndr, r->unknown3);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3));
+               if (_ptr_dummy3) {
+                       NDR_PULL_ALLOC(ndr, r->dummy3);
                } else {
-                       r->unknown3 = NULL;
+                       r->dummy3 = NULL;
                }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
-               if (_ptr_unknown4) {
-                       NDR_PULL_ALLOC(ndr, r->unknown4);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4));
+               if (_ptr_dummy4) {
+                       NDR_PULL_ALLOC(ndr, r->dummy4);
                } else {
-                       r->unknown4 = NULL;
-               }
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->blob2));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
-               for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
-                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
+                       r->dummy4 = NULL;
                }
+               NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
+               NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
-               if (r->workstation_domain) {
-                       _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
-                       if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_domain), ndr_get_array_length(ndr, &r->workstation_domain));
+               NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
+               if (r->dns_hostname) {
+                       _mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0);
+                       NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname));
+                       NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname));
+                       if (ndr_get_array_length(ndr, &r->dns_hostname) > ndr_get_array_size(ndr, &r->dns_hostname)) {
+                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_hostname), ndr_get_array_length(ndr, &r->dns_hostname));
                        }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
-               }
-               if (r->workstation_site) {
-                       _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
-                       if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_site), ndr_get_array_length(ndr, &r->workstation_site));
+                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t)));
+                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t), CH_UTF16));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0);
+               }
+               if (r->sitename) {
+                       _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
+                       NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
+                       NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename));
+                       if (ndr_get_array_length(ndr, &r->sitename) > ndr_get_array_size(ndr, &r->sitename)) {
+                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sitename), ndr_get_array_length(ndr, &r->sitename));
                        }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
-               }
-               if (r->unknown1) {
-                       _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
-                       if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1));
+                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t)));
+                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t), CH_UTF16));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
+               }
+               if (r->dummy1) {
+                       _mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0);
+                       NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1));
+                       NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1));
+                       if (ndr_get_array_length(ndr, &r->dummy1) > ndr_get_array_size(ndr, &r->dummy1)) {
+                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy1), ndr_get_array_length(ndr, &r->dummy1));
                        }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
-               }
-               if (r->unknown2) {
-                       _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
-                       if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
+                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t)));
+                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t), CH_UTF16));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0);
+               }
+               if (r->dummy2) {
+                       _mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0);
+                       NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2));
+                       NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2));
+                       if (ndr_get_array_length(ndr, &r->dummy2) > ndr_get_array_size(ndr, &r->dummy2)) {
+                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy2), ndr_get_array_length(ndr, &r->dummy2));
                        }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
-               }
-               if (r->unknown3) {
-                       _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
-                       if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown3), ndr_get_array_length(ndr, &r->unknown3));
+                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t)));
+                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t), CH_UTF16));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0);
+               }
+               if (r->dummy3) {
+                       _mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0);
+                       NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3));
+                       NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3));
+                       if (ndr_get_array_length(ndr, &r->dummy3) > ndr_get_array_size(ndr, &r->dummy3)) {
+                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy3), ndr_get_array_length(ndr, &r->dummy3));
                        }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
-               }
-               if (r->unknown4) {
-                       _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
-                       if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown4), ndr_get_array_length(ndr, &r->unknown4));
+                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t)));
+                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t), CH_UTF16));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0);
+               }
+               if (r->dummy4) {
+                       _mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0);
+                       NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4));
+                       NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4));
+                       if (ndr_get_array_length(ndr, &r->dummy4) > ndr_get_array_size(ndr, &r->dummy4)) {
+                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy4), ndr_get_array_length(ndr, &r->dummy4));
                        }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
+                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t)));
+                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t), CH_UTF16));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0);
                }
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
+               NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
        }
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
+_PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r)
 {
-       uint32_t cntr_unknown7_0;
-       ndr_print_struct(ndr, name, "netr_DomainQuery1");
+       ndr_print_struct(ndr, name, "netr_WorkstationInformation");
        ndr->depth++;
-       ndr_print_netr_Blob(ndr, "blob", &r->blob);
-       ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
+       ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
+       ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname);
        ndr->depth++;
-       if (r->workstation_domain) {
-               ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
+       if (r->dns_hostname) {
+               ndr_print_string(ndr, "dns_hostname", r->dns_hostname);
        }
        ndr->depth--;
-       ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
+       ndr_print_ptr(ndr, "sitename", r->sitename);
        ndr->depth++;
-       if (r->workstation_site) {
-               ndr_print_string(ndr, "workstation_site", r->workstation_site);
+       if (r->sitename) {
+               ndr_print_string(ndr, "sitename", r->sitename);
        }
        ndr->depth--;
-       ndr_print_ptr(ndr, "unknown1", r->unknown1);
+       ndr_print_ptr(ndr, "dummy1", r->dummy1);
        ndr->depth++;
-       if (r->unknown1) {
-               ndr_print_string(ndr, "unknown1", r->unknown1);
+       if (r->dummy1) {
+               ndr_print_string(ndr, "dummy1", r->dummy1);
        }
        ndr->depth--;
-       ndr_print_ptr(ndr, "unknown2", r->unknown2);
+       ndr_print_ptr(ndr, "dummy2", r->dummy2);
        ndr->depth++;
-       if (r->unknown2) {
-               ndr_print_string(ndr, "unknown2", r->unknown2);
+       if (r->dummy2) {
+               ndr_print_string(ndr, "dummy2", r->dummy2);
        }
        ndr->depth--;
-       ndr_print_ptr(ndr, "unknown3", r->unknown3);
+       ndr_print_ptr(ndr, "dummy3", r->dummy3);
        ndr->depth++;
-       if (r->unknown3) {
-               ndr_print_string(ndr, "unknown3", r->unknown3);
+       if (r->dummy3) {
+               ndr_print_string(ndr, "dummy3", r->dummy3);
        }
        ndr->depth--;
-       ndr_print_ptr(ndr, "unknown4", r->unknown4);
+       ndr_print_ptr(ndr, "dummy4", r->dummy4);
        ndr->depth++;
-       if (r->unknown4) {
-               ndr_print_string(ndr, "unknown4", r->unknown4);
-       }
-       ndr->depth--;
-       ndr_print_lsa_BinaryString(ndr, "blob2", &r->blob2);
-       ndr_print_lsa_String(ndr, "product", &r->product);
-       ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
-       ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
-       ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", (int)4);
-       ndr->depth++;
-       for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
-               char *idx_0=NULL;
-               if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
-                       ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
-                       free(idx_0);
-               }
+       if (r->dummy4) {
+               ndr_print_string(ndr, "dummy4", r->dummy4);
        }
        ndr->depth--;
+       ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version);
+       ndr_print_lsa_String(ndr, "os_name", &r->os_name);
+       ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
+       ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
+       ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
+       ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
+       ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
+       ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
+static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 1: {
-                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
+                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info));
                        break; }
 
                        case 2: {
-                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
+                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
                        break; }
 
                        default:
@@ -7504,14 +7794,14 @@ static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr
                int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 1:
-                               if (r->query1) {
-                                       NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
+                               if (r->workstation_info) {
+                                       NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
                                }
                        break;
 
                        case 2:
-                               if (r->query1) {
-                                       NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
+                               if (r->lsa_policy_info) {
+                                       NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
                                }
                        break;
 
@@ -7522,11 +7812,12 @@ static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr
        return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
+static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r)
 {
        int level;
        uint32_t _level;
-       TALLOC_CTX *_mem_save_query1_0;
+       TALLOC_CTX *_mem_save_workstation_info_0;
+       TALLOC_CTX *_mem_save_lsa_policy_info_0;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
@@ -7535,22 +7826,22 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr
                }
                switch (level) {
                        case 1: {
-                               uint32_t _ptr_query1;
-                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
-                               if (_ptr_query1) {
-                                       NDR_PULL_ALLOC(ndr, r->query1);
+                               uint32_t _ptr_workstation_info;
+                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info));
+                               if (_ptr_workstation_info) {
+                                       NDR_PULL_ALLOC(ndr, r->workstation_info);
                                } else {
-                                       r->query1 = NULL;
+                                       r->workstation_info = NULL;
                                }
                        break; }
 
                        case 2: {
-                               uint32_t _ptr_query1;
-                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
-                               if (_ptr_query1) {
-                                       NDR_PULL_ALLOC(ndr, r->query1);
+                               uint32_t _ptr_lsa_policy_info;
+                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
+                               if (_ptr_lsa_policy_info) {
+                                       NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
                                } else {
-                                       r->query1 = NULL;
+                                       r->lsa_policy_info = NULL;
                                }
                        break; }
 
@@ -7561,20 +7852,20 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr
        if (ndr_flags & NDR_BUFFERS) {
                switch (level) {
                        case 1:
-                               if (r->query1) {
-                                       _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                                       NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
-                                       NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
-                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
+                               if (r->workstation_info) {
+                                       _mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                                       NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0);
+                                       NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
+                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0);
                                }
                        break;
 
                        case 2:
-                               if (r->query1) {
-                                       _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                                       NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
-                                       NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
-                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
+                               if (r->lsa_policy_info) {
+                                       _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                                       NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
+                                       NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
+                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
                                }
                        break;
 
@@ -7585,26 +7876,26 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
+_PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r)
 {
        int level;
        level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "netr_DomainQuery");
+       ndr_print_union(ndr, name, level, "netr_WorkstationInfo");
        switch (level) {
                case 1:
-                       ndr_print_ptr(ndr, "query1", r->query1);
+                       ndr_print_ptr(ndr, "workstation_info", r->workstation_info);
                        ndr->depth++;
-                       if (r->query1) {
-                               ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
+                       if (r->workstation_info) {
+                               ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info);
                        }
                        ndr->depth--;
                break;
 
                case 2:
-                       ndr_print_ptr(ndr, "query1", r->query1);
+                       ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
                        ndr->depth++;
-                       if (r->query1) {
-                               ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
+                       if (r->lsa_policy_info) {
+                               ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
                        }
                        ndr->depth--;
                break;
@@ -7719,355 +8010,232 @@ _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, co
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
+static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r)
 {
-       uint32_t cntr_dummystring_0;
-       uint32_t cntr_dummy_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
-               NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_forestname));
+               NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
                NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
-               for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
-               }
-               for (cntr_dummy_0 = 0; cntr_dummy_0 < 4; cntr_dummy_0++) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy[cntr_dummy_0]));
-               }
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
-               if (r->sid) {
-                       NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_forestname));
+               if (r->domain_sid) {
+                       NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
                }
                NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
-               for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
-               }
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
        }
        return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
+static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r)
 {
-       uint32_t _ptr_sid;
-       TALLOC_CTX *_mem_save_sid_0;
-       uint32_t cntr_dummystring_0;
-       uint32_t cntr_dummy_0;
+       uint32_t _ptr_domain_sid;
+       TALLOC_CTX *_mem_save_domain_sid_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
-               NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
-               if (_ptr_sid) {
-                       NDR_PULL_ALLOC(ndr, r->sid);
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_forestname));
+               NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
+               if (_ptr_domain_sid) {
+                       NDR_PULL_ALLOC(ndr, r->domain_sid);
                } else {
-                       r->sid = NULL;
+                       r->domain_sid = NULL;
                }
                NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
-               for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
-               }
-               for (cntr_dummy_0 = 0; cntr_dummy_0 < 4; cntr_dummy_0++) {
-                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy[cntr_dummy_0]));
-               }
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
-               if (r->sid) {
-                       _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
-                       NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_forestname));
+               if (r->domain_sid) {
+                       _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
+                       NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
                }
                NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
-               for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
-{
-       uint32_t cntr_dummystring_0;
-       uint32_t cntr_dummy_0;
-       ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "domainname", &r->domainname);
-       ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
-       ndr_print_lsa_String(ndr, "forest", &r->forest);
-       ndr_print_GUID(ndr, "guid", &r->guid);
-       ndr_print_ptr(ndr, "sid", r->sid);
-       ndr->depth++;
-       if (r->sid) {
-               ndr_print_dom_sid2(ndr, "sid", r->sid);
-       }
-       ndr->depth--;
-       ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
-       ndr->print(ndr, "%s: ARRAY(%d)", "dummystring", (int)3);
-       ndr->depth++;
-       for (cntr_dummystring_0=0;cntr_dummystring_0<3;cntr_dummystring_0++) {
-               char *idx_0=NULL;
-               if (asprintf(&idx_0, "[%d]", cntr_dummystring_0) != -1) {
-                       ndr_print_lsa_String(ndr, "dummystring", &r->dummystring[cntr_dummystring_0]);
-                       free(idx_0);
-               }
-       }
-       ndr->depth--;
-       ndr->print(ndr, "%s: ARRAY(%d)", "dummy", (int)4);
-       ndr->depth++;
-       for (cntr_dummy_0=0;cntr_dummy_0<4;cntr_dummy_0++) {
-               char *idx_0=NULL;
-               if (asprintf(&idx_0, "[%d]", cntr_dummy_0) != -1) {
-                       ndr_print_uint32(ndr, "dummy", r->dummy[cntr_dummy_0]);
-                       free(idx_0);
-               }
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_netr_LsaPolicyInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInfo *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->policy) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
-                       NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_netr_LsaPolicyInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInfo *r)
-{
-       uint32_t _ptr_policy;
-       TALLOC_CTX *_mem_save_policy_0;
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
-               if (_ptr_policy) {
-                       NDR_PULL_ALLOC(ndr, r->policy);
-               } else {
-                       r->policy = NULL;
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->policy) {
-                       _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
-                       NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy));
-                       NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy)));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
-               }
-               if (r->policy) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
-               }
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
        }
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_netr_LsaPolicyInfo(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInfo *r)
+_PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r)
 {
-       ndr_print_struct(ndr, name, "netr_LsaPolicyInfo");
+       ndr_print_struct(ndr, name, "netr_OneDomainInfo");
        ndr->depth++;
-       ndr_print_uint32(ndr, "policy_size", r->policy_size);
-       ndr_print_ptr(ndr, "policy", r->policy);
+       ndr_print_lsa_String(ndr, "domainname", &r->domainname);
+       ndr_print_lsa_String(ndr, "dns_domainname", &r->dns_domainname);
+       ndr_print_lsa_String(ndr, "dns_forestname", &r->dns_forestname);
+       ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
+       ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
        ndr->depth++;
-       if (r->policy) {
-               ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
+       if (r->domain_sid) {
+               ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
        }
        ndr->depth--;
+       ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
+       ndr_print_lsa_String(ndr, "dummy_string2", &r->dummy_string2);
+       ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
+       ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
+       ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1);
+       ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
+       ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
+       ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
        ndr->depth--;
 }
 
-_PUBLIC_ enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_netr_WorkstationFlags(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_netr_WorkstationFlags(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), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
+static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r)
 {
-       uint32_t cntr_trusts_1;
-       uint32_t cntr_dummystring_0;
-       uint32_t cntr_dummy_0;
+       uint32_t cntr_trusted_domains_1;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
-               NDR_CHECK(ndr_push_netr_LsaPolicyInfo(ndr, NDR_SCALARS, &r->lsa_policy));
+               NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains));
+               NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
-               for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
-               }
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
                NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->supported_enc_types));
-               for (cntr_dummy_0 = 0; cntr_dummy_0 < 2; cntr_dummy_0++) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy[cntr_dummy_0]));
-               }
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
-               if (r->trusts) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
-                       for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
-                               NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
+               NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
+               if (r->trusted_domains) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
+                       for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
+                               NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
                        }
-                       for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
-                               NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
+                       for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
+                               NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
                        }
                }
-               NDR_CHECK(ndr_push_netr_LsaPolicyInfo(ndr, NDR_BUFFERS, &r->lsa_policy));
+               NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
-               for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
-               }
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
        }
        return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
+static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r)
 {
-       uint32_t _ptr_trusts;
-       uint32_t cntr_trusts_1;
-       TALLOC_CTX *_mem_save_trusts_0;
-       TALLOC_CTX *_mem_save_trusts_1;
-       uint32_t cntr_dummystring_0;
-       uint32_t cntr_dummy_0;
+       uint32_t _ptr_trusted_domains;
+       uint32_t cntr_trusted_domains_1;
+       TALLOC_CTX *_mem_save_trusted_domains_0;
+       TALLOC_CTX *_mem_save_trusted_domains_1;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
-               if (_ptr_trusts) {
-                       NDR_PULL_ALLOC(ndr, r->trusts);
+               NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains));
+               if (_ptr_trusted_domains) {
+                       NDR_PULL_ALLOC(ndr, r->trusted_domains);
                } else {
-                       r->trusts = NULL;
+                       r->trusted_domains = NULL;
                }
-               NDR_CHECK(ndr_pull_netr_LsaPolicyInfo(ndr, NDR_SCALARS, &r->lsa_policy));
+               NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
-               for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
-               }
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
                NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->supported_enc_types));
-               for (cntr_dummy_0 = 0; cntr_dummy_0 < 2; cntr_dummy_0++) {
-                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy[cntr_dummy_0]));
-               }
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
-               if (r->trusts) {
-                       _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
-                       NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
-                       _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
-                       for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
-                               NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
+               NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
+               if (r->trusted_domains) {
+                       _mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
+                       NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains));
+                       NDR_PULL_ALLOC_N(ndr, r->trusted_domains, ndr_get_array_size(ndr, &r->trusted_domains));
+                       _mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
+                       for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
+                               NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
                        }
-                       for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
-                               NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
+                       for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
+                               NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
                        }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0);
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0);
                }
-               NDR_CHECK(ndr_pull_netr_LsaPolicyInfo(ndr, NDR_BUFFERS, &r->lsa_policy));
+               NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
-               for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
-               }
-               if (r->trusts) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
+               if (r->trusted_domains) {
+                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count));
                }
        }
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
+_PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r)
 {
-       uint32_t cntr_trusts_1;
-       uint32_t cntr_dummystring_0;
-       uint32_t cntr_dummy_0;
-       ndr_print_struct(ndr, name, "netr_DomainInfo1");
+       uint32_t cntr_trusted_domains_1;
+       ndr_print_struct(ndr, name, "netr_DomainInformation");
        ndr->depth++;
-       ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
-       ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
-       ndr_print_ptr(ndr, "trusts", r->trusts);
+       ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain);
+       ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count);
+       ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains);
        ndr->depth++;
-       if (r->trusts) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "trusts", (int)r->num_trusts);
+       if (r->trusted_domains) {
+               ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count);
                ndr->depth++;
-               for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
+               for (cntr_trusted_domains_1=0;cntr_trusted_domains_1<r->trusted_domain_count;cntr_trusted_domains_1++) {
                        char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
-                               ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
+                       if (asprintf(&idx_1, "[%d]", cntr_trusted_domains_1) != -1) {
+                               ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]);
                                free(idx_1);
                        }
                }
                ndr->depth--;
        }
        ndr->depth--;
-       ndr_print_netr_LsaPolicyInfo(ndr, "lsa_policy", &r->lsa_policy);
+       ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
        ndr_print_lsa_String(ndr, "dns_hostname", &r->dns_hostname);
-       ndr->print(ndr, "%s: ARRAY(%d)", "dummystring", (int)3);
-       ndr->depth++;
-       for (cntr_dummystring_0=0;cntr_dummystring_0<3;cntr_dummystring_0++) {
-               char *idx_0=NULL;
-               if (asprintf(&idx_0, "[%d]", cntr_dummystring_0) != -1) {
-                       ndr_print_lsa_String(ndr, "dummystring", &r->dummystring[cntr_dummystring_0]);
-                       free(idx_0);
-               }
-       }
-       ndr->depth--;
+       ndr_print_lsa_String(ndr, "dummy_string2", &r->dummy_string2);
+       ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
+       ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
        ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
        ndr_print_uint32(ndr, "supported_enc_types", r->supported_enc_types);
-       ndr->print(ndr, "%s: ARRAY(%d)", "dummy", (int)2);
-       ndr->depth++;
-       for (cntr_dummy_0=0;cntr_dummy_0<2;cntr_dummy_0++) {
-               char *idx_0=NULL;
-               if (asprintf(&idx_0, "[%d]", cntr_dummy_0) != -1) {
-                       ndr_print_uint32(ndr, "dummy", r->dummy[cntr_dummy_0]);
-                       free(idx_0);
-               }
-       }
-       ndr->depth--;
+       ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
+       ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
        ndr->depth--;
 }
 
@@ -8078,11 +8246,11 @@ static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 1: {
-                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
+                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info));
                        break; }
 
                        case 2: {
-                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
+                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
                        break; }
 
                        default:
@@ -8093,14 +8261,14 @@ static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_
                int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 1:
-                               if (r->info1) {
-                                       NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
+                               if (r->domain_info) {
+                                       NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
                                }
                        break;
 
                        case 2:
-                               if (r->info2) {
-                                       NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
+                               if (r->lsa_policy_info) {
+                                       NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
                                }
                        break;
 
@@ -8115,8 +8283,8 @@ static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_
 {
        int level;
        uint32_t _level;
-       TALLOC_CTX *_mem_save_info1_0;
-       TALLOC_CTX *_mem_save_info2_0;
+       TALLOC_CTX *_mem_save_domain_info_0;
+       TALLOC_CTX *_mem_save_lsa_policy_info_0;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
@@ -8125,22 +8293,22 @@ static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_
                }
                switch (level) {
                        case 1: {
-                               uint32_t _ptr_info1;
-                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
-                               if (_ptr_info1) {
-                                       NDR_PULL_ALLOC(ndr, r->info1);
+                               uint32_t _ptr_domain_info;
+                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info));
+                               if (_ptr_domain_info) {
+                                       NDR_PULL_ALLOC(ndr, r->domain_info);
                                } else {
-                                       r->info1 = NULL;
+                                       r->domain_info = NULL;
                                }
                        break; }
 
                        case 2: {
-                               uint32_t _ptr_info2;
-                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
-                               if (_ptr_info2) {
-                                       NDR_PULL_ALLOC(ndr, r->info2);
+                               uint32_t _ptr_lsa_policy_info;
+                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
+                               if (_ptr_lsa_policy_info) {
+                                       NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
                                } else {
-                                       r->info2 = NULL;
+                                       r->lsa_policy_info = NULL;
                                }
                        break; }
 
@@ -8151,20 +8319,20 @@ static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_
        if (ndr_flags & NDR_BUFFERS) {
                switch (level) {
                        case 1:
-                               if (r->info1) {
-                                       _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                                       NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
-                                       NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
-                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
+                               if (r->domain_info) {
+                                       _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                                       NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0);
+                                       NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
+                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0);
                                }
                        break;
 
                        case 2:
-                               if (r->info2) {
-                                       _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                                       NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
-                                       NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
-                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
+                               if (r->lsa_policy_info) {
+                                       _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                                       NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
+                                       NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
+                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
                                }
                        break;
 
@@ -8182,19 +8350,19 @@ _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name,
        ndr_print_union(ndr, name, level, "netr_DomainInfo");
        switch (level) {
                case 1:
-                       ndr_print_ptr(ndr, "info1", r->info1);
+                       ndr_print_ptr(ndr, "domain_info", r->domain_info);
                        ndr->depth++;
-                       if (r->info1) {
-                               ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
+                       if (r->domain_info) {
+                               ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info);
                        }
                        ndr->depth--;
                break;
 
                case 2:
-                       ndr_print_ptr(ndr, "info2", r->info2);
+                       ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
                        ndr->depth++;
-                       if (r->info2) {
-                               ndr_print_netr_DomainInfo1(ndr, "info2", r->info2);
+                       if (r->lsa_policy_info) {
+                               ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
                        }
                        ndr->depth--;
                break;
@@ -9048,10 +9216,16 @@ static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int f
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+               if (r->in.workstation == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
@@ -9155,9 +9329,15 @@ _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *na
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "workstation", r->in.workstation);
+               ndr->depth++;
                ndr_print_string(ndr, "workstation", r->in.workstation);
                ndr->depth--;
+               ndr->depth--;
        }
        if (flags & NDR_OUT) {
                ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
@@ -9187,10 +9367,16 @@ static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+               if (r->in.workstation == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
@@ -9278,9 +9464,15 @@ _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *n
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "workstation", r->in.workstation);
+               ndr->depth++;
                ndr_print_string(ndr, "workstation", r->in.workstation);
                ndr->depth--;
+               ndr->depth--;
        }
        if (flags & NDR_OUT) {
                ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
@@ -9736,6 +9928,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.computer_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
@@ -9828,7 +10023,10 @@ _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const cha
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
+               ndr->depth++;
                ndr_print_string(ndr, "computer_name", r->in.computer_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credentials", r->in.credentials);
                ndr->depth++;
                ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
@@ -9858,11 +10056,17 @@ static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr,
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
+               if (r->in.computer_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
@@ -9963,9 +10167,15 @@ _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const cha
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
                ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
+               ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
+               ndr->depth++;
                ndr_print_string(ndr, "computer_name", r->in.computer_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credentials", r->in.credentials);
                ndr->depth++;
                ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
@@ -9995,11 +10205,17 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, i
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
+               if (r->in.computer_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
@@ -10112,9 +10328,15 @@ _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
                ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
+               ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
+               ndr->depth++;
                ndr_print_string(ndr, "computer_name", r->in.computer_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credential", r->in.credential);
                ndr->depth++;
                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
@@ -10141,10 +10363,16 @@ _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char
 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.logon_server == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+               if (r->in.computername == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
@@ -10288,8 +10516,14 @@ _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *n
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
                ndr->depth++;
+               ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
+               ndr->depth++;
                ndr_print_string(ndr, "logon_server", r->in.logon_server);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "computername", r->in.computername);
+               ndr->depth++;
                ndr_print_string(ndr, "computername", r->in.computername);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credential", r->in.credential);
                ndr->depth++;
                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
@@ -10335,10 +10569,16 @@ _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *n
 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.logon_server == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+               if (r->in.computername == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
@@ -10482,8 +10722,14 @@ _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *nam
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "netr_DatabaseSync");
                ndr->depth++;
+               ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
+               ndr->depth++;
                ndr_print_string(ndr, "logon_server", r->in.logon_server);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "computername", r->in.computername);
+               ndr->depth++;
                ndr_print_string(ndr, "computername", r->in.computername);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credential", r->in.credential);
                ndr->depth++;
                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
@@ -10536,6 +10782,9 @@ static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int f
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.computername == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
@@ -10703,7 +10952,10 @@ _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *na
                        ndr_print_string(ndr, "logon_server", r->in.logon_server);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "computername", r->in.computername);
+               ndr->depth++;
                ndr_print_string(ndr, "computername", r->in.computername);
+               ndr->depth--;
                ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
                ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
                ndr->depth++;
@@ -10754,6 +11006,9 @@ static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int fla
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.computername == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
@@ -10944,7 +11199,10 @@ _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name
                        ndr_print_string(ndr, "logon_server", r->in.logon_server);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "computername", r->in.computername);
+               ndr->depth++;
                ndr_print_string(ndr, "computername", r->in.computername);
+               ndr->depth--;
                ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
                ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
                ndr->depth++;
@@ -10995,6 +11253,9 @@ _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name
 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.logon_server == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
@@ -11101,7 +11362,10 @@ _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name,
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "netr_GetDcName");
                ndr->depth++;
+               ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
+               ndr->depth++;
                ndr_print_string(ndr, "logon_server", r->in.logon_server);
+               ndr->depth--;
                ndr_print_ptr(ndr, "domainname", r->in.domainname);
                ndr->depth++;
                if (r->in.domainname) {
@@ -11520,11 +11784,17 @@ static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr,
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
+               if (r->in.computer_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
@@ -11650,9 +11920,15 @@ _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const ch
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
                ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
+               ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
+               ndr->depth++;
                ndr_print_string(ndr, "computer_name", r->in.computer_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credentials", r->in.credentials);
                ndr->depth++;
                ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
@@ -11683,10 +11959,16 @@ _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const ch
 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.logon_server == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+               if (r->in.computername == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
@@ -11832,8 +12114,14 @@ _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *na
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
                ndr->depth++;
+               ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
+               ndr->depth++;
                ndr_print_string(ndr, "logon_server", r->in.logon_server);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "computername", r->in.computername);
+               ndr->depth++;
                ndr_print_string(ndr, "computername", r->in.computername);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credential", r->in.credential);
                ndr->depth++;
                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
@@ -11880,10 +12168,16 @@ _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *na
 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.logon_server == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+               if (r->in.computername == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
@@ -12012,8 +12306,14 @@ _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *nam
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
                ndr->depth++;
+               ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
+               ndr->depth++;
                ndr_print_string(ndr, "logon_server", r->in.logon_server);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "computername", r->in.computername);
+               ndr->depth++;
                ndr_print_string(ndr, "computername", r->in.computername);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credential", r->in.credential);
                ndr->depth++;
                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
@@ -12466,6 +12766,9 @@ _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *nam
 static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.server_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
@@ -12588,7 +12891,10 @@ _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const c
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
                ndr->depth++;
+               ndr_print_ptr(ndr, "server_name", r->in.server_name);
+               ndr->depth++;
                ndr_print_string(ndr, "server_name", r->in.server_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
                ndr->depth++;
                if (r->in.computer_name) {
@@ -12884,11 +13190,17 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *nd
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
+               if (r->in.computer_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
@@ -13028,9 +13340,15 @@ _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const ch
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
                ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
+               ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
+               ndr->depth++;
                ndr_print_string(ndr, "computer_name", r->in.computer_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credentials", r->in.credentials);
                ndr->depth++;
                ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
@@ -13397,6 +13715,9 @@ _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *n
 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.server_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
@@ -13417,8 +13738,11 @@ static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr,
                }
                NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
-               NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
-               NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
+               if (r->in.query == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level));
+               NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
        }
        if (flags & NDR_OUT) {
                if (r->out.return_authenticator == NULL) {
@@ -13441,6 +13765,7 @@ static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr,
        TALLOC_CTX *_mem_save_computer_name_0;
        TALLOC_CTX *_mem_save_credential_0;
        TALLOC_CTX *_mem_save_return_authenticator_0;
+       TALLOC_CTX *_mem_save_query_0;
        TALLOC_CTX *_mem_save_info_0;
        if (flags & NDR_IN) {
                ZERO_STRUCT(r->out);
@@ -13485,8 +13810,14 @@ static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr,
                NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
-               NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->in.query);
+               }
+               _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level));
+               NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
                *r->out.return_authenticator = *r->in.return_authenticator;
                NDR_PULL_ALLOC(ndr, r->out.info);
@@ -13523,7 +13854,10 @@ _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const cha
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
                ndr->depth++;
+               ndr_print_ptr(ndr, "server_name", r->in.server_name);
+               ndr->depth++;
                ndr_print_string(ndr, "server_name", r->in.server_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
                ndr->depth++;
                if (r->in.computer_name) {
@@ -13539,8 +13873,11 @@ _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const cha
                ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
                ndr->depth--;
                ndr_print_uint32(ndr, "level", r->in.level);
-               ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
-               ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
+               ndr_print_ptr(ndr, "query", r->in.query);
+               ndr->depth++;
+               ndr_print_set_switch_value(ndr, r->in.query, r->in.level);
+               ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query);
+               ndr->depth--;
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
@@ -13571,11 +13908,17 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr,
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
+               if (r->in.computer_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
@@ -13688,9 +14031,15 @@ _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const cha
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
                ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
+               ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
+               ndr->depth++;
                ndr_print_string(ndr, "computer_name", r->in.computer_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credential", r->in.credential);
                ndr->depth++;
                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
@@ -13724,11 +14073,17 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, i
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
+               if (r->in.computer_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
@@ -13843,9 +14198,15 @@ _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
                ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
+               ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
+               ndr->depth++;
                ndr_print_string(ndr, "computer_name", r->in.computer_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credential", r->in.credential);
                ndr->depth++;
                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
@@ -15218,11 +15579,17 @@ static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
+               if (r->in.account_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
+               if (r->in.computer_name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
@@ -15351,9 +15718,15 @@ _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, cons
                        ndr_print_string(ndr, "server_name", r->in.server_name);
                }
                ndr->depth--;
+               ndr_print_ptr(ndr, "account_name", r->in.account_name);
+               ndr->depth++;
                ndr_print_string(ndr, "account_name", r->in.account_name);
+               ndr->depth--;
                ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
+               ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
+               ndr->depth++;
                ndr_print_string(ndr, "computer_name", r->in.computer_name);
+               ndr->depth--;
                ndr_print_ptr(ndr, "credential", r->in.credential);
                ndr->depth++;
                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
index 2dfc0edc215f9556f275afeeb2cb441ced51f869..f1b250135ef8d91b361971533f776439ed0f599b 100644 (file)
@@ -208,16 +208,19 @@ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_f
 void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r);
 void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r);
 void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r);
-void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r);
-void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r);
+void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r);
+void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r);
+void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r);
+void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r);
+void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r);
+void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r);
+void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r);
+void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r);
+void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r);
 void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r);
 void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r);
-void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r);
-void ndr_print_netr_LsaPolicyInfo(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInfo *r);
-enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r);
-enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r);
-void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r);
-void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r);
+void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r);
+void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r);
 void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r);
 void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r);
 void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r);
index 7010e8084348b5044d0767ca391bac8dcef319cd..6f621075e6abbd53d3e7b55c3f88af8589da6cbd 100644 (file)
@@ -875,23 +875,83 @@ union netr_Capabilities {
 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
 
-struct netr_DomainQuery1 {
-       struct netr_Blob blob;
-       const char *workstation_domain;/* [unique,charset(UTF16)] */
-       const char *workstation_site;/* [unique,charset(UTF16)] */
-       const char *unknown1;/* [unique,charset(UTF16)] */
-       const char *unknown2;/* [unique,charset(UTF16)] */
-       const char *unknown3;/* [unique,charset(UTF16)] */
-       const char *unknown4;/* [unique,charset(UTF16)] */
-       struct lsa_BinaryString blob2;
-       struct lsa_String product;
-       struct lsa_String unknown5;
-       struct lsa_String unknown6;
-       uint32_t unknown7[4];
+/* bitmap netr_WorkstationFlags */
+#define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
+#define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
+
+/* bitmap netr_SuiteMask */
+#define NETR_VER_SUITE_BACKOFFICE ( 0x0004 )
+#define NETR_VER_SUITE_BLADE ( 0x0400 )
+#define NETR_VER_SUITE_COMPUTE_SERVER ( 0x4000 )
+#define NETR_VER_SUITE_DATACENTER ( 0x0080 )
+#define NETR_VER_SUITE_ENTERPRISE ( 0x0002 )
+#define NETR_VER_SUITE_EMBEDDEDNT ( 0x0040 )
+#define NETR_VER_SUITE_PERSONAL ( 0x0200 )
+#define NETR_VER_SUITE_SINGLEUSERTS ( 0x0100 )
+#define NETR_VER_SUITE_SMALLBUSINESS ( 0x0001 )
+#define NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED ( 0x0020 )
+#define NETR_VER_SUITE_STORAGE_SERVER ( 0x2000 )
+#define NETR_VER_SUITE_TERMINAL ( 0x0010 )
+#define NETR_VER_SUITE_WH_SERVER ( 0x8000 )
+
+/* bitmap netr_ProductType */
+#define NETR_VER_NT_DOMAIN_CONTROLLER ( 0x02 )
+#define NETR_VER_NT_SERVER ( 0x03 )
+#define NETR_VER_NT_WORKSTATION ( 0x01 )
+
+struct netr_LsaPolicyInformation {
+       uint32_t policy_size;
+       uint8_t *policy;/* [unique,size_is(policy_size)] */
+};
+
+struct netr_OsVersionInfoEx {
+       uint32_t OSVersionInfoSize;/* [value(284)] */
+       uint32_t MajorVersion;
+       uint32_t MinorVersion;
+       uint32_t BuildNumber;
+       uint32_t PlatformId;
+       const char *CSDVersion;/* [charset(UTF16)] */
+       uint16_t ServicePackMajor;
+       uint16_t ServicePackMinor;
+       uint16_t SuiteMask;
+       uint8_t ProductType;
+       uint8_t Reserved;
+};
+
+struct netr_OsVersion {
+       uint32_t length;/* [value(142)] */
+       uint32_t dummy;/* [value(0)] */
+       uint32_t size;/* [value(142)] */
+       struct netr_OsVersionInfoEx os;
+};
+
+struct netr_OsVersionContainer {
+       uint16_t length;/* [value(os==NULL?0:284)] */
+       uint16_t size;/* [value(os==NULL?0:284)] */
+       struct netr_OsVersion *os;/* [unique] */
+};
+
+struct netr_WorkstationInformation {
+       struct netr_LsaPolicyInformation lsa_policy;
+       const char *dns_hostname;/* [unique,charset(UTF16)] */
+       const char *sitename;/* [unique,charset(UTF16)] */
+       const char *dummy1;/* [unique,charset(UTF16)] */
+       const char *dummy2;/* [unique,charset(UTF16)] */
+       const char *dummy3;/* [unique,charset(UTF16)] */
+       const char *dummy4;/* [unique,charset(UTF16)] */
+       struct netr_OsVersionContainer os_version;
+       struct lsa_String os_name;
+       struct lsa_String dummy_string3;
+       struct lsa_String dummy_string4;
+       uint32_t workstation_flags;
+       uint32_t dummy_long2;
+       uint32_t dummy_long3;
+       uint32_t dummy_long4;
 };
 
-union netr_DomainQuery {
-       struct netr_DomainQuery1 *query1;/* [unique,case] */
+union netr_WorkstationInfo {
+       struct netr_WorkstationInformation *workstation_info;/* [unique,case] */
+       struct netr_WorkstationInformation *lsa_policy_info;/* [unique,case(2)] */
 };
 
 struct netr_trust_extension {
@@ -910,41 +970,40 @@ struct netr_trust_extension_container {
        struct netr_trust_extension *info;/* [unique] */
 };
 
-struct netr_DomainTrustInfo {
+struct netr_OneDomainInfo {
        struct lsa_String domainname;
-       struct lsa_String fulldomainname;
-       struct lsa_String forest;
-       struct GUID guid;
-       struct dom_sid2 *sid;/* [unique] */
+       struct lsa_String dns_domainname;
+       struct lsa_String dns_forestname;
+       struct GUID domain_guid;
+       struct dom_sid2 *domain_sid;/* [unique] */
        struct netr_trust_extension_container trust_extension;
-       struct lsa_String dummystring[3];
-       uint32_t dummy[4];
-};
-
-struct netr_LsaPolicyInfo {
-       uint32_t policy_size;
-       uint8_t *policy;/* [unique,size_is(policy_size)] */
-};
-
-/* bitmap netr_WorkstationFlags */
-#define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
-#define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
-
-struct netr_DomainInfo1 {
-       struct netr_DomainTrustInfo domaininfo;
-       uint32_t num_trusts;
-       struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
-       struct netr_LsaPolicyInfo lsa_policy;
+       struct lsa_String dummy_string2;
+       struct lsa_String dummy_string3;
+       struct lsa_String dummy_string4;
+       uint32_t dummy_long1;
+       uint32_t dummy_long2;
+       uint32_t dummy_long3;
+       uint32_t dummy_long4;
+};
+
+struct netr_DomainInformation {
+       struct netr_OneDomainInfo primary_domain;
+       uint32_t trusted_domain_count;
+       struct netr_OneDomainInfo *trusted_domains;/* [unique,size_is(trusted_domain_count)] */
+       struct netr_LsaPolicyInformation lsa_policy;
        struct lsa_String dns_hostname;
-       struct lsa_String dummystring[3];
+       struct lsa_String dummy_string2;
+       struct lsa_String dummy_string3;
+       struct lsa_String dummy_string4;
        uint32_t workstation_flags;
        uint32_t supported_enc_types;
-       uint32_t dummy[2];
+       uint32_t dummy_long3;
+       uint32_t dummy_long4;
 };
 
 union netr_DomainInfo {
-       struct netr_DomainInfo1 *info1;/* [unique,case] */
-       struct netr_DomainInfo1 *info2;/* [unique,case(2)] */
+       struct netr_DomainInformation *domain_info;/* [unique,case] */
+       struct netr_LsaPolicyInformation *lsa_policy_info;/* [unique,case(2)] */
 };
 
 struct netr_CryptPassword {
@@ -1026,8 +1085,8 @@ struct netr_TrustInfo {
 struct netr_LogonUasLogon {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
-               const char *workstation;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
+               const char *workstation;/* [ref,charset(UTF16)] */
        } in;
 
        struct {
@@ -1041,8 +1100,8 @@ struct netr_LogonUasLogon {
 struct netr_LogonUasLogoff {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
-               const char *workstation;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
+               const char *workstation;/* [ref,charset(UTF16)] */
        } in;
 
        struct {
@@ -1095,7 +1154,7 @@ struct netr_LogonSamLogoff {
 struct netr_ServerReqChallenge {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *computer_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [ref,charset(UTF16)] */
                struct netr_Credential *credentials;/* [ref] */
        } in;
 
@@ -1110,9 +1169,9 @@ struct netr_ServerReqChallenge {
 struct netr_ServerAuthenticate {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
                enum netr_SchannelType secure_channel_type;
-               const char *computer_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [ref,charset(UTF16)] */
                struct netr_Credential *credentials;/* [ref] */
        } in;
 
@@ -1127,9 +1186,9 @@ struct netr_ServerAuthenticate {
 struct netr_ServerPasswordSet {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
                enum netr_SchannelType secure_channel_type;
-               const char *computer_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [ref,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
                struct samr_Password *new_password;/* [ref] */
        } in;
@@ -1144,8 +1203,8 @@ struct netr_ServerPasswordSet {
 
 struct netr_DatabaseDeltas {
        struct {
-               const char *logon_server;/* [charset(UTF16)] */
-               const char *computername;/* [charset(UTF16)] */
+               const char *logon_server;/* [ref,charset(UTF16)] */
+               const char *computername;/* [ref,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
                enum netr_SamDatabaseID database_id;
                uint32_t preferredmaximumlength;
@@ -1165,8 +1224,8 @@ struct netr_DatabaseDeltas {
 
 struct netr_DatabaseSync {
        struct {
-               const char *logon_server;/* [charset(UTF16)] */
-               const char *computername;/* [charset(UTF16)] */
+               const char *logon_server;/* [ref,charset(UTF16)] */
+               const char *computername;/* [ref,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
                enum netr_SamDatabaseID database_id;
                uint32_t preferredmaximumlength;
@@ -1187,7 +1246,7 @@ struct netr_DatabaseSync {
 struct netr_AccountDeltas {
        struct {
                const char *logon_server;/* [unique,charset(UTF16)] */
-               const char *computername;/* [charset(UTF16)] */
+               const char *computername;/* [ref,charset(UTF16)] */
                struct netr_Authenticator credential;
                struct netr_UAS_INFO_0 uas;
                uint32_t count;
@@ -1211,7 +1270,7 @@ struct netr_AccountDeltas {
 struct netr_AccountSync {
        struct {
                const char *logon_server;/* [unique,charset(UTF16)] */
-               const char *computername;/* [charset(UTF16)] */
+               const char *computername;/* [ref,charset(UTF16)] */
                struct netr_Authenticator credential;
                uint32_t reference;
                uint32_t level;
@@ -1235,7 +1294,7 @@ struct netr_AccountSync {
 
 struct netr_GetDcName {
        struct {
-               const char *logon_server;/* [charset(UTF16)] */
+               const char *logon_server;/* [ref,charset(UTF16)] */
                const char *domainname;/* [unique,charset(UTF16)] */
        } in;
 
@@ -1295,9 +1354,9 @@ struct netr_LogonControl2 {
 struct netr_ServerAuthenticate2 {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
                enum netr_SchannelType secure_channel_type;
-               const char *computer_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [ref,charset(UTF16)] */
                struct netr_Credential *credentials;/* [ref] */
                uint32_t *negotiate_flags;/* [ref] */
        } in;
@@ -1313,8 +1372,8 @@ struct netr_ServerAuthenticate2 {
 
 struct netr_DatabaseSync2 {
        struct {
-               const char *logon_server;/* [charset(UTF16)] */
-               const char *computername;/* [charset(UTF16)] */
+               const char *logon_server;/* [ref,charset(UTF16)] */
+               const char *computername;/* [ref,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
                enum netr_SamDatabaseID database_id;
                enum SyncStateEnum restart_state;
@@ -1335,8 +1394,8 @@ struct netr_DatabaseSync2 {
 
 struct netr_DatabaseRedo {
        struct {
-               const char *logon_server;/* [charset(UTF16)] */
-               const char *computername;/* [charset(UTF16)] */
+               const char *logon_server;/* [ref,charset(UTF16)] */
+               const char *computername;/* [ref,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
                struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
                uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
@@ -1400,7 +1459,7 @@ struct netr_DsRGetDCName {
 
 struct netr_LogonGetCapabilities {
        struct {
-               const char *server_name;/* [charset(UTF16)] */
+               const char *server_name;/* [ref,charset(UTF16)] */
                const char *computer_name;/* [unique,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
                uint32_t query_level;
@@ -1457,9 +1516,9 @@ struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
 struct netr_ServerAuthenticate3 {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
                enum netr_SchannelType secure_channel_type;
-               const char *computer_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [ref,charset(UTF16)] */
                struct netr_Credential *credentials;/* [ref] */
                uint32_t *negotiate_flags;/* [ref] */
        } in;
@@ -1506,11 +1565,11 @@ struct netr_DsRGetSiteName {
 
 struct netr_LogonGetDomainInfo {
        struct {
-               const char *server_name;/* [charset(UTF16)] */
+               const char *server_name;/* [ref,charset(UTF16)] */
                const char *computer_name;/* [unique,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
                uint32_t level;
-               union netr_DomainQuery query;/* [switch_is(level)] */
+               union netr_WorkstationInfo *query;/* [ref,switch_is(level)] */
                struct netr_Authenticator *return_authenticator;/* [ref] */
        } in;
 
@@ -1526,9 +1585,9 @@ struct netr_LogonGetDomainInfo {
 struct netr_ServerPasswordSet2 {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
                enum netr_SchannelType secure_channel_type;
-               const char *computer_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [ref,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
                struct netr_CryptPassword *new_password;/* [ref] */
        } in;
@@ -1544,9 +1603,9 @@ struct netr_ServerPasswordSet2 {
 struct netr_ServerPasswordGet {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
                enum netr_SchannelType secure_channel_type;
-               const char *computer_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [ref,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
        } in;
 
@@ -1703,9 +1762,9 @@ struct netr_DsrDeregisterDNSHostRecords {
 struct netr_ServerTrustPasswordsGet {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
-               const char *account_name;/* [charset(UTF16)] */
+               const char *account_name;/* [ref,charset(UTF16)] */
                enum netr_SchannelType secure_channel_type;
-               const char *computer_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [ref,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [ref] */
        } in;