Units
Class Hierarchy
Classes, Interfaces and Objects
Types
Enumerations
Variables
Constants
Functions and Procedures
Identifiers

Unit kdclxcore

Description

Unit kdclxcore contains implementations and accompanying definitions for fundamental classes, such as: TkdCustomCard and TkdResource.

Classes, Interfaces and Objects

NameDescription
Class TkdCustomCardClass TkdCustomCard models hardware device. Whereas descendants of TkdResource class model different hardware resources separately (such as: memory and port ranges, registers, interrupts and other), TkdCustomCard models hardware device (or card) on the whole. This class includes members for making up the device abstraction (henceforth, model) by attaching and detaching essential resources mentioned above, loading and unloading the GDD, registering and unregistering the device model (the prototype of user-mode device driver) in the system. An original and very powerful feature is that this component and its CardItems property are equipped with a specific editor - tool whose name is CardBuilder. Right at design time CardBuilder, like a wizard, helps you to produce the definition of device model and the diagnostics of corresponding hardware. TkdCustomCard is the ultimate class for hardware devices, it does not support inheritance. Although TkdCustomCard class has dozens of methods and properties, relevant members are documented only. Refer to the outside documentation about how to use CardBuilder.
Class TkdResourceResource class TkdResource is the ultimate ancestor for all components modelling hardware resources in KylixDriver Application Library. The class provides no specific members for actual hardware access, rather it represents a detailed framework that allows its descendants to equally establish their working sessions with the GDD and to have the opportunities to be plainly registered in the system. Although TkdResource class has dozens of methods and properties, relevant members are documented only.

Types

Overview

TkdCommonRegisteredParametersStruct = record ResourceUniqueId: LongWord; ResourceId: LongWord; case LongWord of 0: (RangeStruct: TkdRangeStruct); 1: (InterruptStruct: TkdInterruptStruct); 2: (RegisterStruct: TkdHWRangeRegisterStruct); 3: (UsbDeviceStruct: TkdUSBDeviceStruct); 4: (PCIConfigStruct: TkdPCIConfigStruct); 5: (DMABufferStruct: TkdDMABufferStruct); end
TkdCustomCardSleepOptions = set of TkdCustomCardSleepOption
TkdDirectMemoryRangePart = record StartPageAddr: LongWord; MapLength: LongWord; MemProt: LongWord; MapType: LongWord; UserDirectAddr: LongWord; end
TkdDMABufferStruct = record PCIConfigId: LongWord; end
TkdHWRangePart = record RangeShared: LongWord; MapType: LongWord; case LongWord of 0: (MemoryRangePart: TkdMemoryRangePart); end
TkdHWRangeRegisterStruct = record AutoRead: LongWord; RangeID: LongWord; Offset: LongWord; Size: LongWord; UseMode: LongWord; MapType: LongWord; end
TkdInterruptStruct = record AutoRequest: LongWord; IntNumber: LongWord; IntShared: LongWord; IntType: LongWord; HandlerType: LongWord; FeedbackData: Pointer; FeedbackItems: LongWord; UseIntAck: LongWord; UseIntHandler: LongWord; IntDataStorage: Pointer; SharedMemory: LongWord; end
TkdMemoryRangePart = record TransAddr: LongWord; end
TkdPCIConfigStruct = record DeviceId: LongWord; VendorId: LongWord; Bus : LongWord; Slot : LongWord; Func : LongWord; RealBus : LongWord; RealSlot: LongWord; RealFunc: LongWord; end
TkdRangeStruct = record RangeFrom: LongWord; RangeTo: LongWord; case LongWord of 0: (HWRangePart: TkdHWRangePart); 1: (DirectRangePart: TkdDirectMemoryRangePart); end
TkdUsbDeviceStruct = record ProductId: LongWord; VendorId: LongWord; end

Description

TkdCommonRegisteredParametersStruct = record ResourceUniqueId: LongWord; ResourceId: LongWord; case LongWord of 0: (RangeStruct: TkdRangeStruct); 1: (InterruptStruct: TkdInterruptStruct); 2: (RegisterStruct: TkdHWRangeRegisterStruct); 3: (UsbDeviceStruct: TkdUSBDeviceStruct); 4: (PCIConfigStruct: TkdPCIConfigStruct); 5: (DMABufferStruct: TkdDMABufferStruct); end

TkdCommonRegisteredParametersStruct = record ResourceUniqueId: LongWord; case LongWord of 0: (RangeStruct: TkdRangeStruct); 1: (InterruptStruct: TkdInterruptStruct); 2: (RegisterStruct: TkdHWRangeRegisterStruct); 3: (UsbDeviceStruct: TkdUSBDeviceStruct); 4: (PCIConfigStruct: TkdPCIConfigStruct); 5: (DMABufferStruct: TkdDMABufferStruct); end;

TkdCustomCardSleepOptions = set of TkdCustomCardSleepOption

TkdCustomCardSleepOptions = set of TkdCustomCardSleepOption;

TkdDirectMemoryRangePart = record StartPageAddr: LongWord; MapLength: LongWord; MemProt: LongWord; MapType: LongWord; UserDirectAddr: LongWord; end

TkdDirectMemoryRangePart = record StartPageAddr: LongWord; MapLength: LongWord; MemProt: LongWord; MapType: LongWord; UserDirectAddr: LongWord; end;

TkdDMABufferStruct = record PCIConfigId: LongWord; end

TkdDMABufferStruct = record PCIConfigId: LongWord; end;

TkdHWRangePart = record RangeShared: LongWord; MapType: LongWord; case LongWord of 0: (MemoryRangePart: TkdMemoryRangePart); end

TkdHWRangePart = record RangeShared: LongWord; MapType: LongWord; case LongWord of 0: (MemoryRangePart: TkdMemoryRangePart); end;

TkdHWRangeRegisterStruct = record AutoRead: LongWord; RangeID: LongWord; Offset: LongWord; Size: LongWord; UseMode: LongWord; MapType: LongWord; end

TkdHWRangeRegisterStruct = record AutoRead: LongWord; RangeID: LongWord; Offset: LongWord; Size: LongWord; UseMode: LongWord; MapType: LongWord; end;

TkdInterruptStruct = record AutoRequest: LongWord; IntNumber: LongWord; IntShared: LongWord; IntType: LongWord; HandlerType: LongWord; FeedbackData: Pointer; FeedbackItems: LongWord; UseIntAck: LongWord; UseIntHandler: LongWord; IntDataStorage: Pointer; SharedMemory: LongWord; end

TkdInterruptStruct = record AutoRequest: LongWord; IntNumber: LongWord; IntShared: LongWord; IntType: LongWord; HandlerType: LongWord; FeedbackData: Pointer; FeedbackItems: LongWord; UseIntAck: LongWord; UseIntHandler: LongWord; IntDataStorage: Pointer; SharedMemory: LongWord; end;

TkdMemoryRangePart = record TransAddr: LongWord; end

TkdMemoryRangePart = record TransAddr: LongWord; end;

TkdPCIConfigStruct = record DeviceId: LongWord; VendorId: LongWord; Bus : LongWord; Slot : LongWord; Func : LongWord; RealBus : LongWord; RealSlot: LongWord; RealFunc: LongWord; end

TkdPCIConfigStruct = record DeviceId: LongWord; VendorId: LongWord; Bus : LongWord; Slot : LongWord; Func : LongWord; RealBus : LongWord; RealSlot: LongWord; RealFunc: LongWord; end;

TkdRangeStruct = record RangeFrom: LongWord; RangeTo: LongWord; case LongWord of 0: (HWRangePart: TkdHWRangePart); 1: (DirectRangePart: TkdDirectMemoryRangePart); end

TkdRangeStruct = record RangeFrom: LongWord; RangeTo: LongWord; case LongWord of 0: (HWRangePart: TkdHWRangePart); 1: (DirectRangePart: TkdDirectMemoryRangePart); end;

TkdUsbDeviceStruct = record ProductId: LongWord; VendorId: LongWord; end

TkdUsbDeviceStruct = record ProductId: LongWord; VendorId: LongWord; end;

Enumerations

TkdCustomCardCardType
TkdHWRangeRegisterUseMode = (umRead, umWrite, umTotal);
 ctCustomCard 
 ctParallelPort 
 ctPCICard 
TkdCustomCardSleepOption
TkdCustomCardSleepOption = (soNON_BUSY_SLEEP);
 soNON_BUSY_SLEEP 

Author

ETSoft Tenzor.Net (etsoft@tenzor.net)

Created

01 May 2004

Last Modified

05 February 2005