• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/OpenLDAP-499.27/OpenLDAP/servers/slapd/slapi/

Lines Matching refs:pb

306 pblock_lock( Slapi_PBlock *pb )
308 ldap_pvt_thread_mutex_lock( &pb->pb_mutex );
312 pblock_unlock( Slapi_PBlock *pb )
314 ldap_pvt_thread_mutex_unlock( &pb->pb_mutex );
318 pblock_get_default( Slapi_PBlock *pb, int param, void **value )
343 for ( i = 0; i < pb->pb_nParams; i++ ) {
344 if ( pb->pb_params[i] == param ) {
347 *((int *)value) = pb->pb_values[i].pv_integer;
350 *((long *)value) = pb->pb_values[i].pv_long_integer;
353 *value = pb->pb_values[i].pv_pointer;
356 *value = pb->pb_values[i].pv_function_pointer;
396 pblock_set_default( Slapi_PBlock *pb, int param, void *value )
406 if ( pb->pb_nParams == PBLOCK_MAX_PARAMS ) {
410 for ( i = 0; i < pb->pb_nParams; i++ ) {
411 if ( pb->pb_params[i] == param )
414 if ( i >= pb->pb_nParams ) {
415 pb->pb_params[i] = param;
416 pb->pb_nParams++;
421 pb->pb_values[i].pv_integer = (*((int *)value));
424 pb->pb_values[i].pv_long_integer = (*((long *)value));
427 pb->pb_values[i].pv_pointer = value;
430 pb->pb_values[i].pv_function_pointer = value;
440 pblock_be_call( Slapi_PBlock *pb, int (*bep)(Operation *) )
446 PBLOCK_ASSERT_OP( pb, 0 );
447 op = pb->pb_op;
458 pblock_get( Slapi_PBlock *pb, int param, void **value )
462 pblock_lock( pb );
466 *value = pb->pb_op;
469 PBLOCK_ASSERT_OP( pb, 0 );
470 *((long *)value) = pb->pb_op->o_time;
473 PBLOCK_ASSERT_OP( pb, 0 );
474 *((long *)value) = pb->pb_op->o_opid;
477 PBLOCK_ASSERT_OP( pb, 0 );
478 *((ber_tag_t *)value) = pb->pb_op->o_tag;
481 PBLOCK_ASSERT_OP( pb, 0 );
482 *((long *)value) = pb->pb_op->o_msgid;
485 PBLOCK_ASSERT_OP( pb, 0 );
486 *((int *)value) = pb->pb_op->o_delete_glue_parent;
489 PBLOCK_ASSERT_OP( pb, 0 );
490 *((int *)value) = get_no_schema_check( pb->pb_op );
493 PBLOCK_ASSERT_OP( pb, 0 );
495 if ( pb->pb_op->o_tag == LDAP_REQ_ADD ) {
498 rc = mods_structural_class( pb->pb_op->ora_modlist,
499 &tmpval, &pb->pb_rs->sr_text,
500 pb->pb_textbuf, sizeof( pb->pb_textbuf ),
501 pb->pb_op->o_tmpmemctx );
508 PBLOCK_ASSERT_OP( pb, 0 );
509 *((int *)value) = pb->pb_op->o_no_subordinate_glue;
512 PBLOCK_ASSERT_OP( pb, 0 );
513 *((LDAPControl ***)value) = pb->pb_op->o_ctrls;
516 PBLOCK_ASSERT_OP( pb, 0 );
517 *((char **)value) = pb->pb_op->o_dn.bv_val;
520 PBLOCK_ASSERT_OP( pb, 0 );
521 *((int *)value) = get_manageDSAit( pb->pb_op );
524 PBLOCK_ASSERT_OP( pb, 0 );
525 *((int *)value) = get_relax( pb->pb_op );
528 PBLOCK_ASSERT_OP( pb, 0 );
529 *((BackendDB **)value) = select_backend( &pb->pb_op->o_req_ndn, 0 );
532 PBLOCK_ASSERT_OP( pb, 0 );
533 if ( pb->pb_op->o_bd != NULL )
534 *((char **)value) = pb->pb_op->o_bd->bd_info->bi_type;
539 *value = pb->pb_conn;
542 PBLOCK_ASSERT_OP( pb, 0 );
543 *((slap_ssf_t *)value) = pb->pb_conn->c_ssf;
546 PBLOCK_ASSERT_CONN( pb );
547 if ( pb->pb_conn->c_sasl_authctx != NULL )
548 *value = pb->pb_conn->c_sasl_authctx;
550 *value = pb->pb_conn->c_sasl_sockctx;
553 PBLOCK_ASSERT_OP( pb, 0 );
554 *((char **)value) = pb->pb_op->o_req_dn.bv_val;
557 *((int *)value) = pblock_be_call( pb, be_isroot );
560 *((int *)value) = pblock_be_call( pb, be_slurp_update );
564 PBLOCK_ASSERT_CONN( pb );
565 *((char **)value) = pblock_get_authtype( &pb->pb_conn->c_authz,
567 pb->pb_conn->c_is_tls
574 *((int *)value) = pb->pb_intop;
577 PBLOCK_ASSERT_CONN( pb );
579 *((int *)value) = pb->pb_conn->c_is_udp;
585 PBLOCK_ASSERT_CONN( pb );
586 *((long *)value) = pb->pb_conn->c_connid;
589 PBLOCK_ASSERT_CONN( pb );
592 if ( pb->pb_op->o_tag == LDAP_REQ_BIND && pb->pb_rs->sr_err == LDAP_SUCCESS )
593 *((char **)value) = pb->pb_op->orb_edn.bv_val;
596 *((char **)value) = pb->pb_conn->c_dn.bv_val;
599 PBLOCK_ASSERT_CONN( pb );
600 if ( strncmp( pb->pb_conn->c_peer_name.bv_val, "IP=", 3 ) == 0 )
601 *((char **)value) = &pb->pb_conn->c_peer_name.bv_val[3];
606 PBLOCK_ASSERT_CONN( pb );
607 if ( strncmp( pb->pb_conn->c_peer_name.bv_val, "PATH=", 3 ) == 0 )
608 *((char **)value) = &pb->pb_conn->c_peer_name.bv_val[5];
613 PBLOCK_ASSERT_CONN( pb );
614 if ( strncmp( pb->pb_conn->c_sock_name.bv_val, "IP=", 3 ) == 0 )
615 *((char **)value) = &pb->pb_conn->c_sock_name.bv_val[3];
620 PBLOCK_ASSERT_CONN( pb );
621 if ( strncmp( pb->pb_conn->c_sock_name.bv_val, "PATH=", 3 ) == 0 )
622 *((char **)value) = &pb->pb_conn->c_sock_name.bv_val[5];
628 PBLOCK_ASSERT_OP( pb, 0 );
629 *((int *)value) = pb->pb_rs->sr_err;
632 PBLOCK_ASSERT_OP( pb, 0 );
633 *((const char **)value) = pb->pb_rs->sr_text;
636 PBLOCK_ASSERT_OP( pb, 0 );
637 *((const char **)value) = pb->pb_rs->sr_matched;
640 PBLOCK_ASSERT_OP( pb, 0 );
641 if ( pb->pb_op->o_tag == LDAP_REQ_ADD )
642 *((Slapi_Entry **)value) = pb->pb_op->ora_e;
650 pblock_get_default( pb, param, (void **)&mods );
651 if ( mods == NULL && pb->pb_intop == 0 ) {
652 switch ( pb->pb_op->o_tag ) {
654 ml = pb->pb_op->orm_modlist;
657 ml = pb->pb_op->orr_modlist;
665 pblock_set_default( pb, param, (void *)mods );
672 PBLOCK_ASSERT_OP( pb, 0 );
673 if ( pb->pb_op->o_tag == LDAP_REQ_MODRDN )
674 *((char **)value) = pb->pb_op->orr_newrdn.bv_val;
679 PBLOCK_ASSERT_OP( pb, 0 );
680 if ( pb->pb_op->o_tag == LDAP_REQ_MODRDN && pb->pb_op->orr_newSup != NULL )
681 *((char **)value) = pb->pb_op->orr_newSup->bv_val;
686 PBLOCK_ASSERT_OP( pb, 0 );
687 if ( pb->pb_op->o_tag == LDAP_REQ_MODRDN )
688 *((int *)value) = pb->pb_op->orr_deleteoldrdn;
693 PBLOCK_ASSERT_OP( pb, 0 );
694 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
695 *((int *)value) = pb->pb_op->ors_scope;
700 PBLOCK_ASSERT_OP( pb, 0 );
701 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
702 *((int *)value) = pb->pb_op->ors_deref;
707 PBLOCK_ASSERT_OP( pb, 0 );
708 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
709 *((int *)value) = pb->pb_op->ors_slimit;
714 PBLOCK_ASSERT_OP( pb, 0 );
715 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
716 *((int *)value) = pb->pb_op->ors_tlimit;
721 PBLOCK_ASSERT_OP( pb, 0 );
722 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
723 *((Slapi_Filter **)value) = pb->pb_op->ors_filter;
728 PBLOCK_ASSERT_OP( pb, 0 );
729 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
730 *((char **)value) = pb->pb_op->ors_filterstr.bv_val;
737 PBLOCK_ASSERT_OP( pb, 0 );
738 if ( pb->pb_op->o_tag != LDAP_REQ_SEARCH ) {
742 pblock_get_default( pb, param, (void **)&attrs );
743 if ( attrs == NULL && pb->pb_intop == 0 ) {
744 attrs = anlist2charray_x( pb->pb_op->ors_attrs, 0, pb->pb_op->o_tmpmemctx );
745 pblock_set_default( pb, param, (void *)attrs );
751 PBLOCK_ASSERT_OP( pb, 0 );
752 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
753 *((int *)value) = pb->pb_op->ors_attrsonly;
758 PBLOCK_ASSERT_OP( pb, 0 );
759 *((Slapi_Entry **)value) = pb->pb_rs->sr_entry;
762 PBLOCK_ASSERT_OP( pb, 0 );
763 *((struct berval **)value) = pb->pb_rs->sr_sasldata;
766 *((const char **)value) = pb->pb_op->ore_reqoid.bv_val;
769 *((struct berval **)value) = pb->pb_op->ore_reqdata;
772 PBLOCK_ASSERT_OP( pb, 0 );
773 *((const char **)value) = pb->pb_rs->sr_rspoid;
776 PBLOCK_ASSERT_OP( pb, 0 );
777 *((struct berval **)value) = pb->pb_rs->sr_rspdata;
780 if ( pb->pb_op->o_tag == LDAP_REQ_BIND )
781 *((int *)value) = pb->pb_op->orb_method;
786 if ( pb->pb_op->o_tag == LDAP_REQ_BIND )
787 *((struct berval **)value) = &pb->pb_op->orb_cred;
792 if ( pb->pb_op->o_tag == LDAP_REQ_COMPARE )
793 *((char **)value) = pb->pb_op->orc_ava->aa_desc->ad_cname.bv_val;
798 if ( pb->pb_op->o_tag == LDAP_REQ_COMPARE )
799 *((struct berval **)value) = &pb->pb_op->orc_ava->aa_value;
804 if ( pb->pb_op->o_tag == LDAP_REQ_ABANDON )
805 *((int *)value) = pb->pb_op->orn_msgid;
810 rc = pblock_get_default( pb, param, value );
814 pblock_unlock( pb );
820 pblock_add_control( Slapi_PBlock *pb, LDAPControl *control )
825 pblock_get_default( pb, SLAPI_RESCONTROLS, (void **)&controls );
839 return pblock_set_default( pb, SLAPI_RESCONTROLS, (void *)controls );
863 pblock_set( Slapi_PBlock *pb, int param, void *value )
867 pblock_lock( pb );
871 pb->pb_op = (Operation *)value;
874 PBLOCK_ASSERT_OP( pb, 0 );
875 pb->pb_op->o_time = *((long *)value);
878 PBLOCK_ASSERT_OP( pb, 0 );
879 pb->pb_op->o_opid = *((long *)value);
882 PBLOCK_ASSERT_OP( pb, 0 );
883 pb->pb_op->o_tag = *((ber_tag_t *)value);
886 PBLOCK_ASSERT_OP( pb, 0 );
887 pb->pb_op->o_msgid = *((long *)value);
890 PBLOCK_ASSERT_OP( pb, 0 );
891 pb->pb_op->o_delete_glue_parent = *((int *)value);
894 PBLOCK_ASSERT_OP( pb, 0 );
895 pb->pb_op->o_no_schema_check = *((int *)value);
898 PBLOCK_ASSERT_OP( pb, 0 );
899 pb->pb_op->o_no_subordinate_glue = *((int *)value);
902 PBLOCK_ASSERT_OP( pb, 0 );
903 pb->pb_op->o_ctrls = (LDAPControl **)value;
908 pblock_get_default( pb, param, (void **)&ctrls );
913 rc = pblock_set_default( pb, param, value );
917 PBLOCK_ASSERT_OP( pb, 0 );
918 rc = pblock_add_control( pb, (LDAPControl *)value );
921 PBLOCK_ASSERT_OP( pb, 0 );
922 rc = pblock_set_dn( value, &pb->pb_op->o_dn, &pb->pb_op->o_ndn, pb->pb_op->o_tmpmemctx );
925 PBLOCK_ASSERT_OP( pb, 0 );
926 pb->pb_op->o_managedsait = *((int *)value);
929 PBLOCK_ASSERT_OP( pb, 0 );
930 pb->pb_op->o_relax = *((int *)value);
933 PBLOCK_ASSERT_OP( pb, 0 );
934 pb->pb_op->o_bd = (BackendDB *)value;
937 pb->pb_conn = (Connection *)value;
940 PBLOCK_ASSERT_CONN( pb );
941 PBLOCK_LOCK_CONN( pb );
942 pb->pb_conn->c_ssf = (slap_ssf_t)(long)value;
943 PBLOCK_UNLOCK_CONN( pb );
946 PBLOCK_ASSERT_CONN( pb );
947 PBLOCK_LOCK_CONN( pb );
948 pb->pb_conn->c_sasl_authctx = value;
949 PBLOCK_UNLOCK_CONN( pb );
952 PBLOCK_ASSERT_OP( pb, 0 );
953 rc = pblock_set_dn( value, &pb->pb_op->o_req_dn, &pb->pb_op->o_req_ndn, pb->pb_op->o_tmpmemctx );
956 PBLOCK_ASSERT_CONN( pb );
957 PBLOCK_LOCK_CONN( pb );
958 pb->pb_conn->c_connid = *((long *)value);
959 PBLOCK_UNLOCK_CONN( pb );
962 PBLOCK_ASSERT_CONN( pb );
963 PBLOCK_LOCK_CONN( pb );
964 rc = pblock_set_dn( value, &pb->pb_conn->c_dn, &pb->pb_conn->c_ndn, NULL );
965 PBLOCK_UNLOCK_CONN( pb );
969 PBLOCK_ASSERT_OP( pb, 0 );
970 pb->pb_rs->sr_err = *((int *)value);
973 PBLOCK_ASSERT_OP( pb, 0 );
974 snprintf( pb->pb_textbuf, sizeof( pb->pb_textbuf ), "%s", (char *)value );
975 pb->pb_rs->sr_text = pb->pb_textbuf;
978 PBLOCK_ASSERT_OP( pb, 0 );
979 pb->pb_rs->sr_matched = (char *)value; /* XXX should dup? */
982 PBLOCK_ASSERT_OP( pb, 0 );
983 if ( pb->pb_op->o_tag == LDAP_REQ_ADD )
984 pb->pb_op->ora_e = (Slapi_Entry *)value;
992 PBLOCK_ASSERT_OP( pb, 0 );
993 rc = pblock_set_default( pb, param, value );
998 if ( pb->pb_op->o_tag == LDAP_REQ_MODIFY ) {
999 mlp = &pb->pb_op->orm_modlist;
1000 } else if ( pb->pb_op->o_tag == LDAP_REQ_ADD ) {
1001 mlp = &pb->pb_op->ora_modlist;
1002 } else if ( pb->pb_op->o_tag == LDAP_REQ_MODRDN ) {
1003 mlp = &pb->pb_op->orr_modlist;
1008 newmods = slapi_int_ldapmods2modifications( pb->pb_op, (LDAPMod **)value );
1016 PBLOCK_ASSERT_OP( pb, 0 );
1017 PBLOCK_VALIDATE_IS_INTOP( pb );
1018 if ( pb->pb_op->o_tag == LDAP_REQ_MODRDN ) {
1019 rc = pblock_set_dn( value, &pb->pb_op->orr_newrdn, &pb->pb_op->orr_nnewrdn, pb->pb_op->o_tmpmemctx );
1021 rc = rdn_validate( &pb->pb_op->orr_nnewrdn );
1027 PBLOCK_ASSERT_OP( pb, 0 );
1028 PBLOCK_VALIDATE_IS_INTOP( pb );
1029 if ( pb->pb_op->o_tag == LDAP_REQ_MODRDN ) {
1031 if ( pb->pb_op->orr_newSup != NULL ) {
1032 pb->pb_op->o_tmpfree( pb->pb_op->orr_newSup, pb->pb_op->o_tmpmemctx );
1033 BER_BVZERO( pb->pb_op->orr_newSup );
1034 pb->pb_op->orr_newSup = NULL;
1036 if ( pb->pb_op->orr_newSup != NULL ) {
1037 pb->pb_op->o_tmpfree( pb->pb_op->orr_nnewSup, pb->pb_op->o_tmpmemctx );
1038 BER_BVZERO( pb->pb_op->orr_nnewSup );
1039 pb->pb_op->orr_nnewSup = NULL;
1042 if ( pb->pb_op->orr_newSup == NULL ) {
1043 pb->pb_op->orr_newSup = (struct berval *)pb->pb_op->o_tmpalloc(
1044 sizeof(struct berval), pb->pb_op->o_tmpmemctx );
1045 BER_BVZERO( pb->pb_op->orr_newSup );
1047 if ( pb->pb_op->orr_nnewSup == NULL ) {
1048 pb->pb_op->orr_nnewSup = (struct berval *)pb->pb_op->o_tmpalloc(
1049 sizeof(struct berval), pb->pb_op->o_tmpmemctx );
1050 BER_BVZERO( pb->pb_op->orr_nnewSup );
1052 rc = pblock_set_dn( value, pb->pb_op->orr_newSup, pb->pb_op->orr_nnewSup, pb->pb_op->o_tmpmemctx );
1059 PBLOCK_ASSERT_OP( pb, 0 );
1060 PBLOCK_VALIDATE_IS_INTOP( pb );
1061 if ( pb->pb_op->o_tag == LDAP_REQ_MODRDN )
1062 pb->pb_op->orr_deleteoldrdn = *((int *)value);
1069 PBLOCK_ASSERT_OP( pb, 0 );
1070 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH ) {
1076 pb->pb_op->ors_scope = scope;
1088 PBLOCK_ASSERT_OP( pb, 0 );
1089 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
1090 pb->pb_op->ors_deref = *((int *)value);
1095 PBLOCK_ASSERT_OP( pb, 0 );
1096 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
1097 pb->pb_op->ors_slimit = *((int *)value);
1102 PBLOCK_ASSERT_OP( pb, 0 );
1103 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
1104 pb->pb_op->ors_tlimit = *((int *)value);
1109 PBLOCK_ASSERT_OP( pb, 0 );
1110 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
1111 pb->pb_op->ors_filter = (Slapi_Filter *)value;
1116 PBLOCK_ASSERT_OP( pb, 0 );
1117 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH ) {
1118 pb->pb_op->ors_filterstr.bv_val = (char *)value;
1119 pb->pb_op->ors_filterstr.bv_len = strlen((char *)value);
1129 PBLOCK_ASSERT_OP( pb, 0 );
1130 PBLOCK_VALIDATE_IS_INTOP( pb );
1132 if ( pb->pb_op->o_tag != LDAP_REQ_SEARCH ) {
1137 rc = pblock_set_default( pb, param, value );
1141 if ( pb->pb_op->ors_attrs != NULL ) {
1142 pb->pb_op->o_tmpfree( pb->pb_op->ors_attrs, pb->pb_op->o_tmpmemctx );
1143 pb->pb_op->ors_attrs = NULL;
1150 an = (AttributeName *)pb->pb_op->o_tmpcalloc( i + 1,
1151 sizeof(AttributeName), pb->pb_op->o_tmpmemctx );
1158 if ( slap_bv2ad( &an[j].an_name, &an[j].an_desc, &pb->pb_rs->sr_text ) == LDAP_SUCCESS ) {
1165 pb->pb_op->ors_attrs = an;
1169 PBLOCK_ASSERT_OP( pb, 0 );
1170 PBLOCK_VALIDATE_IS_INTOP( pb );
1172 if ( pb->pb_op->o_tag == LDAP_REQ_SEARCH )
1173 pb->pb_op->ors_attrsonly = *((int *)value);
1178 PBLOCK_ASSERT_OP( pb, 0 );
1179 rs_replace_entry( pb->pb_op, pb->pb_rs, NULL, (Slapi_Entry *)value );
1181 pb->pb_rs->sr_flags |= REP_ENTRY_MUSTBEFREED;
1184 PBLOCK_ASSERT_OP( pb, 0 );
1185 pb->pb_rs->sr_sasldata = (struct berval *)value;
1188 PBLOCK_ASSERT_OP( pb, 0 );
1189 PBLOCK_VALIDATE_IS_INTOP( pb );
1191 if ( pb->pb_op->o_tag == LDAP_REQ_EXTENDED ) {
1192 pb->pb_op->ore_reqoid.bv_val = (char *)value;
1193 pb->pb_op->ore_reqoid.bv_len = strlen((char *)value);
1199 PBLOCK_ASSERT_OP( pb, 0 );
1200 PBLOCK_VALIDATE_IS_INTOP( pb );
1202 if ( pb->pb_op->o_tag == LDAP_REQ_EXTENDED )
1203 pb->pb_op->ore_reqdata = (struct berval *)value;
1208 PBLOCK_ASSERT_OP( pb, 0 );
1209 pb->pb_rs->sr_rspoid = (char *)value;
1212 PBLOCK_ASSERT_OP( pb, 0 );
1213 pb->pb_rs->sr_rspdata = (struct berval *)value;
1216 PBLOCK_ASSERT_OP( pb, 0 );
1217 PBLOCK_VALIDATE_IS_INTOP( pb );
1219 if ( pb->pb_op->o_tag == LDAP_REQ_BIND )
1220 pb->pb_op->orb_method = *((int *)value);
1225 PBLOCK_ASSERT_OP( pb, 0 );
1226 PBLOCK_VALIDATE_IS_INTOP( pb );
1228 if ( pb->pb_op->o_tag == LDAP_REQ_BIND )
1229 pb->pb_op->orb_cred = *((struct berval *)value);
1234 PBLOCK_ASSERT_OP( pb, 0 );
1235 PBLOCK_VALIDATE_IS_INTOP( pb );
1237 if ( pb->pb_op->o_tag == LDAP_REQ_COMPARE ) {
1240 pb->pb_op->orc_ava->aa_desc = NULL;
1241 rc = slap_str2ad( (char *)value, &pb->pb_op->orc_ava->aa_desc, &text );
1247 PBLOCK_ASSERT_OP( pb, 0 );
1248 PBLOCK_VALIDATE_IS_INTOP( pb );
1250 if ( pb->pb_op->o_tag == LDAP_REQ_COMPARE )
1251 pb->pb_op->orc_ava->aa_value = *((struct berval *)value);
1256 PBLOCK_ASSERT_OP( pb, 0 );
1257 PBLOCK_VALIDATE_IS_INTOP( pb );
1259 if ( pb->pb_op->o_tag == LDAP_REQ_ABANDON)
1260 pb->pb_op->orn_msgid = *((int *)value);
1279 rc = pblock_set_default( pb, param, value );
1283 pblock_unlock( pb );
1289 pblock_clear( Slapi_PBlock *pb )
1291 pb->pb_nParams = 1;
1327 Slapi_PBlock *pb;
1329 pb = (Slapi_PBlock *) ch_calloc( 1, sizeof(Slapi_PBlock) );
1330 if ( pb != NULL ) {
1331 ldap_pvt_thread_mutex_init( &pb->pb_mutex );
1333 pb->pb_params[0] = SLAPI_IBM_PBLOCK;
1334 pb->pb_values[0].pv_pointer = NULL;
1335 pb->pb_nParams = 1;
1336 pb->pb_conn = NULL;
1337 pb->pb_op = NULL;
1338 pb->pb_rs = NULL;
1339 pb->pb_intop = 0;
1341 return pb;
1345 pblock_destroy( Slapi_PBlock *pb )
1351 assert( pb != NULL );
1353 pblock_get_default( pb, SLAPI_RESCONTROLS, (void **)&controls );
1358 if ( pb->pb_intop ) {
1359 slapi_int_connection_done_pb( pb );
1361 pblock_get_default( pb, SLAPI_MODIFY_MODS, (void **)&mods );
1364 pblock_get_default( pb, SLAPI_SEARCH_ATTRS, (void **)&attrs );
1366 pb->pb_op->o_tmpfree( attrs, pb->pb_op->o_tmpmemctx );
1369 ldap_pvt_thread_mutex_destroy( &pb->pb_mutex );
1370 slapi_ch_free( (void **)&pb );
1374 slapi_pblock_destroy( Slapi_PBlock *pb )
1376 if ( pb != NULL ) {
1377 pblock_destroy( pb );
1382 slapi_pblock_get( Slapi_PBlock *pb, int arg, void *value )
1384 return pblock_get( pb, arg, (void **)value );
1388 slapi_pblock_set( Slapi_PBlock *pb, int arg, void *value )
1390 return pblock_set( pb, arg, value );
1394 slapi_pblock_clear( Slapi_PBlock *pb )
1396 pblock_clear( pb );
1409 slapi_int_pblock_get_first( Backend *be, Slapi_PBlock **pb )
1411 assert( pb != NULL );
1412 *pb = SLAPI_BACKEND_PBLOCK( be );
1413 return (*pb == NULL ? LDAP_OTHER : LDAP_SUCCESS);
1420 slapi_int_pblock_get_next( Slapi_PBlock **pb )
1422 assert( pb != NULL );
1423 return slapi_pblock_get( *pb, SLAPI_IBM_PBLOCK, pb );