git-svn-id: https://spexeah.com:8443/svn/Asuro@289 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
kieron 2018-04-04 19:44:33 +00:00
parent 633c13c4d2
commit 0edad8444b

63
src/drivermanagement.pas Normal file
View File

@ -0,0 +1,63 @@
{ ************************************************
* Asuro
* Unit: Driver_Management
* Description: Manages Driver Loading
************************************************
* Author: K Morris
* Contributors:
************************************************ }
unit drivermanagement;
interface
uses
util, strings;
type
PDevEx = ^TDevEx;
TDevEx = record
idN : uInt32;
ex : PDevEx;
end;
TBusIdentifier = (biUnknown, biPCI, biUSB, bii2c, biPCIe);
PDeviceIdentifier = ^TDeviceIdentifier;
TDeviceIdentifier = record
Bus : TBusIdentifier;
id0 : uInt32;
id1 : uInt32;
id2 : uInt32;
id3 : uint32;
ex : PDevEx;
end;
TDriverLoadCallback = function(ptr : void) : boolean;
PDriverRegistration = ^TDriverRegistration;
TDriverRegistration = record
Identifier : TDeviceIdentifier;
Driver_Load : TDriverLoadCallback;
Loaded : Boolean;
Next : PDriverRegistration;
end;
procedure register_driver(DeviceID : PDeviceIdentifier; Load_Callback : TDriverLoadCallback);
procedure register_device(DeviceID : PDeviceIdentifier);
var
Root : PDriverRegistration = nil;
implementation
procedure register_driver(DeviceID : PDeviceIdentifier; Load_Callback : TDriverLoadCallback);
begin
end;
procedure register_device(DeviceID : PDeviceIdentifier);
begin
end;
end.