Next: The Hardware Support Library
Up: The libraries
Previous: The libraries
The ll directory contains the header files to be included for
using OSLib. In particular, the directory structure tries to reflect
the standard POSIX include directory. Hence, the include files of the
minimal C library use the POSIX names and are distributed in ll
and ll/sys.
The xlib headers are in the ll/i386 directory; in particular,
they are:
- ll/i386/hw-data.h: this header defines the basic data
types and constants, and has to be included in order to use
them
- ll/i386/hw-instr.h: this header defines the instruction
needed to access hardware registers (or memory locations) as
inlined functions
- ll/i386/hw-func.h: this header has to be included in
order to use the functions that permits to directly access
hardware, such as halt() and reboot(),
IDT_place(), GDT_place() and
GDT_read(), addr2linear(), and the
ll_context_*() functions. Moreover, it contains the
prototypes of x_init(), x_end(),
x_exc_bind(), and x_irq_bind()
- ll/i386/hw-arch.h: this header has to be included for
using the CPU/FPU detection functions X86_get_CPU(),
X86_get_FPU(), X86_is386(),
X86_isCyrix(), and X86_hasCPUID()
- ll/i386/hw-io.h: this header defines the I/O
instructions as inline functions. It is included by
ll/i386/hw-instr.h and must never be directly
included by user programs
- ll/i386/tss-ctx.h: defines some macros for translating
CONTEXTs in TSSs and vice-versa
- ll/i386/sel.h: defines some symbolic names for the
predefined selectors used by the xlib
- ll/i386/int.h: defines some macros that simplify
writing interrupt or exception handlers
- ll/i386/pit.h: this header has to be included in order
to access the Programmable Interrupt Timer (PIT) through
pit_init(), pit_setconstant(), and
pit_read()
- ll/i386/pic.h: this header has to be included to
access the Programmable Interrupt Controller (PIC)
through PIC_init(), PIC_end(),
irq_mask(), and irq_unmask()
- ll/i386/linkage.h: this header can be included by
ASM files to generate correct C naming independently from
the architecture/file format
- ll/i386/defs.h: this header defines some macros to be
used to start/end header and C files
- ll/i386/farptr.h: this header contains the far pointer
access from DJGPP
- ll/i386/x-bios.h: this header has to be included to
call real mode functions through X_callBIOS(), or
vm86_init() and vm86_callBIOS(), or to
directly communicate with the eXtender through
x_bios_address() and X_meminfo()
- ll/i386/x-dosmem.h: this header has to be included in
order to manage real-mode (DOS) memory through
DOS_mem_init(), DOS_alloc(), and
DOS_free()
- ll/i386/x-dos.h: this header has to be included in
order to access a FAT file system through dos (using the
X-BIOS calls) with DOS_fopen(),
DOS_fclose(), DOS_fread(),
DOS_fwrite(), and DOS_error()
- ll/i386/mb-hdr.h: this header can be included by ASM
files in order to easily generate a MultiBoot header
- ll/i386/mb-info.h: this header contains the definition
of the MultiBoot Information (MBI) structure.
The kl headers are in the ll/sys/ll directory; in particular,
they are:
- ll/sys/ll/ll-func.h: this header has to be included for
using the ll_context_create(),
ll_context_setspace(), and ll_context_delete(),
ll_init(), ll_end(), and ll_abort()
ll_context_save(), ll_context_change(),
ll_context_load(), ll_context_from(), and
ll_context_to functions
- ll/sys/ll/event.h: this header has to be included for
using the event related functions, that are
event_init(), event_post(),
event_delete(), irq_bind(), and
ll_ActiveInt()
- ll/sys/ll/time.h: this header has to be included for
using the gettime() function. Moreover, it provides
some macros for manipulating timespecs.
- ll/sys/ll/event.h: this header has to be included for
using Address Spaces. In particular, it provides prototypes
and data definitions for the as_init(),
as_create(), and as_bind() functions.
Next: The Hardware Support Library
Up: The libraries
Previous: The libraries
Luca Abeni
2001-01-18