static int sssvlv_db_open( BackendDB *be, ConfigReply *cr ) { slap_overinst *on = (slap_overinst *)be->bd_info; sssvlv_info *si = on->on_bi.bi_private; int rc; int conn_index; /* If not set, default to 1/2 of available threads */ if ( !si->svi_max ) si->svi_max = connection_pool_max / 2; if ( dtblsize && !sort_conns ) { ldap_pvt_thread_mutex_init( &sort_conns_mutex ); /* accommodate for c_conn_idx == -1 */ sort_conns = ch_calloc( dtblsize + 1, sizeof(sort_op **) ); for ( conn_index = 0 ; conn_index < dtblsize + 1 ; conn_index++ ) { sort_conns[conn_index] = ch_calloc( si->svi_max_percon, sizeof(sort_op *) ); } sort_conns++; } rc = overlay_register_control( be, LDAP_CONTROL_SORTREQUEST ); if ( rc == LDAP_SUCCESS ) rc = overlay_register_control( be, LDAP_CONTROL_VLVREQUEST ); return rc; }
static int valsort_db_open( BackendDB *be, ConfigReply *cr ) { return overlay_register_control( be, LDAP_CONTROL_VALSORT ); }
static int deref_db_open( BackendDB *be, ConfigReply *cr) { return overlay_register_control( be, LDAP_CONTROL_X_DEREF ); }