commit 8c109b96afdb9303e781c5f144ffdc09f052666a Author: wilkie Date: Thu Mar 14 01:31:54 2013 -0400 Adds kernel docs. diff --git a/index.html b/index.html new file mode 100644 index 0000000..c667e35 --- /dev/null +++ b/index.html @@ -0,0 +1,78 @@ +XOmB Kernel Code Documentation diff --git a/kernel/arch/x86/cpu.html b/kernel/arch/x86/cpu.html new file mode 100644 index 0000000..73042f2 --- /dev/null +++ b/kernel/arch/x86/cpu.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86.cpu + +

kernel.arch.x86.cpu

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86/imports/nativecall.html b/kernel/arch/x86/imports/nativecall.html new file mode 100644 index 0000000..0e45587 --- /dev/null +++ b/kernel/arch/x86/imports/nativecall.html @@ -0,0 +1,10 @@ + + + kernel.user.nativecall + +

kernel.user.nativecall

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86/linker.html b/kernel/arch/x86/linker.html new file mode 100644 index 0000000..f76a497 --- /dev/null +++ b/kernel/arch/x86/linker.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86.linker + +

kernel.arch.x86.linker

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86/multiprocessor.html b/kernel/arch/x86/multiprocessor.html new file mode 100644 index 0000000..c667a47 --- /dev/null +++ b/kernel/arch/x86/multiprocessor.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86.mp + +

kernel.arch.x86.mp

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86/vm.html b/kernel/arch/x86/vm.html new file mode 100644 index 0000000..3e0ac31 --- /dev/null +++ b/kernel/arch/x86/vm.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86.vm + +

kernel.arch.x86.vm

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/cpu.html b/kernel/arch/x86_64/architecture/cpu.html new file mode 100644 index 0000000..465ec92 --- /dev/null +++ b/kernel/arch/x86_64/architecture/cpu.html @@ -0,0 +1,10 @@ + + + architecture.cpu + +

architecture.cpu

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/keyboard.html b/kernel/arch/x86_64/architecture/keyboard.html new file mode 100644 index 0000000..01a0661 --- /dev/null +++ b/kernel/arch/x86_64/architecture/keyboard.html @@ -0,0 +1,10 @@ + + + architecture.keyboard + +

architecture.keyboard

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/main.html b/kernel/arch/x86_64/architecture/main.html new file mode 100644 index 0000000..6168a8c --- /dev/null +++ b/kernel/arch/x86_64/architecture/main.html @@ -0,0 +1,10 @@ + + + architecture.main + +

architecture.main

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/multiprocessor.html b/kernel/arch/x86_64/architecture/multiprocessor.html new file mode 100644 index 0000000..d7b91e5 --- /dev/null +++ b/kernel/arch/x86_64/architecture/multiprocessor.html @@ -0,0 +1,10 @@ + + + architecture.multiprocessor + +

architecture.multiprocessor

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/mutex.html b/kernel/arch/x86_64/architecture/mutex.html new file mode 100644 index 0000000..6e96102 --- /dev/null +++ b/kernel/arch/x86_64/architecture/mutex.html @@ -0,0 +1,10 @@ + + + architecture.mutex + +

architecture.mutex

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/pci.html b/kernel/arch/x86_64/architecture/pci.html new file mode 100644 index 0000000..7b0d142 --- /dev/null +++ b/kernel/arch/x86_64/architecture/pci.html @@ -0,0 +1,10 @@ + + + architecture.pci + +

architecture.pci

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/perfmon.html b/kernel/arch/x86_64/architecture/perfmon.html new file mode 100644 index 0000000..5f31063 --- /dev/null +++ b/kernel/arch/x86_64/architecture/perfmon.html @@ -0,0 +1,10 @@ + + + architecture.perfmon + +

architecture.perfmon

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/syscall.html b/kernel/arch/x86_64/architecture/syscall.html new file mode 100644 index 0000000..d61c69d --- /dev/null +++ b/kernel/arch/x86_64/architecture/syscall.html @@ -0,0 +1,10 @@ + + + architecture.syscall + +

architecture.syscall

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/architecture/timing.html b/kernel/arch/x86_64/architecture/timing.html new file mode 100644 index 0000000..c7c5622 --- /dev/null +++ b/kernel/arch/x86_64/architecture/timing.html @@ -0,0 +1,10 @@ + + + architecture.timing + +

architecture.timing

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/core/descriptor.html b/kernel/arch/x86_64/core/descriptor.html new file mode 100644 index 0000000..91172f9 --- /dev/null +++ b/kernel/arch/x86_64/core/descriptor.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.core.descriptor + +

kernel.arch.x86_64.core.descriptor

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/core/gdt.html b/kernel/arch/x86_64/core/gdt.html new file mode 100644 index 0000000..2dea9fb --- /dev/null +++ b/kernel/arch/x86_64/core/gdt.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.core.gdt + +

kernel.arch.x86_64.core.gdt

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/core/idt.html b/kernel/arch/x86_64/core/idt.html new file mode 100644 index 0000000..8f3291b --- /dev/null +++ b/kernel/arch/x86_64/core/idt.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.core.idt + +

kernel.arch.x86_64.core.idt

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/core/info.html b/kernel/arch/x86_64/core/info.html new file mode 100644 index 0000000..d036b9e --- /dev/null +++ b/kernel/arch/x86_64/core/info.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.core.info + +

kernel.arch.x86_64.core.info

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/core/ioapic.html b/kernel/arch/x86_64/core/ioapic.html new file mode 100644 index 0000000..14359af --- /dev/null +++ b/kernel/arch/x86_64/core/ioapic.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.core.ioapic + +

kernel.arch.x86_64.core.ioapic

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/core/lapic.html b/kernel/arch/x86_64/core/lapic.html new file mode 100644 index 0000000..11a01e9 --- /dev/null +++ b/kernel/arch/x86_64/core/lapic.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.core.lapic + +

kernel.arch.x86_64.core.lapic

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/core/pic.html b/kernel/arch/x86_64/core/pic.html new file mode 100644 index 0000000..5d35559 --- /dev/null +++ b/kernel/arch/x86_64/core/pic.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.core.pic + +

kernel.arch.x86_64.core.pic

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/core/tss.html b/kernel/arch/x86_64/core/tss.html new file mode 100644 index 0000000..8933e6f --- /dev/null +++ b/kernel/arch/x86_64/core/tss.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.core.tss + +

kernel.arch.x86_64.core.tss

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/imports/nativecall.html b/kernel/arch/x86_64/imports/nativecall.html new file mode 100644 index 0000000..b93616b --- /dev/null +++ b/kernel/arch/x86_64/imports/nativecall.html @@ -0,0 +1,10 @@ + + + user.nativecall + +

user.nativecall

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/linker.html b/kernel/arch/x86_64/linker.html new file mode 100644 index 0000000..30d5dc1 --- /dev/null +++ b/kernel/arch/x86_64/linker.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.linker + +

kernel.arch.x86_64.linker

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/specs/acpi.html b/kernel/arch/x86_64/specs/acpi.html new file mode 100644 index 0000000..2145826 --- /dev/null +++ b/kernel/arch/x86_64/specs/acpi.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.specs.acpi + +

kernel.arch.x86_64.specs.acpi

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/specs/acpitables.html b/kernel/arch/x86_64/specs/acpitables.html new file mode 100644 index 0000000..1a0cd07 --- /dev/null +++ b/kernel/arch/x86_64/specs/acpitables.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.specs.acpitables + +

kernel.arch.x86_64.specs.acpitables

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/arch/x86_64/specs/mp.html b/kernel/arch/x86_64/specs/mp.html new file mode 100644 index 0000000..ac1fccc --- /dev/null +++ b/kernel/arch/x86_64/specs/mp.html @@ -0,0 +1,10 @@ + + + kernel.arch.x86_64.specs.mp + +

kernel.arch.x86_64.specs.mp

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/config.html b/kernel/config.html new file mode 100644 index 0000000..bcf7cba --- /dev/null +++ b/kernel/config.html @@ -0,0 +1,10 @@ + + + kernel.config + +

kernel.config

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/core/error.html b/kernel/core/error.html new file mode 100644 index 0000000..e0b615b --- /dev/null +++ b/kernel/core/error.html @@ -0,0 +1,25 @@ + + + kernel.core.error + +

kernel.core.error

+ +

+
enum ErrorVal; +
+
The kernel error value.

+ +
Success
+
Upon success.

+ +
+
Fail
+
Upon failure.

+ +
+
+
+
+ +
Page generated by Ddoc. + diff --git a/kernel/core/kmain.html b/kernel/core/kmain.html new file mode 100644 index 0000000..92bab71 --- /dev/null +++ b/kernel/core/kmain.html @@ -0,0 +1,29 @@ + + + kernel.core.kmain + +

kernel.core.kmain

+ +

+
void kmain(int bootLoaderID, void* data); +
+
The main function for the kernel. + This will receive data from the boot loader. +

+Params:
+ + + + +
int bootLoaderIDthe unique identifier for a boot loader.
void* dataa structure given by the boot loader.

+ +
+
void apEntry(); +
+
The entry point for a secondary core.

+ +
+
+ +
Page generated by Ddoc. + diff --git a/kernel/core/kprintf.html b/kernel/core/kprintf.html new file mode 100644 index 0000000..a934e27 --- /dev/null +++ b/kernel/core/kprintf.html @@ -0,0 +1,69 @@ + + + kernel.core.kprintf + +

kernel.core.kprintf

+ +

+
template kprintf(char[] Format)
+
This template will generate code for printing and will do + all parsing of the format string at compile time +

+USAGE:
+kprintf!("format string {specifier} ... ")(args...); + +

+Examples:
+kprintf!("Integer: {}")(10); + kprintf!("{!cls}Cleared the screen.")(); + kprintf!("{!pos:2,3}At position (2,3)")(); + kprintf!("{!fg:LightBlue!bg:Gray}{}")(25); + kprintf!("{!fg:Red}redness")(); + kprintf!("{x} Hex!")(145); + kprintf!("Curly Brace: {{")(); + +

+COMMANDS:
+!cls - Clears the screen. + !fg - Sets the foreground color, see the Color enum + in kernel/dev/console.d. + !bg - Sets the background color, same as above. + !pos - Moves the cursor to the x and y given, see example above. + +

+SPECIFIERS:
+{x} - Prints the hex value. + {u} - Treats as unsigned. + {} - Prints common form. +

+ + WHY IS IT COOL? + - Compile time parsing of format strings + - Type checking at compile time as well + - That means it can tell you that you are dumb before you execute. + - No need to specify type information. +

+ + - So we can do this and not care about the + output of the function: +

+ + auto blah = someFunction(); + kprintf!("Some Arbitrary Info: {}")(blah); +

+ + WOWWY WOW WOW!

+ +
+
template kprintfln(char[] Format)
+
This template will generate code like kprintf but will also + print a newline afterward. +

+USAGE:
+See kprintf.

+ +
+
+ +
Page generated by Ddoc. + diff --git a/kernel/core/log.html b/kernel/core/log.html new file mode 100644 index 0000000..d8c6863 --- /dev/null +++ b/kernel/core/log.html @@ -0,0 +1,42 @@ + + + kernel.core.log + +

kernel.core.log

+ +

+
struct Log; +
+
This structure implements the logging for the kernel. +

+USAGE:
+
 // DoAThing returns an ErrorVal
+
+ Log.print("Doing a thing");
+ Log.result(DoAThing());
+
+ // Will Print:
+ //   Doing a thing ........................ [ OK ]
+ // or
+ //   Doing a thing ........................ [FAIL]
+
+

+ +
static ErrorVal print(char[] message); +
+
This function prints a message and an error + to a log line on the screen.

+ +
+
static ErrorVal result(ErrorVal e); +
+
This function records the result for the last line in the log and + then pops it off the stack.

+ +
+
+
+
+ +
Page generated by Ddoc. + diff --git a/kernel/core/syscall.html b/kernel/core/syscall.html new file mode 100644 index 0000000..075517f --- /dev/null +++ b/kernel/core/syscall.html @@ -0,0 +1,58 @@ + + + kernel.core.syscall + +

kernel.core.syscall

+ +

+
class SyscallImplementations; +
+
This structure houses the implementations of system calls. + Do not call these directly.

+ +
static SyscallError create(out ubyte[] ret, CreateArgs* params); +
+
Create a memory segment. +

+Implements:
+ubyte[] location = create(ubyte* location, ulong size, int mode);

+ +
+
static SyscallError makeDeviceGib(out bool ret, MakeDeviceGibArgs* params); +
+
Creates a segment for a device. +

+Implements:
+bool success = makeDeviceGib(ubyte* gib, PhysicalAddress physAddr, ulong regionLength);

+ +
+
static SyscallError map(MapArgs* params); +
+
Maps an existing section of memory to a new location. +

+Implements:
+void map(AddressSpace dest, ubyte[] location, ubyte* destination, AccessMode mode);

+ +
+
static SyscallError createAddressSpace(out AddressSpace ret, CreateAddressSpaceArgs* params); +
+
Create an address space for a process. +

+Implements:
+AddressSpace space = createAddressSpace();

+ +
+
static SyscallError yield(YieldArgs* params); +
+
Yield the cpu to the given address space. +

+Implements:
+void yield(AddressSpace dest, ulong idx);

+ +
+
+
+
+ +
Page generated by Ddoc. + diff --git a/kernel/core/util.html b/kernel/core/util.html new file mode 100644 index 0000000..dfdb0f5 --- /dev/null +++ b/kernel/core/util.html @@ -0,0 +1,109 @@ + + + kernel.core.util + +

kernel.core.util

+ +

+
template FieldNames(S,int idx = 0)
+
Given a struct type, gives a tuple of strings of the names of fields in the struct.

+ +
+
template isCharType(T)
+
Sees if a type is char, wchar, or dchar.

+ +
+
template isIntType(T)
+
Sees if a type is a signed or unsigned byte, short, int, or long.

+ +
+
template isUnsignedIntType(T)
+
Sees if a type is a signed or unsigned byte, short, int, or long.

+ +
+
template isSignedIntType(T)
+
Sees if a type is a signed or unsigned byte, short, int, or long.

+ +
+
template isFloatType(T)
+
Sees if a type is float, double, or real.

+ +
+
template isArrayType(T)
+
Sees if a type is an array.

+ +
+
template isAAType(T)
+
Sees if a type is an associative array.

+ +
+
template isPointerType(T)
+
Sees if a type is a pointer.

+ +
+
template realType(T)
+
Get to the bottom of any chain of typedefs! Returns the first non-typedef'ed type.

+ +
+
template IsLower(char c)
+
See if a character is a lowercase character.

+ +
+
template IsUpper(char c)
+
See if a character is an uppercase character.

+ +
+
template ToLower(char c)
template ToLower(char[] s)
+
Convert a character or string to lowercase.

+ +
+
template ToUpper(char c)
template ToUpper(char[] s)
+
Convert a character or string to uppercase.

+ +
+
template Capitalize(char[] s)
+
Capitalize a word so that the first letter is capital.

+ +
+
template Map(alias Templ,List...)
+
Compile-time map. Takes a template "function" which should take a single argument +of the type of the elements of the list of values that follows. Resolves to a tuple.

+ +
+
template Reduce(alias Templ,List...)
+
Compile-time reduce. Takes a template "function" that should take two arguments of the type +of the elements of the list of values that follows. The list must be at least one element +long. Resolves to a single value of the type that the template function returns.

+ +
+
template Range(uint min,uint max)
template Range(uint max)
+
Compile-time range. Given lower and upper bound, yields a tuple of integers in the +range [min, max).

+ +
+
template Cat(T...)
+
Compile time metafunction meant to be used with Reduce. Concatenates its first two +arguments and resolves to the result of that concatentation.

+ +
+
char[] itoa(char[] buf, char base, long d); +
+
This function converts an integer to a string, depending on the base passed in. +

+Params:
+ + + + + + +
char[] bufThe function will save the translated string into this character array.
char baseThe base of the integer value. If "d," it will be assumed to be decimal. If "x," the integer + will be hexadecimal.
long dThe integer to translate.

+Returns:
+The translated string in a character array.

+ +
+
+ +
Page generated by Ddoc. + diff --git a/kernel/dev/console.html b/kernel/dev/console.html new file mode 100644 index 0000000..352a28c --- /dev/null +++ b/kernel/dev/console.html @@ -0,0 +1,132 @@ + + + kernel.dev.console + +

kernel.dev.console

+ +

+
class Console; +
+
This is the true interface to the console driver.

+ +
static const uint COLUMNS; +
+
The number of columns and lines on the screen.

+ +
+
static const ubyte DEFAULTCOLORS; +
+
The default color.

+ +
+
static const int TABSTOP; +
+
The width of a tab

+ +
+
static void switchToHigherHalfVirtualAddress(); +
+
Notifies the driver that the kernel moved to high memory, and it should + also move its own references to refer to higher memory.

+ +
+
static ubyte[] segment(); +
+
This will yield a reference to the video memory.

+ +
+
static ErrorVal initialize(); +
+
This will initialize the console driver.

+ +
+
static long getGlobalY(); +
+
Returns the current y coordinate of the cursor.

+ +
+
static void getPosition(out int x, out int y); +
+
This method will return the current location of the cursor.

+ +
+
static synchronized void setPosition(int x, int y); +
+
This method will set the current location of the cursor to the x and y given.

+ +
+
static synchronized void putChar(char c); +
+
This method will post the character to the screen at the current location.

+ +
+
static synchronized void putString(char[] s); +
+
This mehtod will post a string to the screen at the current location.

+ +
+
static void resetColors(); +
+
This function sets the console colors back to their defaults.

+ +
+
static void setForeColor(Color newColor); +
+
This function will set the text foreground to a new color.

+ +
+
static void setBackColor(Color newColor); +
+
This function will set the text background to a new color.

+ +
+
static void setColors(Color foreColor, Color backColor); +
+
This function will set both the foreground and background colors.

+ +
+
static synchronized void scrollDisplay(uint numLines); +
+
This function will scroll the display the given number of lines. +

+Params:
+ + +
uint numLinesThe number of lines to scroll the display up.

+ +
+
static uint width(); +
+
This function will return the width of the console in characters. +

+Returns:
+The number of columns the console can display.

+ +
+
static uint height(); +
+
This function will return the height of the console in characters. +

+Returns:
+The number of rows the console can display.

+ +
+
static void putCharUnsafe(char foo); +
+
This function will print a character at the current location without + locking. It may not print in order.

+ +
+
static void putStringUnsafe(char[] foo); +
+
This function will print a string at the current location without + locking. It may not print in order or even interleave characters + with other strings.

+ +
+
+
+
+ +
Page generated by Ddoc. + diff --git a/kernel/dev/keyboard.html b/kernel/dev/keyboard.html new file mode 100644 index 0000000..371a18e --- /dev/null +++ b/kernel/dev/keyboard.html @@ -0,0 +1,31 @@ + + + kernel.dev.keyboard + +

kernel.dev.keyboard

+ +

+
class Keyboard; +
+
The kernel interface to the keyboard.

+ +
static ErrorVal initialize(); +
+
Initializes the keyboard. +

+Returns:
+ErrorVal.Success when the keyboard is properly initialized. + ErrorVal.Fail otherwise.

+ +
+
static ubyte[] segment(); +
+
This function returns a reference to the keyboard memory.

+ +
+
+
+
+ +
Page generated by Ddoc. + diff --git a/kernel/dev/pci.html b/kernel/dev/pci.html new file mode 100644 index 0000000..5b38d5e --- /dev/null +++ b/kernel/dev/pci.html @@ -0,0 +1,10 @@ + + + kernel.dev.pci + +

kernel.dev.pci

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/dev/vga.html b/kernel/dev/vga.html new file mode 100644 index 0000000..17de603 --- /dev/null +++ b/kernel/dev/vga.html @@ -0,0 +1,10 @@ + + + kernel.dev.vga + +

kernel.dev.vga

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/mem/bitmap.html b/kernel/mem/bitmap.html new file mode 100644 index 0000000..7cf989e --- /dev/null +++ b/kernel/mem/bitmap.html @@ -0,0 +1,10 @@ + + + kernel.mem.bitmap + +

kernel.mem.bitmap

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/mem/pageallocator.html b/kernel/mem/pageallocator.html new file mode 100644 index 0000000..d467d33 --- /dev/null +++ b/kernel/mem/pageallocator.html @@ -0,0 +1,10 @@ + + + kernel.mem.pageallocator + +

kernel.mem.pageallocator

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/dstubs.html b/kernel/runtime/dstubs.html new file mode 100644 index 0000000..d732964 --- /dev/null +++ b/kernel/runtime/dstubs.html @@ -0,0 +1,45 @@ + + + kernel.core.dstubs + +

kernel.core.dstubs

+ +

+
void _d_monitorenter(Object h); +
+


+
+
void abort(); +
+
Random stubs (they'll go somewhere eventually)

+ +
+
Object _d_toObject(void* p); +
+
Given a pointer: + If it is an Object, return that Object. + If it is an interface, return the Object implementing the interface. + If it is null, return null. + Else, undefined crash

+ +
+
Object _d_interface_cast(void* p, ClassInfo c); +
+
Attempts to cast Object o to class c. + Returns o if successful, null if not.

+ +
+
void* _d_interface_vtbl(ClassInfo ic, Object o); +
+
Find the vtbl[] associated with Interface ic.

+ +
+
void _d_assert(char[] file, uint line); +
+
Exception stubs

+ +
+
+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/gcc/builtins.html b/kernel/runtime/gcc/builtins.html new file mode 100644 index 0000000..c9a2daa --- /dev/null +++ b/kernel/runtime/gcc/builtins.html @@ -0,0 +1,28 @@ + + + gcc.builtins + +

gcc.builtins

+ +Declarations are automatically created by the compiler. All + declarations start with "_builtin_". Refer to builtins.def in the + GCC source for a list of functions. Not all of the functions are + supported. +

+In addition to built-in functions, the following types are defined. +

+ + + + + + + + +
__builtin_va_list The target's va_list type
__builtin_Clong The D equivalent of the target's + C "long" type
__builtin_Culong The D equivalent of the target's + C "unsigned long" type
__builtin_machine_int Signed word-sized integer
__builtin_machine_uint Unsigned word-sized integer
__builtin_pointer_int Signed pointer-sized integer
__builtin_pointer_uint Unsigned pointer-sized integer


+ + +
Page generated by Ddoc. + diff --git a/kernel/runtime/precision.html b/kernel/runtime/precision.html new file mode 100644 index 0000000..57daee2 --- /dev/null +++ b/kernel/runtime/precision.html @@ -0,0 +1,10 @@ + + + kernel.runtime.precision + +

kernel.runtime.precision

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/intrinsic.html b/kernel/runtime/std/intrinsic.html new file mode 100644 index 0000000..2bdfdfe --- /dev/null +++ b/kernel/runtime/std/intrinsic.html @@ -0,0 +1,162 @@ + + + std.intrinsic + +

std.intrinsic

+ +These functions are built-in intrinsics to the compiler. +

+Intrinsic functions are functions built in to the compiler, + usually to take advantage of specific CPU features that + are inefficient to handle via external functions. + The compiler's optimizer and code generator are fully + integrated in with intrinsic functions, bringing to bear + their full power on them. + This can result in some surprising speedups. +

+ +
int bsf(uint v); +
+
Scans the bits in v starting with bit 0, looking + for the first set bit. +

+Returns:
+The bit number of the first bit set. + The return value is undefined if v is zero.

+ +
+
int bsr(uint v); +
+
Scans the bits in v from the most significant bit + to the least significant bit, looking + for the first set bit. +

+Returns:
+The bit number of the first bit set. + The return value is undefined if v is zero. +

+Example:
+
 import std.intrinsic;
+
+ int main()
+ {
+     uint v;
+     int x;
+
+     v = 0x21;
+     x = bsf(v);
+     printf("bsf(x%x) = %d\n", v, x);
+     x = bsr(v);
+     printf("bsr(x%x) = %d\n", v, x);
+     return 0;
+ }
+
+

+Output:
+bsf(x21) = 0
+ bsr(x21) = 5

+ +
+
int bt(uint* p, uint bitnum); +
+
Tests the bit.

+ +
+
int btc(uint* p, uint bitnum); +
+
Tests and complements the bit.

+ +
+
int btr(uint* p, uint bitnum); +
+
Tests and resets (sets to 0) the bit.

+ +
+
int bts(uint* p, uint bitnum); +
+
Tests and sets the bit. +

+Params:
+ + + + +
uint* pa non-NULL pointer to an array of uints.
indexa bit number, starting with bit 0 of p[0], + and progressing. It addresses bits like the expression: +
p[index / (uint.sizeof*8)] & (1 << (index & ((uint.sizeof*8) - 1)))
+
+

+Returns:
+A non-zero value if the bit was set, and a zero + if it was clear. + +

+Example:
+
import std.intrinsic;
+
+int main()
+{
+    uint array[2];
+
+    array[0] = 2;
+    array[1] = 0x100;
+
+    printf("btc(array, 35) = %d\n", <b>btc</b>(array, 35));
+    printf("array = [0]:x%x, [1]:x%x\n", array[0], array[1]);
+
+    printf("btc(array, 35) = %d\n", <b>btc</b>(array, 35));
+    printf("array = [0]:x%x, [1]:x%x\n", array[0], array[1]);
+
+    printf("bts(array, 35) = %d\n", <b>bts</b>(array, 35));
+    printf("array = [0]:x%x, [1]:x%x\n", array[0], array[1]);
+
+    printf("btr(array, 35) = %d\n", <b>btr</b>(array, 35));
+    printf("array = [0]:x%x, [1]:x%x\n", array[0], array[1]);
+
+    printf("bt(array, 1) = %d\n", <b>bt</b>(array, 1));
+    printf("array = [0]:x%x, [1]:x%x\n", array[0], array[1]);
+
+    return 0;
+}
+
+

+Output:
+
+btc(array, 35) = 0
+array = [0]:x2, [1]:x108
+btc(array, 35) = -1
+array = [0]:x2, [1]:x100
+bts(array, 35) = 0
+array = [0]:x2, [1]:x108
+btr(array, 35) = -1
+array = [0]:x2, [1]:x100
+bt(array, 1) = -1
+array = [0]:x2, [1]:x100
+


+ +
+
uint bswap(uint v); +
+
Swaps bytes in a 4 byte uint end-to-end, i.e. byte 0 becomes + byte 3, byte 1 becomes byte 2, byte 2 becomes byte 1, byte 3 + becomes byte 0.

+ +
+
ubyte inp(uint port_address); +
ushort inpw(uint port_address); +
uint inpl(uint port_address); +
+
Reads I/O port at port_address.

+ +
+
ubyte outp(uint port_address, ubyte value); +
ushort outpw(uint port_address, ushort value); +
uint outpl(uint port_address, uint value); +
+
Writes and returns value to I/O port at port_address.

+ +
+
+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/moduleinit.html b/kernel/runtime/std/moduleinit.html new file mode 100644 index 0000000..b1594a1 --- /dev/null +++ b/kernel/runtime/std/moduleinit.html @@ -0,0 +1,31 @@ + + + std.moduleinit + +

std.moduleinit

+ +

+
void _moduleCtor(); +
+
Initialize the modules.

+ +
+
void _moduleDtor(); +
+
Destruct the modules.

+ +
+
void _moduleUnitTests(); +
+
Run unit tests.

+ +
+
void _moduleIndependentCtors(); +
+
Run unit tests.

+ +
+
+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_AC.html b/kernel/runtime/std/typeinfo/ti_AC.html new file mode 100644 index 0000000..ce03412 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_AC.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_AC + +

std.typeinfo.ti_AC

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_Ag.html b/kernel/runtime/std/typeinfo/ti_Ag.html new file mode 100644 index 0000000..dfe0dad --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_Ag.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_Ag + +

std.typeinfo.ti_Ag

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_Aint.html b/kernel/runtime/std/typeinfo/ti_Aint.html new file mode 100644 index 0000000..c7318d1 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_Aint.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_Aint + +

std.typeinfo.ti_Aint

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_Along.html b/kernel/runtime/std/typeinfo/ti_Along.html new file mode 100644 index 0000000..13ad5d8 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_Along.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_Along + +

std.typeinfo.ti_Along

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_Ashort.html b/kernel/runtime/std/typeinfo/ti_Ashort.html new file mode 100644 index 0000000..1239bc0 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_Ashort.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_Ashort + +

std.typeinfo.ti_Ashort

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_C.html b/kernel/runtime/std/typeinfo/ti_C.html new file mode 100644 index 0000000..8258550 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_C.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_C + +

std.typeinfo.ti_C

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_byte.html b/kernel/runtime/std/typeinfo/ti_byte.html new file mode 100644 index 0000000..d89d688 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_byte.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_byte + +

std.typeinfo.ti_byte

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_cdouble.html b/kernel/runtime/std/typeinfo/ti_cdouble.html new file mode 100644 index 0000000..5249e1b --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_cdouble.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_cdouble + +

std.typeinfo.ti_cdouble

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_cfloat.html b/kernel/runtime/std/typeinfo/ti_cfloat.html new file mode 100644 index 0000000..096a8de --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_cfloat.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_cfloat + +

std.typeinfo.ti_cfloat

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_char.html b/kernel/runtime/std/typeinfo/ti_char.html new file mode 100644 index 0000000..58ac61b --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_char.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_char + +

std.typeinfo.ti_char

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_creal.html b/kernel/runtime/std/typeinfo/ti_creal.html new file mode 100644 index 0000000..9a4adc7 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_creal.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_creal + +

std.typeinfo.ti_creal

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_dchar.html b/kernel/runtime/std/typeinfo/ti_dchar.html new file mode 100644 index 0000000..513b9a1 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_dchar.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_dchar + +

std.typeinfo.ti_dchar

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_delegate.html b/kernel/runtime/std/typeinfo/ti_delegate.html new file mode 100644 index 0000000..178ffec --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_delegate.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_delegate + +

std.typeinfo.ti_delegate

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_double.html b/kernel/runtime/std/typeinfo/ti_double.html new file mode 100644 index 0000000..47d9829 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_double.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_double + +

std.typeinfo.ti_double

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_float.html b/kernel/runtime/std/typeinfo/ti_float.html new file mode 100644 index 0000000..43e8ef4 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_float.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_float + +

std.typeinfo.ti_float

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_int.html b/kernel/runtime/std/typeinfo/ti_int.html new file mode 100644 index 0000000..9593435 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_int.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_int + +

std.typeinfo.ti_int

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_long.html b/kernel/runtime/std/typeinfo/ti_long.html new file mode 100644 index 0000000..d21b046 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_long.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_long + +

std.typeinfo.ti_long

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_ptr.html b/kernel/runtime/std/typeinfo/ti_ptr.html new file mode 100644 index 0000000..586a357 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_ptr.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_ptr + +

std.typeinfo.ti_ptr

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_real.html b/kernel/runtime/std/typeinfo/ti_real.html new file mode 100644 index 0000000..8ae7bd1 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_real.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_real + +

std.typeinfo.ti_real

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_short.html b/kernel/runtime/std/typeinfo/ti_short.html new file mode 100644 index 0000000..0caf3d8 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_short.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_short + +

std.typeinfo.ti_short

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_ubyte.html b/kernel/runtime/std/typeinfo/ti_ubyte.html new file mode 100644 index 0000000..c7b1433 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_ubyte.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_ubyte + +

std.typeinfo.ti_ubyte

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_uint.html b/kernel/runtime/std/typeinfo/ti_uint.html new file mode 100644 index 0000000..076f06e --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_uint.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_uint + +

std.typeinfo.ti_uint

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_ulong.html b/kernel/runtime/std/typeinfo/ti_ulong.html new file mode 100644 index 0000000..29dcbad --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_ulong.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_ulong + +

std.typeinfo.ti_ulong

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_ushort.html b/kernel/runtime/std/typeinfo/ti_ushort.html new file mode 100644 index 0000000..5826c2b --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_ushort.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_ushort + +

std.typeinfo.ti_ushort

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_void.html b/kernel/runtime/std/typeinfo/ti_void.html new file mode 100644 index 0000000..61d4db8 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_void.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_void + +

std.typeinfo.ti_void

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/std/typeinfo/ti_wchar.html b/kernel/runtime/std/typeinfo/ti_wchar.html new file mode 100644 index 0000000..e493c94 --- /dev/null +++ b/kernel/runtime/std/typeinfo/ti_wchar.html @@ -0,0 +1,10 @@ + + + std.typeinfo.ti_wchar + +

std.typeinfo.ti_wchar

+ +

+ +
Page generated by Ddoc. + diff --git a/kernel/runtime/util.html b/kernel/runtime/util.html new file mode 100644 index 0000000..80a3c1b --- /dev/null +++ b/kernel/runtime/util.html @@ -0,0 +1,116 @@ + + + kernel.runtime.util + +

kernel.runtime.util

+ +

+
char[] itoa(char[] buf, char base, long d); +
+
This function converts an integer to a string, depending on the base passed in. +

+Params:
+ + + + + + +
char[] bufThe function will save the translated string into this character array.
char baseThe base of the integer value. If "d," it will be assumed to be decimal. If "x," the integer + will be hexadecimal.
long dThe integer to translate.

+Returns:
+The translated string in a character array.

+ +
+
void* memcpy(void* dest, void* src, size_t count); +
+
This function copies data from a source piece of memory to a destination piece of memory. +

+Params:
+ + + + + + +
void* destA pointer to the piece of memory serving as the copy destination.
void* srcA pointer to the piece of memory serving as the copy source.
size_t countThe number of bytes to copy form src to dest.

+Returns:
+A void pointer to the start of the destination data (dest).

+ +
+
void* memmove(void* dest, void* src, size_t count); +
+
Memcpy and memmove only really have differences at the user level, where they have slightly +different semantics. Here, they're the same.

+ +
+
int memcmp(void* a, void* b, size_t n); +
+
Compare two blocks of memory. +

+Params:
+ + + + + + +
void* aPointer to the first block.
void* bPointer to the second block.
size_t nThe number of bytes to compare.

+Returns:
+0 if they are equal, < 0 if a is less than b, and > 0 if a is greater than b.

+ +
+
void memset(void* addr, int val, uint numBytes); +
+
This function sets a particular piece of memory to a particular value. +

+Params:
+ + + + + + +
void* addrThe address of the piece of memory you wish to write.
int valThe value you wish to write to memory.
uint numBytesThe number of bytes you would like to write to memory.

+ +
+
size_t strlen(char* s); +
+
This function determines the size of a passed-in string. +

+Params:
+ + +
char* sA pointer to the beginning of a character array, declaring a string.

+Returns:
+The size of the string in size_t format.

+ +
+
char[] toString(char* s); +
+
This function takes in a character pointer and returns a character array, or a string. +

+Params:
+ + +
char* sA pointer to the character(s) you wish to translate to a string.

+Returns:
+A character array (string) containing the information.

+ +
+
int isnan(real e); +
+
This function checks to see if a floating point number is a NaN. +

+Params:
+ + +
real eThe value / piece of information you would like to check for number status.

+Returns:
+0 if it isn't a NaN, non-zero if it is.

+ +
+
+ +
Page generated by Ddoc. + diff --git a/kernel/system/bootinfo.html b/kernel/system/bootinfo.html new file mode 100644 index 0000000..b5e63a4 --- /dev/null +++ b/kernel/system/bootinfo.html @@ -0,0 +1,38 @@ + + + kernel.system.bootinfo + +

kernel.system.bootinfo

+ +

+
struct BootInfo; +
+
This structure will handle all requests to the information given + by the bootloader. It makes no assumptions about which bootloader + is actually used by the system.

+ +
enum Type; +
+
All of the types of boot loader specifications in use, so we + *can* make assumptions sometimes.

+ +
+
static ErrorVal initialize(int bootLoaderID, void* data); +
+
This function takes in the parameters passed to kmain. + It will pass it off to the correct module for utilization. +

+Params:
+ + + + +
int bootLoaderIDthe id the bootloader passes to identify itself.
void* datathe payload point the bootloader passes with system info.

+ +
+
+
+
+ +
Page generated by Ddoc. + diff --git a/kernel/system/definitions.html b/kernel/system/definitions.html new file mode 100644 index 0000000..8289e0a --- /dev/null +++ b/kernel/system/definitions.html @@ -0,0 +1,126 @@ + + + kernel.system.definitions + +

kernel.system.definitions

+ +

+
struct Memory; +
+
This structure keeps track of information pertaining to onboard memory.

+ +
ulong length; +
+
The size of the RAM.

+ +
+
void* virtualStart; +
+
The Virtual location of RAM.

+ +
+
+
+
struct Module; +
+
This structure keeps track of modules loaded alongside the kernel.

+ +
PhysicalAddress start; +
+
The physical location of the module.

+ +
+
ulong length; +
+
The length of the module.

+ +
+
char[] name; +
+
The name of the module, if given.

+ +
+
char[] path; +
+
The path to this module on the file system.

+ +
+
+
+
enum RegionType; +
+
This enum is for the Region structure + It contains human-read information about the type of region.

+ +
Reserved
+
The region is special reserved data from the BIOS

+ +
+
Kernel
+
This signifies that this region is the kernel

+ +
+
+
+
struct Region; +
+
This structure keeps track of special memory regions.

+ +
PhysicalAddress start; +
+
The location and length of the region

+ +
+
ubyte* virtualStart; +
+
The virtual location of the region

+ +
+
RegionType type; +
+
The type of region. See above for a list of values.

+ +
+
+
+
struct Disk; +
+
This structure keeps information about the disks found in the system.

+ +
ulong number; +
+
Some identifing number for the drive, as reported by the system.

+ +
+
ulong cylinders; +
+
Typical information about a mechanical hard disk.

+ +
+
uint numPorts; +
+
The ports used to communicate with the disk, if any.

+ +
+
+
+
struct Processor; +
+
This structure stores information about the processors available + in the system.

+ +
+
struct Cache; +
+
This structure stores information about processor caches available.

+ +
+
struct Device; +
+
This structure stores information about known devices on the system.

+ +
+
+ +
Page generated by Ddoc. + diff --git a/kernel/system/info.html b/kernel/system/info.html new file mode 100644 index 0000000..2f7ae36 --- /dev/null +++ b/kernel/system/info.html @@ -0,0 +1,59 @@ + + + kernel.system.info + +

kernel.system.info

+ +

+
struct System; +
+
This structure holds information about the system.

+ +
static Memory memory; +
+
The information about RAM.

+ +
+
static Region kernel; +
+
This region is specifically the kernel memory.

+ +
+
static uint numRegions; +
+
Information about specific memory regions.

+ +
+
static uint numModules; +
+
Information about modules that have been loaded + during the boot process.

+ +
+
static uint numDisks; +
+
Information about disks available to the system.

+ +
+
static uint numProcessors; +
+
Information about each processor available.

+ +
+
static uint numDevices; +
+
Information about generic devices available on the system.

+ +
+
static char[128LU] cmdlineStorage; +
+
Information about how the kernel was invoked by the bootloader. + This generally contains command line arguments from GRUB, for instance.

+ +
+
+
+
+ +
Page generated by Ddoc. + diff --git a/kernel/system/multiboot.html b/kernel/system/multiboot.html new file mode 100644 index 0000000..5f72c97 --- /dev/null +++ b/kernel/system/multiboot.html @@ -0,0 +1,18 @@ + + + kernel.system.multiboot + +

kernel.system.multiboot

+ +

+
const int MULTIBOOT_HEADER_MAGIC; +
+
These two magic numbers are + defined in the multiboot spec, we use them + to verify that our environment is sane.

+ +
+
+ +
Page generated by Ddoc. + diff --git a/makeindex b/makeindex new file mode 100755 index 0000000..5cb9557 --- /dev/null +++ b/makeindex @@ -0,0 +1,14 @@ +#!/bin/sh + +rm -f index.html +rm -f index.tmp +echo "XOmB Kernel Code Documentation" >> index.tmp + +mv index.tmp index.html