1 /* server functions auto-generated by pidl */
2 #include "bin/default/librpc/gen_ndr/ndr_efs.h"
4 NTSTATUS dcerpc_server_efs_init(void);
6 /* efs - dcerpc server boilerplate generated by pidl */
9 static NTSTATUS efs__op_bind(struct dcesrv_call_state *dce_call, const struct dcesrv_interface *iface, uint32_t if_version)
11 #ifdef DCESRV_INTERFACE_EFS_BIND
12 return DCESRV_INTERFACE_EFS_BIND(dce_call,iface);
18 static void efs__op_unbind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
20 #ifdef DCESRV_INTERFACE_EFS_UNBIND
21 DCESRV_INTERFACE_EFS_UNBIND(context, iface);
27 static NTSTATUS efs__op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_pull *pull, void **r)
29 enum ndr_err_code ndr_err;
30 uint16_t opnum = dce_call->pkt.u.request.opnum;
32 dce_call->fault_code = 0;
34 if (opnum >= ndr_table_efs.num_calls) {
35 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
36 return NT_STATUS_NET_WRITE_FAULT;
39 *r = talloc_named(mem_ctx,
40 ndr_table_efs.calls[opnum].struct_size,
42 ndr_table_efs.calls[opnum].name);
43 NT_STATUS_HAVE_NO_MEMORY(*r);
45 /* unravel the NDR for the packet */
46 ndr_err = ndr_table_efs.calls[opnum].ndr_pull(pull, NDR_IN, *r);
47 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
48 dcerpc_log_packet(dce_call->conn->packet_log_dir,
49 &ndr_table_efs, opnum, NDR_IN,
50 &dce_call->pkt.u.request.stub_and_verifier);
51 dce_call->fault_code = DCERPC_FAULT_NDR;
52 return NT_STATUS_NET_WRITE_FAULT;
58 static NTSTATUS efs__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
60 uint16_t opnum = dce_call->pkt.u.request.opnum;
64 struct EfsRpcOpenFileRaw *r2 = (struct EfsRpcOpenFileRaw *)r;
65 if (DEBUGLEVEL >= 10) {
66 NDR_PRINT_FUNCTION_DEBUG(EfsRpcOpenFileRaw, NDR_IN, r2);
68 r2->out.result = dcesrv_EfsRpcOpenFileRaw(dce_call, mem_ctx, r2);
69 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
70 DEBUG(5,("function EfsRpcOpenFileRaw will reply async\n"));
75 struct EfsRpcReadFileRaw *r2 = (struct EfsRpcReadFileRaw *)r;
76 if (DEBUGLEVEL >= 10) {
77 NDR_PRINT_FUNCTION_DEBUG(EfsRpcReadFileRaw, NDR_IN, r2);
79 r2->out.result = dcesrv_EfsRpcReadFileRaw(dce_call, mem_ctx, r2);
80 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
81 DEBUG(5,("function EfsRpcReadFileRaw will reply async\n"));
86 struct EfsRpcWriteFileRaw *r2 = (struct EfsRpcWriteFileRaw *)r;
87 if (DEBUGLEVEL >= 10) {
88 NDR_PRINT_FUNCTION_DEBUG(EfsRpcWriteFileRaw, NDR_IN, r2);
90 r2->out.result = dcesrv_EfsRpcWriteFileRaw(dce_call, mem_ctx, r2);
91 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
92 DEBUG(5,("function EfsRpcWriteFileRaw will reply async\n"));
97 struct EfsRpcCloseRaw *r2 = (struct EfsRpcCloseRaw *)r;
98 if (DEBUGLEVEL >= 10) {
99 NDR_PRINT_FUNCTION_DEBUG(EfsRpcCloseRaw, NDR_IN, r2);
101 dcesrv_EfsRpcCloseRaw(dce_call, mem_ctx, r2);
102 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
103 DEBUG(5,("function EfsRpcCloseRaw will reply async\n"));
108 struct EfsRpcEncryptFileSrv *r2 = (struct EfsRpcEncryptFileSrv *)r;
109 if (DEBUGLEVEL >= 10) {
110 NDR_PRINT_FUNCTION_DEBUG(EfsRpcEncryptFileSrv, NDR_IN, r2);
112 r2->out.result = dcesrv_EfsRpcEncryptFileSrv(dce_call, mem_ctx, r2);
113 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
114 DEBUG(5,("function EfsRpcEncryptFileSrv will reply async\n"));
119 struct EfsRpcDecryptFileSrv *r2 = (struct EfsRpcDecryptFileSrv *)r;
120 if (DEBUGLEVEL >= 10) {
121 NDR_PRINT_FUNCTION_DEBUG(EfsRpcDecryptFileSrv, NDR_IN, r2);
123 r2->out.result = dcesrv_EfsRpcDecryptFileSrv(dce_call, mem_ctx, r2);
124 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
125 DEBUG(5,("function EfsRpcDecryptFileSrv will reply async\n"));
130 struct EfsRpcQueryUsersOnFile *r2 = (struct EfsRpcQueryUsersOnFile *)r;
131 if (DEBUGLEVEL >= 10) {
132 NDR_PRINT_FUNCTION_DEBUG(EfsRpcQueryUsersOnFile, NDR_IN, r2);
134 r2->out.result = dcesrv_EfsRpcQueryUsersOnFile(dce_call, mem_ctx, r2);
135 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
136 DEBUG(5,("function EfsRpcQueryUsersOnFile will reply async\n"));
141 struct EfsRpcQueryRecoveryAgents *r2 = (struct EfsRpcQueryRecoveryAgents *)r;
142 if (DEBUGLEVEL >= 10) {
143 NDR_PRINT_FUNCTION_DEBUG(EfsRpcQueryRecoveryAgents, NDR_IN, r2);
145 r2->out.result = dcesrv_EfsRpcQueryRecoveryAgents(dce_call, mem_ctx, r2);
146 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
147 DEBUG(5,("function EfsRpcQueryRecoveryAgents will reply async\n"));
152 struct EfsRpcRemoveUsersFromFile *r2 = (struct EfsRpcRemoveUsersFromFile *)r;
153 if (DEBUGLEVEL >= 10) {
154 NDR_PRINT_FUNCTION_DEBUG(EfsRpcRemoveUsersFromFile, NDR_IN, r2);
156 r2->out.result = dcesrv_EfsRpcRemoveUsersFromFile(dce_call, mem_ctx, r2);
157 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
158 DEBUG(5,("function EfsRpcRemoveUsersFromFile will reply async\n"));
163 struct EfsRpcAddUsersToFile *r2 = (struct EfsRpcAddUsersToFile *)r;
164 if (DEBUGLEVEL >= 10) {
165 NDR_PRINT_FUNCTION_DEBUG(EfsRpcAddUsersToFile, NDR_IN, r2);
167 r2->out.result = dcesrv_EfsRpcAddUsersToFile(dce_call, mem_ctx, r2);
168 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
169 DEBUG(5,("function EfsRpcAddUsersToFile will reply async\n"));
174 struct EfsRpcSetFileEncryptionKey *r2 = (struct EfsRpcSetFileEncryptionKey *)r;
175 if (DEBUGLEVEL >= 10) {
176 NDR_PRINT_FUNCTION_DEBUG(EfsRpcSetFileEncryptionKey, NDR_IN, r2);
178 r2->out.result = dcesrv_EfsRpcSetFileEncryptionKey(dce_call, mem_ctx, r2);
179 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
180 DEBUG(5,("function EfsRpcSetFileEncryptionKey will reply async\n"));
185 struct EfsRpcNotSupported *r2 = (struct EfsRpcNotSupported *)r;
186 if (DEBUGLEVEL >= 10) {
187 NDR_PRINT_FUNCTION_DEBUG(EfsRpcNotSupported, NDR_IN, r2);
189 r2->out.result = dcesrv_EfsRpcNotSupported(dce_call, mem_ctx, r2);
190 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
191 DEBUG(5,("function EfsRpcNotSupported will reply async\n"));
196 struct EfsRpcFileKeyInfo *r2 = (struct EfsRpcFileKeyInfo *)r;
197 if (DEBUGLEVEL >= 10) {
198 NDR_PRINT_FUNCTION_DEBUG(EfsRpcFileKeyInfo, NDR_IN, r2);
200 r2->out.result = dcesrv_EfsRpcFileKeyInfo(dce_call, mem_ctx, r2);
201 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
202 DEBUG(5,("function EfsRpcFileKeyInfo will reply async\n"));
207 struct EfsRpcDuplicateEncryptionInfoFile *r2 = (struct EfsRpcDuplicateEncryptionInfoFile *)r;
208 if (DEBUGLEVEL >= 10) {
209 NDR_PRINT_FUNCTION_DEBUG(EfsRpcDuplicateEncryptionInfoFile, NDR_IN, r2);
211 r2->out.result = dcesrv_EfsRpcDuplicateEncryptionInfoFile(dce_call, mem_ctx, r2);
212 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
213 DEBUG(5,("function EfsRpcDuplicateEncryptionInfoFile will reply async\n"));
219 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
223 if (dce_call->fault_code != 0) {
224 dcerpc_log_packet(dce_call->conn->packet_log_dir,
225 &ndr_table_efs, opnum, NDR_IN,
226 &dce_call->pkt.u.request.stub_and_verifier);
227 return NT_STATUS_NET_WRITE_FAULT;
233 static NTSTATUS efs__op_reply(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
235 uint16_t opnum = dce_call->pkt.u.request.opnum;
239 struct EfsRpcOpenFileRaw *r2 = (struct EfsRpcOpenFileRaw *)r;
240 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
241 DEBUG(5,("function EfsRpcOpenFileRaw replied async\n"));
243 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
244 NDR_PRINT_FUNCTION_DEBUG(EfsRpcOpenFileRaw, NDR_OUT | NDR_SET_VALUES, r2);
246 if (dce_call->fault_code != 0) {
247 DEBUG(2,("dcerpc_fault %s in EfsRpcOpenFileRaw\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
252 struct EfsRpcReadFileRaw *r2 = (struct EfsRpcReadFileRaw *)r;
253 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
254 DEBUG(5,("function EfsRpcReadFileRaw replied async\n"));
256 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
257 NDR_PRINT_FUNCTION_DEBUG(EfsRpcReadFileRaw, NDR_OUT | NDR_SET_VALUES, r2);
259 if (dce_call->fault_code != 0) {
260 DEBUG(2,("dcerpc_fault %s in EfsRpcReadFileRaw\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
265 struct EfsRpcWriteFileRaw *r2 = (struct EfsRpcWriteFileRaw *)r;
266 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
267 DEBUG(5,("function EfsRpcWriteFileRaw replied async\n"));
269 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
270 NDR_PRINT_FUNCTION_DEBUG(EfsRpcWriteFileRaw, NDR_OUT | NDR_SET_VALUES, r2);
272 if (dce_call->fault_code != 0) {
273 DEBUG(2,("dcerpc_fault %s in EfsRpcWriteFileRaw\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
278 struct EfsRpcCloseRaw *r2 = (struct EfsRpcCloseRaw *)r;
279 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
280 DEBUG(5,("function EfsRpcCloseRaw replied async\n"));
282 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
283 NDR_PRINT_FUNCTION_DEBUG(EfsRpcCloseRaw, NDR_OUT | NDR_SET_VALUES, r2);
285 if (dce_call->fault_code != 0) {
286 DEBUG(2,("dcerpc_fault %s in EfsRpcCloseRaw\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
291 struct EfsRpcEncryptFileSrv *r2 = (struct EfsRpcEncryptFileSrv *)r;
292 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
293 DEBUG(5,("function EfsRpcEncryptFileSrv replied async\n"));
295 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
296 NDR_PRINT_FUNCTION_DEBUG(EfsRpcEncryptFileSrv, NDR_OUT | NDR_SET_VALUES, r2);
298 if (dce_call->fault_code != 0) {
299 DEBUG(2,("dcerpc_fault %s in EfsRpcEncryptFileSrv\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
304 struct EfsRpcDecryptFileSrv *r2 = (struct EfsRpcDecryptFileSrv *)r;
305 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
306 DEBUG(5,("function EfsRpcDecryptFileSrv replied async\n"));
308 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
309 NDR_PRINT_FUNCTION_DEBUG(EfsRpcDecryptFileSrv, NDR_OUT | NDR_SET_VALUES, r2);
311 if (dce_call->fault_code != 0) {
312 DEBUG(2,("dcerpc_fault %s in EfsRpcDecryptFileSrv\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
317 struct EfsRpcQueryUsersOnFile *r2 = (struct EfsRpcQueryUsersOnFile *)r;
318 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
319 DEBUG(5,("function EfsRpcQueryUsersOnFile replied async\n"));
321 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
322 NDR_PRINT_FUNCTION_DEBUG(EfsRpcQueryUsersOnFile, NDR_OUT | NDR_SET_VALUES, r2);
324 if (dce_call->fault_code != 0) {
325 DEBUG(2,("dcerpc_fault %s in EfsRpcQueryUsersOnFile\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
330 struct EfsRpcQueryRecoveryAgents *r2 = (struct EfsRpcQueryRecoveryAgents *)r;
331 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
332 DEBUG(5,("function EfsRpcQueryRecoveryAgents replied async\n"));
334 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
335 NDR_PRINT_FUNCTION_DEBUG(EfsRpcQueryRecoveryAgents, NDR_OUT | NDR_SET_VALUES, r2);
337 if (dce_call->fault_code != 0) {
338 DEBUG(2,("dcerpc_fault %s in EfsRpcQueryRecoveryAgents\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
343 struct EfsRpcRemoveUsersFromFile *r2 = (struct EfsRpcRemoveUsersFromFile *)r;
344 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
345 DEBUG(5,("function EfsRpcRemoveUsersFromFile replied async\n"));
347 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
348 NDR_PRINT_FUNCTION_DEBUG(EfsRpcRemoveUsersFromFile, NDR_OUT | NDR_SET_VALUES, r2);
350 if (dce_call->fault_code != 0) {
351 DEBUG(2,("dcerpc_fault %s in EfsRpcRemoveUsersFromFile\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
356 struct EfsRpcAddUsersToFile *r2 = (struct EfsRpcAddUsersToFile *)r;
357 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
358 DEBUG(5,("function EfsRpcAddUsersToFile replied async\n"));
360 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
361 NDR_PRINT_FUNCTION_DEBUG(EfsRpcAddUsersToFile, NDR_OUT | NDR_SET_VALUES, r2);
363 if (dce_call->fault_code != 0) {
364 DEBUG(2,("dcerpc_fault %s in EfsRpcAddUsersToFile\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
369 struct EfsRpcSetFileEncryptionKey *r2 = (struct EfsRpcSetFileEncryptionKey *)r;
370 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
371 DEBUG(5,("function EfsRpcSetFileEncryptionKey replied async\n"));
373 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
374 NDR_PRINT_FUNCTION_DEBUG(EfsRpcSetFileEncryptionKey, NDR_OUT | NDR_SET_VALUES, r2);
376 if (dce_call->fault_code != 0) {
377 DEBUG(2,("dcerpc_fault %s in EfsRpcSetFileEncryptionKey\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
382 struct EfsRpcNotSupported *r2 = (struct EfsRpcNotSupported *)r;
383 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
384 DEBUG(5,("function EfsRpcNotSupported replied async\n"));
386 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
387 NDR_PRINT_FUNCTION_DEBUG(EfsRpcNotSupported, NDR_OUT | NDR_SET_VALUES, r2);
389 if (dce_call->fault_code != 0) {
390 DEBUG(2,("dcerpc_fault %s in EfsRpcNotSupported\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
395 struct EfsRpcFileKeyInfo *r2 = (struct EfsRpcFileKeyInfo *)r;
396 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
397 DEBUG(5,("function EfsRpcFileKeyInfo replied async\n"));
399 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
400 NDR_PRINT_FUNCTION_DEBUG(EfsRpcFileKeyInfo, NDR_OUT | NDR_SET_VALUES, r2);
402 if (dce_call->fault_code != 0) {
403 DEBUG(2,("dcerpc_fault %s in EfsRpcFileKeyInfo\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
408 struct EfsRpcDuplicateEncryptionInfoFile *r2 = (struct EfsRpcDuplicateEncryptionInfoFile *)r;
409 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
410 DEBUG(5,("function EfsRpcDuplicateEncryptionInfoFile replied async\n"));
412 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
413 NDR_PRINT_FUNCTION_DEBUG(EfsRpcDuplicateEncryptionInfoFile, NDR_OUT | NDR_SET_VALUES, r2);
415 if (dce_call->fault_code != 0) {
416 DEBUG(2,("dcerpc_fault %s in EfsRpcDuplicateEncryptionInfoFile\n", dcerpc_errstr(mem_ctx, dce_call->fault_code)));
422 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
426 if (dce_call->fault_code != 0) {
427 dcerpc_log_packet(dce_call->conn->packet_log_dir,
428 &ndr_table_efs, opnum, NDR_IN,
429 &dce_call->pkt.u.request.stub_and_verifier);
430 return NT_STATUS_NET_WRITE_FAULT;
436 static NTSTATUS efs__op_ndr_push(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_push *push, const void *r)
438 enum ndr_err_code ndr_err;
439 uint16_t opnum = dce_call->pkt.u.request.opnum;
441 ndr_err = ndr_table_efs.calls[opnum].ndr_push(push, NDR_OUT, r);
442 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
443 dce_call->fault_code = DCERPC_FAULT_NDR;
444 return NT_STATUS_NET_WRITE_FAULT;
450 const struct dcesrv_interface dcesrv_efs_interface = {
452 .syntax_id = {{0xc681d488,0xd850,0x11d0,{0x8c,0x52},{0x00,0xc0,0x4f,0xd9,0x0f,0x7e}},1.0},
453 .bind = efs__op_bind,
454 .unbind = efs__op_unbind,
455 .ndr_pull = efs__op_ndr_pull,
456 .dispatch = efs__op_dispatch,
457 .reply = efs__op_reply,
458 .ndr_push = efs__op_ndr_push
462 static NTSTATUS efs__op_init_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
466 for (i=0;i<ndr_table_efs.endpoints->count;i++) {
468 const char *name = ndr_table_efs.endpoints->names[i];
470 ret = dcesrv_interface_register(dce_ctx, name, &dcesrv_efs_interface, NULL);
471 if (!NT_STATUS_IS_OK(ret)) {
472 DEBUG(1,("efs_op_init_server: failed to register endpoint '%s'\n",name));
480 static bool efs__op_interface_by_uuid(struct dcesrv_interface *iface, const struct GUID *uuid, uint32_t if_version)
482 if (dcesrv_efs_interface.syntax_id.if_version == if_version &&
483 GUID_equal(&dcesrv_efs_interface.syntax_id.uuid, uuid)) {
484 memcpy(iface,&dcesrv_efs_interface, sizeof(*iface));
491 static bool efs__op_interface_by_name(struct dcesrv_interface *iface, const char *name)
493 if (strcmp(dcesrv_efs_interface.name, name)==0) {
494 memcpy(iface, &dcesrv_efs_interface, sizeof(*iface));
501 NTSTATUS dcerpc_server_efs_init(void)
504 struct dcesrv_endpoint_server ep_server;
506 /* fill in our name */
507 ep_server.name = "efs";
509 /* fill in all the operations */
510 ep_server.init_server = efs__op_init_server;
512 ep_server.interface_by_uuid = efs__op_interface_by_uuid;
513 ep_server.interface_by_name = efs__op_interface_by_name;
515 /* register ourselves with the DCERPC subsystem. */
516 ret = dcerpc_register_ep_server(&ep_server);
518 if (!NT_STATUS_IS_OK(ret)) {
519 DEBUG(0,("Failed to register 'efs' endpoint server!\n"));