Ejemplo n.º 1
0
static int
trace_response( Operation *op, SlapReply *rs )
{
    char	*op_str = NULL;

    (void)trace_op2str( op, &op_str );

    switch ( op->o_tag ) {
    case LDAP_REQ_EXTENDED:
        Log5( LDAP_DEBUG_ANY, LDAP_LEVEL_INFO,
              "%s trace op=EXTENDED RESPONSE dn=\"%s\" reqoid=%s rspoid=%s err=%d\n",
              op->o_log_prefix,
              BER_BVISNULL( &op->o_req_ndn ) ? "(null)" : op->o_req_ndn.bv_val,
              BER_BVISNULL( &op->ore_reqoid ) ? "" : op->ore_reqoid.bv_val,
              rs->sr_rspoid == NULL ? "" : rs->sr_rspoid,
              rs->sr_err );
        break;

    case LDAP_REQ_SEARCH:
        switch ( rs->sr_type ) {
        case REP_SEARCH:
            Log2( LDAP_DEBUG_ANY, LDAP_LEVEL_INFO,
                  "%s trace op=SEARCH ENTRY dn=\"%s\"\n",
                  op->o_log_prefix,
                  rs->sr_entry->e_name.bv_val );
            goto done;

        case REP_SEARCHREF:
            Log2( LDAP_DEBUG_ANY, LDAP_LEVEL_INFO,
                  "%s trace op=SEARCH REFERENCE ref=\"%s\"\n",
                  op->o_log_prefix,
                  rs->sr_ref[ 0 ].bv_val );
            goto done;

        case REP_RESULT:
            break;

        default:
            assert( 0 );
        }
    /* fallthru */

    default:
        Log4( LDAP_DEBUG_ANY, LDAP_LEVEL_INFO,
              "%s trace op=%s RESPONSE dn=\"%s\" err=%d\n",
              op->o_log_prefix,
              op_str,
              BER_BVISNULL( &op->o_req_ndn ) ? "(null)" : op->o_req_ndn.bv_val,
              rs->sr_err );
        break;
    }

done:
    ;
    return SLAP_CB_CONTINUE;
}
Ejemplo n.º 2
0
/**
 * Defers a pending MMIO write to ring-3.
 *
 * @returns VINF_IOM_R3_MMIO_COMMIT_WRITE
 * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
 * @param   GCPhys      The write address.
 * @param   pvBuf       The bytes being written.
 * @param   cbBuf       How many bytes.
 * @param   pRange      The range, if resolved.
 */
static VBOXSTRICTRC iomMmioRing3WritePending(PVMCPU pVCpu, RTGCPHYS GCPhys, void const *pvBuf, size_t cbBuf, PIOMMMIORANGE pRange)
{
    Log5(("iomMmioRing3WritePending: %RGp LB %#x\n", GCPhys, cbBuf));
    AssertReturn(pVCpu->iom.s.PendingMmioWrite.cbValue == 0, VERR_IOM_MMIO_IPE_1);
    pVCpu->iom.s.PendingMmioWrite.GCPhys  = GCPhys;
    AssertReturn(cbBuf <= sizeof(pVCpu->iom.s.PendingMmioWrite.abValue), VERR_IOM_MMIO_IPE_2);
    pVCpu->iom.s.PendingMmioWrite.cbValue = (uint32_t)cbBuf;
    memcpy(pVCpu->iom.s.PendingMmioWrite.abValue, pvBuf, cbBuf);
    VMCPU_FF_SET(pVCpu, VMCPU_FF_IOM);
    return VINF_IOM_R3_MMIO_COMMIT_WRITE;
}