00001
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _RA_DEFINES_H
00020 #define _RA_DEFINES_H
00021
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00026 #ifdef WIN32
00027 #ifndef _LIBRASCH_BUILD
00028 #define LIBRAAPI __declspec(dllimport)
00029 #else
00030 #define LIBRAAPI __declspec(dllexport)
00031 #endif
00032 #else
00033 #define LIBRAAPI
00034 #endif
00035
00036
00037 typedef void *ra_handle;
00038 typedef void *value_handle;
00039 typedef void *meas_handle;
00040 typedef void *rec_handle;
00041 typedef void *ra_find_handle;
00042 typedef void *eval_handle;
00043 typedef void *class_handle;
00044 typedef void *prop_handle;
00045 typedef void *sum_handle;
00046 typedef void *plugin_handle;
00047 typedef void *proc_handle;
00048 typedef void *view_handle;
00049 typedef void *any_handle;
00050
00051
00052
00053 #define RA_HANDLE_LIB 1
00054 #define RA_HANDLE_MEAS 2
00055 #define RA_HANDLE_REC 3
00056 #define RA_HANDLE_FIND 4
00057 #define RA_HANDLE_EVAL 5
00058 #define RA_HANDLE_EVAL_CLASS 6
00059 #define RA_HANDLE_EVAL_PROP 7
00060 #define RA_HANDLE_EVAL_SUMMARY 8
00061 #define RA_HANDLE_PLUGIN 9
00062 #define RA_HANDLE_PROC 10
00063 #define RA_HANDLE_VIEW 11
00064 #define RA_HANDLE_VALUE 12
00065
00066
00067 #ifndef MAX_PATH_RA
00068 #define MAX_PATH_RA 4096
00069 #endif
00070
00071
00072
00073 #ifdef WIN32
00074 #define SEPERATOR '\\'
00075 #endif
00076 #ifdef LINUX
00077 #define SEPERATOR '/'
00078 #endif
00079
00080 #ifndef BYTE
00081 typedef unsigned char BYTE;
00082 #endif
00083 #ifndef WORD
00084 typedef unsigned short int WORD;
00085 #endif
00086 #ifndef DWORD
00087 typedef unsigned long DWORD;
00088 #endif
00089
00090 #ifdef WIN32
00091 #define RA_STRICMP stricmp
00092 #endif
00093 #ifdef LINUX
00094 #define RA_STRICMP strcasecmp
00095 #endif
00096
00097 #define RA_VALUE_NAME_MAX 50
00098 #define RA_VALUE_DESC_MAX 250
00099 #define RA_VALUE_VALUE_MAX 2000
00100
00101 #define RA_VALUE_TYPE_NONE 0
00102 #define RA_VALUE_TYPE_SHORT 1
00103 #define RA_VALUE_TYPE_LONG 2
00104 #define RA_VALUE_TYPE_DOUBLE 3
00105 #define RA_VALUE_TYPE_CHAR 4
00106 #define RA_VALUE_TYPE_VOIDP 5
00107 #define RA_VALUE_TYPE_SHORT_ARRAY 6
00108 #define RA_VALUE_TYPE_LONG_ARRAY 7
00109 #define RA_VALUE_TYPE_DOUBLE_ARRAY 8
00110 #define RA_VALUE_TYPE_CHAR_ARRAY 9
00111 #define RA_VALUE_TYPE_VOIDP_ARRAY 10
00112 #define RA_VALUE_TYPE_VH_ARRAY 11
00113
00114
00115
00116 #define RA_MEAS_TYPE_UNKNOWN 0
00117 #define RA_MEAS_TYPE_ECG_HOLTER 1
00118 #define RA_MEAS_TYPE_ECG_REST 2
00119 #define RA_MEAS_TYPE_ECG_STRESS 3
00120
00121
00122
00123 #define RA_REC_TYPE_UNKNOWN 0
00124 #define RA_REC_TYPE_MIXED 1
00125 #define RA_REC_TYPE_TIMESERIES 10
00126 #define RA_REC_TYPE_IMAGE 11
00127 #define RA_REC_TYPE_MOVIE 12
00128
00129
00130
00131 #define RA_CH_TYPE_UNKNOWN 0
00132
00133 #define RA_CH_TYPE_ECG 1
00134 #define RA_CH_TYPE_RR 2
00135 #define RA_CH_TYPE_RESP 3
00136 #define RA_CH_TYPE_TEMP 4
00137 #define RA_CH_TYPE_TEMP_C 5
00138 #define RA_CH_TYPE_TEMP_F 6
00139 #define RA_CH_TYPE_ACTIVITY 7
00140 #define RA_CH_TYPE_EEG 8
00141 #define RA_CH_TYPE_EMG 9
00142 #define RA_CH_TYPE_CTG_FHR 10
00143 #define RA_CH_TYPE_CTG_UC 11
00144 #define RA_CH_TYPE_ANGLE 12
00145
00146
00147
00148
00149 #define RA_CH_SAMPLE_TYPE_INT 0
00150 #define RA_CH_SAMPLE_TYPE_WORD 1
00151 #define RA_CH_SAMPLE_TYPE_FLOAT 2
00152 #define RA_CH_SAMPLE_TYPE_FLOAT2 3
00153
00154 #define RA_CH_SAMPLE_TYPE_DOUBLE 4
00155
00156
00157
00158 #define EVAL_MAX_NAME 64
00159 #define EVAL_MAX_DESC 256
00160 #define EVAL_MAX_UNIT 64
00161
00162 #define EVPROP_TYPE_NONE -1
00163 #define EVPROP_TYPE_SHORT 0
00164 #define EVPROP_TYPE_LONG 1
00165 #define EVPROP_TYPE_DOUBLE 2
00166 #define EVPROP_TYPE_CHAR 3
00167 #define EVPROP_TYPE_SHORT_ARRAY 4
00168 #define EVPROP_TYPE_LONG_ARRAY 5
00169 #define EVPROP_TYPE_DOUBLE_ARRAY 6
00170 #define EVPROP_TYPE_CHAR_ARRAY 7
00171
00172 #define EVENT_FLAG_USER_EDIT 0x00000001
00173
00174 #define PLUGIN_DAQ 16
00175
00176
00177 #define PLUGIN_ACCESS 1
00178 #define PLUGIN_PROCESS 2
00179 #define PLUGIN_GUI 4
00180 #define PLUGIN_VIEW 8
00181
00182
00205 struct view_info
00206 {
00207 unsigned short handle_id;
00208
00209 ra_handle ra;
00210 meas_handle mh;
00211 rec_handle rh;
00212 eval_handle eh;
00213 plugin_handle plugin;
00214
00215
00216 int num_ch;
00217 int *ch;
00218
00219 void *parent;
00220 char name[200];
00221 void *signal;
00222
00223 char pos_name[64];
00224 char templ_name[64];
00225
00226
00227
00228 int num_views;
00229 void **views;
00230 void **real_views;
00231
00232
00233
00234
00235
00236 long num_options;
00237 void *options;
00238 };
00239
00240
00241
00258 struct ra_value
00259 {
00260 unsigned short handle_id;
00261
00262 char name[RA_VALUE_NAME_MAX];
00263 char name_locale[RA_VALUE_NAME_MAX];
00264 char desc[RA_VALUE_DESC_MAX];
00265 char desc_locale[RA_VALUE_DESC_MAX];
00266 int utype;
00267 long num_values;
00268 int value_is_valid;
00269 union
00270 {
00271 short s;
00272 long l;
00273 double d;
00274 char *c;
00275 void *vp;
00276
00277 short *sp;
00278 long *lp;
00279 double *dp;
00280 char **cp;
00281 void **vpp;
00282 value_handle *vhp;
00283 } value;
00284
00285
00286 union
00287 {
00288 char *c;
00289 char **cp;
00290 } value_locale;
00291
00292 int id;
00293 int can_be_changed;
00294
00295 long number;
00296 };
00297
00298
00304 struct ra_find_struct
00305 {
00306 char name[MAX_PATH_RA];
00307 };
00308
00309
00310
00311 enum ra_info_ids
00312 {
00313 RA_INFO_NONE = -1,
00314
00315
00316 RA_INFO_LIB_START = 0,
00317 RA_INFO_NUM_PLUGINS_L,
00318 RA_INFO_VERSION_C,
00319 RA_INFO_LIB_END,
00320
00321
00322 RA_INFO_MEASUREMENT_START = 1000,
00323 RA_INFO_NUM_SESSIONS_L,
00324 RA_INFO_NUM_OBJ_INFOS_L,
00325 RA_INFO_NUM_REC_GEN_INFOS_L,
00326 RA_INFO_NUM_REC_DEV_INFOS_L,
00327 RA_INFO_NUM_REC_CH_INFOS_L,
00328 RA_INFO_NUM_EVAL_INFOS_L,
00329 RA_INFO_MAX_SAMPLERATE_D,
00330
00331
00332 RA_INFO_CH_XSCALE_D,
00333
00334
00335 RA_INFO_SIZE_L,
00336 RA_INFO_FILES_CA,
00337 RA_INFO_PATH_C,
00338 RA_INFO_DIR_L,
00339 RA_INFO_TYPE_L,
00340 RA_INFO_MEASUREMENT_END,
00341
00342
00343 RA_INFO_OBJECT_START = 2000,
00344 RA_INFO_OBJECT = RA_INFO_OBJECT_START,
00345
00346 RA_INFO_OBJ_PERSON_START,
00347 RA_INFO_OBJ_PERSON_NAME_C,
00348 RA_INFO_OBJ_PERSON_FORENAME_C,
00349 RA_INFO_OBJ_PERSON_BIRTHDAY_C,
00350 RA_INFO_OBJ_PERSON_GENDER_C,
00351 RA_INFO_OBJ_PERSON_AGE_L,
00352 RA_INFO_OBJ_PERSON_HEIGHT_L,
00353 RA_INFO_OBJ_PERSON_WEIGHT_L,
00354 RA_INFO_OBJ_PERSON_STREET_C,
00355 RA_INFO_OBJ_PERSON_CITY_C,
00356 RA_INFO_OBJ_PERSON_POSTALCODE_C,
00357 RA_INFO_OBJ_PERSON_COUNTRY_C,
00358 RA_INFO_OBJ_PERSON_ADDRESS_C,
00359 RA_INFO_OBJ_PERSON_PHONE1_C,
00360 RA_INFO_OBJ_PERSON_PHONE2_C,
00361 RA_INFO_OBJ_PERSON_PHONE_MOBILE_C,
00362 RA_INFO_OBJ_PERSON_FAX_C,
00363 RA_INFO_OBJ_PERSON_EMAIL_C,
00364 RA_INFO_OBJ_PERSON_WEBSITE_C,
00365 RA_INFO_OBJ_PERSON_COMMENT_C,
00366 RA_INFO_OBJ_PERSON_END,
00367
00368
00369 RA_INFO_OBJ_PATIENT_START,
00370 RA_INFO_OBJ_PATIENT_ID_C,
00371 RA_INFO_OBJ_PATIENT_REASON_C,
00372 RA_INFO_OBJ_PATIENT_DIAGNOSIS_C,
00373 RA_INFO_OBJ_PATIENT_THERAPY_C,
00374 RA_INFO_OBJ_PATIENT_MEDICATION_C,
00375 RA_INFO_OBJ_PATIENT_HOSPITAL_C,
00376 RA_INFO_OBJ_PATIENT_DEPARTMENT_C,
00377 RA_INFO_OBJ_PATIENT_DOCTOR_C,
00378 RA_INFO_OBJ_PATIENT_EXAMINER_C,
00379 RA_INFO_OBJ_PATIENT_END,
00380
00381
00382
00383 RA_INFO_OBJ_PREG_WOMAN_START,
00384 RA_INFO_OBJ_PREG_WOMAN_NUM_FETUS_L,
00385 RA_INFO_OBJ_PREG_WOMAN_GESTATION_DATE_C,
00386 RA_INFO_OBJ_PREG_WOMAN_END,
00387 RA_INFO_OBJECT_END,
00388
00389
00390 RA_INFO_RECORDING_START = 3000,
00391 RA_INFO_REC_GENERAL_START,
00392 RA_INFO_REC_GENERAL = RA_INFO_REC_GENERAL_START,
00393 RA_INFO_REC_GEN_TYPE_L,
00394 RA_INFO_REC_GEN_NAME_C,
00395 RA_INFO_REC_GEN_DESC_C,
00396 RA_INFO_REC_GEN_COMMENT_C,
00397 RA_INFO_REC_GEN_TIME_C,
00398 RA_INFO_REC_GEN_DATE_C,
00399 RA_INFO_REC_GEN_DURATION_SEC_D,
00400 RA_INFO_REC_GEN_NUMBER_L,
00401 RA_INFO_REC_GEN_NUM_SUB_REC_L,
00402 RA_INFO_REC_GEN_NUM_DEVICES_L,
00403 RA_INFO_REC_GEN_NUM_CHANNEL_L,
00404 RA_INFO_REC_GEN_OFFSET_L,
00405
00406 RA_INFO_REC_GEN_PATH_C,
00407 RA_INFO_REC_GEN_DIR_L,
00408 RA_INFO_REC_GEN_MM_SEC_D,
00409 RA_INFO_REC_GENERAL_END,
00410
00411 RA_INFO_REC_DEVICE_START,
00412 RA_INFO_REC_DEVICE = RA_INFO_REC_DEVICE_START,
00413 RA_INFO_REC_DEV_HW_NAME_C,
00414 RA_INFO_REC_DEV_HW_MANUFACTURER_C,
00415 RA_INFO_REC_DEV_HW_SERIAL_NO_C,
00416 RA_INFO_REC_DEV_HW_VERSION_C,
00417 RA_INFO_REC_DEV_SW_NAME_C,
00418 RA_INFO_REC_DEV_SW_MANUFACTURER_C,
00419 RA_INFO_REC_DEV_SW_SERIAL_NO_C,
00420 RA_INFO_REC_DEV_SW_VERSION_C,
00421 RA_INFO_REC_DEVICE_END,
00422
00423 RA_INFO_REC_CHANNEL_START,
00424 RA_INFO_REC_CHANNEL = RA_INFO_REC_CHANNEL_START,
00425 RA_INFO_REC_CH_NAME_C,
00426 RA_INFO_REC_CH_DESC_C,
00427 RA_INFO_REC_CH_NUM_SAMPLES_L,
00428 RA_INFO_REC_CH_SAMPLERATE_D,
00429 RA_INFO_REC_CH_NUM_BITS_L,
00430 RA_INFO_REC_CH_AMP_RESOLUTION_D,
00431 RA_INFO_REC_CH_SAMPLE_TYPE_L,
00432 RA_INFO_REC_CH_UNIT_C,
00433 RA_INFO_REC_CH_CENTER_VALUE_D,
00434 RA_INFO_REC_CH_CENTER_SAMPLE_D,
00435 RA_INFO_REC_CH_MIN_UNIT_D,
00436 RA_INFO_REC_CH_MAX_UNIT_D,
00437 RA_INFO_REC_CH_MM_UNIT_D,
00438 RA_INFO_REC_CH_TYPE_L,
00439 RA_INFO_REC_CH_DO_IGNORE_VALUE_L,
00440 RA_INFO_REC_CH_IGNORE_VALUE_D,
00441 RA_INFO_REC_CHANNEL_END,
00442 RA_INFO_RECORDING_END,
00443
00444
00445 RA_INFO_EVALUATION = 4000,
00446 RA_INFO_EVAL_START,
00447 RA_INFO_EVAL_NAME_C,
00448 RA_INFO_EVAL_DESC_C,
00449 RA_INFO_EVAL_ADD_TS_C,
00450 RA_INFO_EVAL_MODIFY_TS_C,
00451 RA_INFO_EVAL_USER_C,
00452 RA_INFO_EVAL_HOST_C,
00453 RA_INFO_EVAL_PROG_C,
00454 RA_INFO_EVAL_ORIGINAL_L,
00455 RA_INFO_EVAL_DEFAULT_L,
00456 RA_INFO_EVAL_END,
00457
00458 RA_INFO_CLASS_START,
00459 RA_INFO_CLASS_ASCII_ID_C,
00460 RA_INFO_CLASS_NAME_C,
00461 RA_INFO_CLASS_DESC_C,
00462 RA_INFO_CLASS_EV_NUM_L,
00463 RA_INFO_CLASS_END,
00464
00465 RA_INFO_PROP_START,
00466 RA_INFO_PROP_ASCII_ID_C,
00467 RA_INFO_PROP_VALTYPE_L,
00468 RA_INFO_PROP_NAME_C,
00469 RA_INFO_PROP_DESC_C,
00470 RA_INFO_PROP_UNIT_C,
00471 RA_INFO_PROP_HAS_MINMAX_L,
00472 RA_INFO_PROP_MIN_D,
00473 RA_INFO_PROP_MAX_D,
00474 RA_INFO_PROP_END,
00475
00476 RA_INFO_SUM_START,
00477 RA_INFO_SUM_ASCII_ID_C,
00478 RA_INFO_SUM_NAME_C,
00479 RA_INFO_SUM_DESC_C,
00480 RA_INFO_SUM_NUM_CH_L,
00481 RA_INFO_SUM_CH_NUM_L,
00482 RA_INFO_SUM_CH_FIDUCIAL_L,
00483 RA_INFO_SUM_CH_NUM_DIM_L,
00484 RA_INFO_SUM_CH_DIM_UNIT_CA,
00485 RA_INFO_SUM_CH_DIM_NAME_CA,
00486 RA_INFO_SUM_END,
00487 RA_INFO_EVALUATION_END,
00488
00489
00490 RA_INFO_PLUGIN_START = 5000,
00491 RA_INFO_PL_NAME_C,
00492 RA_INFO_PL_DESC_C,
00493 RA_INFO_PL_FILE_C,
00494 RA_INFO_PL_USE_IT_L,
00495 RA_INFO_PL_TYPE_L,
00496 RA_INFO_PL_VERSION_C,
00497 RA_INFO_PL_BUILD_TS_C,
00498 RA_INFO_PL_LICENSE_L,
00499 RA_INFO_PL_NUM_OPTIONS_L,
00500 RA_INFO_PL_OPT_NAME_C,
00501 RA_INFO_PL_OPT_DESC_C,
00502 RA_INFO_PL_OPT_TYPE_L,
00503 RA_INFO_PL_NUM_RESULTS_L,
00504 RA_INFO_PL_RES_NAME_C,
00505 RA_INFO_PL_RES_DESC_C,
00506 RA_INFO_PL_RES_TYPE_L,
00507 RA_INFO_PL_RES_DEFAULT_L,
00508 RA_INFO_PLUGIN_END,
00509
00510
00511 RA_INFO_SESSION_START = 6000,
00512 RA_INFO_SES_NAME_C,
00513 RA_INFO_SES_DESC_C,
00514 RA_INFO_SESSION_END,
00515
00516
00517 RA_INFO_PROCESSING_START = 7000,
00518 RA_INFO_PROC_NUM_RES_SETS_L,
00519 RA_INFO_PROC_NUM_RES_L,
00520 RA_INFO_PROCESSING_END
00521 };
00522
00523
00524
00525
00526 enum event_class_ids
00527 {
00528 EVENT_CLASS_HEARTBEAT,
00529 EVENT_CLASS_RR_CALIBRATION,
00530 EVENT_CLASS_ANNOT,
00531 EVENT_CLASS_ARRHYTHMIA,
00532 EVENT_CLASS_ARRHYTHMIA_ORIGINAL,
00533 EVENT_CLASS_UTERINE_CONTRACTION
00534 };
00535
00536
00537 enum event_prop_ids
00538 {
00539
00540 EVENT_PROP_QRS_TEMPLATE,
00541 EVENT_PROP_QRS_TEMPLATE_CORR,
00542 EVENT_PROP_QRS_POS,
00543 EVENT_PROP_QRS_ANNOT,
00544 EVENT_PROP_QRS_CH,
00545 EVENT_PROP_QRS_TEMPORAL,
00546
00547 EVENT_PROP_P_START_OFFSET,
00548 EVENT_PROP_P_MAX_OFFSET,
00549 EVENT_PROP_P_END_OFFSET,
00550 EVENT_PROP_Q_OFFSET,
00551 EVENT_PROP_R_OFFSET,
00552 EVENT_PROP_S_OFFSET,
00553 EVENT_PROP_J_OFFSET,
00554 EVENT_PROP_T_START_OFFSET,
00555 EVENT_PROP_T_MAX_OFFSET,
00556 EVENT_PROP_T_END_OFFSET,
00557 EVENT_PROP_U_START_OFFSET,
00558 EVENT_PROP_U_MAX_OFFSET,
00559 EVENT_PROP_U_END_OFFSET,
00560
00561
00562 EVENT_PROP_RRI,
00563 EVENT_PROP_RRI_ANNOT,
00564 EVENT_PROP_RRI_REFVALUE,
00565 EVENT_PROP_RRI_NUM_REFVALUE,
00566
00567
00568 EVENT_PROP_QT,
00569 EVENT_PROP_QTA,
00570 EVENT_PROP_QT_RRI,
00571
00572
00573 EVENT_PROP_RESP_CHEST_MEAN_RRI,
00574 EVENT_PROP_RESP_CHEST_MEAN_IBI,
00575
00576
00577 EVENT_PROP_RR_TEMPLATE,
00578 EVENT_PROP_RR_SYSTOLIC,
00579 EVENT_PROP_RR_SYSTOLIC_POS,
00580 EVENT_PROP_RR_DIASTOLIC,
00581 EVENT_PROP_RR_DIASTOLIC_POS,
00582 EVENT_PROP_RR_MEAN,
00583 EVENT_PROP_RR_FLAGS,
00584 EVENT_PROP_RR_IBI,
00585
00586
00587 EVENT_PROP_RR_CALIBRATION_SEQ,
00588
00589
00590 EVENT_PROP_UC_MAX_POS,
00591 EVENT_PROP_UC_TEMPLATE,
00592 EVENT_PROP_UC_TEMPLATE_CORR,
00593
00594
00595 EVENT_PROP_ANNOT,
00596
00597
00598 EVENT_PROP_ARR_TYPE,
00599 EVENT_PROP_ARR_HR,
00600 EVENT_PROP_ARR_NUM_QRS,
00601
00602 EVENT_PROP_ARR_ORIG_TYPE,
00603 EVENT_PROP_ARR_ORIG_HR,
00604 EVENT_PROP_ARR_ORIG_NUM_QRS
00605 };
00606
00607 #ifdef __cplusplus
00608 }
00609 #endif
00610
00611 #endif