X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fslap.h;h=2805efd2b9861241a84e4b978ffc5c937432fe24;hb=3d522a0c9fd79b0275a219bde1f4465b181a9318;hp=0b11e6e4f14de1067c88a06f7c041d680f120e9f;hpb=279760a4674c26b8d6b6a843c2fd20e630e3c7d6;p=openldap diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index 0b11e6e4f1..2805efd2b9 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -1,8 +1,27 @@ /* slap.h - stand alone ldap server include file */ /* $OpenLDAP$ */ -/* - * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. - * COPYING RESTRICTIONS APPLY, see COPYRIGHT file +/* This work is part of OpenLDAP Software . + * + * Copyright 1998-2003 The OpenLDAP Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. + * + * A copy of this license is available in the file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . + */ +/* Portions Copyright (c) 1995 Regents of the University of Michigan. + * All rights reserved. + * + * Redistribution and use in source and binary forms are permitted + * provided that this notice is preserved and that due credit is given + * to the University of Michigan at Ann Arbor. The name of the University + * may not be used to endorse or promote products derived from this + * software without specific prior written permission. This software + * is provided ``as is'' without express or implied warranty. */ #ifndef _SLAP_H_ @@ -1287,6 +1306,14 @@ typedef BackendDB Backend; #define nbackends nBackendDB #define backends backendDB +/* + * syncinfo structure for syncrepl + */ + +#define SLAP_SYNC_SID_SIZE 3 +#define SLAP_SYNC_RID_SIZE 3 +#define SLAP_SYNCUUID_SET_SIZE 256 + struct nonpresent_entry { struct berval *npe_name; struct berval *npe_nname; @@ -1297,17 +1324,15 @@ struct sync_cookie { struct berval *ctxcsn; long sid; struct berval *octet_str; + long rid; + LDAP_STAILQ_ENTRY(sync_cookie) sc_next; }; -/* - * syncinfo structure for syncrepl - */ +LDAP_STAILQ_HEAD( slap_sync_cookie_s, sync_cookie ); + typedef struct syncinfo_s { -// struct slap_conn *si_conn; struct slap_backend_db *si_be; -// struct slap_entry *si_e; -// void *si_ctx; - unsigned int si_id; + long si_rid; char *si_provideruri; BerVarray si_provideruri_bv; #define SYNCINFO_TLS_OFF 0 @@ -1332,18 +1357,15 @@ typedef struct syncinfo_s { char **si_attrs; int si_type; time_t si_interval; -// struct sync_cookie *si_syncCookie; struct sync_cookie si_syncCookie; int si_manageDSAit; int si_slimit; int si_tlimit; -// struct berval *si_syncUUID; -// struct berval *si_syncUUID_ndn; struct berval si_syncUUID_ndn; Avlnode *si_presentlist; - int si_sync_mode; LDAP *si_ld; LDAP_LIST_HEAD(np, nonpresent_entry) si_nonpresentlist; + LDAP_STAILQ_ENTRY( syncinfo_s ) si_next; } syncinfo_t; struct slap_backend_db { @@ -1498,7 +1520,7 @@ struct slap_backend_db { ldap_pvt_thread_mutex_t be_pcl_mutex; struct berval be_context_csn; ldap_pvt_thread_mutex_t be_context_csn_mutex; - syncinfo_t *be_syncinfo; /* For syncrepl */ + LDAP_STAILQ_HEAD( be_si, syncinfo_s ) be_syncinfo; /* For syncrepl */ }; struct slap_conn; @@ -1998,6 +2020,7 @@ typedef struct slap_op { #define SLAP_SYNC_PERSIST (0x2) #define SLAP_SYNC_REFRESH_AND_PERSIST (0x3) struct sync_cookie o_sync_state; + int o_sync_rhint; struct berval o_sync_cid; int o_sync_slog_size; struct berval o_sync_csn;