2 Unix SMB/CIFS mplementation.
6 Copyright (C) Andrew Tridgell 2009
7 based on drepl service code
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #ifndef _DSDB_REPL_KCC_SERVICE_H_
25 #define _DSDB_REPL_KCC_SERVICE_H_
27 #include "librpc/gen_ndr/ndr_drsuapi_c.h"
29 struct kccsrv_partition
{
30 struct kccsrv_partition
*prev
, *next
;
31 struct kccsrv_service
*service
;
33 /* the dn of the partition */
38 struct kccsrv_service
{
39 /* the whole kcc service is in one task */
40 struct task_server
*task
;
42 /* the time the service was started */
43 struct timeval startup_time
;
45 /* dn of our configuration partition */
46 struct ldb_dn
*config_dn
;
50 * with machine account credentials
52 struct auth_session_info
*system_session_info
;
54 /* list of local partitions */
55 struct kccsrv_partition
*partitions
;
58 * a connection to the local samdb
60 struct ldb_context
*samdb
;
62 /* the guid of our NTDS Settings object, which never changes! */
63 struct GUID ntds_guid
;
65 /* some stuff for periodic processing */
68 * the interval between to periodic runs
73 * the timestamp for the next event,
74 * this is the timstamp passed to event_add_timed()
76 struct timeval next_event
;
78 /* here we have a reference to the timed event the schedules the periodic stuff */
79 struct tevent_timer
*te
;
82 time_t last_deleted_check
;
87 struct kcc_connection_list
;
89 #include "dsdb/kcc/kcc_service_proto.h"
91 #endif /* _DSDB_REPL_KCC_SERVICE_H_ */