37 # define PDSERV_EXPORT __attribute__((__visibility__("default")))
39 # define PDSERV_EXPORT
59 #define PDSERV_VERSION(major, minor, patchlevel) \
60 (((major) << 16) + ((minor) << 8) + (patchlevel))
62 #define PDSERV_VERSION_MAJOR 3
63 #define PDSERV_VERSION_MINOR 4
64 #define PDSERV_VERSION_PATCH 1
66 #define PDSERV_VERSION_CODE PDSERV_VERSION( \
67 PDSERV_VERSION_MAJOR, PDSERV_VERSION_MINOR, PDSERV_VERSION_PATCH)
82 #define HAS_VERSION_CODE
163 #define pd_double_T 1
164 #define pd_single_T 2
167 #define pd_uint16_T 5
168 #define pd_sint16_T 6
169 #define pd_uint32_T 7
170 #define pd_sint32_T 8
171 #define pd_uint64_T 9
172 #define pd_sint64_T 10
173 #define pd_boolean_T 11
174 #define pd_schar_T 12
176 #define pd_uchar_T 14
177 #define pd_short_T 15
178 #define pd_ushort_T 16
182 #define pd_ulong_T 20
183 #define pd_longlong_T 21
184 #define pd_ulonglong_T 22
185 #define pd_ssize_T 23
188 #define pd_datatype_end 25
235 struct pdserv* pdserv,
250 struct pdserv* pdserv,
251 void (*fn)(
int lock,
void* priv_data),
265 struct pdserv* pdserv,
281 struct pdtask* pdtask,
282 void (*fn)(
int lock,
void* priv_data),
342 struct pdtask* pdtask,
343 unsigned int decimation,
361 typedef int (*read_signal_t)(
const struct pdvariable *signal,
void *dst,
362 const void *src,
size_t len,
struct timespec* time,
void *priv_data);
364 PDSERV_EXPORT
void pdserv_signal_set_read_cb(
struct pdvariable* signal,
365 read_signal_t read_signal_cb,
void* priv_data
366 ) __attribute__((deprecated(
"use pdserv_signal() instead")));
368 PDSERV_EXPORT
struct pdvariable *pdserv_signal_cb(
struct pdtask* pdtask,
369 unsigned int decimation,
const char *path,
int datatype,
370 const void *addr,
size_t n,
const size_t *dim,
371 read_signal_t read_signal_cb,
void* priv_data
372 ) __attribute__((deprecated(
"use pdserv_signal() instead")));;
403 #define RESET_EVENT 0
404 #define EMERG_EVENT 1
405 #define ALERT_EVENT 2
407 #define ERROR_EVENT 4
409 #define NOTICE_EVENT 6
411 #define DEBUG_EVENT 8
425 struct pdserv* pdserv,
438 struct pdevent* event,
439 const char *
const *text
458 const struct pdevent *event,
470 const struct timespec *t
479 const struct pdevent *event,
481 const struct timespec *t
498 const struct pdevent *event,
499 const unsigned int * level,
514 const struct timespec *t
522 const struct pdserv* pdserv,
553 const struct pdvariable *param,
557 struct timespec* time,
578 struct pdserv* pdserv,
604 struct pdvariable *variable,
610 struct pdvariable *variable,
616 struct pdvariable *variable,
628 const struct pdvariable *variable
651 struct pdserv* pdserv
660 struct pdtask* pdtask,
672 struct pdtask* pdtask,
673 const struct timespec *t
PDSERV_EXPORT void pdserv_update_statistics(struct pdtask *pdtask, double exec_time, double cycle_time, unsigned int overrun)
PDSERV_EXPORT void pdserv_update(struct pdtask *pdtask, const struct timespec *t)
PDSERV_EXPORT struct pdvariable * pdserv_parameter(struct pdserv *pdserv, const char *path, unsigned int mode, int datatype, void *addr, size_t n, const size_t *dim, write_parameter_t write_cb, void *priv_data)
PDSERV_EXPORT int pdserv_prepare(struct pdserv *pdserv)
PDSERV_EXPORT const char *const pdserv_version_str
String of pdserv version code "major.minor.patch".
PDSERV_EXPORT void pdserv_config_file(struct pdserv *pdserv, const char *file)
PDSERV_EXPORT void pdserv_set_unit(struct pdvariable *variable, const char *unit)
PDSERV_EXPORT void pdserv_event_set_text(struct pdevent *event, const char *const *text)
PDSERV_EXPORT void pdserv_exit(struct pdserv *)
PDSERV_EXPORT void pdserv_set_comment(struct pdvariable *variable, const char *comment)
PDSERV_EXPORT int pdserv_create_compound(const char *name, size_t size)
PDSERV_EXPORT void pdserv_set_signal_readlock_cb(struct pdtask *pdtask, void(*fn)(int lock, void *priv_data), void *priv_data)
PDSERV_EXPORT struct pdserv * pdserv_create(const char *name, const char *version, gettime_t gettime_cb)
PDSERV_EXPORT struct pdevent * pdserv_event(struct pdserv *pdserv, const char *path, size_t n)
PDSERV_EXPORT const char * pdserv_get_variable_path(const struct pdvariable *variable)
PDSERV_EXPORT void pdserv_set_alias(struct pdvariable *variable, const char *alias)
PDSERV_EXPORT int pdserv_event_export(const struct pdserv *pdserv, const char *path)
int(* write_parameter_t)(const struct pdvariable *param, void *dst, const void *src, size_t len, struct timespec *time, void *priv_data)
Definition: pdserv.h:552
PDSERV_EXPORT const char *const pdserv_full_version
Full String of pdserv version, generated by git describe.
PDSERV_EXPORT void pdserv_event_set_all(const struct pdevent *event, const unsigned int *level, const struct timespec *t)
int(* gettime_t)(struct timespec *)
Definition: pdserv.h:202
PDSERV_EXPORT void pdserv_set_parameter_writelock_cb(struct pdserv *pdserv, void(*fn)(int lock, void *priv_data), void *priv_data)
PDSERV_EXPORT void pdserv_event_set(const struct pdevent *event, size_t element, int priority, const struct timespec *t)
PDSERV_EXPORT void pdserv_compound_add_field(int compound, const char *name, int data_type, size_t offset, size_t ndim, const size_t *dim)
PDSERV_EXPORT void pdserv_event_reset(const struct pdevent *event, size_t element, const struct timespec *t)
PDSERV_EXPORT struct pdvariable * pdserv_signal(struct pdtask *pdtask, unsigned int decimation, const char *path, int datatype, const void *addr, size_t n, const size_t *dim)
PDSERV_EXPORT struct pdtask * pdserv_create_task(struct pdserv *pdserv, double tsample, const char *name)