X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/9056bbf801edbf7699249fa545f097ead27acbde..3dcf58dc4693136812e4b3ccba3b0f726c1bf3d2:/src/am7xxx.h diff --git a/src/am7xxx.h b/src/am7xxx.h index e30057b..b6a2a9a 100644 --- a/src/am7xxx.h +++ b/src/am7xxx.h @@ -19,13 +19,16 @@ #ifndef __AM7XXX_H #define __AM7XXX_H -#include - #ifdef __cplusplus extern "C" { #endif -typedef libusb_device_handle *am7xxx_device; + +struct _am7xxx_context; +typedef struct _am7xxx_context am7xxx_context; + +struct _am7xxx_device; +typedef struct _am7xxx_device am7xxx_device; typedef enum { AM7XXX_IMAGE_FORMAT_JPEG = 1, @@ -40,17 +43,23 @@ typedef enum { AM7XXX_POWER_TURBO = 4, } am7xxx_power_mode; -am7xxx_device am7xxx_init(void); +int am7xxx_init(am7xxx_context **ctx); + +void am7xxx_shutdown(am7xxx_context *ctx); + +int am7xxx_open_device(am7xxx_context *ctx, + am7xxx_device **dev, + unsigned int device_index); -void am7xxx_shutdown(am7xxx_device dev); +int am7xxx_close_device(am7xxx_device *dev); -int am7xxx_get_device_info(am7xxx_device dev, +int am7xxx_get_device_info(am7xxx_device *dev, unsigned int *native_width, unsigned int *native_height, unsigned int *unknown0, unsigned int *unknown1); -int am7xxx_send_image(am7xxx_device dev, +int am7xxx_send_image(am7xxx_device *dev, am7xxx_image_format format, unsigned int width, unsigned int height, @@ -63,7 +72,7 @@ int am7xxx_send_image(am7xxx_device dev, * * Remember to mention that when writing the API doc. */ -int am7xxx_set_power_mode(am7xxx_device dev, am7xxx_power_mode mode); +int am7xxx_set_power_mode(am7xxx_device *dev, am7xxx_power_mode mode); #ifdef __cplusplus }