LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_dfs_c.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 39 1581 2.5 %
Date: 2024-04-21 15:09:00 Functions: 6 128 4.7 %

          Line data    Source code
       1             : /* client functions auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include <tevent.h>
       5             : #include "lib/util/tevent_ntstatus.h"
       6             : #include "bin/default/librpc/gen_ndr/ndr_dfs.h"
       7             : #include "bin/default/librpc/gen_ndr/ndr_dfs_c.h"
       8             : 
       9             : /* netdfs - client functions generated by pidl */
      10             : 
      11             : struct dcerpc_dfs_GetManagerVersion_r_state {
      12             :         TALLOC_CTX *out_mem_ctx;
      13             : };
      14             : 
      15             : static void dcerpc_dfs_GetManagerVersion_r_done(struct tevent_req *subreq);
      16             : 
      17           0 : struct tevent_req *dcerpc_dfs_GetManagerVersion_r_send(TALLOC_CTX *mem_ctx,
      18             :         struct tevent_context *ev,
      19             :         struct dcerpc_binding_handle *h,
      20             :         struct dfs_GetManagerVersion *r)
      21             : {
      22           0 :         struct tevent_req *req;
      23           0 :         struct dcerpc_dfs_GetManagerVersion_r_state *state;
      24           0 :         struct tevent_req *subreq;
      25             : 
      26           0 :         req = tevent_req_create(mem_ctx, &state,
      27             :                                 struct dcerpc_dfs_GetManagerVersion_r_state);
      28           0 :         if (req == NULL) {
      29           0 :                 return NULL;
      30             :         }
      31             : 
      32           0 :         state->out_mem_ctx = talloc_new(state);
      33           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
      34           0 :                 return tevent_req_post(req, ev);
      35             :         }
      36             : 
      37           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
      38             :                         NULL, &ndr_table_netdfs,
      39           0 :                         NDR_DFS_GETMANAGERVERSION, state->out_mem_ctx, r);
      40           0 :         if (tevent_req_nomem(subreq, req)) {
      41           0 :                 return tevent_req_post(req, ev);
      42             :         }
      43           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_GetManagerVersion_r_done, req);
      44             : 
      45           0 :         return req;
      46             : }
      47             : 
      48           0 : static void dcerpc_dfs_GetManagerVersion_r_done(struct tevent_req *subreq)
      49             : {
      50           0 :         struct tevent_req *req =
      51           0 :                 tevent_req_callback_data(subreq,
      52             :                 struct tevent_req);
      53           0 :         NTSTATUS status;
      54             : 
      55           0 :         status = dcerpc_binding_handle_call_recv(subreq);
      56           0 :         TALLOC_FREE(subreq);
      57           0 :         if (tevent_req_nterror(req, status)) {
      58           0 :                 return;
      59             :         }
      60             : 
      61           0 :         tevent_req_done(req);
      62             : }
      63             : 
      64           0 : NTSTATUS dcerpc_dfs_GetManagerVersion_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
      65             : {
      66           0 :         struct dcerpc_dfs_GetManagerVersion_r_state *state =
      67           0 :                 tevent_req_data(req,
      68             :                 struct dcerpc_dfs_GetManagerVersion_r_state);
      69           0 :         NTSTATUS status;
      70             : 
      71           0 :         if (tevent_req_is_nterror(req, &status)) {
      72           0 :                 tevent_req_received(req);
      73           0 :                 return status;
      74             :         }
      75             : 
      76           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
      77             : 
      78           0 :         tevent_req_received(req);
      79           0 :         return NT_STATUS_OK;
      80             : }
      81             : 
      82           2 : NTSTATUS dcerpc_dfs_GetManagerVersion_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_GetManagerVersion *r)
      83             : {
      84           0 :         NTSTATUS status;
      85             : 
      86           2 :         status = dcerpc_binding_handle_call(h,
      87             :                         NULL, &ndr_table_netdfs,
      88             :                         NDR_DFS_GETMANAGERVERSION, mem_ctx, r);
      89             : 
      90           2 :         return status;
      91             : }
      92             : 
      93             : struct dcerpc_dfs_GetManagerVersion_state {
      94             :         struct dfs_GetManagerVersion orig;
      95             :         struct dfs_GetManagerVersion tmp;
      96             :         TALLOC_CTX *out_mem_ctx;
      97             : };
      98             : 
      99             : static void dcerpc_dfs_GetManagerVersion_done(struct tevent_req *subreq);
     100             : 
     101           0 : struct tevent_req *dcerpc_dfs_GetManagerVersion_send(TALLOC_CTX *mem_ctx,
     102             :                                                      struct tevent_context *ev,
     103             :                                                      struct dcerpc_binding_handle *h,
     104             :                                                      enum dfs_ManagerVersion *_version /* [out] [ref] */)
     105             : {
     106           0 :         struct tevent_req *req;
     107           0 :         struct dcerpc_dfs_GetManagerVersion_state *state;
     108           0 :         struct tevent_req *subreq;
     109             : 
     110           0 :         req = tevent_req_create(mem_ctx, &state,
     111             :                                 struct dcerpc_dfs_GetManagerVersion_state);
     112           0 :         if (req == NULL) {
     113           0 :                 return NULL;
     114             :         }
     115           0 :         state->out_mem_ctx = NULL;
     116             : 
     117             :         /* In parameters */
     118             : 
     119             :         /* Out parameters */
     120           0 :         state->orig.out.version = _version;
     121             : 
     122           0 :         state->out_mem_ctx = talloc_named_const(state, 0,
     123             :                              "dcerpc_dfs_GetManagerVersion_out_memory");
     124           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
     125           0 :                 return tevent_req_post(req, ev);
     126             :         }
     127             : 
     128             :         /* make a temporary copy, that we pass to the dispatch function */
     129           0 :         state->tmp = state->orig;
     130             : 
     131           0 :         subreq = dcerpc_dfs_GetManagerVersion_r_send(state, ev, h, &state->tmp);
     132           0 :         if (tevent_req_nomem(subreq, req)) {
     133           0 :                 return tevent_req_post(req, ev);
     134             :         }
     135           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_GetManagerVersion_done, req);
     136           0 :         return req;
     137             : }
     138             : 
     139           0 : static void dcerpc_dfs_GetManagerVersion_done(struct tevent_req *subreq)
     140             : {
     141           0 :         struct tevent_req *req = tevent_req_callback_data(
     142             :                 subreq, struct tevent_req);
     143           0 :         struct dcerpc_dfs_GetManagerVersion_state *state = tevent_req_data(
     144             :                 req, struct dcerpc_dfs_GetManagerVersion_state);
     145           0 :         NTSTATUS status;
     146           0 :         TALLOC_CTX *mem_ctx;
     147             : 
     148           0 :         if (state->out_mem_ctx) {
     149           0 :                 mem_ctx = state->out_mem_ctx;
     150             :         } else {
     151           0 :                 mem_ctx = state;
     152             :         }
     153             : 
     154           0 :         status = dcerpc_dfs_GetManagerVersion_r_recv(subreq, mem_ctx);
     155           0 :         TALLOC_FREE(subreq);
     156           0 :         if (tevent_req_nterror(req, status)) {
     157           0 :                 return;
     158             :         }
     159             : 
     160             :         /* Copy out parameters */
     161           0 :         *state->orig.out.version = *state->tmp.out.version;
     162             : 
     163             :         /* Reset temporary structure */
     164           0 :         NDR_ZERO_STRUCT(state->tmp);
     165             : 
     166           0 :         tevent_req_done(req);
     167             : }
     168             : 
     169           0 : NTSTATUS dcerpc_dfs_GetManagerVersion_recv(struct tevent_req *req,
     170             :                                            TALLOC_CTX *mem_ctx)
     171             : {
     172           0 :         struct dcerpc_dfs_GetManagerVersion_state *state = tevent_req_data(
     173             :                 req, struct dcerpc_dfs_GetManagerVersion_state);
     174           0 :         NTSTATUS status;
     175             : 
     176           0 :         if (tevent_req_is_nterror(req, &status)) {
     177           0 :                 tevent_req_received(req);
     178           0 :                 return status;
     179             :         }
     180             : 
     181             :         /* Steal possible out parameters to the callers context */
     182           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
     183             : 
     184           0 :         tevent_req_received(req);
     185           0 :         return NT_STATUS_OK;
     186             : }
     187             : 
     188           2 : NTSTATUS dcerpc_dfs_GetManagerVersion(struct dcerpc_binding_handle *h,
     189             :                                       TALLOC_CTX *mem_ctx,
     190             :                                       enum dfs_ManagerVersion *_version /* [out] [ref] */)
     191             : {
     192           0 :         struct dfs_GetManagerVersion r;
     193           0 :         NTSTATUS status;
     194             : 
     195             :         /* In parameters */
     196             : 
     197             :         /* Out parameters */
     198           2 :         r.out.version = _version;
     199             : 
     200           2 :         status = dcerpc_dfs_GetManagerVersion_r(h, mem_ctx, &r);
     201           2 :         if (!NT_STATUS_IS_OK(status)) {
     202           0 :                 return status;
     203             :         }
     204             : 
     205             :         /* Return variables */
     206           2 :         *_version = *r.out.version;
     207             : 
     208             :         /* Return result */
     209             : 
     210           2 :         return NT_STATUS_OK;
     211             : }
     212             : 
     213             : struct dcerpc_dfs_Add_r_state {
     214             :         TALLOC_CTX *out_mem_ctx;
     215             : };
     216             : 
     217             : static void dcerpc_dfs_Add_r_done(struct tevent_req *subreq);
     218             : 
     219           0 : struct tevent_req *dcerpc_dfs_Add_r_send(TALLOC_CTX *mem_ctx,
     220             :         struct tevent_context *ev,
     221             :         struct dcerpc_binding_handle *h,
     222             :         struct dfs_Add *r)
     223             : {
     224           0 :         struct tevent_req *req;
     225           0 :         struct dcerpc_dfs_Add_r_state *state;
     226           0 :         struct tevent_req *subreq;
     227             : 
     228           0 :         req = tevent_req_create(mem_ctx, &state,
     229             :                                 struct dcerpc_dfs_Add_r_state);
     230           0 :         if (req == NULL) {
     231           0 :                 return NULL;
     232             :         }
     233             : 
     234           0 :         state->out_mem_ctx = NULL;
     235             : 
     236           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
     237             :                         NULL, &ndr_table_netdfs,
     238             :                         NDR_DFS_ADD, state, r);
     239           0 :         if (tevent_req_nomem(subreq, req)) {
     240           0 :                 return tevent_req_post(req, ev);
     241             :         }
     242           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_Add_r_done, req);
     243             : 
     244           0 :         return req;
     245             : }
     246             : 
     247           0 : static void dcerpc_dfs_Add_r_done(struct tevent_req *subreq)
     248             : {
     249           0 :         struct tevent_req *req =
     250           0 :                 tevent_req_callback_data(subreq,
     251             :                 struct tevent_req);
     252           0 :         NTSTATUS status;
     253             : 
     254           0 :         status = dcerpc_binding_handle_call_recv(subreq);
     255           0 :         TALLOC_FREE(subreq);
     256           0 :         if (tevent_req_nterror(req, status)) {
     257           0 :                 return;
     258             :         }
     259             : 
     260           0 :         tevent_req_done(req);
     261             : }
     262             : 
     263           0 : NTSTATUS dcerpc_dfs_Add_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
     264             : {
     265           0 :         struct dcerpc_dfs_Add_r_state *state =
     266           0 :                 tevent_req_data(req,
     267             :                 struct dcerpc_dfs_Add_r_state);
     268           0 :         NTSTATUS status;
     269             : 
     270           0 :         if (tevent_req_is_nterror(req, &status)) {
     271           0 :                 tevent_req_received(req);
     272           0 :                 return status;
     273             :         }
     274             : 
     275           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
     276             : 
     277           0 :         tevent_req_received(req);
     278           0 :         return NT_STATUS_OK;
     279             : }
     280             : 
     281           0 : NTSTATUS dcerpc_dfs_Add_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_Add *r)
     282             : {
     283           0 :         NTSTATUS status;
     284             : 
     285           0 :         status = dcerpc_binding_handle_call(h,
     286             :                         NULL, &ndr_table_netdfs,
     287             :                         NDR_DFS_ADD, mem_ctx, r);
     288             : 
     289           0 :         return status;
     290             : }
     291             : 
     292             : struct dcerpc_dfs_Add_state {
     293             :         struct dfs_Add orig;
     294             :         struct dfs_Add tmp;
     295             :         TALLOC_CTX *out_mem_ctx;
     296             : };
     297             : 
     298             : static void dcerpc_dfs_Add_done(struct tevent_req *subreq);
     299             : 
     300           0 : struct tevent_req *dcerpc_dfs_Add_send(TALLOC_CTX *mem_ctx,
     301             :                                        struct tevent_context *ev,
     302             :                                        struct dcerpc_binding_handle *h,
     303             :                                        const char *_path /* [in] [charset(UTF16),ref] */,
     304             :                                        const char *_server /* [in] [charset(UTF16),ref] */,
     305             :                                        const char *_share /* [in] [charset(UTF16),unique] */,
     306             :                                        const char *_comment /* [in] [charset(UTF16),unique] */,
     307             :                                        uint32_t _flags /* [in]  */)
     308             : {
     309           0 :         struct tevent_req *req;
     310           0 :         struct dcerpc_dfs_Add_state *state;
     311           0 :         struct tevent_req *subreq;
     312             : 
     313           0 :         req = tevent_req_create(mem_ctx, &state,
     314             :                                 struct dcerpc_dfs_Add_state);
     315           0 :         if (req == NULL) {
     316           0 :                 return NULL;
     317             :         }
     318           0 :         state->out_mem_ctx = NULL;
     319             : 
     320             :         /* In parameters */
     321           0 :         state->orig.in.path = _path;
     322           0 :         state->orig.in.server = _server;
     323           0 :         state->orig.in.share = _share;
     324           0 :         state->orig.in.comment = _comment;
     325           0 :         state->orig.in.flags = _flags;
     326             : 
     327             :         /* Out parameters */
     328             : 
     329             :         /* Result */
     330           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
     331             : 
     332             :         /* make a temporary copy, that we pass to the dispatch function */
     333           0 :         state->tmp = state->orig;
     334             : 
     335           0 :         subreq = dcerpc_dfs_Add_r_send(state, ev, h, &state->tmp);
     336           0 :         if (tevent_req_nomem(subreq, req)) {
     337           0 :                 return tevent_req_post(req, ev);
     338             :         }
     339           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_Add_done, req);
     340           0 :         return req;
     341             : }
     342             : 
     343           0 : static void dcerpc_dfs_Add_done(struct tevent_req *subreq)
     344             : {
     345           0 :         struct tevent_req *req = tevent_req_callback_data(
     346             :                 subreq, struct tevent_req);
     347           0 :         struct dcerpc_dfs_Add_state *state = tevent_req_data(
     348             :                 req, struct dcerpc_dfs_Add_state);
     349           0 :         NTSTATUS status;
     350           0 :         TALLOC_CTX *mem_ctx;
     351             : 
     352           0 :         if (state->out_mem_ctx) {
     353           0 :                 mem_ctx = state->out_mem_ctx;
     354             :         } else {
     355           0 :                 mem_ctx = state;
     356             :         }
     357             : 
     358           0 :         status = dcerpc_dfs_Add_r_recv(subreq, mem_ctx);
     359           0 :         TALLOC_FREE(subreq);
     360           0 :         if (tevent_req_nterror(req, status)) {
     361           0 :                 return;
     362             :         }
     363             : 
     364             :         /* Copy out parameters */
     365             : 
     366             :         /* Copy result */
     367           0 :         state->orig.out.result = state->tmp.out.result;
     368             : 
     369             :         /* Reset temporary structure */
     370           0 :         NDR_ZERO_STRUCT(state->tmp);
     371             : 
     372           0 :         tevent_req_done(req);
     373             : }
     374             : 
     375           0 : NTSTATUS dcerpc_dfs_Add_recv(struct tevent_req *req,
     376             :                              TALLOC_CTX *mem_ctx,
     377             :                              WERROR *result)
     378             : {
     379           0 :         struct dcerpc_dfs_Add_state *state = tevent_req_data(
     380             :                 req, struct dcerpc_dfs_Add_state);
     381           0 :         NTSTATUS status;
     382             : 
     383           0 :         if (tevent_req_is_nterror(req, &status)) {
     384           0 :                 tevent_req_received(req);
     385           0 :                 return status;
     386             :         }
     387             : 
     388             :         /* Steal possible out parameters to the callers context */
     389           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
     390             : 
     391             :         /* Return result */
     392           0 :         *result = state->orig.out.result;
     393             : 
     394           0 :         tevent_req_received(req);
     395           0 :         return NT_STATUS_OK;
     396             : }
     397             : 
     398           0 : NTSTATUS dcerpc_dfs_Add(struct dcerpc_binding_handle *h,
     399             :                         TALLOC_CTX *mem_ctx,
     400             :                         const char *_path /* [in] [charset(UTF16),ref] */,
     401             :                         const char *_server /* [in] [charset(UTF16),ref] */,
     402             :                         const char *_share /* [in] [charset(UTF16),unique] */,
     403             :                         const char *_comment /* [in] [charset(UTF16),unique] */,
     404             :                         uint32_t _flags /* [in]  */,
     405             :                         WERROR *result)
     406             : {
     407           0 :         struct dfs_Add r;
     408           0 :         NTSTATUS status;
     409             : 
     410             :         /* In parameters */
     411           0 :         r.in.path = _path;
     412           0 :         r.in.server = _server;
     413           0 :         r.in.share = _share;
     414           0 :         r.in.comment = _comment;
     415           0 :         r.in.flags = _flags;
     416             : 
     417             :         /* Out parameters */
     418             : 
     419             :         /* Result */
     420           0 :         NDR_ZERO_STRUCT(r.out.result);
     421             : 
     422           0 :         status = dcerpc_dfs_Add_r(h, mem_ctx, &r);
     423           0 :         if (!NT_STATUS_IS_OK(status)) {
     424           0 :                 return status;
     425             :         }
     426             : 
     427             :         /* Return variables */
     428             : 
     429             :         /* Return result */
     430           0 :         *result = r.out.result;
     431             : 
     432           0 :         return NT_STATUS_OK;
     433             : }
     434             : 
     435             : struct dcerpc_dfs_Remove_r_state {
     436             :         TALLOC_CTX *out_mem_ctx;
     437             : };
     438             : 
     439             : static void dcerpc_dfs_Remove_r_done(struct tevent_req *subreq);
     440             : 
     441           0 : struct tevent_req *dcerpc_dfs_Remove_r_send(TALLOC_CTX *mem_ctx,
     442             :         struct tevent_context *ev,
     443             :         struct dcerpc_binding_handle *h,
     444             :         struct dfs_Remove *r)
     445             : {
     446           0 :         struct tevent_req *req;
     447           0 :         struct dcerpc_dfs_Remove_r_state *state;
     448           0 :         struct tevent_req *subreq;
     449             : 
     450           0 :         req = tevent_req_create(mem_ctx, &state,
     451             :                                 struct dcerpc_dfs_Remove_r_state);
     452           0 :         if (req == NULL) {
     453           0 :                 return NULL;
     454             :         }
     455             : 
     456           0 :         state->out_mem_ctx = NULL;
     457             : 
     458           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
     459             :                         NULL, &ndr_table_netdfs,
     460             :                         NDR_DFS_REMOVE, state, r);
     461           0 :         if (tevent_req_nomem(subreq, req)) {
     462           0 :                 return tevent_req_post(req, ev);
     463             :         }
     464           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_Remove_r_done, req);
     465             : 
     466           0 :         return req;
     467             : }
     468             : 
     469           0 : static void dcerpc_dfs_Remove_r_done(struct tevent_req *subreq)
     470             : {
     471           0 :         struct tevent_req *req =
     472           0 :                 tevent_req_callback_data(subreq,
     473             :                 struct tevent_req);
     474           0 :         NTSTATUS status;
     475             : 
     476           0 :         status = dcerpc_binding_handle_call_recv(subreq);
     477           0 :         TALLOC_FREE(subreq);
     478           0 :         if (tevent_req_nterror(req, status)) {
     479           0 :                 return;
     480             :         }
     481             : 
     482           0 :         tevent_req_done(req);
     483             : }
     484             : 
     485           0 : NTSTATUS dcerpc_dfs_Remove_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
     486             : {
     487           0 :         struct dcerpc_dfs_Remove_r_state *state =
     488           0 :                 tevent_req_data(req,
     489             :                 struct dcerpc_dfs_Remove_r_state);
     490           0 :         NTSTATUS status;
     491             : 
     492           0 :         if (tevent_req_is_nterror(req, &status)) {
     493           0 :                 tevent_req_received(req);
     494           0 :                 return status;
     495             :         }
     496             : 
     497           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
     498             : 
     499           0 :         tevent_req_received(req);
     500           0 :         return NT_STATUS_OK;
     501             : }
     502             : 
     503           0 : NTSTATUS dcerpc_dfs_Remove_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_Remove *r)
     504             : {
     505           0 :         NTSTATUS status;
     506             : 
     507           0 :         status = dcerpc_binding_handle_call(h,
     508             :                         NULL, &ndr_table_netdfs,
     509             :                         NDR_DFS_REMOVE, mem_ctx, r);
     510             : 
     511           0 :         return status;
     512             : }
     513             : 
     514             : struct dcerpc_dfs_Remove_state {
     515             :         struct dfs_Remove orig;
     516             :         struct dfs_Remove tmp;
     517             :         TALLOC_CTX *out_mem_ctx;
     518             : };
     519             : 
     520             : static void dcerpc_dfs_Remove_done(struct tevent_req *subreq);
     521             : 
     522           0 : struct tevent_req *dcerpc_dfs_Remove_send(TALLOC_CTX *mem_ctx,
     523             :                                           struct tevent_context *ev,
     524             :                                           struct dcerpc_binding_handle *h,
     525             :                                           const char *_dfs_entry_path /* [in] [charset(UTF16),ref] */,
     526             :                                           const char *_servername /* [in] [charset(UTF16),unique] */,
     527             :                                           const char *_sharename /* [in] [charset(UTF16),unique] */)
     528             : {
     529           0 :         struct tevent_req *req;
     530           0 :         struct dcerpc_dfs_Remove_state *state;
     531           0 :         struct tevent_req *subreq;
     532             : 
     533           0 :         req = tevent_req_create(mem_ctx, &state,
     534             :                                 struct dcerpc_dfs_Remove_state);
     535           0 :         if (req == NULL) {
     536           0 :                 return NULL;
     537             :         }
     538           0 :         state->out_mem_ctx = NULL;
     539             : 
     540             :         /* In parameters */
     541           0 :         state->orig.in.dfs_entry_path = _dfs_entry_path;
     542           0 :         state->orig.in.servername = _servername;
     543           0 :         state->orig.in.sharename = _sharename;
     544             : 
     545             :         /* Out parameters */
     546             : 
     547             :         /* Result */
     548           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
     549             : 
     550             :         /* make a temporary copy, that we pass to the dispatch function */
     551           0 :         state->tmp = state->orig;
     552             : 
     553           0 :         subreq = dcerpc_dfs_Remove_r_send(state, ev, h, &state->tmp);
     554           0 :         if (tevent_req_nomem(subreq, req)) {
     555           0 :                 return tevent_req_post(req, ev);
     556             :         }
     557           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_Remove_done, req);
     558           0 :         return req;
     559             : }
     560             : 
     561           0 : static void dcerpc_dfs_Remove_done(struct tevent_req *subreq)
     562             : {
     563           0 :         struct tevent_req *req = tevent_req_callback_data(
     564             :                 subreq, struct tevent_req);
     565           0 :         struct dcerpc_dfs_Remove_state *state = tevent_req_data(
     566             :                 req, struct dcerpc_dfs_Remove_state);
     567           0 :         NTSTATUS status;
     568           0 :         TALLOC_CTX *mem_ctx;
     569             : 
     570           0 :         if (state->out_mem_ctx) {
     571           0 :                 mem_ctx = state->out_mem_ctx;
     572             :         } else {
     573           0 :                 mem_ctx = state;
     574             :         }
     575             : 
     576           0 :         status = dcerpc_dfs_Remove_r_recv(subreq, mem_ctx);
     577           0 :         TALLOC_FREE(subreq);
     578           0 :         if (tevent_req_nterror(req, status)) {
     579           0 :                 return;
     580             :         }
     581             : 
     582             :         /* Copy out parameters */
     583             : 
     584             :         /* Copy result */
     585           0 :         state->orig.out.result = state->tmp.out.result;
     586             : 
     587             :         /* Reset temporary structure */
     588           0 :         NDR_ZERO_STRUCT(state->tmp);
     589             : 
     590           0 :         tevent_req_done(req);
     591             : }
     592             : 
     593           0 : NTSTATUS dcerpc_dfs_Remove_recv(struct tevent_req *req,
     594             :                                 TALLOC_CTX *mem_ctx,
     595             :                                 WERROR *result)
     596             : {
     597           0 :         struct dcerpc_dfs_Remove_state *state = tevent_req_data(
     598             :                 req, struct dcerpc_dfs_Remove_state);
     599           0 :         NTSTATUS status;
     600             : 
     601           0 :         if (tevent_req_is_nterror(req, &status)) {
     602           0 :                 tevent_req_received(req);
     603           0 :                 return status;
     604             :         }
     605             : 
     606             :         /* Steal possible out parameters to the callers context */
     607           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
     608             : 
     609             :         /* Return result */
     610           0 :         *result = state->orig.out.result;
     611             : 
     612           0 :         tevent_req_received(req);
     613           0 :         return NT_STATUS_OK;
     614             : }
     615             : 
     616           0 : NTSTATUS dcerpc_dfs_Remove(struct dcerpc_binding_handle *h,
     617             :                            TALLOC_CTX *mem_ctx,
     618             :                            const char *_dfs_entry_path /* [in] [charset(UTF16),ref] */,
     619             :                            const char *_servername /* [in] [charset(UTF16),unique] */,
     620             :                            const char *_sharename /* [in] [charset(UTF16),unique] */,
     621             :                            WERROR *result)
     622             : {
     623           0 :         struct dfs_Remove r;
     624           0 :         NTSTATUS status;
     625             : 
     626             :         /* In parameters */
     627           0 :         r.in.dfs_entry_path = _dfs_entry_path;
     628           0 :         r.in.servername = _servername;
     629           0 :         r.in.sharename = _sharename;
     630             : 
     631             :         /* Out parameters */
     632             : 
     633             :         /* Result */
     634           0 :         NDR_ZERO_STRUCT(r.out.result);
     635             : 
     636           0 :         status = dcerpc_dfs_Remove_r(h, mem_ctx, &r);
     637           0 :         if (!NT_STATUS_IS_OK(status)) {
     638           0 :                 return status;
     639             :         }
     640             : 
     641             :         /* Return variables */
     642             : 
     643             :         /* Return result */
     644           0 :         *result = r.out.result;
     645             : 
     646           0 :         return NT_STATUS_OK;
     647             : }
     648             : 
     649             : struct dcerpc_dfs_SetInfo_r_state {
     650             :         TALLOC_CTX *out_mem_ctx;
     651             : };
     652             : 
     653             : static void dcerpc_dfs_SetInfo_r_done(struct tevent_req *subreq);
     654             : 
     655           0 : struct tevent_req *dcerpc_dfs_SetInfo_r_send(TALLOC_CTX *mem_ctx,
     656             :         struct tevent_context *ev,
     657             :         struct dcerpc_binding_handle *h,
     658             :         struct dfs_SetInfo *r)
     659             : {
     660           0 :         struct tevent_req *req;
     661           0 :         struct dcerpc_dfs_SetInfo_r_state *state;
     662           0 :         struct tevent_req *subreq;
     663             : 
     664           0 :         req = tevent_req_create(mem_ctx, &state,
     665             :                                 struct dcerpc_dfs_SetInfo_r_state);
     666           0 :         if (req == NULL) {
     667           0 :                 return NULL;
     668             :         }
     669             : 
     670           0 :         state->out_mem_ctx = NULL;
     671             : 
     672           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
     673             :                         NULL, &ndr_table_netdfs,
     674             :                         NDR_DFS_SETINFO, state, r);
     675           0 :         if (tevent_req_nomem(subreq, req)) {
     676           0 :                 return tevent_req_post(req, ev);
     677             :         }
     678           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_SetInfo_r_done, req);
     679             : 
     680           0 :         return req;
     681             : }
     682             : 
     683           0 : static void dcerpc_dfs_SetInfo_r_done(struct tevent_req *subreq)
     684             : {
     685           0 :         struct tevent_req *req =
     686           0 :                 tevent_req_callback_data(subreq,
     687             :                 struct tevent_req);
     688           0 :         NTSTATUS status;
     689             : 
     690           0 :         status = dcerpc_binding_handle_call_recv(subreq);
     691           0 :         TALLOC_FREE(subreq);
     692           0 :         if (tevent_req_nterror(req, status)) {
     693           0 :                 return;
     694             :         }
     695             : 
     696           0 :         tevent_req_done(req);
     697             : }
     698             : 
     699           0 : NTSTATUS dcerpc_dfs_SetInfo_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
     700             : {
     701           0 :         struct dcerpc_dfs_SetInfo_r_state *state =
     702           0 :                 tevent_req_data(req,
     703             :                 struct dcerpc_dfs_SetInfo_r_state);
     704           0 :         NTSTATUS status;
     705             : 
     706           0 :         if (tevent_req_is_nterror(req, &status)) {
     707           0 :                 tevent_req_received(req);
     708           0 :                 return status;
     709             :         }
     710             : 
     711           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
     712             : 
     713           0 :         tevent_req_received(req);
     714           0 :         return NT_STATUS_OK;
     715             : }
     716             : 
     717           0 : NTSTATUS dcerpc_dfs_SetInfo_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_SetInfo *r)
     718             : {
     719           0 :         NTSTATUS status;
     720             : 
     721           0 :         status = dcerpc_binding_handle_call(h,
     722             :                         NULL, &ndr_table_netdfs,
     723             :                         NDR_DFS_SETINFO, mem_ctx, r);
     724             : 
     725           0 :         return status;
     726             : }
     727             : 
     728             : struct dcerpc_dfs_SetInfo_state {
     729             :         struct dfs_SetInfo orig;
     730             :         struct dfs_SetInfo tmp;
     731             :         TALLOC_CTX *out_mem_ctx;
     732             : };
     733             : 
     734             : static void dcerpc_dfs_SetInfo_done(struct tevent_req *subreq);
     735             : 
     736           0 : struct tevent_req *dcerpc_dfs_SetInfo_send(TALLOC_CTX *mem_ctx,
     737             :                                            struct tevent_context *ev,
     738             :                                            struct dcerpc_binding_handle *h,
     739             :                                            const char *_dfs_entry_path /* [in] [charset(UTF16)] */,
     740             :                                            const char *_servername /* [in] [charset(UTF16),unique] */,
     741             :                                            const char *_sharename /* [in] [charset(UTF16),unique] */,
     742             :                                            uint32_t _level /* [in]  */,
     743             :                                            union dfs_Info *_info /* [in] [ref,switch_is(level)] */)
     744             : {
     745           0 :         struct tevent_req *req;
     746           0 :         struct dcerpc_dfs_SetInfo_state *state;
     747           0 :         struct tevent_req *subreq;
     748             : 
     749           0 :         req = tevent_req_create(mem_ctx, &state,
     750             :                                 struct dcerpc_dfs_SetInfo_state);
     751           0 :         if (req == NULL) {
     752           0 :                 return NULL;
     753             :         }
     754           0 :         state->out_mem_ctx = NULL;
     755             : 
     756             :         /* In parameters */
     757           0 :         state->orig.in.dfs_entry_path = _dfs_entry_path;
     758           0 :         state->orig.in.servername = _servername;
     759           0 :         state->orig.in.sharename = _sharename;
     760           0 :         state->orig.in.level = _level;
     761           0 :         state->orig.in.info = _info;
     762             : 
     763             :         /* Out parameters */
     764             : 
     765             :         /* Result */
     766           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
     767             : 
     768             :         /* make a temporary copy, that we pass to the dispatch function */
     769           0 :         state->tmp = state->orig;
     770             : 
     771           0 :         subreq = dcerpc_dfs_SetInfo_r_send(state, ev, h, &state->tmp);
     772           0 :         if (tevent_req_nomem(subreq, req)) {
     773           0 :                 return tevent_req_post(req, ev);
     774             :         }
     775           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_SetInfo_done, req);
     776           0 :         return req;
     777             : }
     778             : 
     779           0 : static void dcerpc_dfs_SetInfo_done(struct tevent_req *subreq)
     780             : {
     781           0 :         struct tevent_req *req = tevent_req_callback_data(
     782             :                 subreq, struct tevent_req);
     783           0 :         struct dcerpc_dfs_SetInfo_state *state = tevent_req_data(
     784             :                 req, struct dcerpc_dfs_SetInfo_state);
     785           0 :         NTSTATUS status;
     786           0 :         TALLOC_CTX *mem_ctx;
     787             : 
     788           0 :         if (state->out_mem_ctx) {
     789           0 :                 mem_ctx = state->out_mem_ctx;
     790             :         } else {
     791           0 :                 mem_ctx = state;
     792             :         }
     793             : 
     794           0 :         status = dcerpc_dfs_SetInfo_r_recv(subreq, mem_ctx);
     795           0 :         TALLOC_FREE(subreq);
     796           0 :         if (tevent_req_nterror(req, status)) {
     797           0 :                 return;
     798             :         }
     799             : 
     800             :         /* Copy out parameters */
     801             : 
     802             :         /* Copy result */
     803           0 :         state->orig.out.result = state->tmp.out.result;
     804             : 
     805             :         /* Reset temporary structure */
     806           0 :         NDR_ZERO_STRUCT(state->tmp);
     807             : 
     808           0 :         tevent_req_done(req);
     809             : }
     810             : 
     811           0 : NTSTATUS dcerpc_dfs_SetInfo_recv(struct tevent_req *req,
     812             :                                  TALLOC_CTX *mem_ctx,
     813             :                                  WERROR *result)
     814             : {
     815           0 :         struct dcerpc_dfs_SetInfo_state *state = tevent_req_data(
     816             :                 req, struct dcerpc_dfs_SetInfo_state);
     817           0 :         NTSTATUS status;
     818             : 
     819           0 :         if (tevent_req_is_nterror(req, &status)) {
     820           0 :                 tevent_req_received(req);
     821           0 :                 return status;
     822             :         }
     823             : 
     824             :         /* Steal possible out parameters to the callers context */
     825           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
     826             : 
     827             :         /* Return result */
     828           0 :         *result = state->orig.out.result;
     829             : 
     830           0 :         tevent_req_received(req);
     831           0 :         return NT_STATUS_OK;
     832             : }
     833             : 
     834           0 : NTSTATUS dcerpc_dfs_SetInfo(struct dcerpc_binding_handle *h,
     835             :                             TALLOC_CTX *mem_ctx,
     836             :                             const char *_dfs_entry_path /* [in] [charset(UTF16)] */,
     837             :                             const char *_servername /* [in] [charset(UTF16),unique] */,
     838             :                             const char *_sharename /* [in] [charset(UTF16),unique] */,
     839             :                             uint32_t _level /* [in]  */,
     840             :                             union dfs_Info *_info /* [in] [ref,switch_is(level)] */,
     841             :                             WERROR *result)
     842             : {
     843           0 :         struct dfs_SetInfo r;
     844           0 :         NTSTATUS status;
     845             : 
     846             :         /* In parameters */
     847           0 :         r.in.dfs_entry_path = _dfs_entry_path;
     848           0 :         r.in.servername = _servername;
     849           0 :         r.in.sharename = _sharename;
     850           0 :         r.in.level = _level;
     851           0 :         r.in.info = _info;
     852             : 
     853             :         /* Out parameters */
     854             : 
     855             :         /* Result */
     856           0 :         NDR_ZERO_STRUCT(r.out.result);
     857             : 
     858           0 :         status = dcerpc_dfs_SetInfo_r(h, mem_ctx, &r);
     859           0 :         if (!NT_STATUS_IS_OK(status)) {
     860           0 :                 return status;
     861             :         }
     862             : 
     863             :         /* Return variables */
     864             : 
     865             :         /* Return result */
     866           0 :         *result = r.out.result;
     867             : 
     868           0 :         return NT_STATUS_OK;
     869             : }
     870             : 
     871             : struct dcerpc_dfs_GetInfo_r_state {
     872             :         TALLOC_CTX *out_mem_ctx;
     873             : };
     874             : 
     875             : static void dcerpc_dfs_GetInfo_r_done(struct tevent_req *subreq);
     876             : 
     877           0 : struct tevent_req *dcerpc_dfs_GetInfo_r_send(TALLOC_CTX *mem_ctx,
     878             :         struct tevent_context *ev,
     879             :         struct dcerpc_binding_handle *h,
     880             :         struct dfs_GetInfo *r)
     881             : {
     882           0 :         struct tevent_req *req;
     883           0 :         struct dcerpc_dfs_GetInfo_r_state *state;
     884           0 :         struct tevent_req *subreq;
     885             : 
     886           0 :         req = tevent_req_create(mem_ctx, &state,
     887             :                                 struct dcerpc_dfs_GetInfo_r_state);
     888           0 :         if (req == NULL) {
     889           0 :                 return NULL;
     890             :         }
     891             : 
     892           0 :         state->out_mem_ctx = talloc_new(state);
     893           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
     894           0 :                 return tevent_req_post(req, ev);
     895             :         }
     896             : 
     897           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
     898             :                         NULL, &ndr_table_netdfs,
     899           0 :                         NDR_DFS_GETINFO, state->out_mem_ctx, r);
     900           0 :         if (tevent_req_nomem(subreq, req)) {
     901           0 :                 return tevent_req_post(req, ev);
     902             :         }
     903           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_GetInfo_r_done, req);
     904             : 
     905           0 :         return req;
     906             : }
     907             : 
     908           0 : static void dcerpc_dfs_GetInfo_r_done(struct tevent_req *subreq)
     909             : {
     910           0 :         struct tevent_req *req =
     911           0 :                 tevent_req_callback_data(subreq,
     912             :                 struct tevent_req);
     913           0 :         NTSTATUS status;
     914             : 
     915           0 :         status = dcerpc_binding_handle_call_recv(subreq);
     916           0 :         TALLOC_FREE(subreq);
     917           0 :         if (tevent_req_nterror(req, status)) {
     918           0 :                 return;
     919             :         }
     920             : 
     921           0 :         tevent_req_done(req);
     922             : }
     923             : 
     924           0 : NTSTATUS dcerpc_dfs_GetInfo_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
     925             : {
     926           0 :         struct dcerpc_dfs_GetInfo_r_state *state =
     927           0 :                 tevent_req_data(req,
     928             :                 struct dcerpc_dfs_GetInfo_r_state);
     929           0 :         NTSTATUS status;
     930             : 
     931           0 :         if (tevent_req_is_nterror(req, &status)) {
     932           0 :                 tevent_req_received(req);
     933           0 :                 return status;
     934             :         }
     935             : 
     936           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
     937             : 
     938           0 :         tevent_req_received(req);
     939           0 :         return NT_STATUS_OK;
     940             : }
     941             : 
     942           2 : NTSTATUS dcerpc_dfs_GetInfo_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_GetInfo *r)
     943             : {
     944           0 :         NTSTATUS status;
     945             : 
     946           2 :         status = dcerpc_binding_handle_call(h,
     947             :                         NULL, &ndr_table_netdfs,
     948             :                         NDR_DFS_GETINFO, mem_ctx, r);
     949             : 
     950           2 :         return status;
     951             : }
     952             : 
     953             : struct dcerpc_dfs_GetInfo_state {
     954             :         struct dfs_GetInfo orig;
     955             :         struct dfs_GetInfo tmp;
     956             :         TALLOC_CTX *out_mem_ctx;
     957             : };
     958             : 
     959             : static void dcerpc_dfs_GetInfo_done(struct tevent_req *subreq);
     960             : 
     961           0 : struct tevent_req *dcerpc_dfs_GetInfo_send(TALLOC_CTX *mem_ctx,
     962             :                                            struct tevent_context *ev,
     963             :                                            struct dcerpc_binding_handle *h,
     964             :                                            const char *_dfs_entry_path /* [in] [charset(UTF16)] */,
     965             :                                            const char *_servername /* [in] [charset(UTF16),unique] */,
     966             :                                            const char *_sharename /* [in] [charset(UTF16),unique] */,
     967             :                                            uint32_t _level /* [in]  */,
     968             :                                            union dfs_Info *_info /* [out] [ref,switch_is(level)] */)
     969             : {
     970           0 :         struct tevent_req *req;
     971           0 :         struct dcerpc_dfs_GetInfo_state *state;
     972           0 :         struct tevent_req *subreq;
     973             : 
     974           0 :         req = tevent_req_create(mem_ctx, &state,
     975             :                                 struct dcerpc_dfs_GetInfo_state);
     976           0 :         if (req == NULL) {
     977           0 :                 return NULL;
     978             :         }
     979           0 :         state->out_mem_ctx = NULL;
     980             : 
     981             :         /* In parameters */
     982           0 :         state->orig.in.dfs_entry_path = _dfs_entry_path;
     983           0 :         state->orig.in.servername = _servername;
     984           0 :         state->orig.in.sharename = _sharename;
     985           0 :         state->orig.in.level = _level;
     986             : 
     987             :         /* Out parameters */
     988           0 :         state->orig.out.info = _info;
     989             : 
     990             :         /* Result */
     991           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
     992             : 
     993           0 :         state->out_mem_ctx = talloc_named_const(state, 0,
     994             :                              "dcerpc_dfs_GetInfo_out_memory");
     995           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
     996           0 :                 return tevent_req_post(req, ev);
     997             :         }
     998             : 
     999             :         /* make a temporary copy, that we pass to the dispatch function */
    1000           0 :         state->tmp = state->orig;
    1001             : 
    1002           0 :         subreq = dcerpc_dfs_GetInfo_r_send(state, ev, h, &state->tmp);
    1003           0 :         if (tevent_req_nomem(subreq, req)) {
    1004           0 :                 return tevent_req_post(req, ev);
    1005             :         }
    1006           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_GetInfo_done, req);
    1007           0 :         return req;
    1008             : }
    1009             : 
    1010           0 : static void dcerpc_dfs_GetInfo_done(struct tevent_req *subreq)
    1011             : {
    1012           0 :         struct tevent_req *req = tevent_req_callback_data(
    1013             :                 subreq, struct tevent_req);
    1014           0 :         struct dcerpc_dfs_GetInfo_state *state = tevent_req_data(
    1015             :                 req, struct dcerpc_dfs_GetInfo_state);
    1016           0 :         NTSTATUS status;
    1017           0 :         TALLOC_CTX *mem_ctx;
    1018             : 
    1019           0 :         if (state->out_mem_ctx) {
    1020           0 :                 mem_ctx = state->out_mem_ctx;
    1021             :         } else {
    1022           0 :                 mem_ctx = state;
    1023             :         }
    1024             : 
    1025           0 :         status = dcerpc_dfs_GetInfo_r_recv(subreq, mem_ctx);
    1026           0 :         TALLOC_FREE(subreq);
    1027           0 :         if (tevent_req_nterror(req, status)) {
    1028           0 :                 return;
    1029             :         }
    1030             : 
    1031             :         /* Copy out parameters */
    1032           0 :         *state->orig.out.info = *state->tmp.out.info;
    1033             : 
    1034             :         /* Copy result */
    1035           0 :         state->orig.out.result = state->tmp.out.result;
    1036             : 
    1037             :         /* Reset temporary structure */
    1038           0 :         NDR_ZERO_STRUCT(state->tmp);
    1039             : 
    1040           0 :         tevent_req_done(req);
    1041             : }
    1042             : 
    1043           0 : NTSTATUS dcerpc_dfs_GetInfo_recv(struct tevent_req *req,
    1044             :                                  TALLOC_CTX *mem_ctx,
    1045             :                                  WERROR *result)
    1046             : {
    1047           0 :         struct dcerpc_dfs_GetInfo_state *state = tevent_req_data(
    1048             :                 req, struct dcerpc_dfs_GetInfo_state);
    1049           0 :         NTSTATUS status;
    1050             : 
    1051           0 :         if (tevent_req_is_nterror(req, &status)) {
    1052           0 :                 tevent_req_received(req);
    1053           0 :                 return status;
    1054             :         }
    1055             : 
    1056             :         /* Steal possible out parameters to the callers context */
    1057           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    1058             : 
    1059             :         /* Return result */
    1060           0 :         *result = state->orig.out.result;
    1061             : 
    1062           0 :         tevent_req_received(req);
    1063           0 :         return NT_STATUS_OK;
    1064             : }
    1065             : 
    1066           2 : NTSTATUS dcerpc_dfs_GetInfo(struct dcerpc_binding_handle *h,
    1067             :                             TALLOC_CTX *mem_ctx,
    1068             :                             const char *_dfs_entry_path /* [in] [charset(UTF16)] */,
    1069             :                             const char *_servername /* [in] [charset(UTF16),unique] */,
    1070             :                             const char *_sharename /* [in] [charset(UTF16),unique] */,
    1071             :                             uint32_t _level /* [in]  */,
    1072             :                             union dfs_Info *_info /* [out] [ref,switch_is(level)] */,
    1073             :                             WERROR *result)
    1074             : {
    1075           0 :         struct dfs_GetInfo r;
    1076           0 :         NTSTATUS status;
    1077             : 
    1078             :         /* In parameters */
    1079           2 :         r.in.dfs_entry_path = _dfs_entry_path;
    1080           2 :         r.in.servername = _servername;
    1081           2 :         r.in.sharename = _sharename;
    1082           2 :         r.in.level = _level;
    1083             : 
    1084             :         /* Out parameters */
    1085           2 :         r.out.info = _info;
    1086             : 
    1087             :         /* Result */
    1088           2 :         NDR_ZERO_STRUCT(r.out.result);
    1089             : 
    1090           2 :         status = dcerpc_dfs_GetInfo_r(h, mem_ctx, &r);
    1091           2 :         if (!NT_STATUS_IS_OK(status)) {
    1092           0 :                 return status;
    1093             :         }
    1094             : 
    1095             :         /* Return variables */
    1096           2 :         *_info = *r.out.info;
    1097             : 
    1098             :         /* Return result */
    1099           2 :         *result = r.out.result;
    1100             : 
    1101           2 :         return NT_STATUS_OK;
    1102             : }
    1103             : 
    1104             : struct dcerpc_dfs_Enum_r_state {
    1105             :         TALLOC_CTX *out_mem_ctx;
    1106             : };
    1107             : 
    1108             : static void dcerpc_dfs_Enum_r_done(struct tevent_req *subreq);
    1109             : 
    1110           0 : struct tevent_req *dcerpc_dfs_Enum_r_send(TALLOC_CTX *mem_ctx,
    1111             :         struct tevent_context *ev,
    1112             :         struct dcerpc_binding_handle *h,
    1113             :         struct dfs_Enum *r)
    1114             : {
    1115           0 :         struct tevent_req *req;
    1116           0 :         struct dcerpc_dfs_Enum_r_state *state;
    1117           0 :         struct tevent_req *subreq;
    1118             : 
    1119           0 :         req = tevent_req_create(mem_ctx, &state,
    1120             :                                 struct dcerpc_dfs_Enum_r_state);
    1121           0 :         if (req == NULL) {
    1122           0 :                 return NULL;
    1123             :         }
    1124             : 
    1125           0 :         state->out_mem_ctx = talloc_new(state);
    1126           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    1127           0 :                 return tevent_req_post(req, ev);
    1128             :         }
    1129             : 
    1130           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    1131             :                         NULL, &ndr_table_netdfs,
    1132           0 :                         NDR_DFS_ENUM, state->out_mem_ctx, r);
    1133           0 :         if (tevent_req_nomem(subreq, req)) {
    1134           0 :                 return tevent_req_post(req, ev);
    1135             :         }
    1136           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_Enum_r_done, req);
    1137             : 
    1138           0 :         return req;
    1139             : }
    1140             : 
    1141           0 : static void dcerpc_dfs_Enum_r_done(struct tevent_req *subreq)
    1142             : {
    1143           0 :         struct tevent_req *req =
    1144           0 :                 tevent_req_callback_data(subreq,
    1145             :                 struct tevent_req);
    1146           0 :         NTSTATUS status;
    1147             : 
    1148           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    1149           0 :         TALLOC_FREE(subreq);
    1150           0 :         if (tevent_req_nterror(req, status)) {
    1151           0 :                 return;
    1152             :         }
    1153             : 
    1154           0 :         tevent_req_done(req);
    1155             : }
    1156             : 
    1157           0 : NTSTATUS dcerpc_dfs_Enum_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    1158             : {
    1159           0 :         struct dcerpc_dfs_Enum_r_state *state =
    1160           0 :                 tevent_req_data(req,
    1161             :                 struct dcerpc_dfs_Enum_r_state);
    1162           0 :         NTSTATUS status;
    1163             : 
    1164           0 :         if (tevent_req_is_nterror(req, &status)) {
    1165           0 :                 tevent_req_received(req);
    1166           0 :                 return status;
    1167             :         }
    1168             : 
    1169           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    1170             : 
    1171           0 :         tevent_req_received(req);
    1172           0 :         return NT_STATUS_OK;
    1173             : }
    1174             : 
    1175           0 : NTSTATUS dcerpc_dfs_Enum_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_Enum *r)
    1176             : {
    1177           0 :         NTSTATUS status;
    1178             : 
    1179           0 :         status = dcerpc_binding_handle_call(h,
    1180             :                         NULL, &ndr_table_netdfs,
    1181             :                         NDR_DFS_ENUM, mem_ctx, r);
    1182             : 
    1183           0 :         return status;
    1184             : }
    1185             : 
    1186             : struct dcerpc_dfs_Enum_state {
    1187             :         struct dfs_Enum orig;
    1188             :         struct dfs_Enum tmp;
    1189             :         TALLOC_CTX *out_mem_ctx;
    1190             : };
    1191             : 
    1192             : static void dcerpc_dfs_Enum_done(struct tevent_req *subreq);
    1193             : 
    1194           0 : struct tevent_req *dcerpc_dfs_Enum_send(TALLOC_CTX *mem_ctx,
    1195             :                                         struct tevent_context *ev,
    1196             :                                         struct dcerpc_binding_handle *h,
    1197             :                                         uint32_t _level /* [in]  */,
    1198             :                                         uint32_t _bufsize /* [in]  */,
    1199             :                                         struct dfs_EnumStruct *_info /* [in,out] [unique] */,
    1200             :                                         uint32_t *_total /* [in,out] [unique] */)
    1201             : {
    1202           0 :         struct tevent_req *req;
    1203           0 :         struct dcerpc_dfs_Enum_state *state;
    1204           0 :         struct tevent_req *subreq;
    1205             : 
    1206           0 :         req = tevent_req_create(mem_ctx, &state,
    1207             :                                 struct dcerpc_dfs_Enum_state);
    1208           0 :         if (req == NULL) {
    1209           0 :                 return NULL;
    1210             :         }
    1211           0 :         state->out_mem_ctx = NULL;
    1212             : 
    1213             :         /* In parameters */
    1214           0 :         state->orig.in.level = _level;
    1215           0 :         state->orig.in.bufsize = _bufsize;
    1216           0 :         state->orig.in.info = _info;
    1217           0 :         state->orig.in.total = _total;
    1218             : 
    1219             :         /* Out parameters */
    1220           0 :         state->orig.out.info = _info;
    1221           0 :         state->orig.out.total = _total;
    1222             : 
    1223             :         /* Result */
    1224           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    1225             : 
    1226           0 :         state->out_mem_ctx = talloc_named_const(state, 0,
    1227             :                              "dcerpc_dfs_Enum_out_memory");
    1228           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    1229           0 :                 return tevent_req_post(req, ev);
    1230             :         }
    1231             : 
    1232             :         /* make a temporary copy, that we pass to the dispatch function */
    1233           0 :         state->tmp = state->orig;
    1234             : 
    1235           0 :         subreq = dcerpc_dfs_Enum_r_send(state, ev, h, &state->tmp);
    1236           0 :         if (tevent_req_nomem(subreq, req)) {
    1237           0 :                 return tevent_req_post(req, ev);
    1238             :         }
    1239           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_Enum_done, req);
    1240           0 :         return req;
    1241             : }
    1242             : 
    1243           0 : static void dcerpc_dfs_Enum_done(struct tevent_req *subreq)
    1244             : {
    1245           0 :         struct tevent_req *req = tevent_req_callback_data(
    1246             :                 subreq, struct tevent_req);
    1247           0 :         struct dcerpc_dfs_Enum_state *state = tevent_req_data(
    1248             :                 req, struct dcerpc_dfs_Enum_state);
    1249           0 :         NTSTATUS status;
    1250           0 :         TALLOC_CTX *mem_ctx;
    1251             : 
    1252           0 :         if (state->out_mem_ctx) {
    1253           0 :                 mem_ctx = state->out_mem_ctx;
    1254             :         } else {
    1255           0 :                 mem_ctx = state;
    1256             :         }
    1257             : 
    1258           0 :         status = dcerpc_dfs_Enum_r_recv(subreq, mem_ctx);
    1259           0 :         TALLOC_FREE(subreq);
    1260           0 :         if (tevent_req_nterror(req, status)) {
    1261           0 :                 return;
    1262             :         }
    1263             : 
    1264             :         /* Copy out parameters */
    1265           0 :         if (state->orig.out.info && state->tmp.out.info) {
    1266           0 :                 *state->orig.out.info = *state->tmp.out.info;
    1267             :         }
    1268           0 :         if (state->orig.out.total && state->tmp.out.total) {
    1269           0 :                 *state->orig.out.total = *state->tmp.out.total;
    1270             :         }
    1271             : 
    1272             :         /* Copy result */
    1273           0 :         state->orig.out.result = state->tmp.out.result;
    1274             : 
    1275             :         /* Reset temporary structure */
    1276           0 :         NDR_ZERO_STRUCT(state->tmp);
    1277             : 
    1278           0 :         tevent_req_done(req);
    1279             : }
    1280             : 
    1281           0 : NTSTATUS dcerpc_dfs_Enum_recv(struct tevent_req *req,
    1282             :                               TALLOC_CTX *mem_ctx,
    1283             :                               WERROR *result)
    1284             : {
    1285           0 :         struct dcerpc_dfs_Enum_state *state = tevent_req_data(
    1286             :                 req, struct dcerpc_dfs_Enum_state);
    1287           0 :         NTSTATUS status;
    1288             : 
    1289           0 :         if (tevent_req_is_nterror(req, &status)) {
    1290           0 :                 tevent_req_received(req);
    1291           0 :                 return status;
    1292             :         }
    1293             : 
    1294             :         /* Steal possible out parameters to the callers context */
    1295           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    1296             : 
    1297             :         /* Return result */
    1298           0 :         *result = state->orig.out.result;
    1299             : 
    1300           0 :         tevent_req_received(req);
    1301           0 :         return NT_STATUS_OK;
    1302             : }
    1303             : 
    1304           0 : NTSTATUS dcerpc_dfs_Enum(struct dcerpc_binding_handle *h,
    1305             :                          TALLOC_CTX *mem_ctx,
    1306             :                          uint32_t _level /* [in]  */,
    1307             :                          uint32_t _bufsize /* [in]  */,
    1308             :                          struct dfs_EnumStruct *_info /* [in,out] [unique] */,
    1309             :                          uint32_t *_total /* [in,out] [unique] */,
    1310             :                          WERROR *result)
    1311             : {
    1312           0 :         struct dfs_Enum r;
    1313           0 :         NTSTATUS status;
    1314             : 
    1315             :         /* In parameters */
    1316           0 :         r.in.level = _level;
    1317           0 :         r.in.bufsize = _bufsize;
    1318           0 :         r.in.info = _info;
    1319           0 :         r.in.total = _total;
    1320             : 
    1321             :         /* Out parameters */
    1322           0 :         r.out.info = _info;
    1323           0 :         r.out.total = _total;
    1324             : 
    1325             :         /* Result */
    1326           0 :         NDR_ZERO_STRUCT(r.out.result);
    1327             : 
    1328           0 :         status = dcerpc_dfs_Enum_r(h, mem_ctx, &r);
    1329           0 :         if (!NT_STATUS_IS_OK(status)) {
    1330           0 :                 return status;
    1331             :         }
    1332             : 
    1333             :         /* Return variables */
    1334           0 :         if (_info && r.out.info) {
    1335           0 :                 *_info = *r.out.info;
    1336             :         }
    1337           0 :         if (_total && r.out.total) {
    1338           0 :                 *_total = *r.out.total;
    1339             :         }
    1340             : 
    1341             :         /* Return result */
    1342           0 :         *result = r.out.result;
    1343             : 
    1344           0 :         return NT_STATUS_OK;
    1345             : }
    1346             : 
    1347             : struct dcerpc_dfs_AddFtRoot_r_state {
    1348             :         TALLOC_CTX *out_mem_ctx;
    1349             : };
    1350             : 
    1351             : static void dcerpc_dfs_AddFtRoot_r_done(struct tevent_req *subreq);
    1352             : 
    1353           0 : struct tevent_req *dcerpc_dfs_AddFtRoot_r_send(TALLOC_CTX *mem_ctx,
    1354             :         struct tevent_context *ev,
    1355             :         struct dcerpc_binding_handle *h,
    1356             :         struct dfs_AddFtRoot *r)
    1357             : {
    1358           0 :         struct tevent_req *req;
    1359           0 :         struct dcerpc_dfs_AddFtRoot_r_state *state;
    1360           0 :         struct tevent_req *subreq;
    1361             : 
    1362           0 :         req = tevent_req_create(mem_ctx, &state,
    1363             :                                 struct dcerpc_dfs_AddFtRoot_r_state);
    1364           0 :         if (req == NULL) {
    1365           0 :                 return NULL;
    1366             :         }
    1367             : 
    1368           0 :         state->out_mem_ctx = talloc_new(state);
    1369           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    1370           0 :                 return tevent_req_post(req, ev);
    1371             :         }
    1372             : 
    1373           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    1374             :                         NULL, &ndr_table_netdfs,
    1375           0 :                         NDR_DFS_ADDFTROOT, state->out_mem_ctx, r);
    1376           0 :         if (tevent_req_nomem(subreq, req)) {
    1377           0 :                 return tevent_req_post(req, ev);
    1378             :         }
    1379           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_AddFtRoot_r_done, req);
    1380             : 
    1381           0 :         return req;
    1382             : }
    1383             : 
    1384           0 : static void dcerpc_dfs_AddFtRoot_r_done(struct tevent_req *subreq)
    1385             : {
    1386           0 :         struct tevent_req *req =
    1387           0 :                 tevent_req_callback_data(subreq,
    1388             :                 struct tevent_req);
    1389           0 :         NTSTATUS status;
    1390             : 
    1391           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    1392           0 :         TALLOC_FREE(subreq);
    1393           0 :         if (tevent_req_nterror(req, status)) {
    1394           0 :                 return;
    1395             :         }
    1396             : 
    1397           0 :         tevent_req_done(req);
    1398             : }
    1399             : 
    1400           0 : NTSTATUS dcerpc_dfs_AddFtRoot_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    1401             : {
    1402           0 :         struct dcerpc_dfs_AddFtRoot_r_state *state =
    1403           0 :                 tevent_req_data(req,
    1404             :                 struct dcerpc_dfs_AddFtRoot_r_state);
    1405           0 :         NTSTATUS status;
    1406             : 
    1407           0 :         if (tevent_req_is_nterror(req, &status)) {
    1408           0 :                 tevent_req_received(req);
    1409           0 :                 return status;
    1410             :         }
    1411             : 
    1412           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    1413             : 
    1414           0 :         tevent_req_received(req);
    1415           0 :         return NT_STATUS_OK;
    1416             : }
    1417             : 
    1418           0 : NTSTATUS dcerpc_dfs_AddFtRoot_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_AddFtRoot *r)
    1419             : {
    1420           0 :         NTSTATUS status;
    1421             : 
    1422           0 :         status = dcerpc_binding_handle_call(h,
    1423             :                         NULL, &ndr_table_netdfs,
    1424             :                         NDR_DFS_ADDFTROOT, mem_ctx, r);
    1425             : 
    1426           0 :         return status;
    1427             : }
    1428             : 
    1429             : struct dcerpc_dfs_AddFtRoot_state {
    1430             :         struct dfs_AddFtRoot orig;
    1431             :         struct dfs_AddFtRoot tmp;
    1432             :         TALLOC_CTX *out_mem_ctx;
    1433             : };
    1434             : 
    1435             : static void dcerpc_dfs_AddFtRoot_done(struct tevent_req *subreq);
    1436             : 
    1437           0 : struct tevent_req *dcerpc_dfs_AddFtRoot_send(TALLOC_CTX *mem_ctx,
    1438             :                                              struct tevent_context *ev,
    1439             :                                              struct dcerpc_binding_handle *h,
    1440             :                                              const char *_servername /* [in] [charset(UTF16)] */,
    1441             :                                              const char *_dns_servername /* [in] [charset(UTF16)] */,
    1442             :                                              const char *_dfsname /* [in] [charset(UTF16)] */,
    1443             :                                              const char *_rootshare /* [in] [charset(UTF16)] */,
    1444             :                                              const char *_comment /* [in] [charset(UTF16)] */,
    1445             :                                              const char *_dfs_config_dn /* [in] [charset(UTF16)] */,
    1446             :                                              uint8_t _unknown1 /* [in]  */,
    1447             :                                              uint32_t _flags /* [in]  */,
    1448             :                                              struct dfs_UnknownStruct **_unknown2 /* [in,out] [unique] */)
    1449             : {
    1450           0 :         struct tevent_req *req;
    1451           0 :         struct dcerpc_dfs_AddFtRoot_state *state;
    1452           0 :         struct tevent_req *subreq;
    1453             : 
    1454           0 :         req = tevent_req_create(mem_ctx, &state,
    1455             :                                 struct dcerpc_dfs_AddFtRoot_state);
    1456           0 :         if (req == NULL) {
    1457           0 :                 return NULL;
    1458             :         }
    1459           0 :         state->out_mem_ctx = NULL;
    1460             : 
    1461             :         /* In parameters */
    1462           0 :         state->orig.in.servername = _servername;
    1463           0 :         state->orig.in.dns_servername = _dns_servername;
    1464           0 :         state->orig.in.dfsname = _dfsname;
    1465           0 :         state->orig.in.rootshare = _rootshare;
    1466           0 :         state->orig.in.comment = _comment;
    1467           0 :         state->orig.in.dfs_config_dn = _dfs_config_dn;
    1468           0 :         state->orig.in.unknown1 = _unknown1;
    1469           0 :         state->orig.in.flags = _flags;
    1470           0 :         state->orig.in.unknown2 = _unknown2;
    1471             : 
    1472             :         /* Out parameters */
    1473           0 :         state->orig.out.unknown2 = _unknown2;
    1474             : 
    1475             :         /* Result */
    1476           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    1477             : 
    1478           0 :         state->out_mem_ctx = talloc_named_const(state, 0,
    1479             :                              "dcerpc_dfs_AddFtRoot_out_memory");
    1480           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    1481           0 :                 return tevent_req_post(req, ev);
    1482             :         }
    1483             : 
    1484             :         /* make a temporary copy, that we pass to the dispatch function */
    1485           0 :         state->tmp = state->orig;
    1486             : 
    1487           0 :         subreq = dcerpc_dfs_AddFtRoot_r_send(state, ev, h, &state->tmp);
    1488           0 :         if (tevent_req_nomem(subreq, req)) {
    1489           0 :                 return tevent_req_post(req, ev);
    1490             :         }
    1491           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_AddFtRoot_done, req);
    1492           0 :         return req;
    1493             : }
    1494             : 
    1495           0 : static void dcerpc_dfs_AddFtRoot_done(struct tevent_req *subreq)
    1496             : {
    1497           0 :         struct tevent_req *req = tevent_req_callback_data(
    1498             :                 subreq, struct tevent_req);
    1499           0 :         struct dcerpc_dfs_AddFtRoot_state *state = tevent_req_data(
    1500             :                 req, struct dcerpc_dfs_AddFtRoot_state);
    1501           0 :         NTSTATUS status;
    1502           0 :         TALLOC_CTX *mem_ctx;
    1503             : 
    1504           0 :         if (state->out_mem_ctx) {
    1505           0 :                 mem_ctx = state->out_mem_ctx;
    1506             :         } else {
    1507           0 :                 mem_ctx = state;
    1508             :         }
    1509             : 
    1510           0 :         status = dcerpc_dfs_AddFtRoot_r_recv(subreq, mem_ctx);
    1511           0 :         TALLOC_FREE(subreq);
    1512           0 :         if (tevent_req_nterror(req, status)) {
    1513           0 :                 return;
    1514             :         }
    1515             : 
    1516             :         /* Copy out parameters */
    1517           0 :         if (state->orig.out.unknown2 && state->tmp.out.unknown2) {
    1518           0 :                 *state->orig.out.unknown2 = *state->tmp.out.unknown2;
    1519             :         }
    1520             : 
    1521             :         /* Copy result */
    1522           0 :         state->orig.out.result = state->tmp.out.result;
    1523             : 
    1524             :         /* Reset temporary structure */
    1525           0 :         NDR_ZERO_STRUCT(state->tmp);
    1526             : 
    1527           0 :         tevent_req_done(req);
    1528             : }
    1529             : 
    1530           0 : NTSTATUS dcerpc_dfs_AddFtRoot_recv(struct tevent_req *req,
    1531             :                                    TALLOC_CTX *mem_ctx,
    1532             :                                    WERROR *result)
    1533             : {
    1534           0 :         struct dcerpc_dfs_AddFtRoot_state *state = tevent_req_data(
    1535             :                 req, struct dcerpc_dfs_AddFtRoot_state);
    1536           0 :         NTSTATUS status;
    1537             : 
    1538           0 :         if (tevent_req_is_nterror(req, &status)) {
    1539           0 :                 tevent_req_received(req);
    1540           0 :                 return status;
    1541             :         }
    1542             : 
    1543             :         /* Steal possible out parameters to the callers context */
    1544           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    1545             : 
    1546             :         /* Return result */
    1547           0 :         *result = state->orig.out.result;
    1548             : 
    1549           0 :         tevent_req_received(req);
    1550           0 :         return NT_STATUS_OK;
    1551             : }
    1552             : 
    1553           0 : NTSTATUS dcerpc_dfs_AddFtRoot(struct dcerpc_binding_handle *h,
    1554             :                               TALLOC_CTX *mem_ctx,
    1555             :                               const char *_servername /* [in] [charset(UTF16)] */,
    1556             :                               const char *_dns_servername /* [in] [charset(UTF16)] */,
    1557             :                               const char *_dfsname /* [in] [charset(UTF16)] */,
    1558             :                               const char *_rootshare /* [in] [charset(UTF16)] */,
    1559             :                               const char *_comment /* [in] [charset(UTF16)] */,
    1560             :                               const char *_dfs_config_dn /* [in] [charset(UTF16)] */,
    1561             :                               uint8_t _unknown1 /* [in]  */,
    1562             :                               uint32_t _flags /* [in]  */,
    1563             :                               struct dfs_UnknownStruct **_unknown2 /* [in,out] [unique] */,
    1564             :                               WERROR *result)
    1565             : {
    1566           0 :         struct dfs_AddFtRoot r;
    1567           0 :         NTSTATUS status;
    1568             : 
    1569             :         /* In parameters */
    1570           0 :         r.in.servername = _servername;
    1571           0 :         r.in.dns_servername = _dns_servername;
    1572           0 :         r.in.dfsname = _dfsname;
    1573           0 :         r.in.rootshare = _rootshare;
    1574           0 :         r.in.comment = _comment;
    1575           0 :         r.in.dfs_config_dn = _dfs_config_dn;
    1576           0 :         r.in.unknown1 = _unknown1;
    1577           0 :         r.in.flags = _flags;
    1578           0 :         r.in.unknown2 = _unknown2;
    1579             : 
    1580             :         /* Out parameters */
    1581           0 :         r.out.unknown2 = _unknown2;
    1582             : 
    1583             :         /* Result */
    1584           0 :         NDR_ZERO_STRUCT(r.out.result);
    1585             : 
    1586           0 :         status = dcerpc_dfs_AddFtRoot_r(h, mem_ctx, &r);
    1587           0 :         if (!NT_STATUS_IS_OK(status)) {
    1588           0 :                 return status;
    1589             :         }
    1590             : 
    1591             :         /* Return variables */
    1592           0 :         if (_unknown2 && r.out.unknown2) {
    1593           0 :                 *_unknown2 = *r.out.unknown2;
    1594             :         }
    1595             : 
    1596             :         /* Return result */
    1597           0 :         *result = r.out.result;
    1598             : 
    1599           0 :         return NT_STATUS_OK;
    1600             : }
    1601             : 
    1602             : struct dcerpc_dfs_RemoveFtRoot_r_state {
    1603             :         TALLOC_CTX *out_mem_ctx;
    1604             : };
    1605             : 
    1606             : static void dcerpc_dfs_RemoveFtRoot_r_done(struct tevent_req *subreq);
    1607             : 
    1608           0 : struct tevent_req *dcerpc_dfs_RemoveFtRoot_r_send(TALLOC_CTX *mem_ctx,
    1609             :         struct tevent_context *ev,
    1610             :         struct dcerpc_binding_handle *h,
    1611             :         struct dfs_RemoveFtRoot *r)
    1612             : {
    1613           0 :         struct tevent_req *req;
    1614           0 :         struct dcerpc_dfs_RemoveFtRoot_r_state *state;
    1615           0 :         struct tevent_req *subreq;
    1616             : 
    1617           0 :         req = tevent_req_create(mem_ctx, &state,
    1618             :                                 struct dcerpc_dfs_RemoveFtRoot_r_state);
    1619           0 :         if (req == NULL) {
    1620           0 :                 return NULL;
    1621             :         }
    1622             : 
    1623           0 :         state->out_mem_ctx = talloc_new(state);
    1624           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    1625           0 :                 return tevent_req_post(req, ev);
    1626             :         }
    1627             : 
    1628           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    1629             :                         NULL, &ndr_table_netdfs,
    1630           0 :                         NDR_DFS_REMOVEFTROOT, state->out_mem_ctx, r);
    1631           0 :         if (tevent_req_nomem(subreq, req)) {
    1632           0 :                 return tevent_req_post(req, ev);
    1633             :         }
    1634           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_RemoveFtRoot_r_done, req);
    1635             : 
    1636           0 :         return req;
    1637             : }
    1638             : 
    1639           0 : static void dcerpc_dfs_RemoveFtRoot_r_done(struct tevent_req *subreq)
    1640             : {
    1641           0 :         struct tevent_req *req =
    1642           0 :                 tevent_req_callback_data(subreq,
    1643             :                 struct tevent_req);
    1644           0 :         NTSTATUS status;
    1645             : 
    1646           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    1647           0 :         TALLOC_FREE(subreq);
    1648           0 :         if (tevent_req_nterror(req, status)) {
    1649           0 :                 return;
    1650             :         }
    1651             : 
    1652           0 :         tevent_req_done(req);
    1653             : }
    1654             : 
    1655           0 : NTSTATUS dcerpc_dfs_RemoveFtRoot_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    1656             : {
    1657           0 :         struct dcerpc_dfs_RemoveFtRoot_r_state *state =
    1658           0 :                 tevent_req_data(req,
    1659             :                 struct dcerpc_dfs_RemoveFtRoot_r_state);
    1660           0 :         NTSTATUS status;
    1661             : 
    1662           0 :         if (tevent_req_is_nterror(req, &status)) {
    1663           0 :                 tevent_req_received(req);
    1664           0 :                 return status;
    1665             :         }
    1666             : 
    1667           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    1668             : 
    1669           0 :         tevent_req_received(req);
    1670           0 :         return NT_STATUS_OK;
    1671             : }
    1672             : 
    1673           0 : NTSTATUS dcerpc_dfs_RemoveFtRoot_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_RemoveFtRoot *r)
    1674             : {
    1675           0 :         NTSTATUS status;
    1676             : 
    1677           0 :         status = dcerpc_binding_handle_call(h,
    1678             :                         NULL, &ndr_table_netdfs,
    1679             :                         NDR_DFS_REMOVEFTROOT, mem_ctx, r);
    1680             : 
    1681           0 :         return status;
    1682             : }
    1683             : 
    1684             : struct dcerpc_dfs_RemoveFtRoot_state {
    1685             :         struct dfs_RemoveFtRoot orig;
    1686             :         struct dfs_RemoveFtRoot tmp;
    1687             :         TALLOC_CTX *out_mem_ctx;
    1688             : };
    1689             : 
    1690             : static void dcerpc_dfs_RemoveFtRoot_done(struct tevent_req *subreq);
    1691             : 
    1692           0 : struct tevent_req *dcerpc_dfs_RemoveFtRoot_send(TALLOC_CTX *mem_ctx,
    1693             :                                                 struct tevent_context *ev,
    1694             :                                                 struct dcerpc_binding_handle *h,
    1695             :                                                 const char *_servername /* [in] [charset(UTF16)] */,
    1696             :                                                 const char *_dns_servername /* [in] [charset(UTF16)] */,
    1697             :                                                 const char *_dfsname /* [in] [charset(UTF16)] */,
    1698             :                                                 const char *_rootshare /* [in] [charset(UTF16)] */,
    1699             :                                                 uint32_t _flags /* [in]  */,
    1700             :                                                 struct dfs_UnknownStruct **_unknown /* [in,out] [unique] */)
    1701             : {
    1702           0 :         struct tevent_req *req;
    1703           0 :         struct dcerpc_dfs_RemoveFtRoot_state *state;
    1704           0 :         struct tevent_req *subreq;
    1705             : 
    1706           0 :         req = tevent_req_create(mem_ctx, &state,
    1707             :                                 struct dcerpc_dfs_RemoveFtRoot_state);
    1708           0 :         if (req == NULL) {
    1709           0 :                 return NULL;
    1710             :         }
    1711           0 :         state->out_mem_ctx = NULL;
    1712             : 
    1713             :         /* In parameters */
    1714           0 :         state->orig.in.servername = _servername;
    1715           0 :         state->orig.in.dns_servername = _dns_servername;
    1716           0 :         state->orig.in.dfsname = _dfsname;
    1717           0 :         state->orig.in.rootshare = _rootshare;
    1718           0 :         state->orig.in.flags = _flags;
    1719           0 :         state->orig.in.unknown = _unknown;
    1720             : 
    1721             :         /* Out parameters */
    1722           0 :         state->orig.out.unknown = _unknown;
    1723             : 
    1724             :         /* Result */
    1725           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    1726             : 
    1727           0 :         state->out_mem_ctx = talloc_named_const(state, 0,
    1728             :                              "dcerpc_dfs_RemoveFtRoot_out_memory");
    1729           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    1730           0 :                 return tevent_req_post(req, ev);
    1731             :         }
    1732             : 
    1733             :         /* make a temporary copy, that we pass to the dispatch function */
    1734           0 :         state->tmp = state->orig;
    1735             : 
    1736           0 :         subreq = dcerpc_dfs_RemoveFtRoot_r_send(state, ev, h, &state->tmp);
    1737           0 :         if (tevent_req_nomem(subreq, req)) {
    1738           0 :                 return tevent_req_post(req, ev);
    1739             :         }
    1740           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_RemoveFtRoot_done, req);
    1741           0 :         return req;
    1742             : }
    1743             : 
    1744           0 : static void dcerpc_dfs_RemoveFtRoot_done(struct tevent_req *subreq)
    1745             : {
    1746           0 :         struct tevent_req *req = tevent_req_callback_data(
    1747             :                 subreq, struct tevent_req);
    1748           0 :         struct dcerpc_dfs_RemoveFtRoot_state *state = tevent_req_data(
    1749             :                 req, struct dcerpc_dfs_RemoveFtRoot_state);
    1750           0 :         NTSTATUS status;
    1751           0 :         TALLOC_CTX *mem_ctx;
    1752             : 
    1753           0 :         if (state->out_mem_ctx) {
    1754           0 :                 mem_ctx = state->out_mem_ctx;
    1755             :         } else {
    1756           0 :                 mem_ctx = state;
    1757             :         }
    1758             : 
    1759           0 :         status = dcerpc_dfs_RemoveFtRoot_r_recv(subreq, mem_ctx);
    1760           0 :         TALLOC_FREE(subreq);
    1761           0 :         if (tevent_req_nterror(req, status)) {
    1762           0 :                 return;
    1763             :         }
    1764             : 
    1765             :         /* Copy out parameters */
    1766           0 :         if (state->orig.out.unknown && state->tmp.out.unknown) {
    1767           0 :                 *state->orig.out.unknown = *state->tmp.out.unknown;
    1768             :         }
    1769             : 
    1770             :         /* Copy result */
    1771           0 :         state->orig.out.result = state->tmp.out.result;
    1772             : 
    1773             :         /* Reset temporary structure */
    1774           0 :         NDR_ZERO_STRUCT(state->tmp);
    1775             : 
    1776           0 :         tevent_req_done(req);
    1777             : }
    1778             : 
    1779           0 : NTSTATUS dcerpc_dfs_RemoveFtRoot_recv(struct tevent_req *req,
    1780             :                                       TALLOC_CTX *mem_ctx,
    1781             :                                       WERROR *result)
    1782             : {
    1783           0 :         struct dcerpc_dfs_RemoveFtRoot_state *state = tevent_req_data(
    1784             :                 req, struct dcerpc_dfs_RemoveFtRoot_state);
    1785           0 :         NTSTATUS status;
    1786             : 
    1787           0 :         if (tevent_req_is_nterror(req, &status)) {
    1788           0 :                 tevent_req_received(req);
    1789           0 :                 return status;
    1790             :         }
    1791             : 
    1792             :         /* Steal possible out parameters to the callers context */
    1793           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    1794             : 
    1795             :         /* Return result */
    1796           0 :         *result = state->orig.out.result;
    1797             : 
    1798           0 :         tevent_req_received(req);
    1799           0 :         return NT_STATUS_OK;
    1800             : }
    1801             : 
    1802           0 : NTSTATUS dcerpc_dfs_RemoveFtRoot(struct dcerpc_binding_handle *h,
    1803             :                                  TALLOC_CTX *mem_ctx,
    1804             :                                  const char *_servername /* [in] [charset(UTF16)] */,
    1805             :                                  const char *_dns_servername /* [in] [charset(UTF16)] */,
    1806             :                                  const char *_dfsname /* [in] [charset(UTF16)] */,
    1807             :                                  const char *_rootshare /* [in] [charset(UTF16)] */,
    1808             :                                  uint32_t _flags /* [in]  */,
    1809             :                                  struct dfs_UnknownStruct **_unknown /* [in,out] [unique] */,
    1810             :                                  WERROR *result)
    1811             : {
    1812           0 :         struct dfs_RemoveFtRoot r;
    1813           0 :         NTSTATUS status;
    1814             : 
    1815             :         /* In parameters */
    1816           0 :         r.in.servername = _servername;
    1817           0 :         r.in.dns_servername = _dns_servername;
    1818           0 :         r.in.dfsname = _dfsname;
    1819           0 :         r.in.rootshare = _rootshare;
    1820           0 :         r.in.flags = _flags;
    1821           0 :         r.in.unknown = _unknown;
    1822             : 
    1823             :         /* Out parameters */
    1824           0 :         r.out.unknown = _unknown;
    1825             : 
    1826             :         /* Result */
    1827           0 :         NDR_ZERO_STRUCT(r.out.result);
    1828             : 
    1829           0 :         status = dcerpc_dfs_RemoveFtRoot_r(h, mem_ctx, &r);
    1830           0 :         if (!NT_STATUS_IS_OK(status)) {
    1831           0 :                 return status;
    1832             :         }
    1833             : 
    1834             :         /* Return variables */
    1835           0 :         if (_unknown && r.out.unknown) {
    1836           0 :                 *_unknown = *r.out.unknown;
    1837             :         }
    1838             : 
    1839             :         /* Return result */
    1840           0 :         *result = r.out.result;
    1841             : 
    1842           0 :         return NT_STATUS_OK;
    1843             : }
    1844             : 
    1845             : struct dcerpc_dfs_AddStdRoot_r_state {
    1846             :         TALLOC_CTX *out_mem_ctx;
    1847             : };
    1848             : 
    1849             : static void dcerpc_dfs_AddStdRoot_r_done(struct tevent_req *subreq);
    1850             : 
    1851           0 : struct tevent_req *dcerpc_dfs_AddStdRoot_r_send(TALLOC_CTX *mem_ctx,
    1852             :         struct tevent_context *ev,
    1853             :         struct dcerpc_binding_handle *h,
    1854             :         struct dfs_AddStdRoot *r)
    1855             : {
    1856           0 :         struct tevent_req *req;
    1857           0 :         struct dcerpc_dfs_AddStdRoot_r_state *state;
    1858           0 :         struct tevent_req *subreq;
    1859             : 
    1860           0 :         req = tevent_req_create(mem_ctx, &state,
    1861             :                                 struct dcerpc_dfs_AddStdRoot_r_state);
    1862           0 :         if (req == NULL) {
    1863           0 :                 return NULL;
    1864             :         }
    1865             : 
    1866           0 :         state->out_mem_ctx = NULL;
    1867             : 
    1868           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    1869             :                         NULL, &ndr_table_netdfs,
    1870             :                         NDR_DFS_ADDSTDROOT, state, r);
    1871           0 :         if (tevent_req_nomem(subreq, req)) {
    1872           0 :                 return tevent_req_post(req, ev);
    1873             :         }
    1874           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_AddStdRoot_r_done, req);
    1875             : 
    1876           0 :         return req;
    1877             : }
    1878             : 
    1879           0 : static void dcerpc_dfs_AddStdRoot_r_done(struct tevent_req *subreq)
    1880             : {
    1881           0 :         struct tevent_req *req =
    1882           0 :                 tevent_req_callback_data(subreq,
    1883             :                 struct tevent_req);
    1884           0 :         NTSTATUS status;
    1885             : 
    1886           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    1887           0 :         TALLOC_FREE(subreq);
    1888           0 :         if (tevent_req_nterror(req, status)) {
    1889           0 :                 return;
    1890             :         }
    1891             : 
    1892           0 :         tevent_req_done(req);
    1893             : }
    1894             : 
    1895           0 : NTSTATUS dcerpc_dfs_AddStdRoot_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    1896             : {
    1897           0 :         struct dcerpc_dfs_AddStdRoot_r_state *state =
    1898           0 :                 tevent_req_data(req,
    1899             :                 struct dcerpc_dfs_AddStdRoot_r_state);
    1900           0 :         NTSTATUS status;
    1901             : 
    1902           0 :         if (tevent_req_is_nterror(req, &status)) {
    1903           0 :                 tevent_req_received(req);
    1904           0 :                 return status;
    1905             :         }
    1906             : 
    1907           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    1908             : 
    1909           0 :         tevent_req_received(req);
    1910           0 :         return NT_STATUS_OK;
    1911             : }
    1912             : 
    1913           0 : NTSTATUS dcerpc_dfs_AddStdRoot_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_AddStdRoot *r)
    1914             : {
    1915           0 :         NTSTATUS status;
    1916             : 
    1917           0 :         status = dcerpc_binding_handle_call(h,
    1918             :                         NULL, &ndr_table_netdfs,
    1919             :                         NDR_DFS_ADDSTDROOT, mem_ctx, r);
    1920             : 
    1921           0 :         return status;
    1922             : }
    1923             : 
    1924             : struct dcerpc_dfs_AddStdRoot_state {
    1925             :         struct dfs_AddStdRoot orig;
    1926             :         struct dfs_AddStdRoot tmp;
    1927             :         TALLOC_CTX *out_mem_ctx;
    1928             : };
    1929             : 
    1930             : static void dcerpc_dfs_AddStdRoot_done(struct tevent_req *subreq);
    1931             : 
    1932           0 : struct tevent_req *dcerpc_dfs_AddStdRoot_send(TALLOC_CTX *mem_ctx,
    1933             :                                               struct tevent_context *ev,
    1934             :                                               struct dcerpc_binding_handle *h,
    1935             :                                               const char *_servername /* [in] [charset(UTF16)] */,
    1936             :                                               const char *_rootshare /* [in] [charset(UTF16)] */,
    1937             :                                               const char *_comment /* [in] [charset(UTF16)] */,
    1938             :                                               uint32_t _flags /* [in]  */)
    1939             : {
    1940           0 :         struct tevent_req *req;
    1941           0 :         struct dcerpc_dfs_AddStdRoot_state *state;
    1942           0 :         struct tevent_req *subreq;
    1943             : 
    1944           0 :         req = tevent_req_create(mem_ctx, &state,
    1945             :                                 struct dcerpc_dfs_AddStdRoot_state);
    1946           0 :         if (req == NULL) {
    1947           0 :                 return NULL;
    1948             :         }
    1949           0 :         state->out_mem_ctx = NULL;
    1950             : 
    1951             :         /* In parameters */
    1952           0 :         state->orig.in.servername = _servername;
    1953           0 :         state->orig.in.rootshare = _rootshare;
    1954           0 :         state->orig.in.comment = _comment;
    1955           0 :         state->orig.in.flags = _flags;
    1956             : 
    1957             :         /* Out parameters */
    1958             : 
    1959             :         /* Result */
    1960           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    1961             : 
    1962             :         /* make a temporary copy, that we pass to the dispatch function */
    1963           0 :         state->tmp = state->orig;
    1964             : 
    1965           0 :         subreq = dcerpc_dfs_AddStdRoot_r_send(state, ev, h, &state->tmp);
    1966           0 :         if (tevent_req_nomem(subreq, req)) {
    1967           0 :                 return tevent_req_post(req, ev);
    1968             :         }
    1969           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_AddStdRoot_done, req);
    1970           0 :         return req;
    1971             : }
    1972             : 
    1973           0 : static void dcerpc_dfs_AddStdRoot_done(struct tevent_req *subreq)
    1974             : {
    1975           0 :         struct tevent_req *req = tevent_req_callback_data(
    1976             :                 subreq, struct tevent_req);
    1977           0 :         struct dcerpc_dfs_AddStdRoot_state *state = tevent_req_data(
    1978             :                 req, struct dcerpc_dfs_AddStdRoot_state);
    1979           0 :         NTSTATUS status;
    1980           0 :         TALLOC_CTX *mem_ctx;
    1981             : 
    1982           0 :         if (state->out_mem_ctx) {
    1983           0 :                 mem_ctx = state->out_mem_ctx;
    1984             :         } else {
    1985           0 :                 mem_ctx = state;
    1986             :         }
    1987             : 
    1988           0 :         status = dcerpc_dfs_AddStdRoot_r_recv(subreq, mem_ctx);
    1989           0 :         TALLOC_FREE(subreq);
    1990           0 :         if (tevent_req_nterror(req, status)) {
    1991           0 :                 return;
    1992             :         }
    1993             : 
    1994             :         /* Copy out parameters */
    1995             : 
    1996             :         /* Copy result */
    1997           0 :         state->orig.out.result = state->tmp.out.result;
    1998             : 
    1999             :         /* Reset temporary structure */
    2000           0 :         NDR_ZERO_STRUCT(state->tmp);
    2001             : 
    2002           0 :         tevent_req_done(req);
    2003             : }
    2004             : 
    2005           0 : NTSTATUS dcerpc_dfs_AddStdRoot_recv(struct tevent_req *req,
    2006             :                                     TALLOC_CTX *mem_ctx,
    2007             :                                     WERROR *result)
    2008             : {
    2009           0 :         struct dcerpc_dfs_AddStdRoot_state *state = tevent_req_data(
    2010             :                 req, struct dcerpc_dfs_AddStdRoot_state);
    2011           0 :         NTSTATUS status;
    2012             : 
    2013           0 :         if (tevent_req_is_nterror(req, &status)) {
    2014           0 :                 tevent_req_received(req);
    2015           0 :                 return status;
    2016             :         }
    2017             : 
    2018             :         /* Steal possible out parameters to the callers context */
    2019           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2020             : 
    2021             :         /* Return result */
    2022           0 :         *result = state->orig.out.result;
    2023             : 
    2024           0 :         tevent_req_received(req);
    2025           0 :         return NT_STATUS_OK;
    2026             : }
    2027             : 
    2028           0 : NTSTATUS dcerpc_dfs_AddStdRoot(struct dcerpc_binding_handle *h,
    2029             :                                TALLOC_CTX *mem_ctx,
    2030             :                                const char *_servername /* [in] [charset(UTF16)] */,
    2031             :                                const char *_rootshare /* [in] [charset(UTF16)] */,
    2032             :                                const char *_comment /* [in] [charset(UTF16)] */,
    2033             :                                uint32_t _flags /* [in]  */,
    2034             :                                WERROR *result)
    2035             : {
    2036           0 :         struct dfs_AddStdRoot r;
    2037           0 :         NTSTATUS status;
    2038             : 
    2039             :         /* In parameters */
    2040           0 :         r.in.servername = _servername;
    2041           0 :         r.in.rootshare = _rootshare;
    2042           0 :         r.in.comment = _comment;
    2043           0 :         r.in.flags = _flags;
    2044             : 
    2045             :         /* Out parameters */
    2046             : 
    2047             :         /* Result */
    2048           0 :         NDR_ZERO_STRUCT(r.out.result);
    2049             : 
    2050           0 :         status = dcerpc_dfs_AddStdRoot_r(h, mem_ctx, &r);
    2051           0 :         if (!NT_STATUS_IS_OK(status)) {
    2052           0 :                 return status;
    2053             :         }
    2054             : 
    2055             :         /* Return variables */
    2056             : 
    2057             :         /* Return result */
    2058           0 :         *result = r.out.result;
    2059             : 
    2060           0 :         return NT_STATUS_OK;
    2061             : }
    2062             : 
    2063             : struct dcerpc_dfs_RemoveStdRoot_r_state {
    2064             :         TALLOC_CTX *out_mem_ctx;
    2065             : };
    2066             : 
    2067             : static void dcerpc_dfs_RemoveStdRoot_r_done(struct tevent_req *subreq);
    2068             : 
    2069           0 : struct tevent_req *dcerpc_dfs_RemoveStdRoot_r_send(TALLOC_CTX *mem_ctx,
    2070             :         struct tevent_context *ev,
    2071             :         struct dcerpc_binding_handle *h,
    2072             :         struct dfs_RemoveStdRoot *r)
    2073             : {
    2074           0 :         struct tevent_req *req;
    2075           0 :         struct dcerpc_dfs_RemoveStdRoot_r_state *state;
    2076           0 :         struct tevent_req *subreq;
    2077             : 
    2078           0 :         req = tevent_req_create(mem_ctx, &state,
    2079             :                                 struct dcerpc_dfs_RemoveStdRoot_r_state);
    2080           0 :         if (req == NULL) {
    2081           0 :                 return NULL;
    2082             :         }
    2083             : 
    2084           0 :         state->out_mem_ctx = NULL;
    2085             : 
    2086           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    2087             :                         NULL, &ndr_table_netdfs,
    2088             :                         NDR_DFS_REMOVESTDROOT, state, r);
    2089           0 :         if (tevent_req_nomem(subreq, req)) {
    2090           0 :                 return tevent_req_post(req, ev);
    2091             :         }
    2092           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_RemoveStdRoot_r_done, req);
    2093             : 
    2094           0 :         return req;
    2095             : }
    2096             : 
    2097           0 : static void dcerpc_dfs_RemoveStdRoot_r_done(struct tevent_req *subreq)
    2098             : {
    2099           0 :         struct tevent_req *req =
    2100           0 :                 tevent_req_callback_data(subreq,
    2101             :                 struct tevent_req);
    2102           0 :         NTSTATUS status;
    2103             : 
    2104           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    2105           0 :         TALLOC_FREE(subreq);
    2106           0 :         if (tevent_req_nterror(req, status)) {
    2107           0 :                 return;
    2108             :         }
    2109             : 
    2110           0 :         tevent_req_done(req);
    2111             : }
    2112             : 
    2113           0 : NTSTATUS dcerpc_dfs_RemoveStdRoot_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    2114             : {
    2115           0 :         struct dcerpc_dfs_RemoveStdRoot_r_state *state =
    2116           0 :                 tevent_req_data(req,
    2117             :                 struct dcerpc_dfs_RemoveStdRoot_r_state);
    2118           0 :         NTSTATUS status;
    2119             : 
    2120           0 :         if (tevent_req_is_nterror(req, &status)) {
    2121           0 :                 tevent_req_received(req);
    2122           0 :                 return status;
    2123             :         }
    2124             : 
    2125           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2126             : 
    2127           0 :         tevent_req_received(req);
    2128           0 :         return NT_STATUS_OK;
    2129             : }
    2130             : 
    2131           0 : NTSTATUS dcerpc_dfs_RemoveStdRoot_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_RemoveStdRoot *r)
    2132             : {
    2133           0 :         NTSTATUS status;
    2134             : 
    2135           0 :         status = dcerpc_binding_handle_call(h,
    2136             :                         NULL, &ndr_table_netdfs,
    2137             :                         NDR_DFS_REMOVESTDROOT, mem_ctx, r);
    2138             : 
    2139           0 :         return status;
    2140             : }
    2141             : 
    2142             : struct dcerpc_dfs_RemoveStdRoot_state {
    2143             :         struct dfs_RemoveStdRoot orig;
    2144             :         struct dfs_RemoveStdRoot tmp;
    2145             :         TALLOC_CTX *out_mem_ctx;
    2146             : };
    2147             : 
    2148             : static void dcerpc_dfs_RemoveStdRoot_done(struct tevent_req *subreq);
    2149             : 
    2150           0 : struct tevent_req *dcerpc_dfs_RemoveStdRoot_send(TALLOC_CTX *mem_ctx,
    2151             :                                                  struct tevent_context *ev,
    2152             :                                                  struct dcerpc_binding_handle *h,
    2153             :                                                  const char *_servername /* [in] [charset(UTF16)] */,
    2154             :                                                  const char *_rootshare /* [in] [charset(UTF16)] */,
    2155             :                                                  uint32_t _flags /* [in]  */)
    2156             : {
    2157           0 :         struct tevent_req *req;
    2158           0 :         struct dcerpc_dfs_RemoveStdRoot_state *state;
    2159           0 :         struct tevent_req *subreq;
    2160             : 
    2161           0 :         req = tevent_req_create(mem_ctx, &state,
    2162             :                                 struct dcerpc_dfs_RemoveStdRoot_state);
    2163           0 :         if (req == NULL) {
    2164           0 :                 return NULL;
    2165             :         }
    2166           0 :         state->out_mem_ctx = NULL;
    2167             : 
    2168             :         /* In parameters */
    2169           0 :         state->orig.in.servername = _servername;
    2170           0 :         state->orig.in.rootshare = _rootshare;
    2171           0 :         state->orig.in.flags = _flags;
    2172             : 
    2173             :         /* Out parameters */
    2174             : 
    2175             :         /* Result */
    2176           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    2177             : 
    2178             :         /* make a temporary copy, that we pass to the dispatch function */
    2179           0 :         state->tmp = state->orig;
    2180             : 
    2181           0 :         subreq = dcerpc_dfs_RemoveStdRoot_r_send(state, ev, h, &state->tmp);
    2182           0 :         if (tevent_req_nomem(subreq, req)) {
    2183           0 :                 return tevent_req_post(req, ev);
    2184             :         }
    2185           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_RemoveStdRoot_done, req);
    2186           0 :         return req;
    2187             : }
    2188             : 
    2189           0 : static void dcerpc_dfs_RemoveStdRoot_done(struct tevent_req *subreq)
    2190             : {
    2191           0 :         struct tevent_req *req = tevent_req_callback_data(
    2192             :                 subreq, struct tevent_req);
    2193           0 :         struct dcerpc_dfs_RemoveStdRoot_state *state = tevent_req_data(
    2194             :                 req, struct dcerpc_dfs_RemoveStdRoot_state);
    2195           0 :         NTSTATUS status;
    2196           0 :         TALLOC_CTX *mem_ctx;
    2197             : 
    2198           0 :         if (state->out_mem_ctx) {
    2199           0 :                 mem_ctx = state->out_mem_ctx;
    2200             :         } else {
    2201           0 :                 mem_ctx = state;
    2202             :         }
    2203             : 
    2204           0 :         status = dcerpc_dfs_RemoveStdRoot_r_recv(subreq, mem_ctx);
    2205           0 :         TALLOC_FREE(subreq);
    2206           0 :         if (tevent_req_nterror(req, status)) {
    2207           0 :                 return;
    2208             :         }
    2209             : 
    2210             :         /* Copy out parameters */
    2211             : 
    2212             :         /* Copy result */
    2213           0 :         state->orig.out.result = state->tmp.out.result;
    2214             : 
    2215             :         /* Reset temporary structure */
    2216           0 :         NDR_ZERO_STRUCT(state->tmp);
    2217             : 
    2218           0 :         tevent_req_done(req);
    2219             : }
    2220             : 
    2221           0 : NTSTATUS dcerpc_dfs_RemoveStdRoot_recv(struct tevent_req *req,
    2222             :                                        TALLOC_CTX *mem_ctx,
    2223             :                                        WERROR *result)
    2224             : {
    2225           0 :         struct dcerpc_dfs_RemoveStdRoot_state *state = tevent_req_data(
    2226             :                 req, struct dcerpc_dfs_RemoveStdRoot_state);
    2227           0 :         NTSTATUS status;
    2228             : 
    2229           0 :         if (tevent_req_is_nterror(req, &status)) {
    2230           0 :                 tevent_req_received(req);
    2231           0 :                 return status;
    2232             :         }
    2233             : 
    2234             :         /* Steal possible out parameters to the callers context */
    2235           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2236             : 
    2237             :         /* Return result */
    2238           0 :         *result = state->orig.out.result;
    2239             : 
    2240           0 :         tevent_req_received(req);
    2241           0 :         return NT_STATUS_OK;
    2242             : }
    2243             : 
    2244           0 : NTSTATUS dcerpc_dfs_RemoveStdRoot(struct dcerpc_binding_handle *h,
    2245             :                                   TALLOC_CTX *mem_ctx,
    2246             :                                   const char *_servername /* [in] [charset(UTF16)] */,
    2247             :                                   const char *_rootshare /* [in] [charset(UTF16)] */,
    2248             :                                   uint32_t _flags /* [in]  */,
    2249             :                                   WERROR *result)
    2250             : {
    2251           0 :         struct dfs_RemoveStdRoot r;
    2252           0 :         NTSTATUS status;
    2253             : 
    2254             :         /* In parameters */
    2255           0 :         r.in.servername = _servername;
    2256           0 :         r.in.rootshare = _rootshare;
    2257           0 :         r.in.flags = _flags;
    2258             : 
    2259             :         /* Out parameters */
    2260             : 
    2261             :         /* Result */
    2262           0 :         NDR_ZERO_STRUCT(r.out.result);
    2263             : 
    2264           0 :         status = dcerpc_dfs_RemoveStdRoot_r(h, mem_ctx, &r);
    2265           0 :         if (!NT_STATUS_IS_OK(status)) {
    2266           0 :                 return status;
    2267             :         }
    2268             : 
    2269             :         /* Return variables */
    2270             : 
    2271             :         /* Return result */
    2272           0 :         *result = r.out.result;
    2273             : 
    2274           0 :         return NT_STATUS_OK;
    2275             : }
    2276             : 
    2277             : struct dcerpc_dfs_ManagerInitialize_r_state {
    2278             :         TALLOC_CTX *out_mem_ctx;
    2279             : };
    2280             : 
    2281             : static void dcerpc_dfs_ManagerInitialize_r_done(struct tevent_req *subreq);
    2282             : 
    2283           0 : struct tevent_req *dcerpc_dfs_ManagerInitialize_r_send(TALLOC_CTX *mem_ctx,
    2284             :         struct tevent_context *ev,
    2285             :         struct dcerpc_binding_handle *h,
    2286             :         struct dfs_ManagerInitialize *r)
    2287             : {
    2288           0 :         struct tevent_req *req;
    2289           0 :         struct dcerpc_dfs_ManagerInitialize_r_state *state;
    2290           0 :         struct tevent_req *subreq;
    2291             : 
    2292           0 :         req = tevent_req_create(mem_ctx, &state,
    2293             :                                 struct dcerpc_dfs_ManagerInitialize_r_state);
    2294           0 :         if (req == NULL) {
    2295           0 :                 return NULL;
    2296             :         }
    2297             : 
    2298           0 :         state->out_mem_ctx = NULL;
    2299             : 
    2300           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    2301             :                         NULL, &ndr_table_netdfs,
    2302             :                         NDR_DFS_MANAGERINITIALIZE, state, r);
    2303           0 :         if (tevent_req_nomem(subreq, req)) {
    2304           0 :                 return tevent_req_post(req, ev);
    2305             :         }
    2306           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_ManagerInitialize_r_done, req);
    2307             : 
    2308           0 :         return req;
    2309             : }
    2310             : 
    2311           0 : static void dcerpc_dfs_ManagerInitialize_r_done(struct tevent_req *subreq)
    2312             : {
    2313           0 :         struct tevent_req *req =
    2314           0 :                 tevent_req_callback_data(subreq,
    2315             :                 struct tevent_req);
    2316           0 :         NTSTATUS status;
    2317             : 
    2318           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    2319           0 :         TALLOC_FREE(subreq);
    2320           0 :         if (tevent_req_nterror(req, status)) {
    2321           0 :                 return;
    2322             :         }
    2323             : 
    2324           0 :         tevent_req_done(req);
    2325             : }
    2326             : 
    2327           0 : NTSTATUS dcerpc_dfs_ManagerInitialize_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    2328             : {
    2329           0 :         struct dcerpc_dfs_ManagerInitialize_r_state *state =
    2330           0 :                 tevent_req_data(req,
    2331             :                 struct dcerpc_dfs_ManagerInitialize_r_state);
    2332           0 :         NTSTATUS status;
    2333             : 
    2334           0 :         if (tevent_req_is_nterror(req, &status)) {
    2335           0 :                 tevent_req_received(req);
    2336           0 :                 return status;
    2337             :         }
    2338             : 
    2339           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2340             : 
    2341           0 :         tevent_req_received(req);
    2342           0 :         return NT_STATUS_OK;
    2343             : }
    2344             : 
    2345           0 : NTSTATUS dcerpc_dfs_ManagerInitialize_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_ManagerInitialize *r)
    2346             : {
    2347           0 :         NTSTATUS status;
    2348             : 
    2349           0 :         status = dcerpc_binding_handle_call(h,
    2350             :                         NULL, &ndr_table_netdfs,
    2351             :                         NDR_DFS_MANAGERINITIALIZE, mem_ctx, r);
    2352             : 
    2353           0 :         return status;
    2354             : }
    2355             : 
    2356             : struct dcerpc_dfs_ManagerInitialize_state {
    2357             :         struct dfs_ManagerInitialize orig;
    2358             :         struct dfs_ManagerInitialize tmp;
    2359             :         TALLOC_CTX *out_mem_ctx;
    2360             : };
    2361             : 
    2362             : static void dcerpc_dfs_ManagerInitialize_done(struct tevent_req *subreq);
    2363             : 
    2364           0 : struct tevent_req *dcerpc_dfs_ManagerInitialize_send(TALLOC_CTX *mem_ctx,
    2365             :                                                      struct tevent_context *ev,
    2366             :                                                      struct dcerpc_binding_handle *h,
    2367             :                                                      const char *_servername /* [in] [charset(UTF16),ref] */,
    2368             :                                                      uint32_t _flags /* [in]  */)
    2369             : {
    2370           0 :         struct tevent_req *req;
    2371           0 :         struct dcerpc_dfs_ManagerInitialize_state *state;
    2372           0 :         struct tevent_req *subreq;
    2373             : 
    2374           0 :         req = tevent_req_create(mem_ctx, &state,
    2375             :                                 struct dcerpc_dfs_ManagerInitialize_state);
    2376           0 :         if (req == NULL) {
    2377           0 :                 return NULL;
    2378             :         }
    2379           0 :         state->out_mem_ctx = NULL;
    2380             : 
    2381             :         /* In parameters */
    2382           0 :         state->orig.in.servername = _servername;
    2383           0 :         state->orig.in.flags = _flags;
    2384             : 
    2385             :         /* Out parameters */
    2386             : 
    2387             :         /* Result */
    2388           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    2389             : 
    2390             :         /* make a temporary copy, that we pass to the dispatch function */
    2391           0 :         state->tmp = state->orig;
    2392             : 
    2393           0 :         subreq = dcerpc_dfs_ManagerInitialize_r_send(state, ev, h, &state->tmp);
    2394           0 :         if (tevent_req_nomem(subreq, req)) {
    2395           0 :                 return tevent_req_post(req, ev);
    2396             :         }
    2397           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_ManagerInitialize_done, req);
    2398           0 :         return req;
    2399             : }
    2400             : 
    2401           0 : static void dcerpc_dfs_ManagerInitialize_done(struct tevent_req *subreq)
    2402             : {
    2403           0 :         struct tevent_req *req = tevent_req_callback_data(
    2404             :                 subreq, struct tevent_req);
    2405           0 :         struct dcerpc_dfs_ManagerInitialize_state *state = tevent_req_data(
    2406             :                 req, struct dcerpc_dfs_ManagerInitialize_state);
    2407           0 :         NTSTATUS status;
    2408           0 :         TALLOC_CTX *mem_ctx;
    2409             : 
    2410           0 :         if (state->out_mem_ctx) {
    2411           0 :                 mem_ctx = state->out_mem_ctx;
    2412             :         } else {
    2413           0 :                 mem_ctx = state;
    2414             :         }
    2415             : 
    2416           0 :         status = dcerpc_dfs_ManagerInitialize_r_recv(subreq, mem_ctx);
    2417           0 :         TALLOC_FREE(subreq);
    2418           0 :         if (tevent_req_nterror(req, status)) {
    2419           0 :                 return;
    2420             :         }
    2421             : 
    2422             :         /* Copy out parameters */
    2423             : 
    2424             :         /* Copy result */
    2425           0 :         state->orig.out.result = state->tmp.out.result;
    2426             : 
    2427             :         /* Reset temporary structure */
    2428           0 :         NDR_ZERO_STRUCT(state->tmp);
    2429             : 
    2430           0 :         tevent_req_done(req);
    2431             : }
    2432             : 
    2433           0 : NTSTATUS dcerpc_dfs_ManagerInitialize_recv(struct tevent_req *req,
    2434             :                                            TALLOC_CTX *mem_ctx,
    2435             :                                            WERROR *result)
    2436             : {
    2437           0 :         struct dcerpc_dfs_ManagerInitialize_state *state = tevent_req_data(
    2438             :                 req, struct dcerpc_dfs_ManagerInitialize_state);
    2439           0 :         NTSTATUS status;
    2440             : 
    2441           0 :         if (tevent_req_is_nterror(req, &status)) {
    2442           0 :                 tevent_req_received(req);
    2443           0 :                 return status;
    2444             :         }
    2445             : 
    2446             :         /* Steal possible out parameters to the callers context */
    2447           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2448             : 
    2449             :         /* Return result */
    2450           0 :         *result = state->orig.out.result;
    2451             : 
    2452           0 :         tevent_req_received(req);
    2453           0 :         return NT_STATUS_OK;
    2454             : }
    2455             : 
    2456           0 : NTSTATUS dcerpc_dfs_ManagerInitialize(struct dcerpc_binding_handle *h,
    2457             :                                       TALLOC_CTX *mem_ctx,
    2458             :                                       const char *_servername /* [in] [charset(UTF16),ref] */,
    2459             :                                       uint32_t _flags /* [in]  */,
    2460             :                                       WERROR *result)
    2461             : {
    2462           0 :         struct dfs_ManagerInitialize r;
    2463           0 :         NTSTATUS status;
    2464             : 
    2465             :         /* In parameters */
    2466           0 :         r.in.servername = _servername;
    2467           0 :         r.in.flags = _flags;
    2468             : 
    2469             :         /* Out parameters */
    2470             : 
    2471             :         /* Result */
    2472           0 :         NDR_ZERO_STRUCT(r.out.result);
    2473             : 
    2474           0 :         status = dcerpc_dfs_ManagerInitialize_r(h, mem_ctx, &r);
    2475           0 :         if (!NT_STATUS_IS_OK(status)) {
    2476           0 :                 return status;
    2477             :         }
    2478             : 
    2479             :         /* Return variables */
    2480             : 
    2481             :         /* Return result */
    2482           0 :         *result = r.out.result;
    2483             : 
    2484           0 :         return NT_STATUS_OK;
    2485             : }
    2486             : 
    2487             : struct dcerpc_dfs_AddStdRootForced_r_state {
    2488             :         TALLOC_CTX *out_mem_ctx;
    2489             : };
    2490             : 
    2491             : static void dcerpc_dfs_AddStdRootForced_r_done(struct tevent_req *subreq);
    2492             : 
    2493           0 : struct tevent_req *dcerpc_dfs_AddStdRootForced_r_send(TALLOC_CTX *mem_ctx,
    2494             :         struct tevent_context *ev,
    2495             :         struct dcerpc_binding_handle *h,
    2496             :         struct dfs_AddStdRootForced *r)
    2497             : {
    2498           0 :         struct tevent_req *req;
    2499           0 :         struct dcerpc_dfs_AddStdRootForced_r_state *state;
    2500           0 :         struct tevent_req *subreq;
    2501             : 
    2502           0 :         req = tevent_req_create(mem_ctx, &state,
    2503             :                                 struct dcerpc_dfs_AddStdRootForced_r_state);
    2504           0 :         if (req == NULL) {
    2505           0 :                 return NULL;
    2506             :         }
    2507             : 
    2508           0 :         state->out_mem_ctx = NULL;
    2509             : 
    2510           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    2511             :                         NULL, &ndr_table_netdfs,
    2512             :                         NDR_DFS_ADDSTDROOTFORCED, state, r);
    2513           0 :         if (tevent_req_nomem(subreq, req)) {
    2514           0 :                 return tevent_req_post(req, ev);
    2515             :         }
    2516           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_AddStdRootForced_r_done, req);
    2517             : 
    2518           0 :         return req;
    2519             : }
    2520             : 
    2521           0 : static void dcerpc_dfs_AddStdRootForced_r_done(struct tevent_req *subreq)
    2522             : {
    2523           0 :         struct tevent_req *req =
    2524           0 :                 tevent_req_callback_data(subreq,
    2525             :                 struct tevent_req);
    2526           0 :         NTSTATUS status;
    2527             : 
    2528           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    2529           0 :         TALLOC_FREE(subreq);
    2530           0 :         if (tevent_req_nterror(req, status)) {
    2531           0 :                 return;
    2532             :         }
    2533             : 
    2534           0 :         tevent_req_done(req);
    2535             : }
    2536             : 
    2537           0 : NTSTATUS dcerpc_dfs_AddStdRootForced_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    2538             : {
    2539           0 :         struct dcerpc_dfs_AddStdRootForced_r_state *state =
    2540           0 :                 tevent_req_data(req,
    2541             :                 struct dcerpc_dfs_AddStdRootForced_r_state);
    2542           0 :         NTSTATUS status;
    2543             : 
    2544           0 :         if (tevent_req_is_nterror(req, &status)) {
    2545           0 :                 tevent_req_received(req);
    2546           0 :                 return status;
    2547             :         }
    2548             : 
    2549           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2550             : 
    2551           0 :         tevent_req_received(req);
    2552           0 :         return NT_STATUS_OK;
    2553             : }
    2554             : 
    2555           0 : NTSTATUS dcerpc_dfs_AddStdRootForced_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_AddStdRootForced *r)
    2556             : {
    2557           0 :         NTSTATUS status;
    2558             : 
    2559           0 :         status = dcerpc_binding_handle_call(h,
    2560             :                         NULL, &ndr_table_netdfs,
    2561             :                         NDR_DFS_ADDSTDROOTFORCED, mem_ctx, r);
    2562             : 
    2563           0 :         return status;
    2564             : }
    2565             : 
    2566             : struct dcerpc_dfs_AddStdRootForced_state {
    2567             :         struct dfs_AddStdRootForced orig;
    2568             :         struct dfs_AddStdRootForced tmp;
    2569             :         TALLOC_CTX *out_mem_ctx;
    2570             : };
    2571             : 
    2572             : static void dcerpc_dfs_AddStdRootForced_done(struct tevent_req *subreq);
    2573             : 
    2574           0 : struct tevent_req *dcerpc_dfs_AddStdRootForced_send(TALLOC_CTX *mem_ctx,
    2575             :                                                     struct tevent_context *ev,
    2576             :                                                     struct dcerpc_binding_handle *h,
    2577             :                                                     const char *_servername /* [in] [charset(UTF16)] */,
    2578             :                                                     const char *_rootshare /* [in] [charset(UTF16)] */,
    2579             :                                                     const char *_comment /* [in] [charset(UTF16)] */,
    2580             :                                                     const char *_store /* [in] [charset(UTF16)] */)
    2581             : {
    2582           0 :         struct tevent_req *req;
    2583           0 :         struct dcerpc_dfs_AddStdRootForced_state *state;
    2584           0 :         struct tevent_req *subreq;
    2585             : 
    2586           0 :         req = tevent_req_create(mem_ctx, &state,
    2587             :                                 struct dcerpc_dfs_AddStdRootForced_state);
    2588           0 :         if (req == NULL) {
    2589           0 :                 return NULL;
    2590             :         }
    2591           0 :         state->out_mem_ctx = NULL;
    2592             : 
    2593             :         /* In parameters */
    2594           0 :         state->orig.in.servername = _servername;
    2595           0 :         state->orig.in.rootshare = _rootshare;
    2596           0 :         state->orig.in.comment = _comment;
    2597           0 :         state->orig.in.store = _store;
    2598             : 
    2599             :         /* Out parameters */
    2600             : 
    2601             :         /* Result */
    2602           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    2603             : 
    2604             :         /* make a temporary copy, that we pass to the dispatch function */
    2605           0 :         state->tmp = state->orig;
    2606             : 
    2607           0 :         subreq = dcerpc_dfs_AddStdRootForced_r_send(state, ev, h, &state->tmp);
    2608           0 :         if (tevent_req_nomem(subreq, req)) {
    2609           0 :                 return tevent_req_post(req, ev);
    2610             :         }
    2611           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_AddStdRootForced_done, req);
    2612           0 :         return req;
    2613             : }
    2614             : 
    2615           0 : static void dcerpc_dfs_AddStdRootForced_done(struct tevent_req *subreq)
    2616             : {
    2617           0 :         struct tevent_req *req = tevent_req_callback_data(
    2618             :                 subreq, struct tevent_req);
    2619           0 :         struct dcerpc_dfs_AddStdRootForced_state *state = tevent_req_data(
    2620             :                 req, struct dcerpc_dfs_AddStdRootForced_state);
    2621           0 :         NTSTATUS status;
    2622           0 :         TALLOC_CTX *mem_ctx;
    2623             : 
    2624           0 :         if (state->out_mem_ctx) {
    2625           0 :                 mem_ctx = state->out_mem_ctx;
    2626             :         } else {
    2627           0 :                 mem_ctx = state;
    2628             :         }
    2629             : 
    2630           0 :         status = dcerpc_dfs_AddStdRootForced_r_recv(subreq, mem_ctx);
    2631           0 :         TALLOC_FREE(subreq);
    2632           0 :         if (tevent_req_nterror(req, status)) {
    2633           0 :                 return;
    2634             :         }
    2635             : 
    2636             :         /* Copy out parameters */
    2637             : 
    2638             :         /* Copy result */
    2639           0 :         state->orig.out.result = state->tmp.out.result;
    2640             : 
    2641             :         /* Reset temporary structure */
    2642           0 :         NDR_ZERO_STRUCT(state->tmp);
    2643             : 
    2644           0 :         tevent_req_done(req);
    2645             : }
    2646             : 
    2647           0 : NTSTATUS dcerpc_dfs_AddStdRootForced_recv(struct tevent_req *req,
    2648             :                                           TALLOC_CTX *mem_ctx,
    2649             :                                           WERROR *result)
    2650             : {
    2651           0 :         struct dcerpc_dfs_AddStdRootForced_state *state = tevent_req_data(
    2652             :                 req, struct dcerpc_dfs_AddStdRootForced_state);
    2653           0 :         NTSTATUS status;
    2654             : 
    2655           0 :         if (tevent_req_is_nterror(req, &status)) {
    2656           0 :                 tevent_req_received(req);
    2657           0 :                 return status;
    2658             :         }
    2659             : 
    2660             :         /* Steal possible out parameters to the callers context */
    2661           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2662             : 
    2663             :         /* Return result */
    2664           0 :         *result = state->orig.out.result;
    2665             : 
    2666           0 :         tevent_req_received(req);
    2667           0 :         return NT_STATUS_OK;
    2668             : }
    2669             : 
    2670           0 : NTSTATUS dcerpc_dfs_AddStdRootForced(struct dcerpc_binding_handle *h,
    2671             :                                      TALLOC_CTX *mem_ctx,
    2672             :                                      const char *_servername /* [in] [charset(UTF16)] */,
    2673             :                                      const char *_rootshare /* [in] [charset(UTF16)] */,
    2674             :                                      const char *_comment /* [in] [charset(UTF16)] */,
    2675             :                                      const char *_store /* [in] [charset(UTF16)] */,
    2676             :                                      WERROR *result)
    2677             : {
    2678           0 :         struct dfs_AddStdRootForced r;
    2679           0 :         NTSTATUS status;
    2680             : 
    2681             :         /* In parameters */
    2682           0 :         r.in.servername = _servername;
    2683           0 :         r.in.rootshare = _rootshare;
    2684           0 :         r.in.comment = _comment;
    2685           0 :         r.in.store = _store;
    2686             : 
    2687             :         /* Out parameters */
    2688             : 
    2689             :         /* Result */
    2690           0 :         NDR_ZERO_STRUCT(r.out.result);
    2691             : 
    2692           0 :         status = dcerpc_dfs_AddStdRootForced_r(h, mem_ctx, &r);
    2693           0 :         if (!NT_STATUS_IS_OK(status)) {
    2694           0 :                 return status;
    2695             :         }
    2696             : 
    2697             :         /* Return variables */
    2698             : 
    2699             :         /* Return result */
    2700           0 :         *result = r.out.result;
    2701             : 
    2702           0 :         return NT_STATUS_OK;
    2703             : }
    2704             : 
    2705             : struct dcerpc_dfs_GetDcAddress_r_state {
    2706             :         TALLOC_CTX *out_mem_ctx;
    2707             : };
    2708             : 
    2709             : static void dcerpc_dfs_GetDcAddress_r_done(struct tevent_req *subreq);
    2710             : 
    2711           0 : struct tevent_req *dcerpc_dfs_GetDcAddress_r_send(TALLOC_CTX *mem_ctx,
    2712             :         struct tevent_context *ev,
    2713             :         struct dcerpc_binding_handle *h,
    2714             :         struct dfs_GetDcAddress *r)
    2715             : {
    2716           0 :         struct tevent_req *req;
    2717           0 :         struct dcerpc_dfs_GetDcAddress_r_state *state;
    2718           0 :         struct tevent_req *subreq;
    2719             : 
    2720           0 :         req = tevent_req_create(mem_ctx, &state,
    2721             :                                 struct dcerpc_dfs_GetDcAddress_r_state);
    2722           0 :         if (req == NULL) {
    2723           0 :                 return NULL;
    2724             :         }
    2725             : 
    2726           0 :         state->out_mem_ctx = talloc_new(state);
    2727           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    2728           0 :                 return tevent_req_post(req, ev);
    2729             :         }
    2730             : 
    2731           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    2732             :                         NULL, &ndr_table_netdfs,
    2733           0 :                         NDR_DFS_GETDCADDRESS, state->out_mem_ctx, r);
    2734           0 :         if (tevent_req_nomem(subreq, req)) {
    2735           0 :                 return tevent_req_post(req, ev);
    2736             :         }
    2737           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_GetDcAddress_r_done, req);
    2738             : 
    2739           0 :         return req;
    2740             : }
    2741             : 
    2742           0 : static void dcerpc_dfs_GetDcAddress_r_done(struct tevent_req *subreq)
    2743             : {
    2744           0 :         struct tevent_req *req =
    2745           0 :                 tevent_req_callback_data(subreq,
    2746             :                 struct tevent_req);
    2747           0 :         NTSTATUS status;
    2748             : 
    2749           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    2750           0 :         TALLOC_FREE(subreq);
    2751           0 :         if (tevent_req_nterror(req, status)) {
    2752           0 :                 return;
    2753             :         }
    2754             : 
    2755           0 :         tevent_req_done(req);
    2756             : }
    2757             : 
    2758           0 : NTSTATUS dcerpc_dfs_GetDcAddress_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    2759             : {
    2760           0 :         struct dcerpc_dfs_GetDcAddress_r_state *state =
    2761           0 :                 tevent_req_data(req,
    2762             :                 struct dcerpc_dfs_GetDcAddress_r_state);
    2763           0 :         NTSTATUS status;
    2764             : 
    2765           0 :         if (tevent_req_is_nterror(req, &status)) {
    2766           0 :                 tevent_req_received(req);
    2767           0 :                 return status;
    2768             :         }
    2769             : 
    2770           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2771             : 
    2772           0 :         tevent_req_received(req);
    2773           0 :         return NT_STATUS_OK;
    2774             : }
    2775             : 
    2776           0 : NTSTATUS dcerpc_dfs_GetDcAddress_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_GetDcAddress *r)
    2777             : {
    2778           0 :         NTSTATUS status;
    2779             : 
    2780           0 :         status = dcerpc_binding_handle_call(h,
    2781             :                         NULL, &ndr_table_netdfs,
    2782             :                         NDR_DFS_GETDCADDRESS, mem_ctx, r);
    2783             : 
    2784           0 :         return status;
    2785             : }
    2786             : 
    2787             : struct dcerpc_dfs_GetDcAddress_state {
    2788             :         struct dfs_GetDcAddress orig;
    2789             :         struct dfs_GetDcAddress tmp;
    2790             :         TALLOC_CTX *out_mem_ctx;
    2791             : };
    2792             : 
    2793             : static void dcerpc_dfs_GetDcAddress_done(struct tevent_req *subreq);
    2794             : 
    2795           0 : struct tevent_req *dcerpc_dfs_GetDcAddress_send(TALLOC_CTX *mem_ctx,
    2796             :                                                 struct tevent_context *ev,
    2797             :                                                 struct dcerpc_binding_handle *h,
    2798             :                                                 const char *_servername /* [in] [charset(UTF16)] */,
    2799             :                                                 const char **_server_fullname /* [in,out] [charset(UTF16),ref] */,
    2800             :                                                 uint8_t *_is_root /* [in,out] [ref] */,
    2801             :                                                 uint32_t *_ttl /* [in,out] [ref] */)
    2802             : {
    2803           0 :         struct tevent_req *req;
    2804           0 :         struct dcerpc_dfs_GetDcAddress_state *state;
    2805           0 :         struct tevent_req *subreq;
    2806             : 
    2807           0 :         req = tevent_req_create(mem_ctx, &state,
    2808             :                                 struct dcerpc_dfs_GetDcAddress_state);
    2809           0 :         if (req == NULL) {
    2810           0 :                 return NULL;
    2811             :         }
    2812           0 :         state->out_mem_ctx = NULL;
    2813             : 
    2814             :         /* In parameters */
    2815           0 :         state->orig.in.servername = _servername;
    2816           0 :         state->orig.in.server_fullname = _server_fullname;
    2817           0 :         state->orig.in.is_root = _is_root;
    2818           0 :         state->orig.in.ttl = _ttl;
    2819             : 
    2820             :         /* Out parameters */
    2821           0 :         state->orig.out.server_fullname = _server_fullname;
    2822           0 :         state->orig.out.is_root = _is_root;
    2823           0 :         state->orig.out.ttl = _ttl;
    2824             : 
    2825             :         /* Result */
    2826           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    2827             : 
    2828           0 :         state->out_mem_ctx = talloc_named_const(state, 0,
    2829             :                              "dcerpc_dfs_GetDcAddress_out_memory");
    2830           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    2831           0 :                 return tevent_req_post(req, ev);
    2832             :         }
    2833             : 
    2834             :         /* make a temporary copy, that we pass to the dispatch function */
    2835           0 :         state->tmp = state->orig;
    2836             : 
    2837           0 :         subreq = dcerpc_dfs_GetDcAddress_r_send(state, ev, h, &state->tmp);
    2838           0 :         if (tevent_req_nomem(subreq, req)) {
    2839           0 :                 return tevent_req_post(req, ev);
    2840             :         }
    2841           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_GetDcAddress_done, req);
    2842           0 :         return req;
    2843             : }
    2844             : 
    2845           0 : static void dcerpc_dfs_GetDcAddress_done(struct tevent_req *subreq)
    2846             : {
    2847           0 :         struct tevent_req *req = tevent_req_callback_data(
    2848             :                 subreq, struct tevent_req);
    2849           0 :         struct dcerpc_dfs_GetDcAddress_state *state = tevent_req_data(
    2850             :                 req, struct dcerpc_dfs_GetDcAddress_state);
    2851           0 :         NTSTATUS status;
    2852           0 :         TALLOC_CTX *mem_ctx;
    2853             : 
    2854           0 :         if (state->out_mem_ctx) {
    2855           0 :                 mem_ctx = state->out_mem_ctx;
    2856             :         } else {
    2857           0 :                 mem_ctx = state;
    2858             :         }
    2859             : 
    2860           0 :         status = dcerpc_dfs_GetDcAddress_r_recv(subreq, mem_ctx);
    2861           0 :         TALLOC_FREE(subreq);
    2862           0 :         if (tevent_req_nterror(req, status)) {
    2863           0 :                 return;
    2864             :         }
    2865             : 
    2866             :         /* Copy out parameters */
    2867           0 :         *state->orig.out.server_fullname = *state->tmp.out.server_fullname;
    2868           0 :         *state->orig.out.is_root = *state->tmp.out.is_root;
    2869           0 :         *state->orig.out.ttl = *state->tmp.out.ttl;
    2870             : 
    2871             :         /* Copy result */
    2872           0 :         state->orig.out.result = state->tmp.out.result;
    2873             : 
    2874             :         /* Reset temporary structure */
    2875           0 :         NDR_ZERO_STRUCT(state->tmp);
    2876             : 
    2877           0 :         tevent_req_done(req);
    2878             : }
    2879             : 
    2880           0 : NTSTATUS dcerpc_dfs_GetDcAddress_recv(struct tevent_req *req,
    2881             :                                       TALLOC_CTX *mem_ctx,
    2882             :                                       WERROR *result)
    2883             : {
    2884           0 :         struct dcerpc_dfs_GetDcAddress_state *state = tevent_req_data(
    2885             :                 req, struct dcerpc_dfs_GetDcAddress_state);
    2886           0 :         NTSTATUS status;
    2887             : 
    2888           0 :         if (tevent_req_is_nterror(req, &status)) {
    2889           0 :                 tevent_req_received(req);
    2890           0 :                 return status;
    2891             :         }
    2892             : 
    2893             :         /* Steal possible out parameters to the callers context */
    2894           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    2895             : 
    2896             :         /* Return result */
    2897           0 :         *result = state->orig.out.result;
    2898             : 
    2899           0 :         tevent_req_received(req);
    2900           0 :         return NT_STATUS_OK;
    2901             : }
    2902             : 
    2903           0 : NTSTATUS dcerpc_dfs_GetDcAddress(struct dcerpc_binding_handle *h,
    2904             :                                  TALLOC_CTX *mem_ctx,
    2905             :                                  const char *_servername /* [in] [charset(UTF16)] */,
    2906             :                                  const char **_server_fullname /* [in,out] [charset(UTF16),ref] */,
    2907             :                                  uint8_t *_is_root /* [in,out] [ref] */,
    2908             :                                  uint32_t *_ttl /* [in,out] [ref] */,
    2909             :                                  WERROR *result)
    2910             : {
    2911           0 :         struct dfs_GetDcAddress r;
    2912           0 :         NTSTATUS status;
    2913             : 
    2914             :         /* In parameters */
    2915           0 :         r.in.servername = _servername;
    2916           0 :         r.in.server_fullname = _server_fullname;
    2917           0 :         r.in.is_root = _is_root;
    2918           0 :         r.in.ttl = _ttl;
    2919             : 
    2920             :         /* Out parameters */
    2921           0 :         r.out.server_fullname = _server_fullname;
    2922           0 :         r.out.is_root = _is_root;
    2923           0 :         r.out.ttl = _ttl;
    2924             : 
    2925             :         /* Result */
    2926           0 :         NDR_ZERO_STRUCT(r.out.result);
    2927             : 
    2928           0 :         status = dcerpc_dfs_GetDcAddress_r(h, mem_ctx, &r);
    2929           0 :         if (!NT_STATUS_IS_OK(status)) {
    2930           0 :                 return status;
    2931             :         }
    2932             : 
    2933             :         /* Return variables */
    2934           0 :         *_server_fullname = *r.out.server_fullname;
    2935           0 :         *_is_root = *r.out.is_root;
    2936           0 :         *_ttl = *r.out.ttl;
    2937             : 
    2938             :         /* Return result */
    2939           0 :         *result = r.out.result;
    2940             : 
    2941           0 :         return NT_STATUS_OK;
    2942             : }
    2943             : 
    2944             : struct dcerpc_dfs_SetDcAddress_r_state {
    2945             :         TALLOC_CTX *out_mem_ctx;
    2946             : };
    2947             : 
    2948             : static void dcerpc_dfs_SetDcAddress_r_done(struct tevent_req *subreq);
    2949             : 
    2950           0 : struct tevent_req *dcerpc_dfs_SetDcAddress_r_send(TALLOC_CTX *mem_ctx,
    2951             :         struct tevent_context *ev,
    2952             :         struct dcerpc_binding_handle *h,
    2953             :         struct dfs_SetDcAddress *r)
    2954             : {
    2955           0 :         struct tevent_req *req;
    2956           0 :         struct dcerpc_dfs_SetDcAddress_r_state *state;
    2957           0 :         struct tevent_req *subreq;
    2958             : 
    2959           0 :         req = tevent_req_create(mem_ctx, &state,
    2960             :                                 struct dcerpc_dfs_SetDcAddress_r_state);
    2961           0 :         if (req == NULL) {
    2962           0 :                 return NULL;
    2963             :         }
    2964             : 
    2965           0 :         state->out_mem_ctx = NULL;
    2966             : 
    2967           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    2968             :                         NULL, &ndr_table_netdfs,
    2969             :                         NDR_DFS_SETDCADDRESS, state, r);
    2970           0 :         if (tevent_req_nomem(subreq, req)) {
    2971           0 :                 return tevent_req_post(req, ev);
    2972             :         }
    2973           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_SetDcAddress_r_done, req);
    2974             : 
    2975           0 :         return req;
    2976             : }
    2977             : 
    2978           0 : static void dcerpc_dfs_SetDcAddress_r_done(struct tevent_req *subreq)
    2979             : {
    2980           0 :         struct tevent_req *req =
    2981           0 :                 tevent_req_callback_data(subreq,
    2982             :                 struct tevent_req);
    2983           0 :         NTSTATUS status;
    2984             : 
    2985           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    2986           0 :         TALLOC_FREE(subreq);
    2987           0 :         if (tevent_req_nterror(req, status)) {
    2988           0 :                 return;
    2989             :         }
    2990             : 
    2991           0 :         tevent_req_done(req);
    2992             : }
    2993             : 
    2994           0 : NTSTATUS dcerpc_dfs_SetDcAddress_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    2995             : {
    2996           0 :         struct dcerpc_dfs_SetDcAddress_r_state *state =
    2997           0 :                 tevent_req_data(req,
    2998             :                 struct dcerpc_dfs_SetDcAddress_r_state);
    2999           0 :         NTSTATUS status;
    3000             : 
    3001           0 :         if (tevent_req_is_nterror(req, &status)) {
    3002           0 :                 tevent_req_received(req);
    3003           0 :                 return status;
    3004             :         }
    3005             : 
    3006           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    3007             : 
    3008           0 :         tevent_req_received(req);
    3009           0 :         return NT_STATUS_OK;
    3010             : }
    3011             : 
    3012           0 : NTSTATUS dcerpc_dfs_SetDcAddress_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_SetDcAddress *r)
    3013             : {
    3014           0 :         NTSTATUS status;
    3015             : 
    3016           0 :         status = dcerpc_binding_handle_call(h,
    3017             :                         NULL, &ndr_table_netdfs,
    3018             :                         NDR_DFS_SETDCADDRESS, mem_ctx, r);
    3019             : 
    3020           0 :         return status;
    3021             : }
    3022             : 
    3023             : struct dcerpc_dfs_SetDcAddress_state {
    3024             :         struct dfs_SetDcAddress orig;
    3025             :         struct dfs_SetDcAddress tmp;
    3026             :         TALLOC_CTX *out_mem_ctx;
    3027             : };
    3028             : 
    3029             : static void dcerpc_dfs_SetDcAddress_done(struct tevent_req *subreq);
    3030             : 
    3031           0 : struct tevent_req *dcerpc_dfs_SetDcAddress_send(TALLOC_CTX *mem_ctx,
    3032             :                                                 struct tevent_context *ev,
    3033             :                                                 struct dcerpc_binding_handle *h,
    3034             :                                                 const char *_servername /* [in] [charset(UTF16)] */,
    3035             :                                                 const char *_server_fullname /* [in] [charset(UTF16)] */,
    3036             :                                                 uint32_t _flags /* [in]  */,
    3037             :                                                 uint32_t _ttl /* [in]  */)
    3038             : {
    3039           0 :         struct tevent_req *req;
    3040           0 :         struct dcerpc_dfs_SetDcAddress_state *state;
    3041           0 :         struct tevent_req *subreq;
    3042             : 
    3043           0 :         req = tevent_req_create(mem_ctx, &state,
    3044             :                                 struct dcerpc_dfs_SetDcAddress_state);
    3045           0 :         if (req == NULL) {
    3046           0 :                 return NULL;
    3047             :         }
    3048           0 :         state->out_mem_ctx = NULL;
    3049             : 
    3050             :         /* In parameters */
    3051           0 :         state->orig.in.servername = _servername;
    3052           0 :         state->orig.in.server_fullname = _server_fullname;
    3053           0 :         state->orig.in.flags = _flags;
    3054           0 :         state->orig.in.ttl = _ttl;
    3055             : 
    3056             :         /* Out parameters */
    3057             : 
    3058             :         /* Result */
    3059           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    3060             : 
    3061             :         /* make a temporary copy, that we pass to the dispatch function */
    3062           0 :         state->tmp = state->orig;
    3063             : 
    3064           0 :         subreq = dcerpc_dfs_SetDcAddress_r_send(state, ev, h, &state->tmp);
    3065           0 :         if (tevent_req_nomem(subreq, req)) {
    3066           0 :                 return tevent_req_post(req, ev);
    3067             :         }
    3068           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_SetDcAddress_done, req);
    3069           0 :         return req;
    3070             : }
    3071             : 
    3072           0 : static void dcerpc_dfs_SetDcAddress_done(struct tevent_req *subreq)
    3073             : {
    3074           0 :         struct tevent_req *req = tevent_req_callback_data(
    3075             :                 subreq, struct tevent_req);
    3076           0 :         struct dcerpc_dfs_SetDcAddress_state *state = tevent_req_data(
    3077             :                 req, struct dcerpc_dfs_SetDcAddress_state);
    3078           0 :         NTSTATUS status;
    3079           0 :         TALLOC_CTX *mem_ctx;
    3080             : 
    3081           0 :         if (state->out_mem_ctx) {
    3082           0 :                 mem_ctx = state->out_mem_ctx;
    3083             :         } else {
    3084           0 :                 mem_ctx = state;
    3085             :         }
    3086             : 
    3087           0 :         status = dcerpc_dfs_SetDcAddress_r_recv(subreq, mem_ctx);
    3088           0 :         TALLOC_FREE(subreq);
    3089           0 :         if (tevent_req_nterror(req, status)) {
    3090           0 :                 return;
    3091             :         }
    3092             : 
    3093             :         /* Copy out parameters */
    3094             : 
    3095             :         /* Copy result */
    3096           0 :         state->orig.out.result = state->tmp.out.result;
    3097             : 
    3098             :         /* Reset temporary structure */
    3099           0 :         NDR_ZERO_STRUCT(state->tmp);
    3100             : 
    3101           0 :         tevent_req_done(req);
    3102             : }
    3103             : 
    3104           0 : NTSTATUS dcerpc_dfs_SetDcAddress_recv(struct tevent_req *req,
    3105             :                                       TALLOC_CTX *mem_ctx,
    3106             :                                       WERROR *result)
    3107             : {
    3108           0 :         struct dcerpc_dfs_SetDcAddress_state *state = tevent_req_data(
    3109             :                 req, struct dcerpc_dfs_SetDcAddress_state);
    3110           0 :         NTSTATUS status;
    3111             : 
    3112           0 :         if (tevent_req_is_nterror(req, &status)) {
    3113           0 :                 tevent_req_received(req);
    3114           0 :                 return status;
    3115             :         }
    3116             : 
    3117             :         /* Steal possible out parameters to the callers context */
    3118           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    3119             : 
    3120             :         /* Return result */
    3121           0 :         *result = state->orig.out.result;
    3122             : 
    3123           0 :         tevent_req_received(req);
    3124           0 :         return NT_STATUS_OK;
    3125             : }
    3126             : 
    3127           0 : NTSTATUS dcerpc_dfs_SetDcAddress(struct dcerpc_binding_handle *h,
    3128             :                                  TALLOC_CTX *mem_ctx,
    3129             :                                  const char *_servername /* [in] [charset(UTF16)] */,
    3130             :                                  const char *_server_fullname /* [in] [charset(UTF16)] */,
    3131             :                                  uint32_t _flags /* [in]  */,
    3132             :                                  uint32_t _ttl /* [in]  */,
    3133             :                                  WERROR *result)
    3134             : {
    3135           0 :         struct dfs_SetDcAddress r;
    3136           0 :         NTSTATUS status;
    3137             : 
    3138             :         /* In parameters */
    3139           0 :         r.in.servername = _servername;
    3140           0 :         r.in.server_fullname = _server_fullname;
    3141           0 :         r.in.flags = _flags;
    3142           0 :         r.in.ttl = _ttl;
    3143             : 
    3144             :         /* Out parameters */
    3145             : 
    3146             :         /* Result */
    3147           0 :         NDR_ZERO_STRUCT(r.out.result);
    3148             : 
    3149           0 :         status = dcerpc_dfs_SetDcAddress_r(h, mem_ctx, &r);
    3150           0 :         if (!NT_STATUS_IS_OK(status)) {
    3151           0 :                 return status;
    3152             :         }
    3153             : 
    3154             :         /* Return variables */
    3155             : 
    3156             :         /* Return result */
    3157           0 :         *result = r.out.result;
    3158             : 
    3159           0 :         return NT_STATUS_OK;
    3160             : }
    3161             : 
    3162             : struct dcerpc_dfs_FlushFtTable_r_state {
    3163             :         TALLOC_CTX *out_mem_ctx;
    3164             : };
    3165             : 
    3166             : static void dcerpc_dfs_FlushFtTable_r_done(struct tevent_req *subreq);
    3167             : 
    3168           0 : struct tevent_req *dcerpc_dfs_FlushFtTable_r_send(TALLOC_CTX *mem_ctx,
    3169             :         struct tevent_context *ev,
    3170             :         struct dcerpc_binding_handle *h,
    3171             :         struct dfs_FlushFtTable *r)
    3172             : {
    3173           0 :         struct tevent_req *req;
    3174           0 :         struct dcerpc_dfs_FlushFtTable_r_state *state;
    3175           0 :         struct tevent_req *subreq;
    3176             : 
    3177           0 :         req = tevent_req_create(mem_ctx, &state,
    3178             :                                 struct dcerpc_dfs_FlushFtTable_r_state);
    3179           0 :         if (req == NULL) {
    3180           0 :                 return NULL;
    3181             :         }
    3182             : 
    3183           0 :         state->out_mem_ctx = NULL;
    3184             : 
    3185           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    3186             :                         NULL, &ndr_table_netdfs,
    3187             :                         NDR_DFS_FLUSHFTTABLE, state, r);
    3188           0 :         if (tevent_req_nomem(subreq, req)) {
    3189           0 :                 return tevent_req_post(req, ev);
    3190             :         }
    3191           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_FlushFtTable_r_done, req);
    3192             : 
    3193           0 :         return req;
    3194             : }
    3195             : 
    3196           0 : static void dcerpc_dfs_FlushFtTable_r_done(struct tevent_req *subreq)
    3197             : {
    3198           0 :         struct tevent_req *req =
    3199           0 :                 tevent_req_callback_data(subreq,
    3200             :                 struct tevent_req);
    3201           0 :         NTSTATUS status;
    3202             : 
    3203           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    3204           0 :         TALLOC_FREE(subreq);
    3205           0 :         if (tevent_req_nterror(req, status)) {
    3206           0 :                 return;
    3207             :         }
    3208             : 
    3209           0 :         tevent_req_done(req);
    3210             : }
    3211             : 
    3212           0 : NTSTATUS dcerpc_dfs_FlushFtTable_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    3213             : {
    3214           0 :         struct dcerpc_dfs_FlushFtTable_r_state *state =
    3215           0 :                 tevent_req_data(req,
    3216             :                 struct dcerpc_dfs_FlushFtTable_r_state);
    3217           0 :         NTSTATUS status;
    3218             : 
    3219           0 :         if (tevent_req_is_nterror(req, &status)) {
    3220           0 :                 tevent_req_received(req);
    3221           0 :                 return status;
    3222             :         }
    3223             : 
    3224           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    3225             : 
    3226           0 :         tevent_req_received(req);
    3227           0 :         return NT_STATUS_OK;
    3228             : }
    3229             : 
    3230           0 : NTSTATUS dcerpc_dfs_FlushFtTable_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_FlushFtTable *r)
    3231             : {
    3232           0 :         NTSTATUS status;
    3233             : 
    3234           0 :         status = dcerpc_binding_handle_call(h,
    3235             :                         NULL, &ndr_table_netdfs,
    3236             :                         NDR_DFS_FLUSHFTTABLE, mem_ctx, r);
    3237             : 
    3238           0 :         return status;
    3239             : }
    3240             : 
    3241             : struct dcerpc_dfs_FlushFtTable_state {
    3242             :         struct dfs_FlushFtTable orig;
    3243             :         struct dfs_FlushFtTable tmp;
    3244             :         TALLOC_CTX *out_mem_ctx;
    3245             : };
    3246             : 
    3247             : static void dcerpc_dfs_FlushFtTable_done(struct tevent_req *subreq);
    3248             : 
    3249           0 : struct tevent_req *dcerpc_dfs_FlushFtTable_send(TALLOC_CTX *mem_ctx,
    3250             :                                                 struct tevent_context *ev,
    3251             :                                                 struct dcerpc_binding_handle *h,
    3252             :                                                 const char *_servername /* [in] [charset(UTF16)] */,
    3253             :                                                 const char *_rootshare /* [in] [charset(UTF16)] */)
    3254             : {
    3255           0 :         struct tevent_req *req;
    3256           0 :         struct dcerpc_dfs_FlushFtTable_state *state;
    3257           0 :         struct tevent_req *subreq;
    3258             : 
    3259           0 :         req = tevent_req_create(mem_ctx, &state,
    3260             :                                 struct dcerpc_dfs_FlushFtTable_state);
    3261           0 :         if (req == NULL) {
    3262           0 :                 return NULL;
    3263             :         }
    3264           0 :         state->out_mem_ctx = NULL;
    3265             : 
    3266             :         /* In parameters */
    3267           0 :         state->orig.in.servername = _servername;
    3268           0 :         state->orig.in.rootshare = _rootshare;
    3269             : 
    3270             :         /* Out parameters */
    3271             : 
    3272             :         /* Result */
    3273           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    3274             : 
    3275             :         /* make a temporary copy, that we pass to the dispatch function */
    3276           0 :         state->tmp = state->orig;
    3277             : 
    3278           0 :         subreq = dcerpc_dfs_FlushFtTable_r_send(state, ev, h, &state->tmp);
    3279           0 :         if (tevent_req_nomem(subreq, req)) {
    3280           0 :                 return tevent_req_post(req, ev);
    3281             :         }
    3282           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_FlushFtTable_done, req);
    3283           0 :         return req;
    3284             : }
    3285             : 
    3286           0 : static void dcerpc_dfs_FlushFtTable_done(struct tevent_req *subreq)
    3287             : {
    3288           0 :         struct tevent_req *req = tevent_req_callback_data(
    3289             :                 subreq, struct tevent_req);
    3290           0 :         struct dcerpc_dfs_FlushFtTable_state *state = tevent_req_data(
    3291             :                 req, struct dcerpc_dfs_FlushFtTable_state);
    3292           0 :         NTSTATUS status;
    3293           0 :         TALLOC_CTX *mem_ctx;
    3294             : 
    3295           0 :         if (state->out_mem_ctx) {
    3296           0 :                 mem_ctx = state->out_mem_ctx;
    3297             :         } else {
    3298           0 :                 mem_ctx = state;
    3299             :         }
    3300             : 
    3301           0 :         status = dcerpc_dfs_FlushFtTable_r_recv(subreq, mem_ctx);
    3302           0 :         TALLOC_FREE(subreq);
    3303           0 :         if (tevent_req_nterror(req, status)) {
    3304           0 :                 return;
    3305             :         }
    3306             : 
    3307             :         /* Copy out parameters */
    3308             : 
    3309             :         /* Copy result */
    3310           0 :         state->orig.out.result = state->tmp.out.result;
    3311             : 
    3312             :         /* Reset temporary structure */
    3313           0 :         NDR_ZERO_STRUCT(state->tmp);
    3314             : 
    3315           0 :         tevent_req_done(req);
    3316             : }
    3317             : 
    3318           0 : NTSTATUS dcerpc_dfs_FlushFtTable_recv(struct tevent_req *req,
    3319             :                                       TALLOC_CTX *mem_ctx,
    3320             :                                       WERROR *result)
    3321             : {
    3322           0 :         struct dcerpc_dfs_FlushFtTable_state *state = tevent_req_data(
    3323             :                 req, struct dcerpc_dfs_FlushFtTable_state);
    3324           0 :         NTSTATUS status;
    3325             : 
    3326           0 :         if (tevent_req_is_nterror(req, &status)) {
    3327           0 :                 tevent_req_received(req);
    3328           0 :                 return status;
    3329             :         }
    3330             : 
    3331             :         /* Steal possible out parameters to the callers context */
    3332           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    3333             : 
    3334             :         /* Return result */
    3335           0 :         *result = state->orig.out.result;
    3336             : 
    3337           0 :         tevent_req_received(req);
    3338           0 :         return NT_STATUS_OK;
    3339             : }
    3340             : 
    3341           0 : NTSTATUS dcerpc_dfs_FlushFtTable(struct dcerpc_binding_handle *h,
    3342             :                                  TALLOC_CTX *mem_ctx,
    3343             :                                  const char *_servername /* [in] [charset(UTF16)] */,
    3344             :                                  const char *_rootshare /* [in] [charset(UTF16)] */,
    3345             :                                  WERROR *result)
    3346             : {
    3347           0 :         struct dfs_FlushFtTable r;
    3348           0 :         NTSTATUS status;
    3349             : 
    3350             :         /* In parameters */
    3351           0 :         r.in.servername = _servername;
    3352           0 :         r.in.rootshare = _rootshare;
    3353             : 
    3354             :         /* Out parameters */
    3355             : 
    3356             :         /* Result */
    3357           0 :         NDR_ZERO_STRUCT(r.out.result);
    3358             : 
    3359           0 :         status = dcerpc_dfs_FlushFtTable_r(h, mem_ctx, &r);
    3360           0 :         if (!NT_STATUS_IS_OK(status)) {
    3361           0 :                 return status;
    3362             :         }
    3363             : 
    3364             :         /* Return variables */
    3365             : 
    3366             :         /* Return result */
    3367           0 :         *result = r.out.result;
    3368             : 
    3369           0 :         return NT_STATUS_OK;
    3370             : }
    3371             : 
    3372             : struct dcerpc_dfs_EnumEx_r_state {
    3373             :         TALLOC_CTX *out_mem_ctx;
    3374             : };
    3375             : 
    3376             : static void dcerpc_dfs_EnumEx_r_done(struct tevent_req *subreq);
    3377             : 
    3378           0 : struct tevent_req *dcerpc_dfs_EnumEx_r_send(TALLOC_CTX *mem_ctx,
    3379             :         struct tevent_context *ev,
    3380             :         struct dcerpc_binding_handle *h,
    3381             :         struct dfs_EnumEx *r)
    3382             : {
    3383           0 :         struct tevent_req *req;
    3384           0 :         struct dcerpc_dfs_EnumEx_r_state *state;
    3385           0 :         struct tevent_req *subreq;
    3386             : 
    3387           0 :         req = tevent_req_create(mem_ctx, &state,
    3388             :                                 struct dcerpc_dfs_EnumEx_r_state);
    3389           0 :         if (req == NULL) {
    3390           0 :                 return NULL;
    3391             :         }
    3392             : 
    3393           0 :         state->out_mem_ctx = talloc_new(state);
    3394           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    3395           0 :                 return tevent_req_post(req, ev);
    3396             :         }
    3397             : 
    3398           0 :         subreq = dcerpc_binding_handle_call_send(state, ev, h,
    3399             :                         NULL, &ndr_table_netdfs,
    3400           0 :                         NDR_DFS_ENUMEX, state->out_mem_ctx, r);
    3401           0 :         if (tevent_req_nomem(subreq, req)) {
    3402           0 :                 return tevent_req_post(req, ev);
    3403             :         }
    3404           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_EnumEx_r_done, req);
    3405             : 
    3406           0 :         return req;
    3407             : }
    3408             : 
    3409           0 : static void dcerpc_dfs_EnumEx_r_done(struct tevent_req *subreq)
    3410             : {
    3411           0 :         struct tevent_req *req =
    3412           0 :                 tevent_req_callback_data(subreq,
    3413             :                 struct tevent_req);
    3414           0 :         NTSTATUS status;
    3415             : 
    3416           0 :         status = dcerpc_binding_handle_call_recv(subreq);
    3417           0 :         TALLOC_FREE(subreq);
    3418           0 :         if (tevent_req_nterror(req, status)) {
    3419           0 :                 return;
    3420             :         }
    3421             : 
    3422           0 :         tevent_req_done(req);
    3423             : }
    3424             : 
    3425           0 : NTSTATUS dcerpc_dfs_EnumEx_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
    3426             : {
    3427           0 :         struct dcerpc_dfs_EnumEx_r_state *state =
    3428           0 :                 tevent_req_data(req,
    3429             :                 struct dcerpc_dfs_EnumEx_r_state);
    3430           0 :         NTSTATUS status;
    3431             : 
    3432           0 :         if (tevent_req_is_nterror(req, &status)) {
    3433           0 :                 tevent_req_received(req);
    3434           0 :                 return status;
    3435             :         }
    3436             : 
    3437           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    3438             : 
    3439           0 :         tevent_req_received(req);
    3440           0 :         return NT_STATUS_OK;
    3441             : }
    3442             : 
    3443           2 : NTSTATUS dcerpc_dfs_EnumEx_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct dfs_EnumEx *r)
    3444             : {
    3445           0 :         NTSTATUS status;
    3446             : 
    3447           2 :         status = dcerpc_binding_handle_call(h,
    3448             :                         NULL, &ndr_table_netdfs,
    3449             :                         NDR_DFS_ENUMEX, mem_ctx, r);
    3450             : 
    3451           2 :         return status;
    3452             : }
    3453             : 
    3454             : struct dcerpc_dfs_EnumEx_state {
    3455             :         struct dfs_EnumEx orig;
    3456             :         struct dfs_EnumEx tmp;
    3457             :         TALLOC_CTX *out_mem_ctx;
    3458             : };
    3459             : 
    3460             : static void dcerpc_dfs_EnumEx_done(struct tevent_req *subreq);
    3461             : 
    3462           0 : struct tevent_req *dcerpc_dfs_EnumEx_send(TALLOC_CTX *mem_ctx,
    3463             :                                           struct tevent_context *ev,
    3464             :                                           struct dcerpc_binding_handle *h,
    3465             :                                           const char *_dfs_name /* [in] [charset(UTF16)] */,
    3466             :                                           uint32_t _level /* [in]  */,
    3467             :                                           uint32_t _bufsize /* [in]  */,
    3468             :                                           struct dfs_EnumStruct *_info /* [in,out] [unique] */,
    3469             :                                           uint32_t *_total /* [in,out] [unique] */)
    3470             : {
    3471           0 :         struct tevent_req *req;
    3472           0 :         struct dcerpc_dfs_EnumEx_state *state;
    3473           0 :         struct tevent_req *subreq;
    3474             : 
    3475           0 :         req = tevent_req_create(mem_ctx, &state,
    3476             :                                 struct dcerpc_dfs_EnumEx_state);
    3477           0 :         if (req == NULL) {
    3478           0 :                 return NULL;
    3479             :         }
    3480           0 :         state->out_mem_ctx = NULL;
    3481             : 
    3482             :         /* In parameters */
    3483           0 :         state->orig.in.dfs_name = _dfs_name;
    3484           0 :         state->orig.in.level = _level;
    3485           0 :         state->orig.in.bufsize = _bufsize;
    3486           0 :         state->orig.in.info = _info;
    3487           0 :         state->orig.in.total = _total;
    3488             : 
    3489             :         /* Out parameters */
    3490           0 :         state->orig.out.info = _info;
    3491           0 :         state->orig.out.total = _total;
    3492             : 
    3493             :         /* Result */
    3494           0 :         NDR_ZERO_STRUCT(state->orig.out.result);
    3495             : 
    3496           0 :         state->out_mem_ctx = talloc_named_const(state, 0,
    3497             :                              "dcerpc_dfs_EnumEx_out_memory");
    3498           0 :         if (tevent_req_nomem(state->out_mem_ctx, req)) {
    3499           0 :                 return tevent_req_post(req, ev);
    3500             :         }
    3501             : 
    3502             :         /* make a temporary copy, that we pass to the dispatch function */
    3503           0 :         state->tmp = state->orig;
    3504             : 
    3505           0 :         subreq = dcerpc_dfs_EnumEx_r_send(state, ev, h, &state->tmp);
    3506           0 :         if (tevent_req_nomem(subreq, req)) {
    3507           0 :                 return tevent_req_post(req, ev);
    3508             :         }
    3509           0 :         tevent_req_set_callback(subreq, dcerpc_dfs_EnumEx_done, req);
    3510           0 :         return req;
    3511             : }
    3512             : 
    3513           0 : static void dcerpc_dfs_EnumEx_done(struct tevent_req *subreq)
    3514             : {
    3515           0 :         struct tevent_req *req = tevent_req_callback_data(
    3516             :                 subreq, struct tevent_req);
    3517           0 :         struct dcerpc_dfs_EnumEx_state *state = tevent_req_data(
    3518             :                 req, struct dcerpc_dfs_EnumEx_state);
    3519           0 :         NTSTATUS status;
    3520           0 :         TALLOC_CTX *mem_ctx;
    3521             : 
    3522           0 :         if (state->out_mem_ctx) {
    3523           0 :                 mem_ctx = state->out_mem_ctx;
    3524             :         } else {
    3525           0 :                 mem_ctx = state;
    3526             :         }
    3527             : 
    3528           0 :         status = dcerpc_dfs_EnumEx_r_recv(subreq, mem_ctx);
    3529           0 :         TALLOC_FREE(subreq);
    3530           0 :         if (tevent_req_nterror(req, status)) {
    3531           0 :                 return;
    3532             :         }
    3533             : 
    3534             :         /* Copy out parameters */
    3535           0 :         if (state->orig.out.info && state->tmp.out.info) {
    3536           0 :                 *state->orig.out.info = *state->tmp.out.info;
    3537             :         }
    3538           0 :         if (state->orig.out.total && state->tmp.out.total) {
    3539           0 :                 *state->orig.out.total = *state->tmp.out.total;
    3540             :         }
    3541             : 
    3542             :         /* Copy result */
    3543           0 :         state->orig.out.result = state->tmp.out.result;
    3544             : 
    3545             :         /* Reset temporary structure */
    3546           0 :         NDR_ZERO_STRUCT(state->tmp);
    3547             : 
    3548           0 :         tevent_req_done(req);
    3549             : }
    3550             : 
    3551           0 : NTSTATUS dcerpc_dfs_EnumEx_recv(struct tevent_req *req,
    3552             :                                 TALLOC_CTX *mem_ctx,
    3553             :                                 WERROR *result)
    3554             : {
    3555           0 :         struct dcerpc_dfs_EnumEx_state *state = tevent_req_data(
    3556             :                 req, struct dcerpc_dfs_EnumEx_state);
    3557           0 :         NTSTATUS status;
    3558             : 
    3559           0 :         if (tevent_req_is_nterror(req, &status)) {
    3560           0 :                 tevent_req_received(req);
    3561           0 :                 return status;
    3562             :         }
    3563             : 
    3564             :         /* Steal possible out parameters to the callers context */
    3565           0 :         talloc_steal(mem_ctx, state->out_mem_ctx);
    3566             : 
    3567             :         /* Return result */
    3568           0 :         *result = state->orig.out.result;
    3569             : 
    3570           0 :         tevent_req_received(req);
    3571           0 :         return NT_STATUS_OK;
    3572             : }
    3573             : 
    3574           2 : NTSTATUS dcerpc_dfs_EnumEx(struct dcerpc_binding_handle *h,
    3575             :                            TALLOC_CTX *mem_ctx,
    3576             :                            const char *_dfs_name /* [in] [charset(UTF16)] */,
    3577             :                            uint32_t _level /* [in]  */,
    3578             :                            uint32_t _bufsize /* [in]  */,
    3579             :                            struct dfs_EnumStruct *_info /* [in,out] [unique] */,
    3580             :                            uint32_t *_total /* [in,out] [unique] */,
    3581             :                            WERROR *result)
    3582             : {
    3583           0 :         struct dfs_EnumEx r;
    3584           0 :         NTSTATUS status;
    3585             : 
    3586             :         /* In parameters */
    3587           2 :         r.in.dfs_name = _dfs_name;
    3588           2 :         r.in.level = _level;
    3589           2 :         r.in.bufsize = _bufsize;
    3590           2 :         r.in.info = _info;
    3591           2 :         r.in.total = _total;
    3592             : 
    3593             :         /* Out parameters */
    3594           2 :         r.out.info = _info;
    3595           2 :         r.out.total = _total;
    3596             : 
    3597             :         /* Result */
    3598           2 :         NDR_ZERO_STRUCT(r.out.result);
    3599             : 
    3600           2 :         status = dcerpc_dfs_EnumEx_r(h, mem_ctx, &r);
    3601           2 :         if (!NT_STATUS_IS_OK(status)) {
    3602           2 :                 return status;
    3603             :         }
    3604             : 
    3605             :         /* Return variables */
    3606           0 :         if (_info && r.out.info) {
    3607           0 :                 *_info = *r.out.info;
    3608             :         }
    3609           0 :         if (_total && r.out.total) {
    3610           0 :                 *_total = *r.out.total;
    3611             :         }
    3612             : 
    3613             :         /* Return result */
    3614           0 :         *result = r.out.result;
    3615             : 
    3616           0 :         return NT_STATUS_OK;
    3617             : }
    3618             : 

Generated by: LCOV version 1.14