X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Fbinary.h;h=77ccdd74833ed59de46b960e849ee8e598524553;hb=bf7d1cd5635d41bd7c58bf99c61cdc670291c543;hp=fe80f5b0c60b6e559e846c217d5842afe352fce3;hpb=f2fd50e797e6a3b3590e4c2e13b6782dd87c25a2;p=tpg%2Facess2.git diff --git a/Kernel/include/binary.h b/Kernel/include/binary.h index fe80f5b0..77ccdd74 100644 --- a/Kernel/include/binary.h +++ b/Kernel/include/binary.h @@ -7,6 +7,13 @@ #define _BINARY_H // === TYPES === +/** + * \brief Representation of a page in a binary file + * + * Tells the binary loader where the page data resides on disk and where + * to load it to (relative to the binary base). Once the data is read, + * the \a Physical field contains the physical address of the page. + */ typedef struct sBinaryPage { /** @@ -157,6 +164,17 @@ typedef struct sBinaryType */ extern char *Binary_RegInterp(char *Path); +/** + * \brief Registers a binary type with the kernel's loader + * \param Type Pointer to the loader's type structure + * \return Boolean success + * \note The structure \a Type must be persistant (usually it will be a + * constant global variable) + * + * This function tells the binary loader about a new file type, and gives + * it the functions to read the type into a ::tBinary structure, relocate + * it and to find the value of symbols defined within the binary. + */ extern int Binary_RegisterType(tBinaryType *Type); #endif