This section defines some data types and values that are fundamental to interrupt management.
typedef KernelID InterruptSetID;
typedef long InterruptMemberNumber;
enum {
kReturnToParentWhenComplete = 0x00000001,
kReturnToParentWhenNotComplete = 0x00000002
};
typedef struct InterruptSetMember {
InterruptSetID set;
InterruptMemberNumber member;
} InterruptSetMember;
enum{
kISTChipInterruptSource = 0,
kISTOutputDMAInterruptSource = 1,
kISTInputDMAInterruptSource = 2,
kISTPropertyMemberCount = 3
};
typedef InterruptSetMember ISTProperty[ kISTPropertyMemberCount ];
#define kISTPropertyName "driver-ist"
typedef long InterruptReturnValue;
enum
{
kFirstMemberNumber = 1,
kIsrIsComplete = 0
kIsrIsNotComplete = -1,
kMemberNumberParent = -2,
};
typedef Boolean InterruptSourceState;
enum
{
kSourceWasEnabled = true,
kSourceWasDisabled = false
};