r23545: Update release notes for 3.0.25b.
[Samba.git] / source / rpc_server / srv_wkssvc_nt.c
blob1a827b265b67cb6ed0710d56cbcb17e7e87fd720
1 /*
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.
7 *
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. */
25 #include "includes.h"
27 #undef DBGC_CLASS
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)
36 pstring my_name;
37 pstring domain;
39 pstrcpy (my_name, global_myname());
40 strupper_m(my_name);
42 pstrcpy (domain, lp_workgroup());
43 strupper_m(domain);
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 );
52 return;
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 ) {
70 return WERR_NOMEM;
73 create_wks_info_100( wks100 );
75 r->out.info->info100 = wks100;
77 return WERR_OK;
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;