Files
handleaiuinew/env/Dalsa/include/capieventinfo.h
T
2024-05-18 23:53:26 +08:00

81 lines
2.9 KiB
C

//
// Coreco API - Event information management.
//
#ifndef _CAPIEVENTINFO_H_
#define _CAPIEVENTINFO_H_
#include "capidef.h"
/****************************************************************************
* Event Parameters
****************************************************************************/
#define COREVENTINFO_PRM_FIRST 0
#define COREVENTINFO_PRM( n, size) ((((n) + COREVENTINFO_PRM_FIRST) << 16) | (size))
// Common Parameters
#define COREVENTINFO_PRM_EVENT_COUNT COREVENTINFO_PRM( 0, 4)
#define COREVENTINFO_PRM_EVENT_INDEX COREVENTINFO_PRM( 1, 4)
#define COREVENTINFO_PRM_EVENT_TYPE COREVENTINFO_PRM( 2, 4)
#define COREVENTINFO_PRM_HOST_TIME_STAMP COREVENTINFO_PRM( 3, 8) // 64-bit value
#define COREVENTINFO_PRM_AUX_TIME_STAMP COREVENTINFO_PRM( 4, 8) // 64-bit value
// Unnamed Parameters
#define COREVENTINFO_PRM_GENERIC_0 COREVENTINFO_PRM( 5, 4)
#define COREVENTINFO_PRM_GENERIC_1 COREVENTINFO_PRM( 6, 4)
#define COREVENTINFO_PRM_GENERIC_2 COREVENTINFO_PRM( 7, 4)
#define COREVENTINFO_PRM_GENERIC_3 COREVENTINFO_PRM( 8, 4)
// Custom Parameters
#define COREVENTINFO_PRM_CUSTOM_DATA COREVENTINFO_PRM( 9, sizeof(void*))
#define COREVENTINFO_PRM_CUSTOM_SIZE COREVENTINFO_PRM( 10, 4)
#define COREVENTINFO_PRM_EVENT_TYPE64 COREVENTINFO_PRM( 11, 8)
#define COREVENTINFO_PRM_LAST (COREVENTINFO_PRM_FIRST + 12)
//
// Aliases for already defined parameters
//
// Used by "FeatureValueChanged" and "FeatureInfoChanged" events of CorAcqDevice module
#define COREVENTINFO_PRM_FEATURE_INDEX COREVENTINFO_PRM_GENERIC_0
// Used by following events of Manager module:
// CORMAN_VAL_EVENT_TYPE_SERVER_NEW
// CORMAN_VAL_EVENT_TYPE_SERVER_DISCONNECTED
// CORMAN_VAL_EVENT_TYPE_SERVER_CONNECTED
// CORMAN_VAL_EVENT_TYPE_SERVER_NOT_AVAILABLE
// CORMAN_VAL_EVENT_TYPE_SERVER_AVAILABLE
// CORMAN_VAL_EVENT_TYPE_SERVER_CONNECTION_DROP
// CORMAN_VAL_EVENT_TYPE_PRODUCT_SPECIFIC
#define COREVENTINFO_PRM_SERVER_INDEX COREVENTINFO_PRM_GENERIC_0
// Used by CORMAN_VAL_EVENT_TYPE_SERVER_ERROR event of Manager module
#define COREVENTINFO_PRM_SERVER_ERROR_INFO COREVENTINFO_PRM_GENERIC_1
//Used by CORMAN_VAL_EVENT_TYPE_SERVER_FILE
#define COREVENTINFO_PRM_FILE_PERCENT_PROGRESS COREVENTINFO_PRM_GENERIC_1
// Used by CORMAN_VAL_EVENT_TYPE_PRODUCT_SPECIFIC event of Manager module
#define COREVENTINFO_PRM_PRODUCT_SPECIFIC_EVENT COREVENTINFO_PRM_GENERIC_1
#define COREVENTINFO_PRM_PRODUCT_SPECIFIC_INFO COREVENTINFO_PRM_GENERIC_2
/****************************************************************************
* Application programming interface
****************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
CORSTATUS CORAPIFUNC CorEventInfoGetPrm(COREVENTINFO eventInfo, UINT32 prm, void *value);
#ifdef __cplusplus
}
#endif
#endif // _CAPIEVENTINFO_H_