event.h 885 B

12345678910111213141516171819202122
  1. #ifndef _PCILIB_EVENT_H
  2. #define _PCILIB_EVENT_H
  3. #include "pcilib.h"
  4. struct pcilib_event_api_description_s {
  5. pcilib_context_t *(*init)(pcilib_t *ctx);
  6. void (*free)(pcilib_context_t *ctx);
  7. int (*reset)(pcilib_context_t *ctx);
  8. int (*start)(pcilib_context_t *ctx, pcilib_event_t event_mask, pcilib_event_callback_t callback, void *user);
  9. int (*stop)(pcilib_context_t *ctx);
  10. int (*trigger)(pcilib_context_t *ctx, pcilib_event_t event, size_t trigger_size, void *trigger_data);
  11. pcilib_event_id_t (*next_event)(pcilib_context_t *ctx, pcilib_event_t event_mask, const struct timespec *timeout);
  12. void* (*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);
  13. int (*return_data)(pcilib_context_t *ctx, pcilib_event_id_t event_id);
  14. };
  15. #endif /* _PCILIB_EVENT_H */