Disassembles the next instruction in the input stream.
Returns the number of bytes disassembled. A 0 indicates end of input.
Note, to restart disassembly after the end of input, you must call one
of the input setting functions with a new source of input.
Returns the instruction mnemonic in the form of an enumerated constant
(ud_mnemonic_code). As a convention all mnemonic constants are
composed by prefixing standard instruction mnemonics with UD_I. For
example, the enumerations for mov, xor and jmp are UD_Imov, UD_Ixor,
and UD_Ijmp, respectively.
Returns a reference (ud_operand) to the nth (starting with 0) operand
of the instruction. If the instruction does not have such an operand,
the function returns null.
Sets the input source to a file pointed to by a given standard library
FILE pointer. Note that libudis86 does not perform any checks, and
assumes that the file pointer is properly initialized and open for
reading.
Sets a pointer to a function, to callback for input. The callback is
invoked each time libudis86 needs the next byte in the input stream. To
single end-of-input, this callback must return the constant UD_EOI.
Sets the vendor of whose instruction to choose from. This is only useful
for selecting the VMX or SVM instruction sets at which point INTEL and
AMD have diverged significantly. At a later stage, support for a more
granular selection of instruction sets maybe added.