1
/* client functions auto-generated by pidl */
5
#include "lib/util/tevent_ntstatus.h"
6
#include "librpc/gen_ndr/ndr_trkwks.h"
7
#include "librpc/gen_ndr/ndr_trkwks_c.h"
9
/* trkwks - client functions generated by pidl */
11
struct dcerpc_trkwks_Unknown0_r_state {
12
TALLOC_CTX *out_mem_ctx;
15
static void dcerpc_trkwks_Unknown0_r_done(struct tevent_req *subreq);
17
struct tevent_req *dcerpc_trkwks_Unknown0_r_send(TALLOC_CTX *mem_ctx,
18
struct tevent_context *ev,
19
struct dcerpc_binding_handle *h,
20
struct trkwks_Unknown0 *r)
22
struct tevent_req *req;
23
struct dcerpc_trkwks_Unknown0_r_state *state;
24
struct tevent_req *subreq;
26
req = tevent_req_create(mem_ctx, &state,
27
struct dcerpc_trkwks_Unknown0_r_state);
32
state->out_mem_ctx = NULL;
34
subreq = dcerpc_binding_handle_call_send(state, ev, h,
35
NULL, &ndr_table_trkwks,
36
NDR_TRKWKS_UNKNOWN0, state, r);
37
if (tevent_req_nomem(subreq, req)) {
38
return tevent_req_post(req, ev);
40
tevent_req_set_callback(subreq, dcerpc_trkwks_Unknown0_r_done, req);
45
static void dcerpc_trkwks_Unknown0_r_done(struct tevent_req *subreq)
47
struct tevent_req *req =
48
tevent_req_callback_data(subreq,
52
status = dcerpc_binding_handle_call_recv(subreq);
53
if (!NT_STATUS_IS_OK(status)) {
54
tevent_req_nterror(req, status);
61
NTSTATUS dcerpc_trkwks_Unknown0_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
63
struct dcerpc_trkwks_Unknown0_r_state *state =
65
struct dcerpc_trkwks_Unknown0_r_state);
68
if (tevent_req_is_nterror(req, &status)) {
69
tevent_req_received(req);
73
talloc_steal(mem_ctx, state->out_mem_ctx);
75
tevent_req_received(req);
79
NTSTATUS dcerpc_trkwks_Unknown0_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct trkwks_Unknown0 *r)
83
status = dcerpc_binding_handle_call(h,
84
NULL, &ndr_table_trkwks,
85
NDR_TRKWKS_UNKNOWN0, mem_ctx, r);
90
struct dcerpc_trkwks_Unknown0_state {
91
struct trkwks_Unknown0 orig;
92
struct trkwks_Unknown0 tmp;
93
TALLOC_CTX *out_mem_ctx;
96
static void dcerpc_trkwks_Unknown0_done(struct tevent_req *subreq);
98
struct tevent_req *dcerpc_trkwks_Unknown0_send(TALLOC_CTX *mem_ctx,
99
struct tevent_context *ev,
100
struct dcerpc_binding_handle *h)
102
struct tevent_req *req;
103
struct dcerpc_trkwks_Unknown0_state *state;
104
struct tevent_req *subreq;
106
req = tevent_req_create(mem_ctx, &state,
107
struct dcerpc_trkwks_Unknown0_state);
111
state->out_mem_ctx = NULL;
118
ZERO_STRUCT(state->orig.out.result);
120
/* make a temporary copy, that we pass to the dispatch function */
121
state->tmp = state->orig;
123
subreq = dcerpc_trkwks_Unknown0_r_send(state, ev, h, &state->tmp);
124
if (tevent_req_nomem(subreq, req)) {
125
return tevent_req_post(req, ev);
127
tevent_req_set_callback(subreq, dcerpc_trkwks_Unknown0_done, req);
131
static void dcerpc_trkwks_Unknown0_done(struct tevent_req *subreq)
133
struct tevent_req *req = tevent_req_callback_data(
134
subreq, struct tevent_req);
135
struct dcerpc_trkwks_Unknown0_state *state = tevent_req_data(
136
req, struct dcerpc_trkwks_Unknown0_state);
140
if (state->out_mem_ctx) {
141
mem_ctx = state->out_mem_ctx;
146
status = dcerpc_trkwks_Unknown0_r_recv(subreq, mem_ctx);
148
if (!NT_STATUS_IS_OK(status)) {
149
tevent_req_nterror(req, status);
153
/* Copy out parameters */
156
state->orig.out.result = state->tmp.out.result;
158
/* Reset temporary structure */
159
ZERO_STRUCT(state->tmp);
161
tevent_req_done(req);
164
NTSTATUS dcerpc_trkwks_Unknown0_recv(struct tevent_req *req,
168
struct dcerpc_trkwks_Unknown0_state *state = tevent_req_data(
169
req, struct dcerpc_trkwks_Unknown0_state);
172
if (tevent_req_is_nterror(req, &status)) {
173
tevent_req_received(req);
177
/* Steal possible out parameters to the callers context */
178
talloc_steal(mem_ctx, state->out_mem_ctx);
181
*result = state->orig.out.result;
183
tevent_req_received(req);
187
NTSTATUS dcerpc_trkwks_Unknown0(struct dcerpc_binding_handle *h,
191
struct trkwks_Unknown0 r;
196
status = dcerpc_trkwks_Unknown0_r(h, mem_ctx, &r);
197
if (!NT_STATUS_IS_OK(status)) {
201
/* Return variables */
204
*result = r.out.result;