2 * Unix SMB/CIFS implementation.
3 * RPC Pipe client / server routines
5 * Copyright (C) Andrew Tridgell 1992-1997,
6 * Copyright (C) Gerald (Jerry) Carter 2006.
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 2 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, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 /* This is the implementation of the wks interface. */
28 #define DBGC_CLASS DBGC_RPC_SRV
30 /*******************************************************************
31 Fill in the valiues for the struct wkssvc_NetWkstaInfo100.
32 ********************************************************************/
34 static void create_wks_info_100(struct wkssvc_NetWkstaInfo100
*info100
)
39 pstrcpy (my_name
, global_myname());
42 pstrcpy (domain
, lp_workgroup());
45 info100
->platform_id
= 0x000001f4; /* unknown */
46 info100
->version_major
= lp_major_announce_version();
47 info100
->version_minor
= lp_minor_announce_version();
49 info100
->server_name
= talloc_strdup( info100
, my_name
);
50 info100
->domain_name
= talloc_strdup( info100
, domain
);
55 /********************************************************************
56 only supports info level 100 at the moment.
57 ********************************************************************/
59 WERROR
_wkssvc_NetWkstaGetInfo( pipes_struct
*p
, struct wkssvc_NetWkstaGetInfo
*r
)
61 struct wkssvc_NetWkstaInfo100
*wks100
= NULL
;
63 /* We only support info level 100 currently */
65 if ( r
->in
.level
!= 100 ) {
66 return WERR_UNKNOWN_LEVEL
;
69 if ( (wks100
= TALLOC_ZERO_P(p
->mem_ctx
, struct wkssvc_NetWkstaInfo100
)) == NULL
) {
73 create_wks_info_100( wks100
);
75 r
->out
.info
->info100
= wks100
;
80 /********************************************************************
81 ********************************************************************/
83 WERROR
_wkssvc_NetWkstaSetInfo( pipes_struct
*p
, struct wkssvc_NetWkstaSetInfo
*r
)
85 /* FIXME: Add implementation code here */
86 p
->rng_fault_state
= True
;
87 return WERR_NOT_SUPPORTED
;
90 /********************************************************************
91 ********************************************************************/
93 WERROR
_wkssvc_NetWkstaEnumUsers( pipes_struct
*p
, struct wkssvc_NetWkstaEnumUsers
*r
)
95 /* FIXME: Add implementation code here */
96 p
->rng_fault_state
= True
;
97 return WERR_NOT_SUPPORTED
;
100 /********************************************************************
101 ********************************************************************/
103 WERROR
_WKSSVC_NETRWKSTAUSERGETINFO( pipes_struct
*p
, struct WKSSVC_NETRWKSTAUSERGETINFO
*r
)
105 /* FIXME: Add implementation code here */
106 p
->rng_fault_state
= True
;
107 return WERR_NOT_SUPPORTED
;
110 /********************************************************************
111 ********************************************************************/
113 WERROR
_WKSSVC_NETRWKSTAUSERSETINFO( pipes_struct
*p
, struct WKSSVC_NETRWKSTAUSERSETINFO
*r
)
115 /* FIXME: Add implementation code here */
116 p
->rng_fault_state
= True
;
117 return WERR_NOT_SUPPORTED
;
120 /********************************************************************
121 ********************************************************************/
123 WERROR
_wkssvc_NetWkstaTransportEnum( pipes_struct
*p
, struct wkssvc_NetWkstaTransportEnum
*r
)
125 /* FIXME: Add implementation code here */
126 p
->rng_fault_state
= True
;
127 return WERR_NOT_SUPPORTED
;
130 /********************************************************************
131 ********************************************************************/
133 WERROR
_WKSSVC_NETRWKSTATRANSPORTADD( pipes_struct
*p
, struct WKSSVC_NETRWKSTATRANSPORTADD
*r
)
135 /* FIXME: Add implementation code here */
136 p
->rng_fault_state
= True
;
137 return WERR_NOT_SUPPORTED
;
140 /********************************************************************
141 ********************************************************************/
143 WERROR
_WKSSVC_NETRWKSTATRANSPORTDEL( pipes_struct
*p
, struct WKSSVC_NETRWKSTATRANSPORTDEL
*r
)
145 /* FIXME: Add implementation code here */
146 p
->rng_fault_state
= True
;
147 return WERR_NOT_SUPPORTED
;
150 /********************************************************************
151 ********************************************************************/
153 WERROR
_WKSSVC_NETRUSEADD( pipes_struct
*p
, struct WKSSVC_NETRUSEADD
*r
)
155 /* FIXME: Add implementation code here */
156 p
->rng_fault_state
= True
;
157 return WERR_NOT_SUPPORTED
;
160 /********************************************************************
161 ********************************************************************/
163 WERROR
_WKSSVC_NETRUSEGETINFO( pipes_struct
*p
, struct WKSSVC_NETRUSEGETINFO
*r
)
165 /* FIXME: Add implementation code here */
166 p
->rng_fault_state
= True
;
167 return WERR_NOT_SUPPORTED
;
170 /********************************************************************
171 ********************************************************************/
173 WERROR
_WKSSVC_NETRUSEDEL( pipes_struct
*p
, struct WKSSVC_NETRUSEDEL
*r
)
175 /* FIXME: Add implementation code here */
176 p
->rng_fault_state
= True
;
177 return WERR_NOT_SUPPORTED
;
180 /********************************************************************
181 ********************************************************************/
183 WERROR
_WKSSVC_NETRUSEENUM( pipes_struct
*p
, struct WKSSVC_NETRUSEENUM
*r
)
185 /* FIXME: Add implementation code here */
186 p
->rng_fault_state
= True
;
187 return WERR_NOT_SUPPORTED
;
190 /********************************************************************
191 ********************************************************************/
193 WERROR
_WKSSVC_NETRMESSAGEBUFFERSEND( pipes_struct
*p
, struct WKSSVC_NETRMESSAGEBUFFERSEND
*r
)
195 /* FIXME: Add implementation code here */
196 p
->rng_fault_state
= True
;
197 return WERR_NOT_SUPPORTED
;
200 /********************************************************************
201 ********************************************************************/
203 WERROR
_WKSSVC_NETRWORKSTATIONSTATISTICSGET( pipes_struct
*p
, struct WKSSVC_NETRWORKSTATIONSTATISTICSGET
*r
)
205 /* FIXME: Add implementation code here */
206 p
->rng_fault_state
= True
;
207 return WERR_NOT_SUPPORTED
;
210 /********************************************************************
211 ********************************************************************/
213 WERROR
_WKSSVC_NETRLOGONDOMAINNAMEADD( pipes_struct
*p
, struct WKSSVC_NETRLOGONDOMAINNAMEADD
*r
)
215 /* FIXME: Add implementation code here */
216 p
->rng_fault_state
= True
;
217 return WERR_NOT_SUPPORTED
;
220 /********************************************************************
221 ********************************************************************/
223 WERROR
_WKSSVC_NETRLOGONDOMAINNAMEDEL( pipes_struct
*p
, struct WKSSVC_NETRLOGONDOMAINNAMEDEL
*r
)
225 /* FIXME: Add implementation code here */
226 p
->rng_fault_state
= True
;
227 return WERR_NOT_SUPPORTED
;
230 /********************************************************************
231 ********************************************************************/
233 WERROR
_WKSSVC_NETRJOINDOMAIN( pipes_struct
*p
, struct WKSSVC_NETRJOINDOMAIN
*r
)
235 /* FIXME: Add implementation code here */
236 p
->rng_fault_state
= True
;
237 return WERR_NOT_SUPPORTED
;
240 /********************************************************************
241 ********************************************************************/
243 WERROR
_WKSSVC_NETRUNJOINDOMAIN( pipes_struct
*p
, struct WKSSVC_NETRUNJOINDOMAIN
*r
)
245 /* FIXME: Add implementation code here */
246 p
->rng_fault_state
= True
;
247 return WERR_NOT_SUPPORTED
;
250 /********************************************************************
251 ********************************************************************/
253 WERROR
_WKSSVC_NETRRENAMEMACHINEINDOMAIN( pipes_struct
*p
, struct WKSSVC_NETRRENAMEMACHINEINDOMAIN
*r
)
255 /* FIXME: Add implementation code here */
256 p
->rng_fault_state
= True
;
257 return WERR_NOT_SUPPORTED
;
260 /********************************************************************
261 ********************************************************************/
263 WERROR
_WKSSVC_NETRVALIDATENAME( pipes_struct
*p
, struct WKSSVC_NETRVALIDATENAME
*r
)
265 /* FIXME: Add implementation code here */
266 p
->rng_fault_state
= True
;
267 return WERR_NOT_SUPPORTED
;
270 /********************************************************************
271 ********************************************************************/
273 WERROR
_WKSSVC_NETRGETJOININFORMATION( pipes_struct
*p
, struct WKSSVC_NETRGETJOININFORMATION
*r
)
275 /* FIXME: Add implementation code here */
276 p
->rng_fault_state
= True
;
277 return WERR_NOT_SUPPORTED
;
280 /********************************************************************
281 ********************************************************************/
283 WERROR
_WKSSVC_NETRGETJOINABLEOUS( pipes_struct
*p
, struct WKSSVC_NETRGETJOINABLEOUS
*r
)
285 /* FIXME: Add implementation code here */
286 p
->rng_fault_state
= True
;
287 return WERR_NOT_SUPPORTED
;
290 /********************************************************************
291 ********************************************************************/
293 WERROR
_wkssvc_NetrJoinDomain2(pipes_struct
*p
, struct wkssvc_NetrJoinDomain2
*r
)
295 /* FIXME: Add implementation code here */
296 p
->rng_fault_state
= True
;
297 return WERR_NOT_SUPPORTED
;
300 /********************************************************************
301 ********************************************************************/
303 WERROR
_wkssvc_NetrUnjoinDomain2(pipes_struct
*p
, struct wkssvc_NetrUnjoinDomain2
*r
)
305 /* FIXME: Add implementation code here */
306 p
->rng_fault_state
= True
;
307 return WERR_NOT_SUPPORTED
;
310 /********************************************************************
311 ********************************************************************/
313 WERROR
_wkssvc_NetrRenameMachineInDomain2(pipes_struct
*p
, struct wkssvc_NetrRenameMachineInDomain2
*r
)
315 /* FIXME: Add implementation code here */
316 p
->rng_fault_state
= True
;
317 return WERR_NOT_SUPPORTED
;
320 /********************************************************************
321 ********************************************************************/
323 WERROR
_WKSSVC_NETRVALIDATENAME2( pipes_struct
*p
, struct WKSSVC_NETRVALIDATENAME2
*r
)
325 /* FIXME: Add implementation code here */
326 p
->rng_fault_state
= True
;
327 return WERR_NOT_SUPPORTED
;
330 /********************************************************************
331 ********************************************************************/
333 WERROR
_WKSSVC_NETRGETJOINABLEOUS2( pipes_struct
*p
, struct WKSSVC_NETRGETJOINABLEOUS2
*r
)
335 /* FIXME: Add implementation code here */
336 p
->rng_fault_state
= True
;
337 return WERR_NOT_SUPPORTED
;
340 /********************************************************************
341 ********************************************************************/
343 WERROR
_wkssvc_NetrAddAlternateComputerName(pipes_struct
*p
, struct wkssvc_NetrAddAlternateComputerName
*r
)
345 /* FIXME: Add implementation code here */
346 p
->rng_fault_state
= True
;
347 return WERR_NOT_SUPPORTED
;
350 /********************************************************************
351 ********************************************************************/
353 WERROR
_wkssvc_NetrRemoveAlternateComputerName(pipes_struct
*p
, struct wkssvc_NetrRemoveAlternateComputerName
*r
)
355 /* FIXME: Add implementation code here */
356 p
->rng_fault_state
= True
;
357 return WERR_NOT_SUPPORTED
;
360 /********************************************************************
361 ********************************************************************/
363 WERROR
_WKSSVC_NETRSETPRIMARYCOMPUTERNAME( pipes_struct
*p
, struct WKSSVC_NETRSETPRIMARYCOMPUTERNAME
*r
)
365 /* FIXME: Add implementation code here */
366 p
->rng_fault_state
= True
;
367 return WERR_NOT_SUPPORTED
;
370 /********************************************************************
371 ********************************************************************/
373 WERROR
_WKSSVC_NETRENUMERATECOMPUTERNAMES( pipes_struct
*p
, struct WKSSVC_NETRENUMERATECOMPUTERNAMES
*r
)
375 /* FIXME: Add implementation code here */
376 p
->rng_fault_state
= True
;
377 return WERR_NOT_SUPPORTED
;