#ifndef BPMSERVER_INTERFACE_H #define BPMSERVER_INTERFACE_H #ifdef __Lynx__ #include // Lynx #else #include // Linux #endif #ifdef __cplusplus extern "C" { #endif #define SPREAD_MAX 50 #define MAX_CHANS 36 typedef struct measure { float position; /* in a defined unit (millimeters for now) */ float spread; /* in a defined unit (not defined right now) */ unsigned short validity_code; /* 0 = invalid, 1 = valid */ } MeasurementStruct_v2; typedef struct info { char chanId[20]; /* "name\0" */ short chanPlane; /* 0 = HOR, 90 = VER */ } ChannelInfoStruct; typedef struct packet { char hostName[20]; /* Where we've sent it from */ char version[4]; /* "v2\0\0" (to simplify change/extension) */ struct timeval timing; /* long seconds, long useconds, <0,0> if unavailable */ unsigned short seq_nr; /* 0, 1, 2, ..., 65535, 0, 1, ... (detect lost packets) */ unsigned short nr_of_values; /* nr of H/V values following (36, for now) */ unsigned long cycle_time; ChannelInfoStruct info[MAX_CHANS]; MeasurementStruct_v2 values[MAX_CHANS]; } PacketStruct_v2; void bpmserver_init(); void bpmserver_newdata(PacketStruct_v2* theNewData); void bpmserver_shutdown(); #ifdef __cplusplus } #endif #endif // BPMSERVER_INTERFACE_H