From 0edad8444b332c3ea0039301fa0fc47657752f6d Mon Sep 17 00:00:00 2001 From: kieron Date: Wed, 4 Apr 2018 19:44:33 +0000 Subject: [PATCH] boom git-svn-id: https://spexeah.com:8443/svn/Asuro@289 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- src/drivermanagement.pas | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/drivermanagement.pas diff --git a/src/drivermanagement.pas b/src/drivermanagement.pas new file mode 100644 index 00000000..d131179c --- /dev/null +++ b/src/drivermanagement.pas @@ -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. \ No newline at end of file