From b409d4120f9ae451f93a2322267c0f346531d9f3 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 26 Aug 2007 15:16:40 +0000 Subject: r24667: Finally merge the registry improvements that Wilco Baan Hofman and I have been working on for at least half a year now. Contains the following improvements: * proper layering (finally!) for the registry library. Distinction is now made between 'real' backends (local, remote, wine, etc) and the low-level hive backends (regf, creg, ldb, ...) that are only used by the local registry backend * tests for all important hive and registry operations * re-enable RPC-WINREG tests (still needs more work though, as some return values aren't checked yet) * write support for REGF files * dir backend now supports setting/reading values, creating keys * support for storing security descriptors * remove CREG backend as it was incomplete, didn't match the data model and wasn't used at all anyway * support for parsing ADM files as used by the policy editor (see lib/policy) * support for parsing PREG files (format used by .POL files) * new streaming interface for registry diffs (improves speed and memory usage for regdiff/regpatch significantly) ... and fixes a large number of bugs in the registry code (This used to be commit 7a1eec6358bc863dfc671c542b7185d3e39d7b5a) --- source4/lib/policy/adm.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 source4/lib/policy/adm.h (limited to 'source4/lib/policy/adm.h') diff --git a/source4/lib/policy/adm.h b/source4/lib/policy/adm.h new file mode 100644 index 0000000000..5751261824 --- /dev/null +++ b/source4/lib/policy/adm.h @@ -0,0 +1,48 @@ +/* + Unix SMB/CIFS implementation. + Copyright (C) 2006 Wilco Baan Hofman + Copyright (C) 2006 Jelmer Vernooij + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef __ADM_H__ +#define __ADM_H__ + +struct adm_file { + struct adm_class *classes; +}; + +struct adm_class { + struct adm_category *categories; +}; + +struct adm_category { + struct adm_category *subcategories; + struct adm_policy *policies; +}; + +struct adm_policy { + struct adm_part *parts; + +}; + +struct adm_part { + +}; + +struct adm_file *adm_read_file(const char *); + +#endif /* __ADM_H__ */ -- cgit