From 6f4af841f6fdd099b97d071ae64c8be60f809456 Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Thu, 25 May 2023 22:41:04 +0200 Subject: A sample event engine for pcitool (not requiring any PCIe hardware). Initial (barely tested and intended only as an example) release --- events.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 events.h (limited to 'events.h') diff --git a/events.h b/events.h new file mode 100644 index 0000000..5d09d74 --- /dev/null +++ b/events.h @@ -0,0 +1,24 @@ +#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); + +#endif /* _PCIDEV_EVENTS_H */ -- cgit v1.2.3