#ifndef _PCIDEV_EVENTS_H #define _PCIDEV_EVENTS_H #include #include #include "pcidev.h" pcilib_context_t *pcidev_init(pcilib_t *pcilib); void pcidev_free(pcilib_context_t *ctx); pcilib_dma_context_t *pcidev_init_dma(pcilib_context_t *ctx); int pcidev_reset(pcilib_context_t *ctx); int pcidev_start(pcilib_context_t *ctx, pcilib_event_t event_mask, pcilib_event_flags_t flags); int pcidev_stop(pcilib_context_t *ctx, pcilib_event_flags_t flags); int pcidev_trigger(pcilib_context_t *ctx, pcilib_event_t event, size_t trigger_size, void *trigger_data); int pcidev_stream(pcilib_context_t *vctx, pcilib_event_callback_t callback, void *user); //int pcidev_next_event(pcilib_context_t *vctx, pcilib_timeout_t timeout, pcilib_event_id_t *evid, size_t info_size, pcilib_event_info_t *info); int pcidev_get_data(pcilib_context_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, size_t arg_size, void *arg, size_t *size, void **buf); int pcidev_return_data(pcilib_context_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, void *data); # ifdef _PCIDEV_MODEL_C static const pcilib_event_description_t pcidev_events[] = { {PCILIB_EVENT0, "new_event", ""}, {0, NULL, NULL} }; static const pcilib_event_data_type_description_t pcidev_data_types[] = { {PCIDEV_RAW_DATA, PCILIB_EVENT0, "raw", "raw data from device" }, {PCIDEV_STANDARD_DATA, PCILIB_EVENT0, "std", "processed data" }, {0, 0, NULL, NULL} }; pcilib_event_api_description_t pcidev_event_api = { PCIDEV_VERSION, pcidev_init, pcidev_free, pcidev_init_dma, pcidev_reset, pcidev_start, pcidev_stop, pcidev_trigger, pcidev_stream, NULL, pcidev_get_data, pcidev_return_data }; # endif /* _PCIDEV_MODEL_C */ #endif /* _PCIDEV_EVENTS_H */