Lines Matching refs:wi
32 wt_attr_slot( struct wt_info *wi, AttributeDescription *ad, int *ins )
35 unsigned n = wi->wi_nattrs;
42 val = SLAP_PTRCMP( ad, wi->wi_attrs[cursor]->ai_desc );
61 ainfo_insert( struct wt_info *wi, AttrInfo *a )
64 int i = wt_attr_slot( wi, a->ai_desc, &x );
70 wi->wi_attrs = ch_realloc( wi->wi_attrs, ( wi->wi_nattrs+1 ) *
72 if ( x < wi->wi_nattrs )
73 AC_MEMCPY( &wi->wi_attrs[x+1], &wi->wi_attrs[x],
74 ( wi->wi_nattrs - x ) * sizeof( AttrInfo *));
75 wi->wi_attrs[x] = a;
76 wi->wi_nattrs++;
82 struct wt_info *wi,
85 int i = wt_attr_slot( wi, desc, NULL );
86 return i < 0 ? NULL : wi->wi_attrs[i];
91 struct wt_info *wi,
126 mask = wi->wi_defaultmask;
175 wi->wi_defaultmask |= mask;
288 if ( wi->wi_flags & WT_IS_OPEN ) {
298 a_cr = wt_attr_mask( wi, ad );
324 rc = ainfo_insert( wi, a );
326 if ( wi->wi_flags & WT_IS_OPEN ) {
327 AttrInfo *b = wt_attr_mask( wi, ad );
389 wt_attr_index_unparse( struct wt_info *wi, BerVarray *bva )
393 if ( wi->wi_defaultmask ) {
394 aidef.ai_indexmask = wi->wi_defaultmask;
397 for ( i=0; i<wi->wi_nattrs; i++ )
398 wt_attr_index_unparser( wi->wi_attrs[i], bva );
411 wt_attr_index_destroy( struct wt_info *wi )
415 for ( i=0; i<wi->wi_nattrs; i++ )
416 wt_attr_info_free( wi->wi_attrs[i] );
418 free( wi->wi_attrs );