Interface BIOS16$REAL_INT

Inline function

SpaceUser/kernel
ContextSync/async
May blockNo
SPLAny
Dynamic memoryNo

#include <ARCH/BIOS16.H>

int BIOS16$REAL_INT(int intnum, struct bios_regs *regs, void *ptr, unsigned len, int flags);

Description

This function calls BIOS interrupt in 16-bit real mode. After that it switches back to protected more and returns the resulting registers.

Optionally, this function can copy any data to or from real mode. The data are copied to or from any protected mode address to an address BIOS_PTR_BASE. If you need to copy data, set up registers as if data were at BIOS_PTR_BASE and pass data pointer and length to ptr and len.

This function must be called with enabled interrupts. It may be called with disabled interrupts only in crash-handling code (but in that case it won't allow interrupts to be enabled ever more).

This function should not be called often, because it inhibits all interrupts during the time of call.

Arguments

Returns

Zero on success. Negative error code on error.

See also

struct bios_regs