s4/heimdal_build: use GetTimeOfDay macro instead of gettimeofday
[Samba/ita.git] / source4 / rpc_server / browser / dcesrv_browser.c
blob1ce4652df70ad26b16e065ef05f2bb43dcd8dfb6
1 /*
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/>.
22 #include "includes.h"
23 #include "rpc_server/dcerpc_server.h"
24 #include "librpc/gen_ndr/ndr_browser.h"
28 BrowserrServerEnum
30 static void dcesrv_BrowserrServerEnum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
31 struct BrowserrServerEnum *r)
33 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
38 BrowserrDebugCall
40 static void dcesrv_BrowserrDebugCall(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
41 struct BrowserrDebugCall *r)
43 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
48 BrowserrQueryOtherDomains
50 static WERROR dcesrv_BrowserrQueryOtherDomains(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
51 struct BrowserrQueryOtherDomains *r)
53 struct BrowserrSrvInfo100Ctr *ctr100;
55 switch (r->in.info->level) {
56 case 100:
57 if (!r->in.info->info.info100) {
58 return WERR_INVALID_PARAM;
61 ctr100 = talloc(mem_ctx, struct BrowserrSrvInfo100Ctr);
62 W_ERROR_HAVE_NO_MEMORY(ctr100);
64 ctr100->entries_read = 0;
65 ctr100->entries = talloc_zero_array(ctr100, struct srvsvc_NetSrvInfo100,
66 ctr100->entries_read);
67 W_ERROR_HAVE_NO_MEMORY(ctr100->entries);
69 r->out.info->info.info100 = ctr100;
70 *r->out.total_entries = ctr100->entries_read;
71 return WERR_OK;
72 default:
73 return WERR_UNKNOWN_LEVEL;
79 BrowserrResetNetlogonState
81 static void dcesrv_BrowserrResetNetlogonState(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
82 struct BrowserrResetNetlogonState *r)
84 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
89 BrowserrDebugTrace
91 static void dcesrv_BrowserrDebugTrace(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
92 struct BrowserrDebugTrace *r)
94 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
99 BrowserrQueryStatistics
101 static void dcesrv_BrowserrQueryStatistics(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
102 struct BrowserrQueryStatistics *r)
104 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
109 BrowserResetStatistics
111 static void dcesrv_BrowserResetStatistics(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
112 struct BrowserResetStatistics *r)
114 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
119 NetrBrowserStatisticsClear
121 static void dcesrv_NetrBrowserStatisticsClear(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
122 struct NetrBrowserStatisticsClear *r)
124 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
129 NetrBrowserStatisticsGet
131 static void dcesrv_NetrBrowserStatisticsGet(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
132 struct NetrBrowserStatisticsGet *r)
134 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
139 BrowserrSetNetlogonState
141 static void dcesrv_BrowserrSetNetlogonState(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
142 struct BrowserrSetNetlogonState *r)
144 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
149 BrowserrQueryEmulatedDomains
151 static void dcesrv_BrowserrQueryEmulatedDomains(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
152 struct BrowserrQueryEmulatedDomains *r)
154 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
159 BrowserrServerEnumEx
161 static void dcesrv_BrowserrServerEnumEx(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
162 struct BrowserrServerEnumEx *r)
164 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
168 /* include the generated boilerplate */
169 #include "librpc/gen_ndr/ndr_browser_s.c"