Beispiel #1
0
static int internal_dump_operand(struct STREAM *stream, struct INSTRUCTION *instr, int op_index)
{
	struct OPERAND *op;

	if (op_index > 3 || op_index < 0)
		return -1;

	op = instr ->ops + op_index;
	if (op ->flags & OPERAND_FLAG_PRESENT)
	{
        switch (op ->flags & OPERAND_TYPE_MASK)
		{
		case OPERAND_TYPE_REG:
			dump_reg(stream, op ->value.reg.type, op ->value.reg.code, op ->size);
			break;
		case OPERAND_TYPE_MEM:
			dump_addr(stream, instr, op);
			break;
		case OPERAND_TYPE_IMM:
			dump_imm(stream, op);
			break;
		case OPERAND_TYPE_DIR:
			dump_dir(stream, op);
			break;
		default:
			safe_unistrncpy(stream, _UT("internal error"));
			break;
		}
	}

	return stream ->reallen;
}
Beispiel #2
0
void dump_inode (tree_s *tree, u64 rec_key, void *rec, unint len)
{
    inode_s	*inode = rec;

    printf("%lld %c %lld %s\n",
           inode->i_no,
           S_ISDIR(inode->i_mode) ? 'd' : 'f',
           inode->i_root, inode->i_name);
    if (S_ISDIR(inode->i_mode)) {
        dump_dir(tree, inode->i_root);
    }
}