| /** \file vp_api_event.h |
| * vp_api_event.h |
| * |
| * This file contains declaration associated with VP-API events. |
| * |
| * $Revision: 8609 $ |
| * $LastChangedDate: 2011-05-27 14:55:29 -0500 (Fri, 27 May 2011) $ |
| */ |
| |
| #ifndef VP_API_EVENT_H |
| #define VP_API_EVENT_H |
| |
| #include "vp_api_types.h" |
| |
| #define VP_EVENT_MASK_ALL 0xFFFF |
| |
| /* Event category type */ |
| typedef enum { |
| VP_EVCAT_FAULT = 0, |
| VP_EVCAT_SIGNALING = 1, |
| VP_EVCAT_RESPONSE = 2, |
| VP_EVCAT_TEST = 3, |
| VP_EVCAT_PROCESS = 4, |
| VP_EVCAT_FXO = 5, |
| VP_EVCAT_PACKET = 6, |
| VP_NUM_EVCATS, |
| VP_EVCAT_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpEventCategoryType; |
| |
| typedef struct { |
| uint16 faults; /**< Fault event mask */ |
| uint16 signaling; /**< Signaling event mask */ |
| uint16 response; /**< Mailbox response event mask */ |
| uint16 test; /**< Test events */ |
| uint16 process; /**< Call process related events */ |
| uint16 fxo; /**< FXO events mask */ |
| uint16 packet; /**< Packet events mask - no longer used */ |
| } VpOptionEventMaskType; |
| |
| typedef enum { |
| VP_DEV_EVID_BAT_FLT = 0x0001, /**< Device detected battery fault */ |
| VP_DEV_EVID_CLK_FLT = 0x0002, /**< Device detected clock fault */ |
| VP_LINE_EVID_THERM_FLT = 0x0004, /**< Thermal Overload condition */ |
| VP_LINE_EVID_DC_FLT = 0x0008, /**< DC Fault detected on line */ |
| VP_LINE_EVID_AC_FLT = 0x0010, /**< AC Fault detected on line */ |
| VP_LINE_EVID_SYNC_FLT = 0x0020, /**< SLAC Synchronization fault */ |
| VP_LINE_EVID_RES_LEAK_FLT = 0x0040, /**< Low loop resistance while on-hook */ |
| VP_LINE_EVID_SEAL_CUR_FLT = 0x0080, /**< Sealing current error */ |
| VP_DEV_EVID_WDT_FLT = 0x2000, /**< Watchdog timer fault */ |
| VP_DEV_EVID_EVQ_OFL_FLT = 0x4000, /**< event queue overflow fault */ |
| VP_DEV_EVID_SYSTEM_FLT = 0x8000, /**< VCP2 system fault */ |
| /* The following fault events are device-specific, not line-specific */ |
| VP_EVCAT_FAULT_DEV_EVENTS = (int)(VP_DEV_EVID_BAT_FLT | |
| VP_DEV_EVID_CLK_FLT | |
| VP_DEV_EVID_EVQ_OFL_FLT | |
| VP_DEV_EVID_WDT_FLT | |
| VP_DEV_EVID_SYSTEM_FLT), |
| /* Remaining undefined events should be masked to protect against |
| * future changes */ |
| VP_EVCAT_FAULT_UNDEFINED = (int)(~(VP_DEV_EVID_BAT_FLT | |
| VP_DEV_EVID_CLK_FLT | |
| VP_LINE_EVID_THERM_FLT | |
| VP_LINE_EVID_DC_FLT | |
| VP_LINE_EVID_AC_FLT | |
| VP_LINE_EVID_SYNC_FLT | |
| VP_LINE_EVID_RES_LEAK_FLT | |
| VP_LINE_EVID_SEAL_CUR_FLT | |
| VP_DEV_EVID_WDT_FLT | |
| VP_DEV_EVID_EVQ_OFL_FLT | |
| VP_DEV_EVID_SYSTEM_FLT)), /* NOTES: |
| * The typecasting (int) is necessary in some compilers that have |
| * sizeof(enum) == sizeof(int) == 2bytes and also because of 'C' rules for |
| * hexadecimal constants. Hexadecimal constants are treated as unsigned and |
| * enum variables are of type signed int. Thus compilers generate warning |
| * when code attempts to assign number that is bigger than what a signed enum |
| * can hold */ |
| |
| VP_EVCAT_FAULT_UNMASK_ALL = (int)(VP_EVENT_MASK_ALL & |
| VP_EVCAT_FAULT_UNDEFINED), |
| VP_EVCAT_FAULT_MASK_ALL = (int)(~VP_EVCAT_FAULT_UNDEFINED), |
| VP_EVCAT_FAULT_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpFaultEventType; |
| |
| typedef enum { |
| VP_LINE_EVID_HOOK_OFF = 0x0001, /**< Off-Hook detected */ |
| VP_LINE_EVID_HOOK_ON = 0x0002, /**< On-Hook detected */ |
| VP_LINE_EVID_GKEY_DET = 0x0004, /**< Ground Key detected */ |
| VP_LINE_EVID_GKEY_REL = 0x0008, /**< Ground Key release detected */ |
| VP_LINE_EVID_FLASH = 0x0010, /**< Hook switch flash detected */ |
| VP_LINE_EVID_STARTPULSE = 0x0020, /**< Start of a dial pulse detected */ |
| VP_LINE_EVID_DTMF_DIG = 0x0040, /**< New DTMF digit detected */ |
| VP_LINE_EVID_PULSE_DIG = 0x0080, /**< New pulse digit detected */ |
| VP_LINE_EVID_MTONE = 0x0100, /**< Modem tone detected */ |
| VP_DEV_EVID_TS_ROLLOVER = 0x0200, /**< Timestamp rollover */ |
| |
| VP_LINE_EVID_US_TONE_DETECT = 0x0400, /**< Upstream tone detection event */ |
| VP_LINE_EVID_DS_TONE_DETECT = 0x0800, /**< Downstream tone detection event*/ |
| VP_DEV_EVID_SEQUENCER = 0x1000, /**< Sequencer Event */ |
| VP_LINE_EVID_BREAK_MAX = 0x2000, /**< Break Max time has been exceeded */ |
| VP_LINE_EVID_EXTD_FLASH = 0x4000, /**< Flash Hook between flash max and on-hook min */ |
| VP_LINE_EVID_HOOK_PREQUAL = 0x8000, /**< debounced off/on hook detected, but < offHookMin */ |
| |
| /* The following signaling events are device-specific, not line-specific */ |
| VP_EVCAT_SIGNALING_DEV_EVENTS = (int)(VP_DEV_EVID_TS_ROLLOVER | |
| VP_DEV_EVID_SEQUENCER), |
| /* Remaining undefined events should be masked to protect against |
| * future changes */ |
| VP_EVCAT_SIGNALING_UNDEFINED = (int)(~(VP_LINE_EVID_HOOK_OFF | |
| VP_LINE_EVID_HOOK_ON | |
| VP_LINE_EVID_GKEY_DET | |
| VP_LINE_EVID_GKEY_REL | |
| VP_LINE_EVID_FLASH | |
| VP_LINE_EVID_STARTPULSE | |
| VP_LINE_EVID_DTMF_DIG | |
| VP_LINE_EVID_PULSE_DIG | |
| VP_LINE_EVID_MTONE | |
| VP_DEV_EVID_TS_ROLLOVER | |
| VP_LINE_EVID_US_TONE_DETECT | |
| VP_LINE_EVID_DS_TONE_DETECT | |
| VP_DEV_EVID_SEQUENCER | |
| VP_LINE_EVID_BREAK_MAX | |
| VP_LINE_EVID_EXTD_FLASH | |
| VP_LINE_EVID_HOOK_PREQUAL)), |
| |
| VP_EVCAT_SIGNALING_UNMASK_ALL = (int)(VP_EVENT_MASK_ALL & |
| VP_EVCAT_SIGNALING_UNDEFINED), |
| VP_EVCAT_SIGNALING_MASK_ALL = (int)(~VP_EVCAT_SIGNALING_UNDEFINED), |
| VP_EVCAT_SIG_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpSignalingEventType; |
| |
| typedef enum { |
| VP_DEV_EVID_BOOT_CMP = 0x0001, /**< VCP Startup sequence has |
| * completed; Non-maskable |
| */ |
| VP_LINE_EVID_LLCMD_TX_CMP = 0x0002, /**< Low level write transaction has |
| * completed |
| */ |
| VP_LINE_EVID_LLCMD_RX_CMP = 0x0004, /**< Low Level read transaction has |
| * completed |
| */ |
| VP_DEV_EVID_DNSTR_MBOX = 0x0008, /**< Dowstream Mailbox event ready */ |
| VP_LINE_EVID_RD_OPTION = 0x0010, /**< Read Option request complete */ |
| VP_LINE_EVID_RD_LOOP = 0x0020, /**< Read Loop Conditions is complete |
| */ |
| VP_EVID_CAL_CMP = 0x0040, /**< Device or Line Calibration is |
| * complete |
| */ |
| VP_EVID_CAL_BUSY = 0x0080, /**< Calibration not performed, line |
| * busy |
| */ |
| VP_LINE_EVID_GAIN_CMP = 0x0100, /**< Gain Adjustment complete */ |
| VP_LINE_EVID_QUERY_CMP = 0x0200, /**< Query complete */ |
| VP_DEV_EVID_DEV_INIT_CMP = 0x0400, /**< Device Init complete */ |
| VP_LINE_EVID_LINE_INIT_CMP = 0x0800, /**< Line Init complete */ |
| VP_DEV_EVID_IO_ACCESS_CMP = 0x1000, /**< Device Access complete */ |
| VP_LINE_EVID_LINE_IO_RD_CMP = 0x2000, /**< Line GPIO read complete */ |
| VP_LINE_EVID_LINE_IO_WR_CMP = 0x4000, /**< Line GPIO write complete */ |
| VP_LINE_EVID_SLAC_INIT_CMP = 0x8000, /**< SLAC Init complete */ |
| /* The following response events are device-specific, not line-specific */ |
| VP_EVCAT_RESPONSE_DEV_EVENTS = (int)(VP_DEV_EVID_BOOT_CMP | |
| VP_DEV_EVID_DNSTR_MBOX | |
| VP_DEV_EVID_DEV_INIT_CMP | |
| VP_DEV_EVID_IO_ACCESS_CMP), |
| /* Remaining undefined events should be masked to protect against |
| * future changes */ |
| VP_EVCAT_RESPONSE_UNDEFINED = (int)(~(VP_DEV_EVID_BOOT_CMP | |
| VP_LINE_EVID_LLCMD_TX_CMP | |
| VP_LINE_EVID_LLCMD_RX_CMP | |
| VP_DEV_EVID_DNSTR_MBOX | |
| VP_LINE_EVID_RD_OPTION | |
| VP_LINE_EVID_RD_LOOP | |
| VP_EVID_CAL_CMP | |
| VP_EVID_CAL_BUSY | |
| VP_LINE_EVID_GAIN_CMP | |
| VP_LINE_EVID_QUERY_CMP | |
| VP_DEV_EVID_DEV_INIT_CMP | |
| VP_LINE_EVID_LINE_INIT_CMP | |
| VP_DEV_EVID_IO_ACCESS_CMP | |
| VP_LINE_EVID_LINE_IO_RD_CMP | |
| VP_LINE_EVID_LINE_IO_WR_CMP | |
| VP_LINE_EVID_SLAC_INIT_CMP)), |
| |
| VP_EVCAT_RESPONSE_UNMASK_ALL = (int)(VP_EVENT_MASK_ALL & |
| VP_EVCAT_RESPONSE_UNDEFINED), |
| VP_EVCAT_RESPONSE_MASK_ALL = (int)(~VP_EVCAT_RESPONSE_UNDEFINED), |
| VP_EVCAT_RES_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpResponseEventType; |
| |
| typedef enum |
| { |
| VP_LINE_EVID_TEST_CMP = 0x0001, /**< A requested test has been completed*/ |
| VP_LINE_EVID_TEST_RSVD1 = 0x0002, /**< Reserved event */ |
| VP_LINE_EVID_DTONE_DET = 0x0004, /**< Dial-Tone Test - Dialtone Detected */ |
| VP_LINE_EVID_DTONE_LOSS = 0x0008, /**< Dial-Tone Test - Dialtone Lost */ |
| VP_DEV_EVID_STEST_CMP = 0x0010, /**< Self Test Function complete */ |
| VP_DEV_EVID_CHKSUM = 0x0020, /**< Code-space checksum is complete */ |
| VP_LINE_EVID_ABORT = 0x0040, /**< Event requesting abort test */ |
| /* The following test events are device-specific, not line-specific */ |
| VP_EVCAT_TEST_DEV_EVENTS = (int)(VP_DEV_EVID_CHKSUM), |
| /* Remaining undefined events should be masked to protect against |
| * future changes */ |
| VP_EVCAT_TEST_UNDEFINED = (int)(~(VP_LINE_EVID_TEST_CMP | |
| VP_LINE_EVID_DTONE_DET | |
| VP_LINE_EVID_DTONE_LOSS | |
| VP_DEV_EVID_STEST_CMP | |
| VP_DEV_EVID_CHKSUM)), |
| |
| VP_EVCAT_TEST_UNMASK_ALL = (int)(VP_EVENT_MASK_ALL & |
| VP_EVCAT_TEST_UNDEFINED), |
| VP_EVCAT_TEST_MASK_ALL = (int)(~VP_EVCAT_TEST_UNDEFINED), |
| VP_EVCAT_TEST_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpTestEventType; |
| |
| typedef enum |
| { |
| VP_LINE_EVID_MTR_CMP = 0x0001, /**< Metering Signal complete */ |
| VP_LINE_EVID_MTR_ABORT = 0x0002, /**< Metering Signal aborted */ |
| VP_LINE_EVID_CID_DATA = 0x0004, /**< Caller ID Transmission buffer is |
| * empty |
| */ |
| VP_LINE_EVID_RING_CAD = 0x0008, /**< Ring Cadence State change |
| * information |
| */ |
| VP_LINE_EVID_SIGNAL_CMP = 0x0010, /**< Signal Generation complete */ |
| VP_LINE_EVID_MTR_CAD = 0x0020, /**< Metering cadence */ |
| |
| VP_LINE_EVID_TONE_CAD = 0x0040, /**< Tone Cadence complete */ |
| |
| VP_LINE_EVID_MTR_ROLLOVER = 0x0080, /**< Metering count rollover */ |
| VP_LINE_EVID_GEN_TIMER = 0x0100, /**< Timer complete / canceled / error */ |
| VP_LINE_EVID_USER = 0x0200, /**< User-defined event */ |
| VP_LINE_EVID_AUTO_LOOP_COND = 0x0400, /**< VP_OPTION_ID_AUTO_LOOP_COND event */ |
| |
| /* There are no device-specific process events */ |
| VP_EVCAT_PROCESS_DEV_EVENTS = 0, |
| |
| /* Remaining undefined events should be masked to protect against |
| * future changes */ |
| VP_EVCAT_PROCESS_UNDEFINED = (int)(~(VP_LINE_EVID_MTR_CMP | |
| VP_LINE_EVID_MTR_ABORT | |
| VP_LINE_EVID_CID_DATA | |
| VP_LINE_EVID_RING_CAD | |
| VP_LINE_EVID_SIGNAL_CMP | |
| VP_LINE_EVID_MTR_CAD | |
| VP_LINE_EVID_TONE_CAD | |
| VP_LINE_EVID_MTR_ROLLOVER | |
| VP_LINE_EVID_GEN_TIMER | |
| VP_LINE_EVID_USER)), |
| |
| VP_EVCAT_PROCESS_UNMASK_ALL = (int)(VP_EVENT_MASK_ALL & |
| VP_EVCAT_PROCESS_UNDEFINED), |
| VP_EVCAT_PROCESS_MASK_ALL = (int)(~VP_EVCAT_PROCESS_UNDEFINED), |
| VP_EVCAT_PRO_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpProcessEventType; |
| |
| typedef enum { |
| /* FXO API Event Types */ |
| VP_LINE_EVID_RING_ON = 0x0001, /**< Ringing detected on line */ |
| VP_LINE_EVID_RING_OFF = 0x0002, /**< Ringing previously detected has |
| * stopped |
| */ |
| VP_LINE_EVID_LIU = 0x0004, /**< Line In Use by adjacent line off |
| * hook |
| */ |
| VP_LINE_EVID_LNIU = 0x0008, /**< Line In Use by adjacent line on |
| * hook */ |
| VP_LINE_EVID_FEED_DIS = 0x0010, /**< Line feed disabled (or too low) */ |
| VP_LINE_EVID_FEED_EN = 0x0020, /**< Line feed enabled */ |
| VP_LINE_EVID_DISCONNECT = 0x0040, /**< Line feed removed while loop close */ |
| VP_LINE_EVID_RECONNECT = 0x0080, /**< Line feed connected while loop |
| * close |
| */ |
| VP_LINE_EVID_POLREV = 0x0100, /**< Line polarity reversal has occurred*/ |
| VP_LINE_EVID_POH = 0x0200, /**< Parallel line off-hook */ |
| VP_LINE_EVID_PNOH = 0x0400, /**< Parallel line on-hook */ |
| |
| /* There are no device-specific FXO events */ |
| VP_EVCAT_FXO_DEV_EVENTS = 0, |
| /* Remaining undefined events should be masked to protect against |
| * future changes */ |
| VP_EVCAT_FXO_UNDEFINED = (int)(~(VP_LINE_EVID_RING_ON | |
| VP_LINE_EVID_RING_OFF | |
| VP_LINE_EVID_LIU | |
| VP_LINE_EVID_LNIU | |
| VP_LINE_EVID_FEED_DIS | |
| VP_LINE_EVID_FEED_EN | |
| VP_LINE_EVID_DISCONNECT | |
| VP_LINE_EVID_RECONNECT | |
| VP_LINE_EVID_POLREV | |
| VP_LINE_EVID_POH | |
| VP_LINE_EVID_PNOH)), |
| |
| VP_EVCAT_FXO_UNMASK_ALL = (int)(VP_EVENT_MASK_ALL & |
| VP_EVCAT_FXO_UNDEFINED), |
| VP_EVCAT_FXO_MASK_ALL = (int)(~VP_EVCAT_FXO_UNDEFINED), |
| VP_EVCAT_FXO_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpFxoEventType; |
| |
| typedef enum { |
| VP_LINE_EVID_US_PKT_RDY = 0x0001, /**< Upstream Packet ready event */ |
| VP_LINE_EVID_NEED_DS_PKT = 0x0002, /**< Need Downstream Packet event */ |
| VP_LINE_EVID_PKT_ERROR = 0x0004, /**< Packet type error event */ |
| VP_LINE_EVID_PKT_LOST = 0x0008, /**< Packet loss event */ |
| VP_LINE_EVID_RD_PKT_STATS = 0x0010, /**< Read packet statistics complete*/ |
| /* There are no device-specific packet events */ |
| VP_EVCAT_PACKET_DEV_EVENTS = 0, |
| /* Remaining undefined events should be masked to protect against |
| * future changes */ |
| VP_EVCAT_PACKET_UNDEFINED = (int)(~(VP_LINE_EVID_US_PKT_RDY | |
| VP_LINE_EVID_NEED_DS_PKT | |
| VP_LINE_EVID_PKT_ERROR | |
| VP_LINE_EVID_PKT_LOST | |
| VP_LINE_EVID_RD_PKT_STATS)), |
| |
| VP_EVCAT_PACKET_UNMASK_ALL = (int)(VP_EVENT_MASK_ALL & |
| VP_EVCAT_PACKET_UNDEFINED), |
| VP_EVCAT_PACKET_MASK_ALL = (int)(~VP_EVCAT_PACKET_UNDEFINED), |
| VP_EVCAT_PKT_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpPacketEventType; |
| |
| /* Enumerations for interpreting event data in the VpGetEvent() field */ |
| typedef enum { |
| VP_BAT_FLT_NONE = 0x0, |
| VP_BAT_FLT_BAT2 = 0x1, |
| VP_BAT_FLT_BAT1 = 0x2, |
| VP_BAT_FLT_BAT3 = 0x4, |
| VP_BAT_FLT_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpBatFltEventDataType; |
| |
| typedef enum { |
| VP_RING_CAD_BREAK = 0, |
| VP_RING_CAD_MAKE = 1, |
| VP_RING_CAD_DONE = 2, |
| VP_RING_CAD_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpRingCadEventDataType; |
| |
| typedef enum { |
| VP_CID_DATA_NEED_MORE_DATA = 0, |
| VP_CID_DATA_TX_DONE = 1, |
| VP_CID_DATA_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpCidDataEventDataType; |
| |
| typedef enum { |
| VP_DIG_1 = 0x01, |
| VP_DIG_2 = 0x02, |
| VP_DIG_3 = 0x03, |
| VP_DIG_4 = 0x04, |
| VP_DIG_5 = 0x05, |
| VP_DIG_6 = 0x06, |
| VP_DIG_7 = 0x07, |
| VP_DIG_8 = 0x08, |
| VP_DIG_9 = 0x09, |
| VP_DIG_10 = 0x0A, /* pulse only */ |
| VP_DIG_11 = 0x0B, /* pulse only */ |
| VP_DIG_12 = 0x0C, /* pulse only */ |
| VP_DIG_13 = 0x0D, /* pulse only */ |
| VP_DIG_14 = 0x0E, /* pulse only */ |
| VP_DIG_15 = 0x0F, /* pulse only */ |
| VP_DIG_ZERO = 0x0A, /* DTMF only */ |
| VP_DIG_ASTER = 0x0B, /* DTMF only */ |
| VP_DIG_POUND = 0x0C, /* DTMF only */ |
| VP_DIG_A = 0x0D, /* DTMF only */ |
| VP_DIG_B = 0x0E, /* DTMF only */ |
| VP_DIG_C = 0x0F, /* DTMF only */ |
| VP_DIG_D = 0x00, /* DTMF only */ |
| VP_DIG_NONE = 0xFF, |
| VP_DIG_ENUM_RSVD = FORCE_SIGNED_ENUM, |
| VP_DIG_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpDigitType; |
| |
| /* |
| * Indicates which set of Dial Pulse Specifications were met that is generating |
| * the dial pulse event. |
| */ |
| typedef enum { |
| VP_DP_PARAM1 = 0, |
| VP_DP_PARAM2 = 1, |
| VP_DP_PARAM_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpDialPulseParamType; |
| |
| typedef enum { |
| VP_DIG_SENSE_BREAK = 0x0000, |
| VP_DIG_SENSE_MAKE = 0x0010, |
| VP_DIG_SENSE_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpDigitSenseType; |
| |
| typedef enum { |
| VP_POLREV_NORMAL = 0, /* Line detected Reverse-to-Normal Transition */ |
| VP_POLREV_REVERSE = 1, /* Line detected Normal-to-Reverse Transition */ |
| VP_POLREV_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpPolRevEventDataType; |
| |
| typedef enum { |
| VP_SYNC_MB_ERR = 0x00, |
| VP_SYNC_SEQ_BAD_INST = 0x81, /* Unknown instruction in sequence */ |
| VP_SYNC_SEQ_BAD_BR = 0x82, /* Sequencer encountered bad branch (either |
| * a forward branch or too many nesting levels */ |
| VP_SYNC_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpSyncFltEventDataType; |
| |
| typedef enum { |
| VP_GEN_TIMER_STATUS_CMP = 0, |
| VP_GEN_TIMER_STATUS_CANCELED = 1, |
| VP_GEN_TIMER_STATUS_RESRC_NA = 2, |
| VP_GEN_TIMER_STATUS_UNKNOWN = 3, |
| VP_GEN_TIMER_STATUS_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */ |
| } VpGenTimerStatusType; |
| |
| typedef enum { |
| VP_FLASH_ONLY = 0, |
| VP_FLASH_AND_DIGIT1 = 1 |
| } VpFlashEventDataType; |
| |
| typedef uint16 VpHookPrequalEventDataType; |
| #define VP_HOOK_PREQUAL_START (0) /* Debounced off-hook detected, but offHookMin > 0 */ |
| #define VP_HOOK_PREQUAL_ABORT (1) /* Debounced on-hook detected, but duration < offHookMin */ |
| |
| |
| /** |
| * Non-maskable events are (with reasons): |
| * |
| * Boot Complete -- Cannot mask. Masking events requires that the boot has |
| * been completed. |
| * Read Option -- To modify mask interrupts requires that the current mask |
| * options can be read. The only way to know the read option |
| * is ready is via an unmasked Read Option Complete event. |
| * Device Init -- Fundamental event to know when device is initialized and |
| * remaining options/line configurations can be set. There |
| * is no other standard "timeout" mechanism to know when the |
| * device has been initialized properly. |
| * Line Init -- Fundamental event to know when a line is initialized and ready |
| * to be setup with remaining user defined options. There is no |
| * other standard "timeout" mechanism to know when the line has |
| * been initialized properly. |
| * Events that have responses -- These events are non-maskable. If an event |
| * that has a response is masked, and if the response is not |
| * read, in case of CSLAC devices, it blocks response buffer. |
| * In case of VCP class of devices, response mailbox is |
| * locked up. If this is followed by another command that |
| * requires the response mailbox, that command can't complete |
| * execution since the response mailbox is busy. Now no more |
| * commands can be issued because the previous command can't |
| * complete. |
| */ |
| |
| #define VP_API_NONMASK_FAULT_EVENTS 0x0000 |
| #define VP_API_NONMASK_SIGNALING_EVENTS 0x0000 |
| |
| #define VP_API_NONMASK_RESPONSE_EVENTS (VP_DEV_EVID_BOOT_CMP \ |
| | VP_LINE_EVID_LLCMD_RX_CMP \ |
| | VP_LINE_EVID_RD_OPTION \ |
| | VP_LINE_EVID_RD_LOOP \ |
| | VP_LINE_EVID_GAIN_CMP \ |
| | VP_LINE_EVID_QUERY_CMP \ |
| | VP_DEV_EVID_DEV_INIT_CMP \ |
| | VP_LINE_EVID_LINE_INIT_CMP \ |
| | VP_DEV_EVID_IO_ACCESS_CMP \ |
| | VP_LINE_EVID_LINE_IO_RD_CMP \ |
| | VP_LINE_EVID_SLAC_INIT_CMP) |
| |
| #define VP_API_NONMASK_TEST_EVENTS (VP_LINE_EVID_TEST_CMP \ |
| | VP_DEV_EVID_CHKSUM) |
| |
| #define VP_API_NONMASK_PROCESS_EVENTS VP_LINE_EVID_GEN_TIMER |
| #define VP_API_NONMASK_FXO_EVENTS 0x0000 |
| #define VP_API_NONMASK_PACKET_EVENTS 0x0000 |
| |
| #endif /* VP_API_EVENT_H */ |