libsigrok  0.4.0
sigrok hardware access and backend library
Typedefs | Functions
proto.h File Reference

Header file containing API function prototypes. More...

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef int(* sr_log_callback) (void *cb_data, int loglevel, const char *format, va_list args)
 
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)
 
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 gssize(* sr_resource_read_callback) (const struct sr_resource *res, void *buf, size_t count, void *cb_data)
 

Functions

int sr_analog_to_float (const struct sr_datafeed_analog *analog, float *buf)
 Convert an analog datafeed payload to an array of floats. More...
 
int sr_analog_unit_to_string (const struct sr_datafeed_analog *analog, char **result)
 Convert the unit/MQ/MQ flags in the analog struct to a string. More...
 
void sr_rational_set (struct sr_rational *r, int64_t p, uint64_t q)
 Set sr_rational r to the given value. More...
 
int sr_init (struct sr_context **ctx)
 Initialize libsigrok. More...
 
int sr_exit (struct sr_context *ctx)
 Shutdown libsigrok. More...
 
int sr_log_loglevel_set (int loglevel)
 Set the libsigrok loglevel. More...
 
int sr_log_loglevel_get (void)
 Get the libsigrok loglevel. More...
 
int sr_log_callback_set (sr_log_callback cb, void *cb_data)
 Set the libsigrok log callback to the specified function. More...
 
int sr_log_callback_set_default (void)
 Set the libsigrok log callback to the default built-in one. More...
 
int sr_dev_channel_name_set (struct sr_channel *channel, const char *name)
 Set the name of the specified channel. More...
 
int sr_dev_channel_enable (struct sr_channel *channel, gboolean state)
 Enable or disable a channel. More...
 
gboolean sr_dev_has_option (const struct sr_dev_inst *sdi, int key)
 Determine whether the specified device instance has the specified capability. More...
 
int sr_dev_config_capabilities_list (const struct sr_dev_inst *sdi, const struct sr_channel_group *cg, int key)
 Enumerate the configuration capabilities supported by a device instance for a given configuration key. More...
 
GArray * sr_dev_options (const struct sr_dev_driver *driver, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg)
 Enumerate the configuration options of the specified item. More...
 
GSList * sr_dev_list (const struct sr_dev_driver *driver)
 Get the list of devices/instances of the specified driver. More...
 
int sr_dev_clear (const struct sr_dev_driver *driver)
 Clear the list of device instances a driver knows about. More...
 
int sr_dev_open (struct sr_dev_inst *sdi)
 Open the specified device. More...
 
int sr_dev_close (struct sr_dev_inst *sdi)
 Close the specified device. More...
 
struct sr_dev_driversr_dev_inst_driver_get (const struct sr_dev_inst *sdi)
 Queries a device instances' driver. More...
 
const char * sr_dev_inst_vendor_get (const struct sr_dev_inst *sdi)
 Queries a device instances' vendor. More...
 
const char * sr_dev_inst_model_get (const struct sr_dev_inst *sdi)
 Queries a device instances' model. More...
 
const char * sr_dev_inst_version_get (const struct sr_dev_inst *sdi)
 Queries a device instances' version. More...
 
const char * sr_dev_inst_sernum_get (const struct sr_dev_inst *sdi)
 Queries a device instances' serial number. More...
 
const char * sr_dev_inst_connid_get (const struct sr_dev_inst *sdi)
 Queries a device instances' connection identifier. More...
 
GSList * sr_dev_inst_channels_get (const struct sr_dev_inst *sdi)
 Queries a device instances' channel list. More...
 
GSList * sr_dev_inst_channel_groups_get (const struct sr_dev_inst *sdi)
 Queries a device instances' channel groups list. More...
 
struct sr_dev_inst * sr_dev_inst_user_new (const char *vendor, const char *model, const char *version)
 Allocate and init a new user-generated device instance. More...
 
int sr_dev_inst_channel_add (struct sr_dev_inst *sdi, int index, int type, const char *name)
 Add a new channel to the specified device instance. More...
 
struct sr_dev_driver ** sr_driver_list (const struct sr_context *ctx)
 Return the list of supported hardware drivers. More...
 
int sr_driver_init (struct sr_context *ctx, struct sr_dev_driver *driver)
 Initialize a hardware driver. More...
 
GArray * sr_driver_scan_options_list (const struct sr_dev_driver *driver)
 Enumerate scan options supported by this driver. More...
 
GSList * sr_driver_scan (struct sr_dev_driver *driver, GSList *options)
 Tell a hardware driver to scan for devices. More...
 
int sr_config_get (const struct sr_dev_driver *driver, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg, uint32_t key, GVariant **data)
 Query value of a configuration key at the given driver or device instance. More...
 
int sr_config_set (const struct sr_dev_inst *sdi, const struct sr_channel_group *cg, uint32_t key, GVariant *data)
 Set value of a configuration key in a device instance. More...
 
int sr_config_commit (const struct sr_dev_inst *sdi)
 Apply configuration settings to the device hardware. More...
 
int sr_config_list (const struct sr_dev_driver *driver, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg, uint32_t key, GVariant **data)
 List all possible values for a configuration key. More...
 
const struct sr_key_infosr_key_info_get (int keytype, uint32_t key)
 Get information about a key, by key. More...
 
const struct sr_key_infosr_key_info_name_get (int keytype, const char *keyid)
 Get information about a key, by name. More...
 
struct sr_triggersr_session_trigger_get (struct sr_session *session)
 Get the trigger assigned to this session. More...
 
int sr_session_load (struct sr_context *ctx, const char *filename, struct sr_session **session)
 Load the session from the specified filename. More...
 
int sr_session_new (struct sr_context *ctx, struct sr_session **session)
 Create a new session. More...
 
int sr_session_destroy (struct sr_session *session)
 Destroy a session. More...
 
int sr_session_dev_remove_all (struct sr_session *session)
 Remove all the devices from a session. More...
 
int sr_session_dev_add (struct sr_session *session, struct sr_dev_inst *sdi)
 Add a device instance to a session. More...
 
int sr_session_dev_remove (struct sr_session *session, struct sr_dev_inst *sdi)
 Remove a device instance from a session. More...
 
int sr_session_dev_list (struct sr_session *session, GSList **devlist)
 List all device instances attached to a session. More...
 
int sr_session_trigger_set (struct sr_session *session, struct sr_trigger *trig)
 Set the trigger of this session. More...
 
int sr_session_datafeed_callback_remove_all (struct sr_session *session)
 Remove all datafeed callbacks in a session. More...
 
int sr_session_datafeed_callback_add (struct sr_session *session, sr_datafeed_callback cb, void *cb_data)
 Add a datafeed callback to a session. More...
 
int sr_session_start (struct sr_session *session)
 Start a session. More...
 
int sr_session_run (struct sr_session *session)
 Block until the running session stops. More...
 
int sr_session_stop (struct sr_session *session)
 Stop a session. More...
 
int sr_session_is_running (struct sr_session *session)
 Return whether the session is currently running. More...
 
int sr_session_stopped_callback_set (struct sr_session *session, sr_session_stopped_callback cb, void *cb_data)
 Set the callback to be invoked after a session stopped running. More...
 
const struct sr_input_module ** sr_input_list (void)
 Returns a NULL-terminated list of all available input modules. More...
 
const char * sr_input_id_get (const struct sr_input_module *imod)
 Returns the specified input module's ID. More...
 
const char * sr_input_name_get (const struct sr_input_module *imod)
 Returns the specified input module's name. More...
 
const char * sr_input_description_get (const struct sr_input_module *imod)
 Returns the specified input module's description. More...
 
const char *const * sr_input_extensions_get (const struct sr_input_module *imod)
 Returns the specified input module's file extensions typical for the file format, as a NULL terminated array, or returns a NULL pointer if there is no preferred extension. More...
 
const struct sr_input_module * sr_input_find (char *id)
 Return the input module with the specified ID, or NULL if no module with that id is found. More...
 
const struct sr_option ** sr_input_options_get (const struct sr_input_module *imod)
 Returns a NULL-terminated array of struct sr_option, or NULL if the module takes no options. More...
 
gboolean sr_output_test_flag (const struct sr_output_module *omod, uint64_t flag)
 
void sr_input_options_free (const struct sr_option **options)
 After a call to sr_input_options_get(), this function cleans up all resources returned by that call. More...
 
struct sr_input * sr_input_new (const struct sr_input_module *imod, GHashTable *options)
 Create a new input instance using the specified input module. More...
 
int sr_input_scan_buffer (GString *buf, const struct sr_input **in)
 Try to find an input module that can parse the given buffer. More...
 
int sr_input_scan_file (const char *filename, const struct sr_input **in)
 Try to find an input module that can parse the given file. More...
 
struct sr_dev_inst * sr_input_dev_inst_get (const struct sr_input *in)
 Return the input instance's (virtual) device instance. More...
 
int sr_input_send (const struct sr_input *in, GString *buf)
 Send data to the specified input instance. More...
 
int sr_input_end (const struct sr_input *in)
 Signal the input module no more data will come. More...
 
void sr_input_free (const struct sr_input *in)
 Free the specified input instance and all associated resources. More...
 
const struct sr_output_module ** sr_output_list (void)
 Returns a NULL-terminated list of all available output modules. More...
 
const char * sr_output_id_get (const struct sr_output_module *omod)
 Returns the specified output module's ID. More...
 
const char * sr_output_name_get (const struct sr_output_module *omod)
 Returns the specified output module's name. More...
 
const char * sr_output_description_get (const struct sr_output_module *omod)
 Returns the specified output module's description. More...
 
const char *const * sr_output_extensions_get (const struct sr_output_module *omod)
 Returns the specified output module's file extensions typical for the file format, as a NULL terminated array, or returns a NULL pointer if there is no preferred extension. More...
 
const struct sr_output_module * sr_output_find (char *id)
 Return the output module with the specified ID, or NULL if no module with that id is found. More...
 
const struct sr_option ** sr_output_options_get (const struct sr_output_module *omod)
 Returns a NULL-terminated array of struct sr_option, or NULL if the module takes no options. More...
 
void sr_output_options_free (const struct sr_option **opts)
 After a call to sr_output_options_get(), this function cleans up all resources returned by that call. More...
 
const struct sr_output * sr_output_new (const struct sr_output_module *omod, GHashTable *params, const struct sr_dev_inst *sdi, const char *filename)
 Create a new output instance using the specified output module. More...
 
int sr_output_send (const struct sr_output *o, const struct sr_datafeed_packet *packet, GString **out)
 Send a packet to the specified output instance. More...
 
int sr_output_free (const struct sr_output *o)
 Free the specified output instance and all associated resources. More...
 
const struct sr_transform_module ** sr_transform_list (void)
 Returns a NULL-terminated list of all available transform modules. More...
 
const char * sr_transform_id_get (const struct sr_transform_module *tmod)
 Returns the specified transform module's ID. More...
 
const char * sr_transform_name_get (const struct sr_transform_module *tmod)
 Returns the specified transform module's name. More...
 
const char * sr_transform_description_get (const struct sr_transform_module *tmod)
 Returns the specified transform module's description. More...
 
const struct sr_transform_module * sr_transform_find (const char *id)
 Return the transform module with the specified ID, or NULL if no module with that ID is found. More...
 
const struct sr_option ** sr_transform_options_get (const struct sr_transform_module *tmod)
 Returns a NULL-terminated array of struct sr_option, or NULL if the module takes no options. More...
 
void sr_transform_options_free (const struct sr_option **opts)
 After a call to sr_transform_options_get(), this function cleans up all resources returned by that call. More...
 
const struct sr_transform * sr_transform_new (const struct sr_transform_module *tmod, GHashTable *params, const struct sr_dev_inst *sdi)
 Create a new transform instance using the specified transform module. More...
 
int sr_transform_free (const struct sr_transform *t)
 Free the specified transform instance and all associated resources. More...
 
struct sr_triggersr_trigger_new (const char *name)
 Create a new trigger. More...
 
void sr_trigger_free (struct sr_trigger *trig)
 Free a previously allocated trigger. More...
 
struct sr_trigger_stagesr_trigger_stage_add (struct sr_trigger *trig)
 Allocate a new trigger stage and add it to the specified trigger. More...
 
int sr_trigger_match_add (struct sr_trigger_stage *stage, struct sr_channel *ch, int trigger_match, float value)
 Allocate a new trigger match and add it to the specified trigger stage. More...
 
GSList * sr_serial_list (const struct sr_dev_driver *driver)
 List available serial devices. More...
 
void sr_serial_free (struct sr_serial_port *serial)
 Free a previously allocated sr_serial_port structure. More...
 
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)
 Install resource access hooks. More...
 
char * sr_si_string_u64 (uint64_t x, const char *unit)
 Convert a numeric value value to its "natural" string representation in SI units. More...
 
char * sr_samplerate_string (uint64_t samplerate)
 Convert a numeric samplerate value to its "natural" string representation. More...
 
char * sr_period_string (uint64_t frequency)
 Convert a numeric frequency value to the "natural" string representation of its period. More...
 
char * sr_voltage_string (uint64_t v_p, uint64_t v_q)
 Convert a numeric voltage value to the "natural" string representation of its voltage value. More...
 
int sr_parse_sizestring (const char *sizestring, uint64_t *size)
 Convert a "natural" string representation of a size value to uint64_t. More...
 
uint64_t sr_parse_timestring (const char *timestring)
 Convert a "natural" string representation of a time value to an uint64_t value in milliseconds. More...
 
gboolean sr_parse_boolstring (const char *boolstring)
 
int sr_parse_period (const char *periodstr, uint64_t *p, uint64_t *q)
 
int sr_parse_voltage (const char *voltstr, uint64_t *p, uint64_t *q)
 
int sr_package_version_major_get (void)
 Get the major libsigrok package version number. More...
 
int sr_package_version_minor_get (void)
 Get the minor libsigrok package version number. More...
 
int sr_package_version_micro_get (void)
 Get the micro libsigrok package version number. More...
 
const char * sr_package_version_string_get (void)
 Get the libsigrok package version number as a string. More...
 
int sr_lib_version_current_get (void)
 Get the "current" part of the libsigrok library version number. More...
 
int sr_lib_version_revision_get (void)
 Get the "revision" part of the libsigrok library version number. More...
 
int sr_lib_version_age_get (void)
 Get the "age" part of the libsigrok library version number. More...
 
const char * sr_lib_version_string_get (void)
 Get the libsigrok library version number as a string. More...
 
const char * sr_strerror (int error_code)
 Return a human-readable error string for the given libsigrok error code. More...
 
const char * sr_strerror_name (int error_code)
 Return the "name" string of the given libsigrok error code. More...
 

Detailed Description

Header file containing API function prototypes.

Definition in file proto.h.

Typedef Documentation

typedef void(* sr_datafeed_callback) (const struct sr_dev_inst *sdi, const struct sr_datafeed_packet *packet, void *cb_data)

Definition at line 106 of file proto.h.

typedef int(* sr_log_callback) (void *cb_data, int loglevel, const char *format, va_list args)

Definition at line 44 of file proto.h.

typedef int(* sr_resource_close_callback) (struct sr_resource *res, void *cb_data)

Definition at line 207 of file proto.h.

typedef int(* sr_resource_open_callback) (struct sr_resource *res, const char *name, void *cb_data)

Definition at line 205 of file proto.h.

typedef gssize(* sr_resource_read_callback) (const struct sr_resource *res, void *buf, size_t count, void *cb_data)

Definition at line 209 of file proto.h.

typedef void(* sr_session_stopped_callback) (void *data)

Definition at line 105 of file proto.h.

Function Documentation

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 
)

Install resource access hooks.

Parameters
ctxlibsigrok context. Must not be NULL.
open_cbResource open callback, or NULL to unset.
close_cbResource close callback, or NULL to unset.
read_cbResource read callback, or NULL to unset.
cb_dataUser data pointer passed to callbacks.
Return values
SR_OKSuccess.
SR_ERR_ARGInvalid argument.
Since
0.4.0

Definition at line 217 of file resource.c.

References SR_ERR_ARG, and SR_OK.

Referenced by sr_init().

+ Here is the caller graph for this function: