X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=include%2Flibsigrok%2Fproto.h;h=069e7e840665f3499360f2c452fe599e95408d65;hb=d09a82a8fe04f9554f99c5141dd9eb7552612156;hp=1efd6aab7761bf23f16a39cf3fcdb27e8bd27297;hpb=5e1fb33469841b194e606752b865fa0d08b99067;p=libsigrok.git diff --git a/include/libsigrok/proto.h b/include/libsigrok/proto.h index 1efd6aab..069e7e84 100644 --- a/include/libsigrok/proto.h +++ b/include/libsigrok/proto.h @@ -28,10 +28,9 @@ /*--- analog.c --------------------------------------------------------------*/ -SR_API int sr_analog_to_float(const struct sr_datafeed_analog2 *analog, +SR_API int sr_analog_to_float(const struct sr_datafeed_analog *analog, float *buf); -SR_API int sr_analog_float_to_string(float value, int digits, char **result); -SR_API int sr_analog_unit_to_string(const struct sr_datafeed_analog2 *analog, +SR_API int sr_analog_unit_to_string(const struct sr_datafeed_analog *analog, char **result); SR_API void sr_rational_set(struct sr_rational *r, int64_t p, uint64_t q); @@ -98,8 +97,10 @@ SR_API const struct sr_key_info *sr_key_info_name_get(int keytype, const char *k /*--- session.c -------------------------------------------------------------*/ +typedef void (*sr_session_stopped_callback)(void *data); typedef void (*sr_datafeed_callback)(const struct sr_dev_inst *sdi, const struct sr_datafeed_packet *packet, void *cb_data); + SR_API struct sr_trigger *sr_session_trigger_get(struct sr_session *session); /* Session setup */ @@ -122,19 +123,9 @@ SR_API int sr_session_datafeed_callback_add(struct sr_session *session, SR_API int sr_session_start(struct sr_session *session); SR_API int sr_session_run(struct sr_session *session); SR_API int sr_session_stop(struct sr_session *session); -SR_API int sr_session_source_add(struct sr_session *session, int fd, - int events, int timeout, sr_receive_data_callback cb, void *cb_data); -SR_API int sr_session_source_add_pollfd(struct sr_session *session, - GPollFD *pollfd, int timeout, sr_receive_data_callback cb, - void *cb_data); -SR_API int sr_session_source_add_channel(struct sr_session *session, - GIOChannel *channel, int events, int timeout, - sr_receive_data_callback cb, void *cb_data); -SR_API int sr_session_source_remove(struct sr_session *session, int fd); -SR_API int sr_session_source_remove_pollfd(struct sr_session *session, - GPollFD *pollfd); -SR_API int sr_session_source_remove_channel(struct sr_session *session, - GIOChannel *channel); +SR_API int sr_session_is_running(struct sr_session *session); +SR_API int sr_session_stopped_callback_set(struct sr_session *session, + sr_session_stopped_callback cb, void *cb_data); /*--- input/input.c ---------------------------------------------------------*/ @@ -202,6 +193,20 @@ SR_API int sr_trigger_match_add(struct sr_trigger_stage *stage, SR_API GSList *sr_serial_list(const struct sr_dev_driver *driver); SR_API void sr_serial_free(struct sr_serial_port *serial); +/*--- resource.c ------------------------------------------------------------*/ + +typedef int (*sr_resource_open_callback)(struct sr_resource *res, + const char *name, void *cb_data); +typedef int (*sr_resource_close_callback)(struct sr_resource *res, + void *cb_data); +typedef ssize_t (*sr_resource_read_callback)(const struct sr_resource *res, + void *buf, size_t count, void *cb_data); + +SR_API int sr_resource_set_hooks(struct sr_context *ctx, + sr_resource_open_callback open_cb, + sr_resource_close_callback close_cb, + sr_resource_read_callback read_cb, void *cb_data); + /*--- strutil.c -------------------------------------------------------------*/ SR_API char *sr_si_string_u64(uint64_t x, const char *unit);