User manual
54
__chapi_get_chapi_major_version_p get_chapi_major_version;
__chapi_get_chapi_minor_version_p get_chapi_minor_version;
// I/O spaces processing extension
__chapi_connect_io_space_procedure_p connect_io_space;
__chapi_disconnect_io_space_procedure_p disconnect_io_space;
//
// All new methods/data have to be added to the end of this structure,
otherwise
// all customer chapi devices have to be rebuilt with the new header file!!!
//
} chapi_in;
where:
#if defined(_MSC_VER)
#define CHAPI __cdecl
#if defined(__cplusplus)
#define CHAPI_INIT(n) extern "C" \
__declspec(dllexport) void * __cdecl n##_INIT
#else // defined(__cplusplus)
#define CHAPI_INIT(n) \
__declspec(dllexport) void * __cdecl n##_INIT
#endif // defined(__cplusplus)
#else // defined(_MSC_VER)
#define CHAPI
#endif
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
//=============================================================================
// Definition of CHAPI input context
//
#if !defined(__chapi_in_context_p)
typedef void * const __chapi_in_context_p;
#endif // !defined(__chapi_in_context_p)
//-----------------------------------------------------------------------------
// AST/SST relative stuff
//
typedef void (CHAPI * __chapi_ast_handler_p)
(void * arg1, int arg2);
#if !defined(ast_handler)
#define ast_handler __chapi_ast_handler_p
#endif // !defined(ast_handler)
typedef int (CHAPI * __chapi_put_ast_procedure_p)
(const struct __chapi_in * ci,
unsigned long delay,
__chapi_ast_handler_p fun, void * arg1, int arg2);
typedef void (CHAPI * __chapi_sst_handler_p)
(void * arg1, int arg2);
#if !defined(sst_handler)
#define sst_handler __chapi_sst_handler_p
#endif // !defined(sst_handler)
typedef int (CHAPI * __chapi_put_sst_procedure_p)










