2 Unix SMB/CIFS implementation.
4 endpoint server for the winreg pipe
6 Copyright (C) Jelmer Vernooij 2004
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.
25 REG_HANDLE *get_registry_handle() {
26 return reg_open("nt4", "/home/aurelia/jelmer/NTUSER.dat", False);
32 static NTSTATUS winreg_OpenHKCR(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
33 struct winreg_OpenHKCR *r)
35 return NT_STATUS_NOT_IMPLEMENTED;
42 static NTSTATUS winreg_OpenHKCU(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
43 struct winreg_OpenHKCU *r)
45 REG_KEY *hkcu = reg_open_key(get_registry_handle(), "\\HKEY_CURRENT_USER");
48 r->out.result = WERR_NO_MORE_ITEMS;
52 r->out.result = WERR_OK;
54 return NT_STATUS_NOT_IMPLEMENTED;
61 static NTSTATUS winreg_OpenHKLM(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
62 struct winreg_OpenHKLM *r)
64 return NT_STATUS_NOT_IMPLEMENTED;
71 static NTSTATUS winreg_OpenHKPD(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
72 struct winreg_OpenHKPD *r)
74 return NT_STATUS_NOT_IMPLEMENTED;
81 static NTSTATUS winreg_OpenHKU(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
82 struct winreg_OpenHKU *r)
84 return NT_STATUS_NOT_IMPLEMENTED;
91 static NTSTATUS winreg_CloseKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
92 struct winreg_CloseKey *r)
94 return NT_STATUS_NOT_IMPLEMENTED;
101 static NTSTATUS winreg_CreateKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
102 struct winreg_CreateKey *r)
104 return NT_STATUS_NOT_IMPLEMENTED;
111 static NTSTATUS winreg_DeleteKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
112 struct winreg_DeleteKey *r)
114 return NT_STATUS_NOT_IMPLEMENTED;
121 static NTSTATUS winreg_DeleteValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
122 struct winreg_DeleteValue *r)
124 return NT_STATUS_NOT_IMPLEMENTED;
131 static NTSTATUS winreg_EnumKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
132 struct winreg_EnumKey *r)
134 return NT_STATUS_NOT_IMPLEMENTED;
141 static NTSTATUS winreg_EnumValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
142 struct winreg_EnumValue *r)
144 return NT_STATUS_NOT_IMPLEMENTED;
151 static NTSTATUS winreg_FlushKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
152 struct winreg_FlushKey *r)
154 return NT_STATUS_NOT_IMPLEMENTED;
159 winreg_GetKeySecurity
161 static NTSTATUS winreg_GetKeySecurity(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
162 struct winreg_GetKeySecurity *r)
164 return NT_STATUS_NOT_IMPLEMENTED;
171 static NTSTATUS winreg_LoadKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
172 struct winreg_LoadKey *r)
174 return NT_STATUS_NOT_IMPLEMENTED;
179 winreg_NotifyChangeKeyValue
181 static NTSTATUS winreg_NotifyChangeKeyValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
182 struct winreg_NotifyChangeKeyValue *r)
184 return NT_STATUS_NOT_IMPLEMENTED;
191 static NTSTATUS winreg_OpenKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
192 struct winreg_OpenKey *r)
194 return NT_STATUS_NOT_IMPLEMENTED;
201 static NTSTATUS winreg_QueryInfoKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
202 struct winreg_QueryInfoKey *r)
204 return NT_STATUS_NOT_IMPLEMENTED;
211 static NTSTATUS winreg_QueryValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
212 struct winreg_QueryValue *r)
214 return NT_STATUS_NOT_IMPLEMENTED;
221 static NTSTATUS winreg_ReplaceKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
222 struct winreg_ReplaceKey *r)
224 return NT_STATUS_NOT_IMPLEMENTED;
231 static NTSTATUS winreg_RestoreKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
232 struct winreg_RestoreKey *r)
234 return NT_STATUS_NOT_IMPLEMENTED;
241 static NTSTATUS winreg_SaveKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
242 struct winreg_SaveKey *r)
244 return NT_STATUS_NOT_IMPLEMENTED;
249 winreg_SetKeySecurity
251 static NTSTATUS winreg_SetKeySecurity(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
252 struct winreg_SetKeySecurity *r)
254 return NT_STATUS_NOT_IMPLEMENTED;
261 static NTSTATUS winreg_SetValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
262 struct winreg_SetValue *r)
264 return NT_STATUS_NOT_IMPLEMENTED;
271 static NTSTATUS winreg_UnLoadKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
272 struct winreg_UnLoadKey *r)
274 return NT_STATUS_NOT_IMPLEMENTED;
279 winreg_InitiateSystemShutdown
281 static NTSTATUS winreg_InitiateSystemShutdown(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
282 struct winreg_InitiateSystemShutdown *r)
284 return NT_STATUS_NOT_IMPLEMENTED;
289 winreg_AbortSystemShutdown
291 static NTSTATUS winreg_AbortSystemShutdown(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
292 struct winreg_AbortSystemShutdown *r)
294 return NT_STATUS_NOT_IMPLEMENTED;
301 static NTSTATUS winreg_GetVersion(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
302 struct winreg_GetVersion *r)
304 return NT_STATUS_NOT_IMPLEMENTED;
311 static NTSTATUS winreg_OpenHKCC(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
312 struct winreg_OpenHKCC *r)
314 return NT_STATUS_NOT_IMPLEMENTED;
321 static NTSTATUS winreg_OpenHKDD(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
322 struct winreg_OpenHKDD *r)
324 return NT_STATUS_NOT_IMPLEMENTED;
329 winreg_QueryMultipleValues
331 static NTSTATUS winreg_QueryMultipleValues(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
332 struct winreg_QueryMultipleValues *r)
334 return NT_STATUS_NOT_IMPLEMENTED;
339 winreg_InitiateSystemShutdownEx
341 static NTSTATUS winreg_InitiateSystemShutdownEx(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
342 struct winreg_InitiateSystemShutdownEx *r)
344 return NT_STATUS_NOT_IMPLEMENTED;
351 static NTSTATUS winreg_SaveKeyEx(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
352 struct winreg_SaveKeyEx *r)
354 return NT_STATUS_NOT_IMPLEMENTED;
361 static NTSTATUS winreg_OpenHKPT(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
362 struct winreg_OpenHKPT *r)
364 return NT_STATUS_NOT_IMPLEMENTED;
371 static NTSTATUS winreg_OpenHKPN(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
372 struct winreg_OpenHKPN *r)
374 return NT_STATUS_NOT_IMPLEMENTED;
379 winreg_QueryMultipleValues2
381 static NTSTATUS winreg_QueryMultipleValues2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
382 struct winreg_QueryMultipleValues2 *r)
384 return NT_STATUS_NOT_IMPLEMENTED;
388 /* include the generated boilerplate */
389 #include "librpc/gen_ndr/ndr_winreg_s.c"