ipe.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef _PCILIB_DMA_IPE_H
  2. #define _PCILIB_DMA_IPE_H
  3. #include <stdio.h>
  4. #include "../pcilib.h"
  5. //#define PCILIB_NWL_MODIFICATION_IPECAMERA 0x100
  6. pcilib_dma_context_t *dma_ipe_init(pcilib_t *ctx, pcilib_dma_modification_t type, void *arg);
  7. void dma_ipe_free(pcilib_dma_context_t *vctx);
  8. int dma_ipe_get_status(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, pcilib_dma_engine_status_t *status, size_t n_buffers, pcilib_dma_buffer_status_t *buffers);
  9. int dma_ipe_start(pcilib_dma_context_t *ctx, pcilib_dma_engine_t dma, pcilib_dma_flags_t flags);
  10. int dma_ipe_stop(pcilib_dma_context_t *ctx, pcilib_dma_engine_t dma, pcilib_dma_flags_t flags);
  11. int dma_ipe_stream_read(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, uintptr_t addr, size_t size, pcilib_dma_flags_t flags, pcilib_timeout_t timeout, pcilib_dma_callback_t cb, void *cbattr);
  12. double dma_ipe_benchmark(pcilib_dma_context_t *vctx, pcilib_dma_engine_addr_t dma, uintptr_t addr, size_t size, size_t iterations, pcilib_dma_direction_t direction);
  13. #ifdef _PCILIB_DMA_IPE_C
  14. pcilib_dma_api_description_t ipe_dma_api = {
  15. "ipe_dma",
  16. dma_ipe_init,
  17. dma_ipe_free,
  18. dma_ipe_get_status,
  19. NULL,
  20. NULL,
  21. NULL,
  22. dma_ipe_start,
  23. dma_ipe_stop,
  24. NULL,
  25. dma_ipe_stream_read,
  26. dma_ipe_benchmark
  27. };
  28. #else
  29. extern pcilib_dma_api_description_t ipe_dma_api;
  30. #endif
  31. #endif /* _PCILIB_DMA_IPE_H */