X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Flibsigrok-internal.h;h=391671648b262e38f410386db0ad995c161cf486;hb=8e2d6c9db788785466d61fdac4d8fdc1535bc20c;hp=465f24213b0935d319c890be76918e2e370f43e0;hpb=7419638d4c5d21dadccfd8f234c5671c5330dc33;p=libsigrok.git diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index 465f2421..39167164 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -25,8 +25,8 @@ #define LIBSIGROK_LIBSIGROK_INTERNAL_H #include +#include #include -#include "config.h" /* Needed for HAVE_LIBUSB_1_0 and others. */ #ifdef HAVE_LIBUSB_1_0 #include #endif @@ -34,6 +34,9 @@ #include #endif +struct zip; +struct zip_stat; + /** * @file * @@ -206,6 +209,10 @@ struct sr_context { #ifdef HAVE_LIBUSB_1_0 libusb_context *libusb_ctx; #endif + sr_resource_open_callback resource_open_cb; + sr_resource_close_callback resource_close_cb; + sr_resource_read_callback resource_read_cb; + void *resource_cb_data; }; /** Input module metadata keys. */ @@ -564,9 +571,6 @@ struct sr_usb_dev_inst { #endif #ifdef HAVE_LIBSERIALPORT -#define SERIAL_PARITY_NONE SP_PARITY_NONE -#define SERIAL_PARITY_EVEN SP_PARITY_EVEN -#define SERIAL_PARITY_ODD SP_PARITY_ODD struct sr_serial_dev_inst { /** Port name, e.g. '/dev/tty42'. */ char *port; @@ -574,10 +578,6 @@ struct sr_serial_dev_inst { char *serialcomm; /** libserialport port handle */ struct sp_port *data; - /** libserialport event set */ - struct sp_event_set *event_set; - /** GPollFDs for event polling */ - GPollFD *pollfds; }; #endif @@ -686,15 +686,6 @@ SR_PRIV int sr_variant_type_check(uint32_t key, GVariant *data); SR_PRIV void sr_hw_cleanup_all(const struct sr_context *ctx); SR_PRIV struct sr_config *sr_config_new(uint32_t key, GVariant *data); SR_PRIV void sr_config_free(struct sr_config *src); -SR_PRIV int sr_source_remove(int fd); -SR_PRIV int sr_source_remove_pollfd(GPollFD *pollfd); -SR_PRIV int sr_source_remove_channel(GIOChannel *channel); -SR_PRIV int sr_source_add(int fd, int events, int timeout, - sr_receive_data_callback cb, void *cb_data); -SR_PRIV int sr_source_add_pollfd(GPollFD *pollfd, int timeout, - sr_receive_data_callback cb, void *cb_data); -SR_PRIV int sr_source_add_channel(GIOChannel *channel, int events, int timeout, - sr_receive_data_callback cb, void *cb_data); /*--- session.c -------------------------------------------------------------*/ @@ -732,6 +723,9 @@ SR_PRIV int sr_session_source_remove_internal(struct sr_session *session, void *key); SR_PRIV int sr_session_source_destroyed(struct sr_session *session, void *key, GSource *source); +SR_PRIV int sr_session_fd_source_add(struct sr_session *session, + void *key, gintptr fd, int events, int timeout, + sr_receive_data_callback cb, void *cb_data); SR_PRIV int sr_session_send(const struct sr_dev_inst *sdi, const struct sr_datafeed_packet *packet); SR_PRIV int sr_sessionfile_check(const char *filename); @@ -739,6 +733,11 @@ SR_PRIV int sr_packet_copy(const struct sr_datafeed_packet *packet, struct sr_datafeed_packet **copy); SR_PRIV void sr_packet_free(struct sr_datafeed_packet *packet); +/*--- session_file.c --------------------------------------------------------*/ + +SR_PRIV GKeyFile *sr_sessionfile_read_metadata(struct zip *archive, + const struct zip_stat *entry); + /*--- analog.c --------------------------------------------------------------*/ SR_PRIV int sr_analog_init(struct sr_datafeed_analog2 *analog, @@ -766,6 +765,22 @@ SR_PRIV int std_dev_clear(const struct sr_dev_driver *driver, std_dev_clear_callback clear_private); SR_PRIV int std_serial_dev_close(struct sr_dev_inst *sdi); +/*--- resource.c ------------------------------------------------------------*/ + +SR_PRIV int64_t sr_file_get_size(FILE *file); + +SR_PRIV int sr_resource_open(struct sr_context *ctx, + struct sr_resource *res, int type, const char *name) + G_GNUC_WARN_UNUSED_RESULT; +SR_PRIV int sr_resource_close(struct sr_context *ctx, + struct sr_resource *res); +SR_PRIV ssize_t sr_resource_read(struct sr_context *ctx, + const struct sr_resource *res, void *buf, size_t count) + G_GNUC_WARN_UNUSED_RESULT; +SR_PRIV void *sr_resource_load(struct sr_context *ctx, int type, + const char *name, size_t *size, size_t max_size) + G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; + /*--- strutil.c -------------------------------------------------------------*/ SR_PRIV int sr_atol(const char *str, long *ret); @@ -844,10 +859,10 @@ SR_PRIV int serial_timeout(struct sr_serial_dev_inst *port, int num_bytes); #ifdef HAVE_LIBUSB_1_0 SR_PRIV int ezusb_reset(struct libusb_device_handle *hdl, int set_clear); -SR_PRIV int ezusb_install_firmware(libusb_device_handle *hdl, - const char *filename); -SR_PRIV int ezusb_upload_firmware(libusb_device *dev, int configuration, - const char *filename); +SR_PRIV int ezusb_install_firmware(struct sr_context *ctx, libusb_device_handle *hdl, + const char *name); +SR_PRIV int ezusb_upload_firmware(struct sr_context *ctx, libusb_device *dev, + int configuration, const char *name); #endif /*--- hardware/usb.c --------------------------------------------------------*/