Add epmapper commands to rpcclient
[Samba/gbeck.git] / source / include / tdbsam2.h
blobb99e16586ba2514e4c64450ede48b56327016cce
1 /*
2 * Unix SMB/CIFS implementation.
3 * tdbsam2 genstruct enabled header file
4 * Copyright (C) Simo Sorce 2002
5 *
6 * This program is free software; you can redistribute it and/or modify it under
7 * the terms of the GNU General Public License as published by the Free
8 * Software Foundation; either version 2 of the License, or (at your option)
9 * any later version.
11 * This program is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * more details.
16 * You should have received a copy of the GNU General Public License along with
17 * this program; if not, write to the Free Software Foundation, Inc., 675
18 * Mass Ave, Cambridge, MA 02139, USA.
21 /* ALL strings assumes UTF8 as encoding */
23 #ifndef TDBSAM2_H
24 #define TDBSAM2_H
26 /* IMPORTANT: these structures must follow closely the GUMS_OBJECTs
27 * structures as they will be casted over !!
28 * the GUMS_OBJECT union is unrolled here into four tdbsam2
29 * objects cause genstruct is not able to follow arbitrary unions */
31 GENSTRUCT struct domain_sub_structure
33 uint32 next_rid; /* The Next free RID */
36 GENSTRUCT struct tdbsam2_domain_data
38 TALLOC_CTX *mem_ctx;
40 uint32 type;
41 uint32 version;
42 uint32 xcounter; /* counter to be updated at any change */
44 SEC_DESC *sec_desc; /* Security Descriptor */
46 DOM_SID *dom_sid; /* The Domain SID */
47 char *name; _NULLTERM /* NT Domain Name */
48 char *description; _NULLTERM /* Descritpion (Gecos) */
50 struct domain_sub_structure *dss;
53 GENSTRUCT struct user_sub_structure
55 DOM_SID *group_sid; /* The Primary Group SID */
57 NTTIME logon_time;
58 NTTIME logoff_time;
59 NTTIME kickoff_time;
60 NTTIME pass_last_set_time;
61 NTTIME pass_can_change_time;
62 NTTIME pass_must_change_time;
64 char *full_name; _NULLTERM /* The Full Name */
65 char *home_dir; _NULLTERM /* Home Directory */
66 char *dir_drive; _NULLTERM /* Drive Letter the home should be mapped to */
67 char *logon_script; _NULLTERM /* Logon script path */
68 char *profile_path; _NULLTERM /* Profile is stored here */
69 char *workstations; _NULLTERM /* List of Workstation names the user is allowed to LogIn */
70 char *unknown_str; _NULLTERM /* Guess ... Unknown */
71 char *munged_dial; _NULLTERM /* Callback Number */
73 DATA_BLOB lm_pw; /* .data is Null if no password */
74 DATA_BLOB nt_pw; /* .data is Null if no password */
76 uint16 acct_ctrl; /* account flags */
77 uint16 logon_divs; /* 168 - num of hours in a week */
78 uint32 hours_len; /* normally 21 */
79 uint8 *hours; _LEN(hours_len) /* normally 21 bytes (depends on hours_len) */
81 uint16 bad_password_count; /* 0 */
82 uint16 logon_count; /* 0 */
83 uint32 unknown_3; /* 0x00ff ffff */
84 uint32 unknown_6; /* 0x0000 04ec */
87 GENSTRUCT struct tdbsam2_user_data
89 TALLOC_CTX *mem_ctx;
91 uint32 type;
92 uint32 version;
93 uint32 xcounter; /* counter to be updated at any change */
95 SEC_DESC *sec_desc; /* Security Descriptor */
97 DOM_SID *user_sid; /* The User SID */
98 char *name; _NULLTERM /* NT User Name */
99 char *description; _NULLTERM /* Descritpion (Gecos) */
101 struct user_sub_structure *uss;
104 GENSTRUCT struct group_sub_structure
106 uint32 count; /* number of sids */
107 DOM_SID *members; _LEN(count) /* SID array */
110 GENSTRUCT struct tdbsam2_group_data
112 TALLOC_CTX *mem_ctx;
114 uint32 type;
115 uint32 version;
116 uint32 xcounter; /* counter to be updated at any change */
118 SEC_DESC *sec_desc; /* Security Descriptor */
120 DOM_SID *group_sid; /* The Group SID */
121 char *name; _NULLTERM /* NT Group Name */
122 char *description; _NULLTERM /* Descritpion (Gecos) */
124 struct group_sub_structure *gss;
127 GENSTRUCT struct priv_sub_structure
129 LUID_ATTR *privilege; /* Privilege */
131 uint32 count; /* number of sids */
132 DOM_SID *members; _LEN(count) /* SID array */
135 GENSTRUCT struct tdbsam2_priv_data
137 TALLOC_CTX *mem_ctx;
139 uint32 type;
140 uint32 version;
141 uint32 xcounter; /* counter to be updated at any change */
143 DOM_SID *null_sid;
144 char *name; _NULLTERM /* Privilege Name */
145 char *description; _NULLTERM /* Descritpion (Gecos) */
147 struct priv_sub_structure *pss;
150 #endif /* TDBSAM2_H */