Crate soapysdr_sys
source ·Expand description
This crate provides bindings for the SoapySDR C API. See its header file for API documentation.
Re-exports
pub use _rust_wrapper_SoapySDRDevice_setupStream as SoapySDRDevice_setupStream;
Structs
! Definition for argument info
! Definition for a key/value string map
! Definition for a min/max numeric range
Constants
!< A critical error. The application might not be able to continue running successfully.
!< A debugging message.
!< An error. An operation did not complete successfully, but the application as a whole is not affected.
!< A fatal error. The application will most likely terminate. This is the highest priority.
!< An informational message, usually denoting the successful completion of an operation.
!< A notice, which is an information with just a higher priority.
!< Streaming status indicators such as “U” (underflow) and “O” (overflow).
!< A tracing message. This is the lowest priority.
!< A warning. An operation completed with an unexpected result.
Functions
Clear a list of argument info structures.
This frees all the underlying memory and clears the members.
Clear the contents of a argument info structure.
This frees all the underlying memory and clears the members.
Acquire direct buffers from a receive stream.
This call is part of the direct buffer access API.
Acquire direct buffers from a transmit stream.
This call is part of the direct buffer access API.
Activate a stream.
Call activate to prepare a stream before using read/write().
The implementation control switches or stimulate data flow.
Close an open stream created by setupStream
\param device a pointer to a device instance
\param stream the opaque pointer to a stream handle
\return 0 for success or error code on failure
Deactivate a stream.
Call deactivate when not using using read/write().
The implementation control switches or halt data flow.
Enumerate a list of available devices on the system.
\param args device construction key/value argument filters
\param [out] length the number of elements in the result.
\return a list of arguments strings, each unique to a device
Enumerate a list of available devices on the system.
Markup format for args: “keyA=valA, keyB=valB”.
\param args a markup string of key/value argument filters
\param [out] length the number of elements in the result.
\return a list of arguments strings, each unique to a device
Get the selected antenna on a chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return the name of an available antenna
Get the baseband filter width of the chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return the baseband filter width in Hz
Get the range of possible baseband filter widths.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of ranges
\return a list of bandwidth ranges in Hz
Get channel info given the streaming direction
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel the channel number to get info for
\return channel information
Get meta-information about a channel sensor.
Example: displayable name, type, range.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param key the ID name of an available sensor
\return meta-information about a sensor
Describe the allowed keys and values used for channel settings.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of sensor names
\return a list of argument info structures
Get information on a specific channel setting.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param key the setting identifier
\return a list of argument info structures
Get the clock source of the device
\param device a pointer to a device instance
\return the name of a clock source
Get the frontend DC offset correction.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] offsetI the relative correction (1.0 max)
\param [out] offsetQ the relative correction (1.0 max)
\return 0 for success or error code on failure
Get the automatic DC offset corrections mode.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true for automatic offset correction
Get the buffer addresses for a scatter/gather table entry.
When the underlying DMA implementation uses scatter/gather
then this call provides the user addresses for that table.
A key that uniquely identifies the device driver.
This key identifies the underlying implementation.
Several variants of a product may share a driver.
\param device a pointer to a device instance
Get the overall center frequency of the chain.
Query the argument info description for tune args.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of argument infos
\return a list of argument info structures
Get the frequency of a tunable element in the chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param name the name of a tunable element
\return the tunable element’s frequency in Hz
Get the frontend frequency correction value.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return the correction value in PPM
Get the range of overall frequency values.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of ranges
\return a list of frequency ranges in Hz
Get the range of tunable values for the specified element.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param name the name of a tunable element
\param [out] length the number of ranges
\return a list of frequency ranges in Hz
Get the mapping configuration string.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\return the vendor-specific mapping string
Find out if the specified channel is full or half duplex.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true for full duplex, false for half duplex
Get the overall value of the gain elements in a chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return the value of the gain in dB
Get the value of an individual amplification element in a chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param name the name of an amplification element
\return the value of the gain in dB
Get the range of possible gain values for a specific element.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param name the name of an amplification element
\return the range of possible gain values for the specified amplification element in dB
Get the automatic gain mode on the chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true for automatic gain setting
Get the overall range of possible gain values.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return the range of possible gain values for this channel in dB
Query a dictionary of available device information.
This dictionary can any number of values like
vendor name, product name, revisions, serials…
This information can be displayed to the user
to help identify the instantiated device.
\param device a pointer to a device instance
A key that uniquely identifies the hardware.
This key should be meaningful to the user
to optimize for the underlying hardware.
\param device a pointer to a device instance
Read the time from the hardware clock on the device.
The what argument can refer to a specific time counter.
\param device a pointer to a device instance
\param what optional argument
\return the time in nanoseconds
Get the frontend IQ balance correction.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] balanceI the relative correction (1.0 max)
\param [out] balanceQ the relative correction (1.0 max)
\return 0 for success or error code on failure
Get the automatic frontend IQ balance corrections mode.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true for automatic correction
Get the master clock rate of the device.
\param device a pointer to a device instance
\return the clock rate in Hz
Get the range of available master clock rates.
\param device a pointer to a device instance
\param [out] length the number of ranges
\return a list of clock rate ranges in Hz
A handle to the native device used by the driver.
The implementation may return a null value if it does not support
or does not wish to provide access to the native handle.
\param device a pointer to a device instance
\return a handle to the native device or null
Get the hardware’s native stream format for this channel.
This is the format used by the underlying transport layer,
and the direct buffer access API calls (when available).
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] fullScale the maximum possible value
\return the native stream buffer format string
Get a number of channels given the streaming direction
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\return the number of channels
How many direct access buffers can the stream provide?
This is the number of times the user can call acquire()
on a stream without making subsequent calls to release().
A return value of 0 means that direct access is not supported.
Get the reference clock rate of the device.
\param device a pointer to a device instance
\return the clock rate in Hz
Get the range of available reference clock rates.
\param device a pointer to a device instance
\param [out] length the number of sources
\return a list of clock rate ranges in Hz
Get the baseband sample rate of the chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return the sample rate in samples per second
Get the range of possible baseband sample rates.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of sample rates
\return a list of sample rate ranges in samples per second
Get meta-information about a sensor.
Example: displayable name, type, range.
\param device a pointer to a device instance
\param key the ID name of an available sensor
\return meta-information about a sensor
Describe the allowed keys and values used for settings.
\param device a pointer to a device instance
\param [out] length the number of sensor names
\return a list of argument info structures
Get information on a specific setting.
\param device a pointer to a device instance
\param key the setting identifier
\return a list of argument info structures
Query the argument info description for stream args.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of argument infos
\return a list of argument info structures
Query a list of the available stream formats.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of format strings
\return a list of allowed format strings.
See SoapySDRDevice_setupStream() for the format syntax.
Get the stream’s maximum transmission unit (MTU) in number of elements.
The MTU specifies the maximum payload transfer in a stream operation.
This value can be used as a stream buffer allocation size that can
best optimize throughput given the underlying stream implementation.
Get the time source of the device
\param device a pointer to a device instance
\return the name of a time source
Does the device support frontend DC offset correction?
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true if DC offset corrections are supported
Does the device support automatic DC offset corrections?
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true if automatic corrections are supported
Does the device support frontend frequency correction?
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true if frequency corrections are supported
Does the device support automatic gain control?
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true for automatic gain control
Does this device have a hardware clock?
\param device a pointer to a device instance
\param what optional argument
\return true if the hardware clock exists
Does the device support frontend IQ balance correction?
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true if IQ balance corrections are supported
Does the device support automatic frontend IQ balance correction?
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\return true if automatic IQ balance corrections are supported
Get the last error message after a device call fails.
When an device API call throws, the C bindings catch
the exception, store its message in thread-safe storage,
and return a non-zero status code to indicate failure.
Use lastError() to access the exception’s error message.
Get the last status code after a Device API call.
The status code is cleared on entry to each Device call.
When an device API call throws, the C bindings catch
the exception, and set a non-zero last status code.
Use lastStatus() to determine success/failure for
Device calls without integer status return codes.
Get a list of available antennas to select on a given chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of antenna names
\return a list of available antenna names
Get the range of possible baseband filter widths.
\deprecated replaced by getBandwidthRange()
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of bandwidths
\return a list of possible bandwidths in Hz
List the available channel readback sensors.
A sensor can represent a reference lock, RSSI, temperature.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of sensor names
\return a list of available sensor string names
Get the list of available clock sources.
\param device a pointer to a device instance
\param [out] length the number of sources
\return a list of clock source names
List available tunable elements in the chain.
Elements should be in order RF to baseband.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel
\param [out] length the number names
\return a list of tunable elements by name
Get a list of available GPIO banks by name.
\param [out] length the number of GPIO banks
\param device a pointer to a device instance
List available amplification elements.
Elements should be in order RF to baseband.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel
\param [out] length the number of gain names
\return a list of gain string names
Get a list of available register interfaces by name.
\param device a pointer to a device instance
\param [out] length the number of interfaces
\return a list of available register interfaces
Get the range of possible baseband sample rates.
\deprecated replaced by getSampleRateRange()
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param [out] length the number of sample rates
\return a list of possible rates in samples per second
List the available global readback sensors.
A sensor can represent a reference lock, RSSI, temperature.
\param device a pointer to a device instance
\param [out] length the number of sensor names
\return a list of available sensor string names
Get the list of available time sources.
\param device a pointer to a device instance
\param [out] length the number of sources
\return a list of time source names
Enumerate the available UART devices.
\param device a pointer to a device instance
\param [out] length the number of UART names
\return a list of names of available UARTs
Make a new Device object given device construction args.
The device pointer will be stored in a table so subsequent calls
with the same arguments will produce the same device.
For every call to make, there should be a matched call to unmake.
Make a new Device object given device construction args.
The device pointer will be stored in a table so subsequent calls
with the same arguments will produce the same device.
For every call to make, there should be a matched call to unmake.
Create a list of devices from a list of construction arguments.
This is a convenience call to parallelize device construction,
and is fundamentally a parallel for loop of make(Kwargs).
Create a list of devices from a list of construction arguments.
This is a convenience call to parallelize device construction,
and is fundamentally a parallel for loop of makeStrArgs(args).
Readback a channel sensor given the name.
The value returned is a string which can represent
a boolean (“true”/“false”), an integer, or float.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param key the ID name of an available sensor
\return the current value of the sensor
Read an arbitrary channel setting on the device.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param key the setting identifier
\return the setting value
Readback the value of a GPIO bank.
\param device a pointer to a device instance
\param bank the name of an available bank
\return an integer representing GPIO bits
Read the data direction of a GPIO bank.
\param device a pointer to a device instance
1 bits represent outputs, 0 bits represent inputs.
\param bank the name of an available bank
\return an integer representing data direction bits
Read from an available I2C slave.
If the device contains multiple I2C masters,
the address bits can encode which master.
Pass the number of bytes to be read in via numBytes;
numBytes will be set to the number of actual bytes read.
\param device a pointer to a device instance
\param addr the address of the slave
\param [in,out] numBytes the number of bytes to read
\return an array of bytes read from the slave
Read a register on the device given the interface name.
\param device a pointer to a device instance
\param name the name of a available register interface
\param addr the register address
\return the register value
Read a memory block on the device given the interface name.
Pass the number of words to be read in via length;
length will be set to the number of actual words read.
\param device a pointer to a device instance
\param name the name of a available memory block interface
\param addr the memory block start address
\param [in,out] length number of words to be read from memory block
\return the memory block content
Readback a global sensor given the name.
The value returned is a string which can represent
a boolean (“true”/“false”), an integer, or float.
\param device a pointer to a device instance
\param key the ID name of an available sensor
\return the current value of the sensor
Read an arbitrary setting on the device.
\param device a pointer to a device instance
\param key the setting identifier
\return the setting value
Read elements from a stream for reception.
This is a multi-channel call, and buffs should be an array of void *,
where each pointer will be filled with data from a different channel.
Readback status information about a stream.
This call is typically used on a transmit stream
to report time errors, underflows, and burst completion.
Read bytes from a UART until timeout or newline.
Its up to the implementation to set the baud rate,
carriage return settings, flushing on newline.
\param device a pointer to a device instance
\param which the name of an available UART
\param timeoutUs a timeout in microseconds
\return a null terminated array of bytes
Release an acquired buffer back to the receive stream.
This call is part of the direct buffer access API.
Release an acquired buffer back to the transmit stream.
This call is part of the direct buffer access API.
Set the selected antenna on a chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param name the name of an available antenna
\return an error code or 0 for success
Set the baseband filter width of the chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param bw the baseband filter width in Hz
\return an error code or 0 for success
Set the clock source on the device
\param device a pointer to a device instance
\param source the name of a clock source
\return an error code or 0 for success
Set the time of subsequent configuration calls.
The what argument can refer to a specific command queue.
Implementations may use a time of 0 to clear.
\deprecated replaced by setHardwareTime()
\param device a pointer to a device instance
\param timeNs time in nanoseconds
\param what optional argument
\return 0 for success or error code on failure
Set the frontend DC offset correction.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param offsetI the relative correction (1.0 max)
\param offsetQ the relative correction (1.0 max)
\return an error code or 0 for success
Set the automatic DC offset corrections mode.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param automatic true for automatic offset correction
\return an error code or 0 for success
Set the center frequency of the chain.
Tune the center frequency of the specified element.
Fine tune the frontend frequency correction.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param value the correction in PPM
\return an error code or 0 for success
Set the frontend mapping of available DSP units to RF frontends.
This mapping controls channel mapping and channel availability.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param mapping a vendor-specific mapping string
\return an error code or 0 for success
Set the overall amplification in a chain.
The gain will be distributed automatically across available element.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param value the new amplification value in dB
\return an error code or 0 for success
Set the value of a amplification element in a chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param name the name of an amplification element
\param value the new amplification value in dB
\return an error code or 0 for success
Set the automatic gain mode on the chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param automatic true for automatic gain setting
\return an error code or 0 for success
Write the time to the hardware clock on the device.
The what argument can refer to a specific time counter.
\param device a pointer to a device instance
\param timeNs time in nanoseconds
\param what optional argument
\return 0 for success or error code on failure
Set the frontend IQ balance correction.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param balanceI the relative correction (1.0 max)
\param balanceQ the relative correction (1.0 max)
\return an error code or 0 for success
Set the automatic frontend IQ balance correction.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param automatic true for automatic correction
\return 0 for success or error code on failure
Set the master clock rate of the device.
\param device a pointer to a device instance
\param rate the clock rate in Hz
\return an error code or 0 for success
Set the reference clock rate of the device.
\param device a pointer to a device instance
\param rate the clock rate in Hz
\return an error code or 0 for success
Set the baseband sample rate of the chain.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param rate the sample rate in samples per second
\return an error code or 0 for success
Set the time source on the device
\param device a pointer to a device instance
\param source the name of a time source
\return an error code or 0 for success
Perform a SPI transaction and return the result.
Its up to the implementation to set the clock rate,
and read edge, and the write edge of the SPI core.
SPI slaves without a readback pin will return 0.
Unmake or release a device object handle.
Unmake or release a list of device handles
and free the devices array memory as well.
This is a convenience call to parallelize device destruction,
and is fundamentally a parallel for loop of unmake(Device *).
Write an arbitrary channel setting on the device.
The interpretation is up the implementation.
\param device a pointer to a device instance
\param direction the channel direction RX or TX
\param channel an available channel on the device
\param key the setting identifier
\param value the setting value
\return 0 for success or error code on failure
Write the value of a GPIO bank.
\param device a pointer to a device instance
\param bank the name of an available bank
\param value an integer representing GPIO bits
\return 0 for success or error code on failure
Write the data direction of a GPIO bank.
1 bits represent outputs, 0 bits represent inputs.
\param device a pointer to a device instance
\param bank the name of an available bank
\param dir an integer representing data direction bits
\return 0 for success or error code on failure
Write the data direction of a GPIO bank with modification mask.
1 bits represent outputs, 0 bits represent inputs.
\param device a pointer to a device instance
\param bank the name of an available bank
\param dir an integer representing data direction bits
\param mask a modification mask where 1 = modify
\return 0 for success or error code on failure
Write the value of a GPIO bank with modification mask.
\param device a pointer to a device instance
\param bank the name of an available bank
\param value an integer representing GPIO bits
\param mask a modification mask where 1 = modify
\return 0 for success or error code on failure
Write to an available I2C slave.
If the device contains multiple I2C masters,
the address bits can encode which master.
\param device a pointer to a device instance
\param addr the address of the slave
\param data an array of bytes write out
\param numBytes the number of bytes to write
\return 0 for success or error code on failure
Write a register on the device given the interface name.
This can represent a register on a soft CPU, FPGA, IC;
the interpretation is up the implementation to decide.
\param device a pointer to a device instance
\param name the name of a available register interface
\param addr the register address
\param value the register value
\return 0 for success or error code on failure
Write a memory block on the device given the interface name.
This can represent a memory block on a soft CPU, FPGA, IC;
the interpretation is up the implementation to decide.
\param device a pointer to a device instance
\param name the name of a available memory block interface
\param addr the memory block start address
\param value the memory block content
\param length the number of words in the block
\return 0 for success or error code on failure
Write an arbitrary setting on the device.
The interpretation is up the implementation.
\param device a pointer to a device instance
\param key the setting identifier
\param value the setting value
\return 0 for success or error code on failure
Write elements to a stream for transmission.
This is a multi-channel call, and buffs should be an array of void *,
where each pointer will be filled with data for a different channel.
Write data to a UART device.
Its up to the implementation to set the baud rate,
carriage return settings, flushing on newline.
\param device a pointer to a device instance
\param which the name of an available UART
\param data a null terminated array of bytes
\return 0 for success or error code on failure
Clear a list of kwargs structures.
This frees all the underlying memory and clears the members.
Clear the contents of a kwargs structure.
This frees all the underlying memory and clears the members.
Convert a markup string to a key-value map.
The markup format is: “key0=value0, key1=value1”
Get a value given a key in a kwargs structure.
\return the string or NULL if not found
Set a key/value pair in a kwargs structure.
\post
If the key exists, the existing entry will be modified;
otherwise a new entry will be appended to args.
On error, the elements of args will not be modified,
and args is guaranteed to be in a good state.
\return 0 for success, otherwise allocation error
Convert a key-value map to a markup string.
The markup format is: “key0=value0, key1=value1”
Clear the contents of a list of string
Convenience call to deal with results that return a string list.
Convert a error code to a string for printing purposes.
If the error code is unrecognized, errToStr returns “UNKNOWN”.
\param errorCode a negative integer return code
\return a pointer to a string representing the error
Get the size of a single element in the specified format.
\param format a supported format string
\return the size of an element in bytes
Free a pointer allocated by SoapySDR.
For most platforms this is a simple call around free()
Get the ABI version string that the library was built against.
A client can compare SOAPY_SDR_ABI_VERSION to getABIVersion()
to check for ABI incompatibility before using the library.
If the values are not equal then the client code was
compiled against a different ABI than the library.
Get the SoapySDR library API version as a string.
The format of the version string is major.minor.increment,
where the digits are taken directly from SOAPY_SDR_API_VERSION.
Get the library version and build information string.
The format of the version string is major.minor.patch-buildInfo.
This function is commonly used to identify the software back-end
to the user for command-line utilities and graphical applications.
List all registration loader errors for a given module path.
The resulting dictionary contains all registry entry names
provided by the specified module. The value of each entry
is an error message string or empty on successful load.
\param path the path to a specific module file
\return a dictionary of registry names to error messages
Get a version string for the specified module.
Modules may optionally provide version strings.
\param path the path to a specific module file
\return a version string or empty if no version provided
! Query the root installation path
List all modules found in default path.
The result is an array of strings owned by the caller.
\param [out] length the number of elements in the result.
\return a list of file paths to loadable modules
List all modules found in the given path.
The result is an array of strings owned by the caller.
\param path a directory on the system
\param [out] length the number of elements in the result.
\return a list of file paths to loadable modules
The list of paths automatically searched by loadModules().
\param [out] length the number of elements in the result.
\return a list of automatically searched file paths
Load a single module given its file system path.
The caller must free the result error string.
\param path the path to a specific module file
\return an error message, empty on success
Load the support modules installed on this system.
This call will only actually perform the load once.
Subsequent calls are a NOP.
Send a message to the registered logger.
\param logLevel a possible logging level
\param message a logger message string
Register a new system log handler.
Platforms should call this to replace the default stdio handler.
Passing
NULL
restores the default.Set the log level threshold.
Log messages with lower priority are dropped.
Convert a tick count into a time in nanoseconds using the tick rate.
\param ticks a integer tick count
\param rate the ticks per second
\return the time in nanoseconds
Convert a time in nanoseconds into a tick count using the tick rate.
\param timeNs time in nanoseconds
\param rate the ticks per second
\return the integer tick count
Unload a module that was loaded with loadModule().
The caller must free the result error string.
\param path the path to a specific module file
\return an error message, empty on success
Unload all currently loaded support modules.
Send a message to the registered logger.
\param logLevel a possible logging level
\param format a printf style format string
\param argList an argument list for the formatter
Type Definitions
! Possible data types for argument info
Typedef for the registered log handler function.
The available priority levels for log messages.