28#include "pedigree/kernel/debugger/libudis86/types.h"
32extern void ud_init(
struct ud*);
34extern void ud_set_mode(
struct ud*, uint8_t);
36extern void ud_set_pc(
struct ud*, uint64_t);
38extern void ud_set_input_hook(
struct ud*,
int (*)(
struct ud*));
40extern void ud_set_input_buffer(
struct ud*, uint8_t*,
size_t);
42#ifndef __UD_STANDALONE__
43extern void ud_set_input_file(
struct ud*, FILE*);
46extern void ud_set_vendor(
struct ud*,
unsigned);
48extern void ud_set_syntax(
struct ud*,
void (*)(
struct ud*));
50extern void ud_input_skip(
struct ud*,
size_t);
52extern int ud_input_end(
struct ud*);
54extern unsigned int ud_decode(
struct ud*);
56extern unsigned int ud_disassemble(
struct ud*);
58extern void ud_translate_intel(
struct ud*);
60extern void ud_translate_att(
struct ud*);
62extern char* ud_insn_asm(
struct ud* u);
64extern uint8_t* ud_insn_ptr(
struct ud* u);
66extern uint64_t ud_insn_off(
struct ud*);
68extern char* ud_insn_hex(
struct ud*);
70extern unsigned int ud_insn_len(
struct ud* u);
72extern const char* ud_lookup_mnemonic(
enum ud_mnemonic_code c);