aboutsummaryrefslogtreecommitdiff
path: root/hsm-cam/FFI/Cam.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'hsm-cam/FFI/Cam.hpp')
-rw-r--r--hsm-cam/FFI/Cam.hpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/hsm-cam/FFI/Cam.hpp b/hsm-cam/FFI/Cam.hpp
new file mode 100644
index 0000000..eeea814
--- /dev/null
+++ b/hsm-cam/FFI/Cam.hpp
@@ -0,0 +1,39 @@
+#ifndef CAM_HPP
+#define CAM_HPP
+
+#define FRAME_WIDTH (800)
+#define FRAME_HEIGHT (600)
+
+enum Severity
+{
+ Attention = 0,
+ Info = 1,
+ Trace = 2,
+};
+
+typedef void (*HsLogger)(enum Severity, const char *);
+typedef void (*HsRequestCallback)();
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+ void register_logger(HsLogger hs_logger);
+ void register_request_callback(HsRequestCallback hs_request_callback);
+ void start_camera_manager();
+ void stop_camera_manager();
+ void acquire_camera();
+ void release_camera();
+ void allocate_frame_buffer();
+ void free_frame_buffer();
+ void start_camera();
+ void stop_camera();
+ void create_request();
+
+ int get_dma_buffer_fd();
+ void request_frame();
+#ifdef __cplusplus
+}
+#endif
+
+#endif