Home | History | Annotate | Download | only in slapd

Lines Matching defs:soc

253 	ObjectClass		*soc,
274 if ( at_find_in_list(sat, soc->soc_required) < 0) {
275 if ( at_append_to_list(sat, &soc->soc_required) ) {
283 for ( satp = soc->soc_required; *satp; satp++ ) {
284 i = at_find_in_list(*satp, soc->soc_allowed);
286 at_delete_from_list(i, &soc->soc_allowed);
295 ObjectClass *soc,
314 if ( at_find_in_list(sat, soc->soc_required) < 0 &&
315 at_find_in_list(sat, soc->soc_allowed) < 0 ) {
316 if ( at_append_to_list(sat, &soc->soc_allowed) ) {
329 ObjectClass *soc,
341 if ( !soc->soc_sups ) {
350 soc->soc_sups = (ObjectClass **)ch_calloc(nsups,
368 if( soc->soc_kind != soc1->soc_kind
375 if( soc1->soc_obsolete && !soc->soc_obsolete ) {
380 if( soc->soc_flags & SLAP_OC_OPERATIONAL ) (*op)++;
383 soc->soc_sups[nsups] = soc1;
386 code = oc_add_sups( soc, soc1->soc_sup_oids, op, err );
389 code = oc_create_required( soc, soc1->soc_at_oids_must, op, err );
392 code = oc_create_allowed( soc, soc1->soc_at_oids_may, op, err );
534 ObjectClass *soc,
538 if ( soc->soc_oid == NULL ) {
542 if ( strcmp( soc->soc_oid, new_soc->soc_oid ) != 0 ) {
547 if ( soc->soc_oid != NULL ) {
555 if ( soc->soc_names == NULL ) {
560 if ( soc->soc_names[ i ] == NULL ) {
564 if ( strcasecmp( soc->soc_names[ i ],
571 if ( soc->soc_names != NULL ) {
596 ObjectClass *soc = *roc;
598 if ( soc->soc_oid ) {
601 ber_str2bv( soc->soc_oid, 0, 0, &oir->oir_name );
602 oir->oir_oc = soc;
611 *err = soc->soc_oid;
624 *old_soc = *soc;
626 tmp.soc_oid = soc->soc_oid;
627 *soc = tmp;
629 oc_clean( soc );
633 soc = old_soc;
634 *roc = soc;
636 rc = oc_check_dup( old_soc, soc );
647 assert( soc != NULL );
649 if ( (names = soc->soc_names) ) {
655 oir->oir_oc = soc;
667 rc = oc_check_dup( old_soc, soc );
671 while ( names > soc->soc_names ) {
676 tmpoir.oir_oc = soc;
683 if ( soc->soc_oid ) {
686 ber_str2bv( soc->soc_oid, 0, 0, &tmpoir.oir_name );
687 tmpoir.oir_oc = soc;
703 if ( soc->soc_flags & SLAP_OC_HARDCODE ) {
705 oc_sys_tail = soc;
708 LDAP_STAILQ_INSERT_AFTER( &oc_list, prev, soc, soc_next );
710 LDAP_STAILQ_INSERT_TAIL( &oc_list, soc, soc_next );
724 ObjectClass *soc;
752 soc = (ObjectClass *) ch_calloc( 1, sizeof(ObjectClass) );
753 AC_MEMCPY( &soc->soc_oclass, oc, sizeof(LDAPObjectClass) );
755 soc->soc_oidmacro = oidm;
757 soc->soc_cname.bv_val = soc->soc_names[0];
759 soc->soc_cname.bv_val = soc->soc_oid;
761 soc->soc_cname.bv_len = strlen( soc->soc_cname.bv_val );
763 if( soc->soc_sup_oids == NULL &&
764 soc->soc_kind == LDAP_SCHEMA_STRUCTURAL )
768 code = oc_add_sups( soc, top_oids, &op, err );
770 code = oc_add_sups( soc, soc->soc_sup_oids, &op, err );
782 code = oc_create_required( soc, soc->soc_at_oids_must, &op, err );
787 code = oc_create_allowed( soc, soc->soc_at_oids_may, &op, err );
798 soc->soc_flags |= SLAP_OC_HARDCODE;
801 code = oc_insert(&soc,prev,err);
804 if ( soc->soc_sups ) {
805 ch_free( soc->soc_sups );
808 if ( soc->soc_required ) {
809 ch_free( soc->soc_required );
812 if ( soc->soc_allowed ) {
813 ch_free( soc->soc_allowed );
816 if ( soc->soc_oidmacro ) {
817 ch_free( soc
820 ch_free( soc );
823 *rsoc = soc;
916 register_oc( const char *def, ObjectClass **soc, int dupok )
937 if ( soc )
938 *soc = oc_find(oc->oc_names[0]);