# Unit util

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

## Description

Include->`Util` - Data Manipulation Utlities.

## Uses

- bios_data_area
- tracer

## Overview

### Functions and Procedures

`function INTE : boolean;`
`procedure CLI();`
`procedure STI();`
`procedure GPF();`
`function hi(b : uint8) : uint8;`
`function lo(b : uint8) : uint8;`
`function switchendian(b : uint8) : uint8;`
`function switchendian32(b : uint32) : uint32;`
`function getWord(i : uint32; hi : boolean) : uint16;`
`function getByte(i : uint32; index : uint8) : uint8;`
`procedure outb(port : uint16; val : uint8);`
`procedure outw(port : uint16; val : uint16);`
`procedure outl(port : uint16; val : uint32);`
`function inb(port : uint16) : uint8;`
`function inw(port : uint16) : uint16;`
`function inl(port : uint16) : uint32;`
`procedure io_wait;`
`procedure memset(location : uint32; value : uint8; size : uint32);`
`procedure memcpy(source : uint32; dest : uint32; size : uint32);`
`procedure printmemory(source : uint32; length : uint32; col : uint32; delim : PChar; offset_row : boolean);`
`procedure printmemoryWND(source : uint32; length : uint32; col : uint32; delim : PChar; offset_row : boolean; WND : HWND);`
`procedure halt_and_catch_fire();`
`procedure halt_and_dont_catch_fire();`
`procedure BSOD(fault : pchar; info : pchar);`
`procedure psleep(t : uint16);`
`procedure sleep(seconds : uint32);`
`function get16bitcounter : uint16;`
`function get32bitcounter : uint32;`
`function get64bitcounter : uint64;`
`function getTSC : uint64;`
`function div6432(dividend : uint64; divisor : uint32) : uint64;`
`function BCDToUint8(bcd : uint8) : uint8;`
`function HexCharToDecimal(hex : char) : uint8;`
`procedure resetSystem();`
`function getESP : uint32;`
`function MsSinceSystemBoot : uint64;`

### Variables

`endptr: uint32; external name '__end';`
`stack: uint32; external name 'KERNEL_STACK';`

## Description

### Functions and Procedures

`function INTE : boolean;`

`procedure CLI();`

`procedure STI();`

`procedure GPF();`

`function hi(b : uint8) : uint8;`

`function lo(b : uint8) : uint8;`

`function switchendian(b : uint8) : uint8;`

`function switchendian32(b : uint32) : uint32;`

`function getWord(i : uint32; hi : boolean) : uint16;`

`function getByte(i : uint32; index : uint8) : uint8;`

`procedure outb(port : uint16; val : uint8);`

`procedure outw(port : uint16; val : uint16);`

`procedure outl(port : uint16; val : uint32);`

`function inb(port : uint16) : uint8;`

`function inw(port : uint16) : uint16;`

`function inl(port : uint16) : uint32;`

`procedure io_wait;`

`procedure memset(location : uint32; value : uint8; size : uint32);`

`procedure memcpy(source : uint32; dest : uint32; size : uint32);`

`procedure printmemory(source : uint32; length : uint32; col : uint32; delim : PChar; offset_row : boolean);`

`procedure printmemoryWND(source : uint32; length : uint32; col : uint32; delim : PChar; offset_row : boolean; WND : HWND);`

`procedure halt_and_catch_fire();`

`procedure halt_and_dont_catch_fire();`

`procedure BSOD(fault : pchar; info : pchar);`

`procedure psleep(t : uint16);`

`procedure sleep(seconds : uint32);`

`function get16bitcounter : uint16;`

`function get32bitcounter : uint32;`

`function get64bitcounter : uint64;`

`function getTSC : uint64;`

`function div6432(dividend : uint64; divisor : uint32) : uint64;`

`function BCDToUint8(bcd : uint8) : uint8;`

`function HexCharToDecimal(hex : char) : uint8;`

`procedure resetSystem();`

`function getESP : uint32;`

`function MsSinceSystemBoot : uint64;`

### Variables

`endptr: uint32; external name '__end';`

`stack: uint32; external name 'KERNEL_STACK';`

## Author

- Kieron Morris <kjm@kieronmorris.me>

Generated by PasDoc 0.15.0.