include/gpo.h

説明を見る。
00001 /* 
00002  *  Unix SMB/CIFS implementation.
00003  *  Group Policy Object Support
00004  *  Copyright (C) Guenther Deschner 2005
00005  *  
00006  *  This program is free software; you can redistribute it and/or modify
00007  *  it under the terms of the GNU General Public License as published by
00008  *  the Free Software Foundation; either version 2 of the License, or
00009  *  (at your option) any later version.
00010  *  
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  *  GNU General Public License for more details.
00015  *  
00016  *  You should have received a copy of the GNU General Public License
00017  *  along with this program; if not, write to the Free Software
00018  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00019  */
00020 
00021 
00022 enum GPO_LINK_TYPE {
00023         GP_LINK_UNKOWN  = 0,
00024         GP_LINK_MACHINE = 1,
00025         GP_LINK_SITE    = 2,
00026         GP_LINK_DOMAIN  = 3,
00027         GP_LINK_OU      = 4
00028 };
00029 
00030 /* GPO_OPTIONS */
00031 #define GPO_FLAG_DISABLE        0x00000001
00032 #define GPO_FLAG_FORCE          0x00000002
00033 
00034 /* GPO_LIST_FLAGS */
00035 #define GPO_LIST_FLAG_MACHINE   0x00000001
00036 #define GPO_LIST_FLAG_SITEONLY  0x00000002
00037 
00038 #define GPO_VERSION_USER(x) (x >> 16)
00039 #define GPO_VERSION_MACHINE(x) (x & 0xffff)
00040 
00041 struct GROUP_POLICY_OBJECT {
00042         uint32 options; /* GPFLAGS_* */ 
00043         uint32 version;
00044         const char *ds_path;
00045         const char *file_sys_path;
00046         const char *display_name;
00047         const char *name;
00048         const char *link;
00049         uint32 link_type; /* GPO_LINK_TYPE */
00050         const char *user_extensions;
00051         const char *machine_extensions;
00052         struct GROUP_POLICY_OBJECT *next, *prev;
00053 };
00054 
00055 /* the following is seen on the DS (see adssearch.pl for details) */
00056 
00057 /* the type field in a 'gPLink', the same as GPO_FLAG ? */
00058 #define GPO_LINK_OPT_NONE       0x00000000
00059 #define GPO_LINK_OPT_DISABLED   0x00000001
00060 #define GPO_LINK_OPT_ENFORCED   0x00000002
00061 
00062 /* GPO_LINK_OPT_ENFORCED takes precedence over GPOPTIONS_BLOCK_INHERITANCE */
00063 
00064 /* 'gPOptions', maybe a bitmask as well */
00065 enum GPO_INHERIT {
00066         GPOPTIONS_INHERIT               = 0,
00067         GPOPTIONS_BLOCK_INHERITANCE     = 1
00068 };
00069 
00070 /* 'flags' in a 'groupPolicyContainer' object */
00071 #define GPFLAGS_ALL_ENABLED                     0x00000000
00072 #define GPFLAGS_USER_SETTINGS_DISABLED          0x00000001
00073 #define GPFLAGS_MACHINE_SETTINGS_DISABLED       0x00000002
00074 #define GPFLAGS_ALL_DISABLED (GPFLAGS_USER_SETTINGS_DISABLED | \
00075                               GPFLAGS_MACHINE_SETTINGS_DISABLED)
00076 
00077 struct GP_LINK {
00078         const char *gp_link;    /* raw link name */
00079         uint32 gp_opts;         /* inheritance options GPO_INHERIT */
00080         uint32 num_links;       /* number of links */
00081         char **link_names;      /* array of parsed link names */
00082         uint32 *link_opts;      /* array of parsed link opts GPO_LINK_OPT_* */
00083 };
00084 
00085 struct GP_EXT {
00086         const char *gp_extension;       /* raw extension name */
00087         uint32 num_exts;
00088         char **extensions;
00089         char **extensions_guid;
00090         char **snapins;
00091         char **snapins_guid;
00092 };
00093 
00094 #define GPO_CACHE_DIR "gpo_cache"
00095 #define GPT_INI "GPT.INI"

Sambaに対してSat Aug 29 21:22:54 2009に生成されました。  doxygen 1.4.7