2
Unix SMB/CIFS implementation.
4
endpoint server for the browser pipe
6
Copyright (C) Stefan Metzmacher 2008
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; either version 3 of the License, or
11
(at your option) any later version.
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
18
You should have received a copy of the GNU General Public License
19
along with this program. If not, see <http://www.gnu.org/licenses/>.
23
#include "rpc_server/dcerpc_server.h"
24
#include "librpc/gen_ndr/ndr_browser.h"
25
#include "rpc_server/common/common.h"
31
static void dcesrv_BrowserrServerEnum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
32
struct BrowserrServerEnum *r)
34
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
41
static void dcesrv_BrowserrDebugCall(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
42
struct BrowserrDebugCall *r)
44
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
49
BrowserrQueryOtherDomains
51
static WERROR dcesrv_BrowserrQueryOtherDomains(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
52
struct BrowserrQueryOtherDomains *r)
54
struct BrowserrSrvInfo100Ctr *ctr100;
56
switch (r->in.info->level) {
58
if (!r->in.info->info.info100) {
59
return WERR_INVALID_PARAM;
62
ctr100 = talloc(mem_ctx, struct BrowserrSrvInfo100Ctr);
63
W_ERROR_HAVE_NO_MEMORY(ctr100);
65
ctr100->entries_read = 0;
66
ctr100->entries = talloc_zero_array(ctr100, struct srvsvc_NetSrvInfo100,
67
ctr100->entries_read);
68
W_ERROR_HAVE_NO_MEMORY(ctr100->entries);
70
r->out.info->info.info100 = ctr100;
71
*r->out.total_entries = ctr100->entries_read;
74
return WERR_UNKNOWN_LEVEL;
77
return WERR_INVALID_PARAM;
82
BrowserrResetNetlogonState
84
static void dcesrv_BrowserrResetNetlogonState(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
85
struct BrowserrResetNetlogonState *r)
87
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
94
static void dcesrv_BrowserrDebugTrace(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
95
struct BrowserrDebugTrace *r)
97
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
102
BrowserrQueryStatistics
104
static void dcesrv_BrowserrQueryStatistics(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
105
struct BrowserrQueryStatistics *r)
107
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
112
BrowserResetStatistics
114
static void dcesrv_BrowserResetStatistics(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
115
struct BrowserResetStatistics *r)
117
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
122
NetrBrowserStatisticsClear
124
static void dcesrv_NetrBrowserStatisticsClear(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
125
struct NetrBrowserStatisticsClear *r)
127
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
132
NetrBrowserStatisticsGet
134
static void dcesrv_NetrBrowserStatisticsGet(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
135
struct NetrBrowserStatisticsGet *r)
137
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
142
BrowserrSetNetlogonState
144
static void dcesrv_BrowserrSetNetlogonState(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
145
struct BrowserrSetNetlogonState *r)
147
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
152
BrowserrQueryEmulatedDomains
154
static void dcesrv_BrowserrQueryEmulatedDomains(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
155
struct BrowserrQueryEmulatedDomains *r)
157
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
164
static void dcesrv_BrowserrServerEnumEx(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
165
struct BrowserrServerEnumEx *r)
167
DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
171
/* include the generated boilerplate */
172
#include "librpc/gen_ndr/ndr_browser_s.c"