These are the lines from DSCUD.H that provide the interface to user interrupt functions. For complete details see the function descriptions and the datatype descriptions.
// User Interrupt Modes
#define USER_INT_CANCEL 0
#define USER_INT_AFTER 1
#define USER_INT_INSTEAD 2
// User Interrupt Sources
#define USER_INT_SOURCE_INTERNAL 0
#define USER_INT_SOURCE_EXTERNAL 1
// Type Definitions
typedef void (*DSCUserInterruptFunction) (void* parameter);
// Structures
// The following structure is used by all type of user interrupts
typedef struct
{
DSCUserInterruptFunction func;
BYTE int_mode;
} DSCUSERINTFUNCTION;
// The following structure is used only by the solo type user interrupts
typedef struct
{
BYTE intsource;
FLOAT rate;
BYTE clksource;
BYTE counter;
DWORD int_type;
DSCUserInterruptFunction func;
BOOL Enable;
BOOL Mode;
BOOL BitSelect;
BOOL Edge;
}
// Function Prototypes
BYTE DSCUDAPICALL dscSetUserInterruptFunction(DSCB board, DSCUSERINTFUNCTION * dscuserintfunction);
BYTE DSCUDAPICALL dscClearUserInterruptFunction(DSCB board);
BYTE DSCUDAPICALL dscUserInt(DSCB board, DSCUSERINT* dscuserint, DSCUserInterruptFunction func);