X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=include%2Flibsigrok%2Fproto.h;h=afc89dbc2385a201af1c6390a949dde59e93f047;hb=5de0fc55a6ac8da084caf427f6131482a40855dc;hp=1efd6aab7761bf23f16a39cf3fcdb27e8bd27297;hpb=5e1fb33469841b194e606752b865fa0d08b99067;p=libsigrok.git diff --git a/include/libsigrok/proto.h b/include/libsigrok/proto.h index 1efd6aab..afc89dbc 100644 --- a/include/libsigrok/proto.h +++ b/include/libsigrok/proto.h @@ -98,8 +98,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,6 +124,10 @@ 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_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); + 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, @@ -202,6 +208,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);