Return to Unit Reference
Description
To be documented
Constants
To be documented
Type definitions
To be documented
Public variables
To be documented
Function declarations
Initialization functions
[Expand]
procedure DevicesInit;
Description: Initialize the Devices unit and device, notifier and driver tables
Note
|
Called only during system startup
|
Device functions
[Expand]
function DeviceCreate:PDevice;
Description: Create a new Device entry
Return
|
Pointer to new Device entry or nil if device could not be created
|
[Expand]
function DeviceCreateEx(Size:LongWord):PDevice;
Description: Create a new Device entry
Size
|
Size in bytes to allocate for new device (Including the device entry)
|
Return
|
Pointer to new Device entry or nil if device could not be created
|
[Expand]
function DeviceDestroy(Device:PDevice):LongWord;
Description: Destroy an existing Device entry
[Expand]
function DeviceGetName(Device:PDevice):String;
Description: Get the name of the supplied Device
[Expand]
function DeviceSetName(Device:PDevice; const Name:String):LongWord;
Description: Set the name of the supplied Device
[Expand]
function DeviceGetDescription(Device:PDevice):String;
Description: Get the description of the supplied Device
[Expand]
function DeviceSetDescription(Device:PDevice; const Description:String):LongWord;
Description: Set the description of the supplied Device
[Expand]
function DeviceRegister(Device:PDevice):LongWord;
Description: Register a new Device in the Device table
[Expand]
function DeviceDeregister(Device:PDevice):LongWord;
Description: Deregister a Device from the Device table
[Expand]
function DeviceFind(DeviceClass,DeviceId:LongWord):PDevice;
Description: To be documented
[Expand]
function DeviceFindByName(const Name:String):PDevice;
Description: To be documented
[Expand]
function DeviceFindByDescription(const Description:String):PDevice;
Description: To be documented
[Expand]
function DeviceEnumerate(DeviceClass:LongWord; Callback:TDeviceEnumerate; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function DeviceNotification(Device:PDevice; DeviceClass:LongWord; Callback:TDeviceNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented
[Expand]
function NotifierAllocate(Device:PDevice; DeviceClass:LongWord; Callback:TDeviceNotification; Data:Pointer; Notification,Flags:LongWord):PNotifier;
Description: Create and Register a new Notifier entry in the Notifier table
[Expand]
function NotifierRelease(Notifier:PNotifier):LongWord;
Description: Deregister and Destroy a Notifier from the Notifier table
[Expand]
function NotifierFind(Device:PDevice; DeviceClass:LongWord; Callback:TDeviceNotification; Data:Pointer):PNotifier;
Description: To be documented
[Expand]
function NotifierNotify(Device:PDevice; Notification:LongWord):LongWord;
Description: To be documented
Driver functions
[Expand]
function DriverCreate:PDriver;
Description: Create a new Driver entry
Return
|
Pointer to new Driver entry or nil if driver could not be created
|
[Expand]
function DriverCreateEx(Size:LongWord):PDriver;
Description: Create a new Driver entry
Size
|
Size in bytes to allocate for new driver (Including the driver entry)
|
Return
|
Pointer to new Driver entry or nil if driver could not be created
|
[Expand]
function DriverDestroy(Driver:PDriver):LongWord;
Description: Destroy an existing Driver entry
[Expand]
function DriverGetName(Driver:PDriver):String;
Description: Get the name of the supplied Driver
[Expand]
function DriverSetName(Driver:PDriver; const Name:String):LongWord;
Description: Set the name of the supplied Driver
[Expand]
function DriverRegister(Driver:PDriver):LongWord;
Description: Register a new Driver in the Driver table
[Expand]
function DriverDeregister(Driver:PDriver):LongWord;
Description: Deregister a Driver from the Driver table
[Expand]
function DriverFind(DriverClass,DriverId:LongWord):PDriver;
Description: To be documented
[Expand]
function DriverFindByName(const Name:String):PDriver;
Description: To be documented
[Expand]
function DriverEnumerate(DriverClass:LongWord; Callback:TDriverEnumerate; Data:Pointer):LongWord;
Description: To be documented
Clock device functions
[Expand]
function ClockDeviceStart(Clock:PClockDevice):LongWord;
Description: To be documented
[Expand]
function ClockDeviceStop(Clock:PClockDevice):LongWord;
Description: To be documented
[Expand]
function ClockDeviceRead(Clock:PClockDevice):LongWord;
Description: To be documented
[Expand]
function ClockDeviceRead64(Clock:PClockDevice):Int64;
Description: To be documented
[Expand]
function ClockDeviceWrite64(Clock:PClockDevice; const Value:Int64):LongWord;
Description: To be documented
[Expand]
function ClockDeviceGetRate(Clock:PClockDevice):LongWord;
Description: To be documented
[Expand]
function ClockDeviceCreate:PClockDevice;
Description: Create a new Clock entry
Return
|
Pointer to new Clock entry or nil if Clock could not be created
|
[Expand]
function ClockDeviceCreateEx(Size:LongWord):PClockDevice;
Description: Create a new Clock entry
Size
|
Size in bytes to allocate for new Clock (Including the Clock entry)
|
Return
|
Pointer to new Clock entry or nil if Clock could not be created
|
[Expand]
function ClockDeviceDestroy(Clock:PClockDevice):LongWord;
Description: Destroy an existing Clock entry
[Expand]
function ClockDeviceRegister(Clock:PClockDevice):LongWord;
Description: Register a new Clock in the Clock table
[Expand]
function ClockDeviceDeregister(Clock:PClockDevice):LongWord;
Description: Deregister a Clock from the Clock table
[Expand]
function ClockDeviceFind(ClockId:LongWord):PClockDevice;
Description: To be documented
[Expand]
function ClockDeviceFindByName(const Name:String):PClockDevice; inline;
Description: To be documented
[Expand]
function ClockDeviceFindByDescription(const Description:String):PClockDevice; inline;
Description: To be documented
[Expand]
function ClockDeviceEnumerate(Callback:TClockEnumerate; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function ClockDeviceNotification(Clock:PClockDevice; Callback:TClockNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented
Timer device functions
[Expand]
function TimerDeviceStart(Timer:PTimerDevice):LongWord;
Description: To be documented
[Expand]
function TimerDeviceStop(Timer:PTimerDevice):LongWord;
Description: To be documented
[Expand]
function TimerDeviceRead(Timer:PTimerDevice):LongWord;
Description: To be documented
[Expand]
function TimerDeviceRead64(Timer:PTimerDevice):Int64;
Description: To be documented
[Expand]
function TimerDeviceWait(Timer:PTimerDevice):LongWord;
Description: To be documented
[Expand]
function TimerDeviceEvent(Timer:PTimerDevice; Flags:LongWord; Callback:TTimerCallback; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function TimerDeviceGetRate(Timer:PTimerDevice):LongWord;
Description: To be documented
[Expand]
function TimerDeviceSetRate(Timer:PTimerDevice; Rate:LongWord):LongWord;
Description: To be documented
[Expand]
function TimerDeviceGetInterval(Timer:PTimerDevice):LongWord;
Description: To be documented
[Expand]
function TimerDeviceSetInterval(Timer:PTimerDevice; Interval:LongWord):LongWord;
Description: To be documented
[Expand]
function TimerDeviceProperties(Timer:PTimerDevice; Properties:PTimerProperties):LongWord;
Description: To be documented
[Expand]
function TimerDeviceCreate:PTimerDevice;
Description: Create a new Timer entry
Return
|
Pointer to new Timer entry or nil if Timer could not be created
|
[Expand]
function TimerDeviceCreateEx(Size:LongWord):PTimerDevice;
Description: Create a new Timer entry
Size
|
Size in bytes to allocate for new Timer (Including the Timer entry)
|
Return
|
Pointer to new Timer entry or nil if Timer could not be created
|
[Expand]
function TimerDeviceDestroy(Timer:PTimerDevice):LongWord;
Description: Destroy an existing Timer entry
[Expand]
function TimerDeviceRegister(Timer:PTimerDevice):LongWord;
Description: Register a new Timer in the Timer table
[Expand]
function TimerDeviceDeregister(Timer:PTimerDevice):LongWord;
Description: Deregister a Timer from the Timer table
[Expand]
function TimerDeviceFind(TimerId:LongWord):PTimerDevice;
Description: To be documented
[Expand]
function TimerDeviceFindByName(const Name:String):PTimerDevice; inline;
Description: To be documented
[Expand]
function TimerDeviceFindByDescription(const Description:String):PTimerDevice; inline;
Description: To be documented
[Expand]
function TimerDeviceEnumerate(Callback:TTimerEnumerate; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function TimerDeviceNotification(Timer:PTimerDevice; Callback:TTimerNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented
Random device functions
[Expand]
function RandomDeviceStart(Random:PRandomDevice):LongWord;
Description: To be documented
[Expand]
function RandomDeviceStop(Random:PRandomDevice):LongWord;
Description: To be documented
[Expand]
function RandomDeviceSeed(Random:PRandomDevice; Seed:LongWord):LongWord;
Description: To be documented
[Expand]
function RandomDeviceReadByte(Random:PRandomDevice):Byte;
Description: To be documented
[Expand]
function RandomDeviceReadWord(Random:PRandomDevice):Word;
Description: To be documented
[Expand]
function RandomDeviceReadLongWord(Random:PRandomDevice):LongWord;
Description: To be documented
[Expand]
function RandomDeviceReadQuadWord(Random:PRandomDevice):Int64;
Description: To be documented
[Expand]
function RandomDeviceReadExtended(Random:PRandomDevice):Extended;
Description: To be documented
[Expand]
function RandomDeviceCreate:PRandomDevice;
Description: Create a new Random entry
Return
|
Pointer to new Random entry or nil if Random could not be created
|
[Expand]
function RandomDeviceCreateEx(Size:LongWord):PRandomDevice;
Description: Create a new Random entry
Size
|
Size in bytes to allocate for new Random (Including the Random entry)
|
Return
|
Pointer to new Random entry or nil if Random could not be created
|
[Expand]
function RandomDeviceDestroy(Random:PRandomDevice):LongWord;
Description: Destroy an existing Random entry
[Expand]
function RandomDeviceRegister(Random:PRandomDevice):LongWord;
Description: Register a new Random in the Random table
[Expand]
function RandomDeviceDeregister(Random:PRandomDevice):LongWord;
Description: Deregister a Random from the Random table
[Expand]
function RandomDeviceFind(RandomId:LongWord):PRandomDevice;
Description: To be documented
[Expand]
function RandomDeviceFindByName(const Name:String):PRandomDevice; inline;
Description: To be documented
[Expand]
function RandomDeviceFindByDescription(const Description:String):PRandomDevice; inline;
Description: To be documented
[Expand]
function RandomDeviceEnumerate(Callback:TRandomEnumerate; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function RandomDeviceNotification(Random:PRandomDevice; Callback:TRandomNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented
Mailbox device functions
[Expand]
function MailboxDeviceStart(Mailbox:PMailboxDevice):LongWord;
Description: To be documented
[Expand]
function MailboxDeviceStop(Mailbox:PMailboxDevice):LongWord;
Description: To be documented
[Expand]
function MailboxDeviceReceive(Mailbox:PMailboxDevice; Channel:LongWord):LongWord;
Description: To be documented
[Expand]
function MailboxDeviceSend(Mailbox:PMailboxDevice; Channel,Data:LongWord):LongWord;
Description: To be documented
[Expand]
function MailboxDeviceCall(Mailbox:PMailboxDevice; Channel,Data:LongWord; var Response:LongWord):LongWord;
Description: To be documented
[Expand]
function MailboxDeviceGetTimeout(Mailbox:PMailboxDevice):LongWord;
Description: To be documented
[Expand]
function MailboxDeviceSetTimeout(Mailbox:PMailboxDevice; Timeout:LongWord):LongWord;
Description: To be documented
[Expand]
function MailboxDeviceCreate:PMailboxDevice;
Description: Create a new Mailbox entry
Return
|
Pointer to new Mailbox entry or nil if Mailbox could not be created
|
[Expand]
function MailboxDeviceCreateEx(Size:LongWord):PMailboxDevice;
Description: Create a new Mailbox entry
Size
|
Size in bytes to allocate for new Mailbox (Including the Mailbox entry)
|
Return
|
Pointer to new Mailbox entry or nil if Mailbox could not be created
|
[Expand]
function MailboxDeviceDestroy(Mailbox:PMailboxDevice):LongWord;
Description: Destroy an existing Mailbox entry
[Expand]
function MailboxDeviceRegister(Mailbox:PMailboxDevice):LongWord;
Description: Register a new Mailbox in the Mailbox table
[Expand]
function MailboxDeviceDeregister(Mailbox:PMailboxDevice):LongWord;
Description: Deregister a Mailbox from the Mailbox table
[Expand]
function MailboxDeviceFind(MailboxId:LongWord):PMailboxDevice;
Description: To be documented
[Expand]
function MailboxDeviceFindByName(const Name:String):PMailboxDevice; inline;
Description: To be documented
[Expand]
function MailboxDeviceFindByDescription(const Description:String):PMailboxDevice; inline;
Description: To be documented
[Expand]
function MailboxDeviceEnumerate(Callback:TMailboxEnumerate; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function MailboxDeviceNotification(Mailbox:PMailboxDevice; Callback:TMailboxNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented
Watchdog device functions
[Expand]
function WatchdogDeviceStart(Watchdog:PWatchdogDevice):LongWord;
Description: To be documented
[Expand]
function WatchdogDeviceStop(Watchdog:PWatchdogDevice):LongWord;
Description: To be documented
[Expand]
function WatchdogDeviceRefresh(Watchdog:PWatchdogDevice):LongWord;
Description: To be documented
[Expand]
function WatchdogDeviceGetRemain(Watchdog:PWatchdogDevice):LongWord;
Description: To be documented
[Expand]
function WatchdogDeviceGetTimeout(Watchdog:PWatchdogDevice):LongWord;
Description: To be documented
[Expand]
function WatchdogDeviceSetTimeout(Watchdog:PWatchdogDevice; Timeout:LongWord):LongWord;
Description: To be documented
[Expand]
function WatchdogDeviceCreate:PWatchdogDevice;
Description: Create a new Watchdog entry
Return
|
Pointer to new Watchdog entry or nil if Watchdog could not be created
|
[Expand]
function WatchdogDeviceCreateEx(Size:LongWord):PWatchdogDevice;
Description: Create a new Watchdog entry
Size
|
Size in bytes to allocate for new Watchdog (Including the Watchdog entry)
|
Return
|
Pointer to new Watchdog entry or nil if Watchdog could not be created
|
[Expand]
function WatchdogDeviceDestroy(Watchdog:PWatchdogDevice):LongWord;
Description: Destroy an existing Watchdog entry
[Expand]
function WatchdogDeviceRegister(Watchdog:PWatchdogDevice):LongWord;
Description: Register a new Watchdog in the Watchdog table
[Expand]
function WatchdogDeviceDeregister(Watchdog:PWatchdogDevice):LongWord;
Description: Deregister a Watchdog from the Watchdog table
[Expand]
function WatchdogDeviceFind(WatchdogId:LongWord):PWatchdogDevice;
Description: To be documented
[Expand]
function WatchdogDeviceFindByName(const Name:String):PWatchdogDevice; inline;
Description: To be documented
[Expand]
function WatchdogDeviceFindByDescription(const Description:String):PWatchdogDevice; inline;
Description: To be documented
[Expand]
function WatchdogDeviceEnumerate(Callback:TWatchdogEnumerate; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function WatchdogDeviceNotification(Watchdog:PWatchdogDevice; Callback:TWatchdogNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented
RTL clock functions
[Expand]
function SysClockRead:LongWord;
Description: To be documented
[Expand]
function SysClockRead64:Int64;
Description: To be documented
RTL timer (counter) functions
[Expand]
function SysTimerAvailable:Boolean;
Description: Check if a timer device is available
[Expand]
function SysTimerRead:LongWord;
Description: Read the current value of the default counter
Return
|
The 32 bit current value of the current or 0 on failure
|
[Expand]
function SysTimerRead64:Int64;
Description: Read the current value of the default counter
Return
|
The 64 bit current value of the current or 0 on failure
|
[Expand]
function SysTimerWait:LongWord;
Description: Wait for the current interval to expire on the default counter
Return
|
ERROR_SUCCESS if the interval expired or another error code on failure
|
[Expand]
function SysTimerEvent(Callback:TTimerCallback; Data:Pointer):LongWord;
Description: Schedule a function to be called when the current interval expires on the default counter
Callback
|
The function to be called when the interval expires
|
Data
|
A pointer to be pass to the function when the interval expires (Optional)
|
Return
|
ERROR_SUCCESS if the callback was scheduled successfully or another error code on failure
|
[Expand]
function SysTimerGetRate:LongWord;
Description: Get the current clock rate in Hz of the default counter
Return
|
The current clock rate in Hz or 0 on failure
|
[Expand]
function SysTimerSetRate(Rate:LongWord):LongWord;
Description: Set the current clock rate in Hz of the default counter
Rate
|
The clock rate in Hz to set
|
Return
|
ERROR_SUCCESS if the clock rate was set or another error code on failure
|
[Expand]
function SysTimerGetInterval:LongWord;
Description: Get the current interval in milliseconds of the default counter
Return
|
The current interval in milliseconds or 0 on failure (or not set)
|
[Expand]
function SysTimerSetInterval(Interval:LongWord):LongWord;
Description: Set the current interval in milliseconds of the default counter
Interval
|
The interval in milliseconds to set
|
Return
|
ERROR_SUCCESS if the interval was set or another error code on failure
|
RTL random functions
[Expand]
function SysRandomAvailable:Boolean;
Description: Check if a random (RNG) device is available
[Expand]
procedure SysRandomize;
Description: To be documented
[Expand]
procedure SysRandomSeed(Seed:LongWord);
Description: To be documented
[Expand]
function SysRandomReadLongInt(Limit:LongInt):LongInt;
Description: To be documented
[Expand]
function SysRandomReadInt64(Limit:Int64):Int64;
Description: To be documented
[Expand]
function SysRandomReadExtended:Extended;
Description: To be documented
RTL watchdog functions
[Expand]
function SysWatchdogAvailable:Boolean;
Description: Check if a watchdog timer device is available
[Expand]
function SysWatchdogStart(Milliseconds:LongWord):LongWord;
Description: To be documented
[Expand]
function SysWatchdogStop:LongWord;
Description: To be documented
[Expand]
function SysWatchdogRefresh(Milliseconds:LongWord):LongWord;
Description: To be documented
Device helper functions
[Expand]
function DeviceGetCount:LongWord; inline;
Description: Get the current device count
[Expand]
function DeviceCheck(Device:PDevice):PDevice;
Description: Check if the supplied Device is in the device table
[Expand]
function NotifierGetCount:LongWord; inline;
Description: Get the current notifier count
[Expand]
function NotifierCheck(Notifier:PNotifier):PNotifier;
Description: Check if the supplied Notifier is in the notifier table
[Expand]
function DeviceBusToString(DeviceBus:LongWord):String;
Description: To be documented
[Expand]
function DeviceStateToString(DeviceState:LongWord):String;
Description: To be documented
[Expand]
function DeviceClassToString(DeviceClass:LongWord):String;
Description: To be documented
[Expand]
function NotificationToString(Notification:LongWord):String;
Description: To be documented
[Expand]
procedure DeviceLog(Level:LongWord; Device:PDevice; const AText:String);
Description: To be documented
[Expand]
procedure DeviceLogInfo(Device:PDevice; const AText:String);
Description: To be documented
[Expand]
procedure DeviceLogError(Device:PDevice; const AText:String);
Description: To be documented
[Expand]
procedure DeviceLogDebug(Device:PDevice; const AText:String);
Description: To be documented
Driver helper functions
[Expand]
function DriverGetCount:LongWord; inline;
Description: Get the current driver count
[Expand]
function DriverCheck(Driver:PDriver):PDriver;
Description: Check if the supplied Driver is in the driver table
[Expand]
function DriverStateToString(DriverState:LongWord):String;
Description: To be documented
[Expand]
function DriverClassToString(DriverClass:LongWord):String;
Description: To be documented
Clock device helper functions
[Expand]
function ClockDeviceGetCount:LongWord; inline;
Description: Get the current clock device count
[Expand]
function ClockDeviceGetDefault:PClockDevice; inline;
Description: Get the current default clock device
[Expand]
function ClockDeviceSetDefault(Clock:PClockDevice):LongWord;
Description: Set the current default clock device
[Expand]
function ClockDeviceCheck(Clock:PClockDevice):PClockDevice;
Description: Check if the supplied Clock is in the Clock table
Timer device helper functions
[Expand]
function TimerDeviceGetCount:LongWord; inline;
Description: Get the current timer device count
[Expand]
function TimerDeviceGetDefault:PTimerDevice; inline;
Description: Get the current default timer device
[Expand]
function TimerDeviceSetDefault(Timer:PTimerDevice):LongWord;
Description: Set the current default timer device
[Expand]
function TimerDeviceCheck(Timer:PTimerDevice):PTimerDevice;
Description: Check if the supplied Timer is in the Timer table
Random device helper functions
[Expand]
function RandomDeviceGetCount:LongWord; inline;
Description: Get the current random device count
[Expand]
function RandomDeviceGetDefault:PRandomDevice; inline;
Description: Get the current default random device
[Expand]
function RandomDeviceSetDefault(Random:PRandomDevice):LongWord;
Description: Set the current default random device
[Expand]
function RandomDeviceCheck(Random:PRandomDevice):PRandomDevice;
Description: Check if the supplied Random is in the Random table
Mailbox device helper functions
[Expand]
function MailboxDeviceGetCount:LongWord; inline;
Description: Get the current mailbox device count
[Expand]
function MailboxDeviceGetDefault:PMailboxDevice; inline;
Description: Get the current default mailbox device
[Expand]
function MailboxDeviceSetDefault(Mailbox:PMailboxDevice):LongWord;
Description: Set the current default mailbox device
[Expand]
function MailboxDeviceCheck(Mailbox:PMailboxDevice):PMailboxDevice;
Description: Check if the supplied Mailbox is in the Mailbox table
Watchdog device helper functions
[Expand]
function WatchdogDeviceGetCount:LongWord; inline;
Description: Get the current watchdog device count
[Expand]
function WatchdogDeviceGetDefault:PWatchdogDevice; inline;
Description: Get the current default watchdog device
[Expand]
function WatchdogDeviceSetDefault(Watchdog:PWatchdogDevice):LongWord;
Description: Set the current default watchdog device
[Expand]
function WatchdogDeviceCheck(Watchdog:PWatchdogDevice):PWatchdogDevice;
Description: Check if the supplied Watchdog is in the Watchdog table
Return to Unit Reference