Expand description
The bindgen generated definitions
These are kept in a separate module (rather than including the bindings right in the lib.rs) because bindgen is a bit sensitive to some of its assignments being defined differently
Re-exports§
pub use self::ble_npl_error as ble_npl_error_t;
pub use self::os_error as os_error_t;
Structs§
- @brief ACL_ACL [ACL] (Unspecified)
- @brief FICR_INFO [INFO] (Device info)
- @brief FICR_NFC [NFC] (Unspecified)
- @brief FICR_TEMP [TEMP] (Registers storing factory TEMP module linearization coefficients)
- @brief FICR_TRNG90B [TRNG90B] (NIST800-90B RNG calibration data)
- @brief I2S_CONFIG [CONFIG] (Unspecified)
- @brief I2S_PSEL [PSEL] (Unspecified)
- @brief I2S_RXD [RXD] (Unspecified)
- @brief I2S_RXTXD [RXTXD] (Unspecified)
- @brief I2S_TXD [TXD] (Unspecified)
- @brief MWU_EVENTS_PREGION [EVENTS_PREGION] (Peripheral events.)
- @brief MWU_EVENTS_REGION [EVENTS_REGION] (Peripheral events.)
- @brief MWU_PERREGION [PERREGION] (Unspecified)
- @brief MWU_PREGION [PREGION] (Unspecified)
- @brief MWU_REGION [REGION] (Unspecified)
- @brief NFCT_FRAMESTATUS [FRAMESTATUS] (Unspecified)
- @brief NFCT_RXD [RXD] (Unspecified)
- @brief NFCT_TXD [TXD] (Unspecified)
- @brief Accelerated Address Resolver (AAR)
- @brief Access control lists (ACL)
- @brief AES CCM Mode Encryption (CCM)
- @brief CRYPTOCELL HOST_RGF interface (CC_HOST_RGF)
- @brief Clock control (CLOCK)
- @brief Comparator (COMP)
- @brief ARM TrustZone CryptoCell register interface (CRYPTOCELL)
- @brief AES ECB Mode Encryption (ECB)
- @brief Event Generator Unit 0 (EGU0)
- @brief Factory information configuration registers (FICR)
- @brief FPU (FPU)
- @brief GPIO Tasks and Events (GPIOTE)
- @brief GPIO Port 1 (P0)
- @brief Inter-IC Sound (I2S)
- @brief Low Power Comparator (LPCOMP)
- @brief Memory Watch Unit (MWU)
- @brief NFC-A compatible radio (NFCT)
- @brief Non Volatile Memory Controller (NVMC)
- @brief Pulse Density Modulation (Digital Microphone) Interface (PDM)
- @brief Power control (POWER)
- @brief Programmable Peripheral Interconnect (PPI)
- @brief Pulse width modulation unit 0 (PWM0)
- @brief Quadrature Decoder (QDEC)
- @brief External flash interface (QSPI)
- @brief 2.4 GHz radio (RADIO)
- @brief Random Number Generator (RNG)
- @brief Real time counter 0 (RTC0)
- @brief Successive approximation register (SAR) analog-to-digital converter (SAADC)
- @brief Serial Peripheral Interface Master with EasyDMA 0 (SPIM0)
- @brief SPI Slave 0 (SPIS0)
- @brief Serial Peripheral Interface 0 (SPI0)
- @brief Software interrupt 0 (SWI0)
- @brief Temperature Sensor (TEMP)
- @brief Timer/Counter 0 (TIMER0)
- @brief I2C compatible Two-Wire Master Interface with EasyDMA 0 (TWIM0)
- @brief I2C compatible Two-Wire Slave Interface with EasyDMA 0 (TWIS0)
- @brief I2C compatible Two-Wire Interface 0 (TWI0)
- @brief UART with EasyDMA 0 (UARTE0)
- @brief Universal Asynchronous Receiver/Transmitter (UART0)
- @brief User information configuration registers (UICR)
- @brief Universal serial bus device (USBD)
- @brief Watchdog Timer (WDT)
- @brief PDM_PSEL [PSEL] (Unspecified)
- @brief PDM_SAMPLE [SAMPLE] (Unspecified)
- @brief POWER_RAM [RAM] (Unspecified)
- @brief PPI_CH [CH] (PPI Channel)
- @brief PPI_FORK [FORK] (Fork)
- @brief PPI_TASKS_CHG [TASKS_CHG] (Channel group tasks)
- @brief PWM_PSEL [PSEL] (Unspecified)
- @brief PWM_SEQ [SEQ] (Unspecified)
- @brief QDEC_PSEL [PSEL] (Unspecified)
- @brief QSPI_ERASE [ERASE] (Unspecified)
- @brief QSPI_PSEL [PSEL] (Unspecified)
- @brief QSPI_READ [READ] (Unspecified)
- @brief QSPI_WRITE [WRITE] (Unspecified)
- @brief SAADC_CH [CH] (Unspecified)
- @brief SAADC_EVENTS_CH [EVENTS_CH] (Peripheral events.)
- @brief SAADC_RESULT [RESULT] (RESULT EasyDMA channel)
- @brief SPIM_IFTIMING [IFTIMING] (Unspecified)
- @brief SPIM_PSEL [PSEL] (Unspecified)
- @brief SPIM_RXD [RXD] (RXD EasyDMA channel)
- @brief SPIM_TXD [TXD] (TXD EasyDMA channel)
- @brief SPIS_PSEL [PSEL] (Unspecified)
- @brief SPIS_RXD [RXD] (Unspecified)
- @brief SPIS_TXD [TXD] (Unspecified)
- @brief SPI_PSEL [PSEL] (Unspecified)
- @brief TWIM_PSEL [PSEL] (Unspecified)
- @brief TWIM_RXD [RXD] (RXD EasyDMA channel)
- @brief TWIM_TXD [TXD] (TXD EasyDMA channel)
- @brief TWIS_PSEL [PSEL] (Unspecified)
- @brief TWIS_RXD [RXD] (RXD EasyDMA channel)
- @brief TWIS_TXD [TXD] (TXD EasyDMA channel)
- @brief TWI_PSEL [PSEL] (Unspecified)
- @brief UARTE_PSEL [PSEL] (Unspecified)
- @brief UARTE_RXD [RXD] (RXD EasyDMA channel)
- @brief UARTE_TXD [TXD] (TXD EasyDMA channel)
- @brief UART_PSEL [PSEL] (Unspecified)
- @brief USBD_EPIN [EPIN] (Unspecified)
- @brief USBD_EPOUT [EPOUT] (Unspecified)
- @brief USBD_HALTED [HALTED] (Unspecified)
- @brief USBD_ISOIN [ISOIN] (Unspecified)
- @brief USBD_ISOOUT [ISOOUT] (Unspecified)
- @brief USBD_SIZE [SIZE] (Unspecified)
- @brief Type for CoAP resource subtrees
- @brief CoAP resource request handler context @internal
- @brief Common IP-based transport layer end point
- @brief @c thread_t holds thread’s context data.
- @brief AES128_CMAC calculation context
- @brief Type to represent a module to be auto-initialized
- Advertising parameters
- @brief Connection descriptor
- @brief Connection parameters
- @brief Advertising report
- @brief Discovery parameters
- Represents a GAP-related event. When such an event occurs, the host notifies the application by passing an instance of this structure to an application-specified callback.
- Represents a connection attempt. Valid for the following event types: o BLE_GAP_EVENT_CONNECT
- Represents a terminated connection. Valid for the following event types: o BLE_GAP_EVENT_DISCONNECT
- Represents a completed discovery procedure. Valid for the following event types: o BLE_GAP_EVENT_DISC_COMPLETE
- Represents a completed advertise procedure. Valid for the following event types: o BLE_GAP_EVENT_ADV_COMPLETE
- Represents an attempt to update a connection’s parameters. If the attempt was successful, the connection’s descriptor reflects the updated parameters.
- Represents a peer’s request to update the connection parameters. This event is generated when a peer performs any of the following procedures: o L2CAP Connection Parameter Update Procedure o Link-Layer Connection Parameters Request Procedure
- Represents a failed attempt to terminate an established connection. Valid for the following event types: o BLE_GAP_EVENT_TERM_FAILURE
- Represents an attempt to change the encrypted state of a connection. If the attempt was successful, the connection descriptor reflects the updated encrypted state.
- Represents a passkey query needed to complete a pairing procedure.
- Represents a received ATT notification or indication.
- Represents a transmitted ATT notification or indication, or a completed indication transaction.
- Represents a state change in a peer’s subscription status. In this comment, the term “update” is used to refer to either a notification or an indication. This event is triggered by any of the following occurrences: o Peer enables or disables updates via a CCCD write. o Connection is about to be terminated and the peer is subscribed to updates. o Peer is now subscribed to updates after its state was restored from persistence. This happens when bonding is restored.
- Represents a change in an L2CAP channel’s MTU.
- Represents a change in peer’s identity. This is issued after successful pairing when Identity Address Information was received.
- Represents a change of PHY. This is issue after successful change on PHY.
- Event listener structure
- @brief Extended discovery parameters
- @brief Passkey query
- Connection security state
- @brief Connection parameters update parameters
- @server.
- @client.
- Context passed to the registration callback; represents the GATT service, characteristic, or descriptor being registered.
- Service; valid if op == BLE_GATT_REGISTER_OP_SVC.
- Characteristic; valid if op == BLE_GATT_REGISTER_OP_CHR.
- Descriptor; valid if op == BLE_GATT_REGISTER_OP_DSC.
- @brief Bluetooth Host main configuration structure
- @brief Used to report the result of a stop procedure.
- Represents a L2CAP-related event. When such an event occurs, the host notifies the application by passing an instance of this structure to an application-specified callback.
- Represents a connection attempt. Valid for the following event types: o BLE_L2CAP_EVENT_COC_CONNECTED
- Represents a terminated connection. Valid for the following event types: o BLE_L2CAP_EVENT_COC_DISCONNECTED
- Represents connection accept. Valid for the following event types: o BLE_L2CAP_EVENT_COC_ACCEPT
- Represents received data. Valid for the following event types: o BLE_L2CAP_EVENT_COC_DATA_RECEIVED
- Represents tx_unstalled data. Valid for the following event types: o BLE_L2CAP_EVENT_COC_TX_UNSTALLED
- Represents reconfiguration done. Valid for the following event types: o BLE_L2CAP_EVENT_COC_RECONFIG_COMPLETED o BLE_L2CAP_EVENT_COC_PEER_RECONFIGURED
- Used as a key for lookups of stored client characteristic configuration descriptors (CCCDs). This struct corresponds to the BLE_STORE_OBJ_TYPE_CCCD store object type.
- Used as a key for lookups of security material. This struct corresponds to the following store object types: o BLE_STORE_OBJ_TYPE_OUR_SEC o BLE_STORE_OBJ_TYPE_PEER_SEC
- Represents a write that failed due to storage exhaustion. Valid for the following event types: o BLE_STORE_EVENT_OVERFLOW
- Represents the possibility that a scheduled write will fail due to storage exhaustion. Valid for the following event types: o BLE_STORE_EVENT_FULL
- Represents a stored client characteristic configuration descriptor (CCCD). This struct corresponds to the BLE_STORE_OBJ_TYPE_CCCD store object type.
- Represents stored security material. This struct corresponds to the following store object types: o BLE_STORE_OBJ_TYPE_OUR_SEC o BLE_STORE_OBJ_TYPE_PEER_SEC
- 16-bit UUID
- 32-bit UUID
- 128-bit UUID
- Generic UUID type, to be used only as a pointer
- @brief Struct used for returning the contents of a selected field
- @brief Descriptor for a buffer containing advertising data
- @brief circular integer buffer structure
- @brief the context for cipher-operations
- @brief BlockCipher-Interface for the Cipher-Algorithms
- @brief basic struct for using block ciphers contains the cipher interface and the context
- @brief Block1 helper struct
- @brief Blockwise request helper struct
- @brief Blockwise transfer helper struct
- @brief Raw CoAP PDU header structure
- @brief Context information required to write a resource link
- @brief CoAP option array entry
- @brief CoAP PDU parsing context structure
- @brief Type for CoAP resource entry
- @name COSE header struct @{
- @name COSE header pack
- @name COSE key object
- @name COSE sign, https://tools.ietf.org/html/rfc8152#section-4
- @name COSE sign decoding struct
- @name Signature struct @brief Contains signature and headers related to the signatures @{
- @name Signature decoder struct @brief Contains the buffer information required for decoding a signature @{
- @name DHCPv6 unique identifier (DUID) definitions @see RFC 8415, section 11 @{ / /** @brief DUID based on link-layer address plus time
- @brief Ethernet header
- @brief event structure
- @brief Callback Event structure definition
- @brief event queue structure
- @brief Timeout Event structure
- @brief Generic event
- @brief Message box event definition.
- @brief IPC-message event @extends evtimer_event_t
- @brief Event timer
- @brief A modular collection of resources for a server
- @brief Memo for Observe registration and notifications
- @brief Memo to handle a response for a request
- @brief Extends request memo for resending a confirmable request.
- @brief CoAP socket to handle multiple transport types
- @brief Authoritative border router list entry view on NIB
- @brief Forwarding table entry view on NIB
- @brief Neighbor cache entry view on NIB
- @brief Prefix list entry view on NIB
- @brief Data structure to be send for setting (@ref GNRC_NETAPI_MSG_TYPE_SET) and getting (@ref GNRC_NETAPI_MSG_TYPE_GET) options
- @brief Generic network interface header
- @brief IPv6 component for @ref gnrc_netif_t
- @see gnrc_netif_ops_t
- @brief Representation of a network interface
- @brief Entry to the @ref net_gnrc_netreg
- @brief Callback + Context descriptor @note Only available with @ref net_gnrc_netapi_callbacks.
- @brief Type to represent parts (either headers or payload) of a packet, called snips. @details The idea behind the packet snips is that they either can represent protocol-specific headers or payload. A packet can be comprised of multiple pktsnip_t elements.
- @brief sock @ref net_gnrc_netreg info @internal
- @brief Context for HMAC operations based on sha256
- @brief I2C (TWI) configuration options @{
- @brief Echo request and response message format. @extends icmpv6_hdr_t
- @brief Destination unreachable message format. @extends icmpv6_hdr_t
- @brief Parameter problem message format. @extends icmpv6_hdr_t
- @brief Packet too big message format. @extends icmpv6_hdr_t
- @brief Time exceeded message format. @extends icmpv6_hdr_t
- @brief General ICMPv6 message format.
- @brief iolist structure definition
- @brief struct iovec anonymous declaration
- @brief Fragment header definition
- @brief IPv6 routing extension header.
- @brief IPv6 extension headers.
- @brief Data type to represent an IPv6 packet header
- @brief Context structure for isrpipe
- @brief Context for operations on a sponge with keccak permutation
- @brief Forward declaration of a list of network scan results
- @brief List node structure
- @brief Mailbox struct definition
- @brief MD5 calculation context
- @brief Describes a message object which can be sent between threads.
- @brief MTD driver interface
- @brief MTD device descriptor
- @brief A cancellation structure for use with @ref mutex_lock_cancelable and @ref mutex_cancel
- @brief Mutex structure. Must never be modified by the user.
- @brief encoder context
- @brief decoder context
- @brief Cache container that holds a @p coap_pkt_t struct.
- @brief Context from CoAP request for separate response
- @brief NanoCoAP socket struct
- @brief Neighbor advertisement message format. @extends icmpv6_hdr_t
- @brief Neighbor solicitation message format. @extends icmpv6_hdr_t
- @brief MTU option format @extends ndp_opt_t
- @brief Prefix information option format @extends ndp_opt_t
- @brief Recursive DNS server option format with payload @extends ndp_opt_rdnss_t @details Auxiliary struct that contains a zero-length array as convenience pointer to the addresses. Only for use in C, invalid in ISO-C++.
- @brief Recursive DNS server option format without payload @extends ndp_opt_t
- @brief Redirected header option format @extends ndp_opt_t
- @brief Route information option format @extends ndp_opt_t
- @brief General NDP option format @see RFC 4861, section 4.6
- @brief Redirect message format. @extends icmpv6_hdr_t
- @brief Router advertisement message format. @extends icmpv6_hdr_t
- @brief Router solicitation message format. @extends icmpv6_hdr_t
- @brief Structure to hold driver state
- @brief Structure to hold driver interface -> function mapping
- @brief Received frame status information for most radios
- @brief Network interface descriptor.
- @brief Basic network connect request
- @brief Basic network connect result
- @brief Basic network disconnect request
- @brief Basic disconnect result
- @brief Basic network scan request
- @brief Basic network scan result
- Chained memory buffer.
- A packet header structure that preceeds the mbuf packet headers.
- A mbuf pool from which to allocate mbufs. This contains a pointer to the os mempool to allocate mbufs out of, the total number of elements in the pool, and the amount of “user” data in a non-packet header mbuf. The total pool size, in bytes, should be: os_mbuf_count * (omp_databuf_len + sizeof(struct os_mbuf))
- A memory block structure. This simply contains a pointer to the free list chain and is only used when the block is on the free list. When the block has been removed from the free list the entire memory block is usable by the caller.
- Memory pool
- Information describing a memory pool, used to return OS information to the management layer.
- Structure representing a queue of mbufs.
- @brief Generic data structure for expressing physical values
- @brief Quadrature decoder configuration struct
- @brief Ringbuffer. @details Non thread-safe FIFO ringbuffer implementation around a
char
array. - @brief Mutex structure. Must never be modified by the user.
- @brief Definition of the RIOT actuator/sensor interface
- @brief SAUL registry entry
- @brief Additional data to collect for each entry
- @brief A Semaphore.
- @brief SHA-1 algorithm context @internal
- @brief Structure to hold the SHA-2XX context.
- @brief sha256-chain indexed element
- @brief Structure to hold the SHA-512 context.
- @brief A single command in the list of the supported commands. @details The list of commands is NULL terminated, i.e. the last element must be
{ NULL, NULL, NULL }
. - @brief A single command in the list of the supported commands.
- @brief Asynchronous context for @ref net_sock_async_event
- @brief Event definition for context scope
- @brief Raw IP sock type @internal
- @brief Auxiliary data provided when receiving using an IP sock object
- @brief Auxiliary data provided when sending using an IP sock object
- @brief Abstract IP end point and end point for a raw IP sock object
- @brief Transmission control block of GNRC TCP.
- @brief Transmission control block queue.
- @brief UDP sock type @internal
- @brief Auxiliary data provided when receiving using an UDP sock object
- @brief Auxiliary data provided when sending using an UDP sock object
- @brief SPI configuration values
- @brief SPI gpio mode
- @brief File system information
- @brief stdio provider struct
- @brief SUIT component struct as decoded from the manifest
- @brief SUIT condition parameters
- @brief SUIT manifest struct
- @brief SUIT parameter reference
- @brief Timer configuration options
- @brief A timex timestamp
- @brief thread-safe ringbuffer struct
- @brief Structure for UART configuration data
- @brief UDP header
- @brief Unaligned access helper struct (uint16_t version)
- @brief Unaligned access helper struct (uint32_t version)
- @brief Unaligned access helper struct (uint64_t version)
- @brief UUID layout
- @brief Internal representation of a file system directory entry
- @brief Operations on open directories
- @brief User facing directory entry
- @brief Operations on open files
- @brief Operations on mounted file systems
- @brief A file system driver
- @brief Information about an open file
- @brief A mounted file system
- @brief Minimum information for each timer
- @brief ztimer device structure
- @brief ztimer backend method structure
- @brief ztimer periodic structure
- @brief ztimer structure
Constants§
- 16-bit UUID (BT SIG assigned)
- 32-bit UUID (BT SIG assigned)
- 128-bit UUID
- < blocking mode
- < insufficient memory to write field
- < entry not found
- < everything went as expected
- @brief neighbor state change
- @brief route notification
- @brief reactive routing query
- < undefined
- < Use some automatic bootstrapping (e.g. SLAAC with IPv6)
- < Use DHCP(v6)
- < no configuration
- < no forward error correction
- < non-recursive and non-systematic code
- < recursive and systematic code
- < -11 Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory related Fault
- < 15 CCM_AAR
- < 19 COMP_LPCOMP
- < 42 CRYPTOCELL
- < -4 Debug Monitor
- < 14 ECB
- < 38 FPU
- < 6 GPIOTE
- < -13 Hard Fault, all classes of Fault
- < 37 I2S
- < 32 MWU
- < -12 Memory Management, MPU mismatch, including Access Violation and No Match
- < 5 NFCT
- < -14 Non maskable Interrupt, cannot be stopped or preempted
- < 29 PDM
- < 0 POWER_CLOCK
- < 28 PWM0
- < 33 PWM1
- < 34 PWM2
- < 45 PWM3
- < -2 Pendable request for system service
- < 18 QDEC
- < 41 QSPI
- < 1 RADIO
- < 13 RNG
- < 11 RTC0
- < 17 RTC1
- < 36 RTC2
- < -15 Reset Vector, invoked on Power up and warm reset
- < 7 SAADC
- < 3 SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0
- < 4 SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1
- < 35 SPIM2_SPIS2_SPI2
- < 47 SPIM3
- < -5 System Service Call via SVC instruction
- < 20 SWI0_EGU0
- < 21 SWI1_EGU1
- < 22 SWI2_EGU2
- < 23 SWI3_EGU3
- < 24 SWI4_EGU4
- < 25 SWI5_EGU5
- < -1 System Tick Timer
- < 12 TEMP
- < 8 TIMER0
- < 9 TIMER1
- < 10 TIMER2
- < 26 TIMER3
- < 27 TIMER4
- < 2 UARTE0_UART0
- < 40 UARTE1
- < 39 USBD
- < -10 Usage Fault, i.e. Undef Instruction, Illegal State Transition
- < 16 WDT
- < non-blocking mode
- < Analog Input 0
- < Analog Input 1
- < Analog Input 2
- < Analog Input 3
- < Analog Input 4
- < Analog Input 5
- < Analog Input 6
- < Analog Input 7
- < VDD, not useful if VDD is reference…
- < VDDH divided by 5
- any actuator - wildcard
- actuator: dimmable switch
- < any actuator - wildcard
- < actuator: dimmable switch
- < actuator: RGB LED
- < actuator: motor
- < actuator: servo motor
- < actuator: simple on/off switch
- actuator: RGB LED
- actuator: motor
- < Number of actuators supported
- actuator: servo motor
- actuator: simple on/off switch
- < Actuator device class
- < Bitmask to obtain the category ID
- < Sensor device class
- < device class undefined
- any device - wildcard
- < Bitmask to obtain the intra-category ID
- sensor: accelerometer
- sensor: raw analog value
- any sensor - wildcard
- sensor: simple button
- sensor: capacitance
- sensor: coulomb counter
- sensor: CO2 Gas
- sensor: (light) color
- sensor: pulse counter
- sensor: ammeter
- sensor: distance
- sensor: Gas common
- sensor: gyroscope
- sensor: humidity
- < sensor: accelerometer
- < sensor: raw analog value
- < any sensor - wildcard
- < sensor: simple button
- < sensor: capacitance
- < sensor: coulomb counter
- < sensor: CO2 Gas
- < sensor: (light) color
- < sensor: pulse counter
- < sensor: ammeter
- < sensor: distance
- < sensor: Gas common
- < sensor: gyroscope
- < sensor: humidity
- < sensor: light
- < sensor: magnetometer
- < sensor: object temperature
- < sensor: occupancy
- < sensor: pH
- < sensor: particulate matter
- < sensor: power
- < sensor: pressure
- < sensor: proximity
- < sensor: RSSI
- < sensor: size
- < sensor: temperature
- < sensor: TVOC Gas
- < sensor: UV index
- < sensor: voltage
- sensor: light
- sensor: magnetometer
- < Number of actuators supported
- sensor: object temperature
- sensor: occupancy
- sensor: pH
- sensor: particulate matter
- sensor: power
- sensor: pressure
- sensor: proximity
- sensor: RSSI
- sensor: size
- sensor: temperature
- sensor: TVOC Gas
- sensor: UV index
- sensor: voltage
- @brief Flag to request the local address/endpoint
- @brief Flag to request the RSSI value of received frame
- @brief Flag to request the time stamp of transmission / reception
- @brief Flag to request the TTL value of received frame
- @brief Flag to set the local address/endpoint
- < selected clock value is not supported
- < invalid chip select line specified
- < invalid SPI bus specified
- < selected mode is not supported
- < everything went as planned
- < stdio via ESP32 debug Serial/JTAG
- < stdio via ethos (mutiplex)
- < stdio via BLE (NimBLE)
- < dummy stdio
- < stdio via Segger RTT
- < stdio via Semihosting
- < stdio via telnet
- < tdio via USB CDC ACM (TinyUSB)
- < stdio via UART
- < stdio via UDP
- < stdio via USB CDC ACM (usbus)
- < Digest component
- < Identifier component
- < Size component
- < Best before conditional
- < Class ID match conditional
- < Device ID match conditional
- < Vendor ID match conditional
- < all other internal errors
- < given symbol rate is not applicable
- < invalid UART device given
- < given mode is not applicable
- < everything in order
- < Ampere
- < Beer?
- < boolean value [0|1]
- < Candela
- < coulomb
- < count per cubic meter
- < counts
- < the 3 dimensions contain days, months and years
- < decibel-milliwatts
- < degree per second
- < Farad
- < @deprecated, use UNIT_G_FORCE instead
- < gauss
- < grams per cubic meter
- < @deprecated, use UNIT_GRAM instead
- < grams - not using the SI unit (kg) here to make scale handling simpler
- < @deprecated, use UNIT_GAUSS instead
- < gravitational force equivalent
- < Lux (lx)
- < meters
- < square meters
- < cubic meters
- < data has no physical unit
- < Ohm
- < Pascal
- < out of 100
- < out of 1000
- < pH
- < part per billion
- < part per million
- < Tesla
- < degree Celsius
- < degree Fahrenheit
- < Kelvin
- < the three dimensions contain sec, min, and hours
- < unit undefined
- < Volts
- < Watt
- < not supported by hardware
- < ADC resolution: 8 bit
- < ADC resolution: 10 bit
- < ADC resolution: 12 bit
- < supported with oversampling, not implemented
- < not supported by hardware
- < DELETE request (no payload, remove resource)
- < FETCH request (RFC 8132)
- < GET request (no paylod)
- < iPATCH request (RFC 8132)
- < PATCH request (RFC 8132)
- < POST request (resource processes payload)
- < PUT request (update resource with payload)
- < bus fault
- < debug interrupt
- < unhandled interrupt
- < hard fault
- < memory management fault
- < non maskable interrupt
- < stack smashing protector failure
- < stack overflow detected
- < undefined instruction or unaligned access
- < AES-GCM mode w/ 128-bit key, 128-bit tag
- < AES-GCM mode w/ 192-bit key, 128-bit tag
- < AES-GCM mode w/ 256-bit key, 128-bit tag
- < AES-CCM w/ 128-bit key, 64-bit tag and 13-byte nonce
- < AES-CCM w/ 256-bit key, 64-bit tag and 13-byte nonce
- < AES-CCM w/ 128-bit key, 128-bit tag and 13-byte nonce
- < AES-CCM w/ 256-bit key, 128-bit tag and 13-byte nonce
- < AES-CCM w/ 128-bit key, 64-bit tag and 7-byte nonce
- < AES-CCM w/ 256-bit key, 64-bit tag and 7-byte nonce
- < AES-CCM w/ 128-bit key, 128-bit tag and 7-byte nonce
- < AES-CCM w/ 256-bit key, 128-bit tag and 7-byte nonce
- < IETF ChaCha20/Poly1305 w/ 256-bit key, 128-bit tag
- < Direct use of CEK
- < EdDSA
- < ECDSA w/ SHA256
- < ECDSA w/ SHA384
- < ECDSA w/ SHA512
- < HMAC w/ SHA-256
- < HSS-LMS signature algo
- < Invalid algo
- < Encrypt
- < Encrypt0
- < MAC
- < MAC0
- < Sign
- < Sign1
- < Unknown tag number
- < Ed448 for EdDSA only
- < Ed25519 for EdDSA only
- < secp256r1
- < secp384r1
- < secp521r1
- < X448, ECDH only
- < X25519, ECDH only
- < Not an EC key
- < CBOR unsupported error
- < Crypto error, e.g. invalid signature
- < CBOR related error
- < Invalid parameter passed to function
- < Initialization error
- < No memory for operation, e.g. buffer depleted
- < Algorithm not implemented
- < Header not found
- < Everything okay
- < Byte string type header
- < CBOR type header
- < Integer type header
- < Text string type header
- < Unknown header type
- < Algo header
- < Content type header
- < Counter signature header
- < Counter signature 0 header
- < Critical options header
- < IV header
- < Key ID header
- < Partial IV header
- < Unassigned header number
- < Key algorithm
- < Base IV
- < Key identifier
- < Key type identifier
- < Key options
- < Elliptic curve
- < HSS-LMS type keys
- < Octet key pair (eddsa)
- < RSA
- < Symmetric key types
- < DTLS-over-UDP transport
- < Unencrypted UDP transport
- < undefined
- @brief Address becomes valid
- < provides @ref gnrc_ipv6_event_t messages to subscribers
- @brief Use function callbacks for [netapi](@ref net_gnrc_netapi) operations.
- @brief Use [default IPC](@ref core_msg) for [netapi](@ref net_gnrc_netapi) operations.
- @brief Use [centralized IPC](@ref core_mbox) for [netapi](@ref net_gnrc_netapi) operations.
- < Protocol is ICMPv6
- < Protocol is IPv6
- @brief Protocol is as defined in @ref gnrc_netif_hdr_t. Not usable with @ref net_gnrc_netreg
- < maximum number of available protocols
- < Protocol is TCP
- @brief TX synchronization data for passing up error data or auxiliary data
- < Protocol is UDP
- < Protocol is undefined
- < emit interrupt on both flanks
- < emit interrupt on falling flank
- < emit interrupt on rising flank
- < unsupported
- < unsupported
- < IN
- < IN with pull-up and open drain output
- < IN with pull-down
- < IN with pull-up
- < not supported by HW
- < not supported by HW
- < OUT (push-pull)
- < use 10-bit device addressing
- < skip START sequence, ignores address field
- < do not issue a STOP condition after transfer
- < use 16-bit register addressing, big-endian
- < 400kbit/s
- < not supported
- < not supported
- < not supported
- < 100kbit/s
- < Amplitude-Shift Keying
- < Binary Phase Shift Keying
- < PHY disabled, no mode selected
- < Multi-Rate Frequency Shift Keying
- < Multi-Rate Orthogonal Frequency-Division Multiplexing
- < Multi-Rate Offset Quadrature Phase-Shift Keying
- < Offset Quadrature Phase-Shift Keying
- < Power down
- < Power up
- @brief decoder is beyond the end of the buffer
- Decoder get function attempts to retrieve the wrong type
- @brief Overflow in the getter. This can happen due to retrieving a number size larger than the function provides
- @brief Decoder hits the recursion limit
- @brief Decoder could not find the requested entry
- @brief No error
- < transport is DTLS
- < transport is plain UDP
- < channel activity detection done
- < wrong CRC
- < channel changed
- < driver needs it’s ISR handled
- < link gone
- < link established
- < finished receiving a frame
- < started to receive a frame
- < timeout when receiving
- < transfer frame complete
- < started to transfer a frame
- < timeout when sending
- < Will match any device type
- < disable a given option
- < enable a given option
- < continuous rx mode
- < carrier wave continuous tx mode
- < PRBS9 continuous tx mode
- < idle mode, radio off
- < idle mode, the device listens to receive packets
- < powered off
- < triggers a hardware reset. The resulting state of the network device is @ref NETOPT_STATE_IDLE
- < receive mode, the device currently receives a packet
- < sleep mode
- < standby mode. The devices is awake but not listening to packets.
- < transmit mode, set: triggers transmission of a preloaded packet (see @ref NETOPT_PRELOADING*). The resulting state of the network device is @ref NETOPT_STATE_IDLE get: the network device is in the process of transmitting a packet
- @brief (@ref netopt_enable_t) 6Lo support
- @brief (@ref netopt_enable_t) header compression
- @brief (@ref netopt_enable_t) frame pending bit of ACKs
- @brief (@ref netopt_enable_t) acknowledgement request on outgoing frames
- @brief (@ref netopt_enable_t) network interface status.
- @brief (byte array, see below) link layer address in network byte order
- @brief (byte array, see below) long link layer address in network byte order
- @brief (uint16_t) get the default address length a network device expects
- @brief (@ref netopt_enable_t) automatic link layer ACKs
- @brief (@ref netopt_enable_t) perform channel clear assessment before transmitting
- @brief (uint8_t) radio modulation bandwidth
- @brief (uint16_t) Set the battery monitor voltage (in mV).
- @brief (netdev_ble_ctx_t) set BLE radio context (channel, CRC, AA)
- @brief (uint8_t) CCA mode for the radio transceiver
- @brief (int8_t) CCA threshold for the radio transceiver
- @brief (uint16_t) channel number
- @brief (uint32_t) channel center frequency
- @brief (@ref netopt_enable_t) channel hopping
- @brief (uint8_t) channel hopping period
- @brief (uint16_t) channel page as defined by IEEE 802.15.4
- @brief (uint8_t) PHY Channel Spacing (kHz)
- @brief (@ref netopt_enable_t) enable hardware checksumming
- @brief (uint8_t) radio coding rate
- @brief (@ref netopt_connect_request_t) Instructs the interface to connect to a network
- @brief (@ref netopt_enable_t) CSMA/CA support
- @brief (uint8_t) maximum backoff exponent for the CSMA-CA algorithm
- @brief (uint8_t) minimum backoff exponent for the CSMA-CA algorithm
- @brief (uint8_t) maximum number of CSMA retries
- @brief (uint8_t) Get the demodulation margin of the last Link Check request.
- @brief (uint16_t) device type
- @brief (@ref netopt_disconnect_request_t) Instructs the interface to disconnect from a network
- @brief (@ref netopt_enable_t) link layer encryption.
- @brief (byte array) set encryption key
- @brief (@ref netopt_enable_t) fixed header mode
- @brief (ieee802154_dsme_alloc_t) Allocate DSME GTS slot
- @brief (netopt_enable_t) Transmit frames using GTS transmission
- @brief (uint8_t) hop limit
- @brief (uint8_t) 802.15.4 PHY mode
- @brief (@ref netopt_enable_t) frame integrity check (e.g CRC)
- @brief (@ref ipv6_addr_t[]) get IPv6 addresses of an interface as array of @ref ipv6_addr_t or add an IPv6 address as @ref ipv6_addr_t to an interface
- @brief (array of uint8_t) get the flags to the addresses returned by @ref NETOPT_IPV6_ADDR as array
- @brief (@ref ipv6_addr_t) Removes an IPv6 address from an interface
- @brief (@ref netopt_enable_t) IPv6 forwarding state
- @brief (@ref ipv6_addr_t) get IPv6 multicast groups of an interface as array of @ref ipv6_addr_t or join an IPv6 multicast group as @ref ipv6_addr_t on an interface
- @brief (@ref ipv6_addr_t) Leave an IPv6 multicast group on an interface
- @brief (@ref eui64_t) get the IPv6 interface identifier of a network interface
- @brief (@ref netopt_enable_t) sending of IPv6 router advertisements
- @brief (@ref netopt_enable_t) IQ inverted
- @brief (@ref netopt_enable_t) check whether the network medium is clear
- @brief (@ref netopt_enable_t) read-only check for a wired interface.
- @experimental @brief (@ref l2filter_t) add an address to a link layer filter list
- @experimental @brief (@ref l2filter_t) remove an address from a link layer filter list
- @brief (array of byte array) get link layer multicast groups as array of byte arrays (length of each byte array corresponds to the length of @ref NETOPT_ADDRESS) or join a link layer multicast group as byte array on an interface
- @brief (array of byte arrays) Leave an link layer multicast group
- @brief (int8_t) Energy level during the last performed CCA or RX frame
- @brief (@ref netopt_enable_t) network interface link status.
- @brief (@ref netopt_enable_t) Perform a Link Check request (LoRaWAN)
- @brief (@ref netopt_enable_t) LoRaWAN adaptive datarate
- @brief (uint8_t*) LoRaWAN application EUI (8 bytes length)
- @brief (uint8_t*) LoRaWAN application key (16 bytes length)
- @brief (uint8_t*) LoRaWAN application session key (16 bytes length)
- @brief (uint8_t) LoRaWAN device class (A, B, C)
- @brief (uint8_t) LoRaWAN datarate
- @brief (uint8_t*) LoRaWAN forwarding network session integrity key (16 bytes length)
- @brief (uint8_t*) LoRaWAN join EUI (8 bytes length)
- @brief (uint32_t) LoRaWAN maximum system overall timing error (ms)
- @brief (uint8_t) LoRaWAN maximum system overall timing error (symbols)
- @brief (uint8_t*) LoRaWAN network key (16 bytes length)
- @brief (uint8_t*) LoRaWAN network session encryption key buffer (16 bytes length)
- @brief (uint8_t*) LoRaWAN network session key (16 bytes length)
- @brief (@ref netopt_enable_t) LoRaWAN public network
- @brief (loramac_dr_idx_t) LoRaWAN datarate for second RX window
- @brief (uint32_t) LoRaWAN frequency used for second RX window
- @brief (uint8_t*) LoRaWAN serving network session integrity key (16 bytes length)
- @brief (@ref netopt_enable_t) block transceiver sleep
- @brief (uint16_t) maximum protocol data unit
- @brief (uint8_t) MR-FSK PHY Forward Error Correction
- @brief (uint8_t) MR-FSK PHY Modulation Index (x 64)
- @brief (uint8_t) MR-FSK Modulation Order
- @brief (uint8_t) MR-FSK PHY Symbol Rate (kHz)
- @brief (uint8_t) MR-OFDM PHY Modulation and Coding Scheme (Values: 0-6)
- @brief (uint8_t) MR-OFDM PHY Option (Values: 1-4)
- @brief (uint8_t) MR-O-QPSK Chip Rate (kchip/s)
- @brief (uint8_t) MR-O-QPSK Rate Mode
- @brief (uint16_t) network ID
- @brief maximum number of options defined here.
- @brief (uint8_t) Get the number of gateways of the last Link Check request.
- @brief (uint8_t) legacy O-QPSK proprietary mode Allows to select higher data rates than standard 250 kbit/s Not compatible across vendors, only use with radios of the same type.
- @brief (@ref netopt_enable_t) Enable or disable OTAA activation (LoRaWAN)
- @brief (netopt_enable_t) Set/Get PAN coordinator role
- @brief (uint16_t) protocol data unit size
- @brief (@ref netopt_enable_t) enable busy mode
- @brief (uint16_t) preamble length
- @brief (@ref netopt_enable_t) frame preloading
- @brief (@ref netopt_enable_t) promiscuous mode
- @brief (@ref gnrc_nettype_t) the protocol for the layer
- @brief (uint32_t) Get a random value from the device
- @brief (@ref netopt_enable_t) when enabled, bypass protocol processing of incoming frames
- @brief (uint8_t) maximum number of retransmissions
- @brief (@ref netopt_rf_testmode_t) Test mode for the radio, e.g. for CE or FCC certification
- @brief (int16_t) Received Signal Strength Indicator (RSSI)
- @brief (@ref netopt_enable_t) Used to check if the driver generates NETDEV_EVENT_RX_STARTED events
- @brief (uint16_t) Get or set the number of PHY symbols before assuming there’s no data
- @brief (uint32_t) reception timeout of a frame
- @brief (@ref netopt_scan_request_t) Instruct the interface to do a network scan
- @brief (@ref netopt_enable_t) single frame reception
- @brief (uint8_t) radio spreading factor
- @brief (uint16_t) address length to use for the link layer source address
- @brief (@ref netopt_state_t) state of network device
- @brief (@ref netstats_t) get statistics about sent and received packets and data of the device or protocol
- @brief (uint8_t*) phy layer syncword
- @brief (@ref netopt_enable_t) Used to check if the driver generates NETDEV_EVENT_TX_COMPLETE events
- @brief (int16_t) transmit power for radio devices in dBm
- @brief (uint8_t) retry amount from missing ACKs of the last transmission
- @brief (@ref netopt_enable_t) Used to check if the driver generates NETDEV_EVENT_TX_STARTED events
- @brief (uint32_t) transmission timeout of a frame
- < not supported
- < not supported
- < left aligned PWM
- < right aligned PWM
- < Connection finished event
- < Connection ready event
- < Listener received connection event
- < Message received event
- < Message sent event
- < Path property changed event
- < 1MHz
- < 5MHz
- < 10MHz
- < 100KHz
- < 400KHz
- < CPOL=0, CPHA=0
- < CPOL=0, CPHA=1
- < CPOL=1, CPHA=0
- < CPOL=1, CPHA=1
- < No digest algo supplied
- < SHA256
- < SHA384
- < SHA512
- < Ciphertext digest
- < Installed firmware digest
- < Pre-image digest
- < Raw payload digest
- < Conditionals evaluate to false
- < Digest mismatch with COSE and SUIT
- < Unexpected CBOR structure detected
- < Unsupported features detected
- < Out of memory condition
- < Denied because of policy mismatch
- < Sequence number less or equal to current sequence number
- < Unable to verify signature
- < Backend returned an error
- < Backend out of space
- < Backend location not available
- < Unsupported SUIT feature detected
- < Manifest parsed and validated
- < waiting for a condition variable
- < waiting for all flags in flag_mask
- < waiting for any flag from flag_mask
- < waiting for get/put on mbox
- < waiting for a locked mutex
- < number of supported thread states
- < waiting to be scheduled to run
- < waiting for a message
- < waiting for a message response
- < currently running
- < waiting for message to be delivered
- < sleeping
- < has terminated
- < has terminated & keeps thread’s thread_t
- < 5 data bits
- < 6 data bits
- < 7 data bits
- < 8 data bits
- < even parity
- < mark parity
- < no parity
- < odd parity
- < space parity
- < 1 stop bit
- < 2 stop bits
- < internetwork address family: UDP, TCP, etc.
- < internetwork address family with IPv6: UDP, TCP, etc.
- < maximum number of address families on this system
- < packet family
- < local to host (pipes, portals) address family.
- < unspecified address family
Statics§
- @brief AES cipher id
- @brief String constant used for signing COSE countersignatures
- @brief String constant used for signing COSE signature objects
- @brief String constant used for signing COSE signature1 objects
- @brief Default ztimer millisecond clock
- @brief Base ztimer for the millisecond clock (ZTIMER_MSEC)
- @brief Default ztimer second clock
- @brief Default ztimer microsecond clock
- @brief Base ztimer for the microsecond clock (ZTIMER_USEC)
- @private
- @brief Global CoAP resource list @deprecated Use @ref NANOCOAP_RESOURCE instead. The function will be removed after the 2024.01 release.
- @brief Number of entries in global CoAP resource list @deprecated Use @ref NANOCOAP_RESOURCE instead. The function will be removed after the 2024.01 release.
- @brief The PID to the IPv6 thread.
- @name I2C configuration @{
- @brief Broadcast address
- @see @ref IPV6_ADDR_ALL_NODES_IF_LOCAL
- @see @ref IPV6_ADDR_ALL_NODES_LINK_LOCAL
- @see @ref IPV6_ADDR_ALL_ROUTERS_IF_LOCAL
- @see @ref IPV6_ADDR_ALL_ROUTERS_LINK_LOCAL
- @see @ref IPV6_ADDR_ALL_ROUTERS_SITE_LOCAL
- @see @ref IPV6_ADDR_LINK_LOCAL_PREFIX
- @see @ref IPV6_ADDR_LOOPBACK
- @see @ref IPV6_ADDR_SOLICITED_NODE_PREFIX
- @brief In-memory constants of defined addresses and prefixes @{ / /** @see @ref IPV6_ADDR_UNSPECIFIED
- @brief MTD driver for VFS
- @name PWM configuration
- @brief Export the SAUL registry as global variable
- Flag indicating whether a context switch is necessary after handling an interrupt. Supposed to be set in an ISR.
- Number of running (non-terminated) threads
- List of runqueues per priority level
- Thread table
- @name SPI configuration @{
- @brief isrpipe for writing stdin input to
- @name Timer configuration @{ / /** @brief Configuration of the exposed timers
- @name UART configuration
- < DNS namespace UUID
- < ISO OID namespace UUID
- < URL namespace UUID
- < X.500 DN namespace UUID
Functions§
- @brief Squeeze data from a sponge
- @brief Initialise a sponge based on a keccak-1600 permutation
- @brief Absorbs data into a sponge. Can be called multiple times
- @brief List sorting helper function
- @brief event callback handler function (used internally)
- @brief Shortcut function for sending @ref GNRC_NETAPI_MSG_TYPE_GET or @ref GNRC_NETAPI_MSG_TYPE_SET messages and parsing the returned @ref GNRC_NETAPI_MSG_TYPE_ACK message
- @brief Shortcut function for sending @ref GNRC_NETAPI_MSG_TYPE_SND or @ref GNRC_NETAPI_MSG_TYPE_RCV messages
- @brief Get message from mailbox
- @brief Add message to mailbox
- @brief Wait for a semaphore, blocking or non-blocking.
- @brief asserts the given clock to be active
- @brief ztimer_now() for extending timers
- abs⚠
- @brief Configure the ADC with a given resolution for continuous sampling
- @brief Sample an ADC line without powering off the ADC afterward
- @brief Disable the ADC to save power
- @brief Initialize the given ADC line
- @brief Sample a value from the given ADC line
- @brief Finalizes the CMAC message digest
- @brief Initialize AES128 CMAC message digest context
- @brief Update the AES128 CMAC context with a portion of the message being hashed
- atof⚠
- atoi⚠
- atol⚠
- @brief Clear all bits in the bitfield to 0
- @brief Get the index of the first set bit in the field
- @brief Get the index of the zero bit in the field
- @brief Atomically get the number of an unset bit and set it
- @brief Count set bits in the bitfield
- @brief Set all bits in the bitfield to 1
- @brief Returns the number of the highest ‘1’ bit in a value
- @brief Returns the number of bits set in a value @param[in] v Input value with platform-dependent word size @return Number of set bits
- Retrieves the ATT MTU of the specified connection. If an MTU exchange for this connection has occurred, the MTU is the lower of the two peers’ preferred values. Otherwise, the MTU is the default value of 23.
- Retrieves the preferred ATT MTU. This is the value indicated by the device during an ATT MTU exchange.
- Sets the preferred ATT MTU; the device will indicate this value in all subsequent ATT MTU exchanges. The ATT MTU of a connection is equal to the lower of the two peers’ preferred MTU values. The ATT MTU is what dictates the maximum size of any message sent during a GATT procedure.
- Reads a locally registered attribute. If the specified attribute handle corresponds to a GATT characteristic value or descriptor, the read is performed by calling the registered GATT access callback.
- Writes a locally registered attribute. This function consumes the supplied mbuf regardless of the outcome. If the specified attribute handle corresponds to a GATT characteristic value or descriptor, the write is performed by calling the registered GATT access callback.
- Configures the device to advertise Eddystone UID beacons.
- Configures the device to advertise Eddystone URL beacons.
- Indicates whether an advertisement procedure is currently in progress.
- Configures the data to include in subsequent scan responses.
- Configures the fields to include in subsequent scan responses. This is a convenience wrapper for ble_gap_adv_rsp_set_data().
- Configures the data to include in subsequent advertisements.
- Configures the fields to include in subsequent advertisements. This is a convenience wrapper for ble_gap_adv_set_data().
- @brief Start advertising
- Stops the currently-active advertising procedure. A success return code indicates that advertising has been fully aborted and a new advertising procedure can be initiated immediately.
- Indicates whether a connect procedure is currently in progress.
- Aborts a connect procedure in progress.
- Searches for a connection with the specified handle. If a matching connection is found, the supplied connection descriptor is filled correspondingly.
- Searches for a connection with a peer with the specified address. If a matching connection is found, the supplied connection descriptor is filled correspondingly.
- Retrieves the most-recently measured RSSI for the specified connection. A connection’s RSSI is updated whenever a data channel PDU is received.
- Initiates a connect procedure.
- Performs the Limited or General Discovery Procedures.
- Indicates whether a discovery procedure is currently in progress.
- Cancels the discovery procedure currently in progress. A success return code indicates that scanning has been fully aborted; a new discovery or connect procedure can be initiated immediately.
- Initiates the GAP encryption procedure as a master. This is for testing only and should not be used by application. Use ble_gap_security_initiate() instead.
- Registers listener for GAP events
- Unregisters listener for GAP events
- Initiates an extended connect procedure.
- Performs the Limited or General Extended Discovery Procedures.
- Initiates the GAP pairing procedure as a master. This is for testing only and should not be used by application. Use ble_gap_security_initiate() instead.
- Read PHYs used for specified connection.
- Initiates the GAP security procedure.
- Configure LE Data Length in controller (OGF = 0x08, OCF = 0x0022).
- Configures a connection to use the specified GAP event callback. A connection’s GAP event callback is first specified when the connection is created, either via advertising or initiation. This function replaces the callback that was last configured.
- Set preferred default PHYs to be used for connections.
- Set preferred PHYs to be used for connection.
- Set privacy mode for specified peer device
- Terminates an established connection.
- Unpairs a device with the specified address. The keys related to that peer device are removed from storage and peer address is removed from the resolve list from the controller. If a peer is connected, the connection is terminated.
- Similar to
ble_gap_unpair_oldest_peer()
, except it makes sure that the peer received in input parameters is not deleted. - Unpairs the oldest bonded peer device. The keys related to that peer device are removed from storage and peer address is removed from the resolve list from the controller. If a peer is connected, the connection is terminated.
- Initiates a connection parameter update procedure.
- Overwrites the controller’s white list with the specified contents.
- Initiates GATT procedure: Discover All Characteristics of a Service.
- Initiates GATT procedure: Discover All Characteristic Descriptors.
- Initiates GATT procedure: Discover All Primary Services.
- Initiates GATT procedure: Discover Characteristics by UUID.
- Initiates GATT procedure: Discover Primary Service by Service UUID.
- Initiates GATT procedure: Exchange MTU.
- Initiates GATT procedure: Find Included Services.
- Deprecated. Should not be used. Use ble_gatts_indicate instead.
- Deprecated. Should not be used. Use ble_gatts_indicate_custom instead.
- Deprecated. Should not be used. Use ble_gatts_notify instead.
- Deprecated. Should not be used. Use ble_gatts_notify_custom instead.
- Initiates GATT procedure: Read Characteristic Value.
- Initiates GATT procedure: Read Using Characteristic UUID.
- Initiates GATT procedure: Read Long Characteristic Values.
- Initiates GATT procedure: Read Multiple Characteristic Values.
- Initiates GATT procedure: Write Characteristic Value. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Write Characteristic Value (flat buffer version).
- Initiates GATT procedure: Write Long Characteristic Values. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Write Without Response. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Write Without Response. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Reliable Writes. This function consumes the supplied mbufs regardless of the outcome.
- Queues a set of service definitions for registration. All services queued in this manner get registered when ble_gatts_start() is called.
- Send notification (or indication) to any connected devices that have subscribed for notification (or indication) for specified characteristic.
- Adjusts a host configuration object’s settings to accommodate the specified service definition array. This function adds the counts to the appropriate fields in the supplied configuration object without clearing them first, so it can be called repeatedly with different inputs to calculate totals. Be sure to zero the GATT server settings prior to the first call to this function.
- Retrieves the pair of attribute handles associated with a local GATT characteristic.
- Retrieves the attribute handle associated with a local GATT descriptor.
- Retrieves the attribute handle associated with a local GATT service.
- Sends a characteristic indication. The content of the message is read from the specified characteristic.
- Sends a “free-form” characteristic indication. The provided mbuf contains the indication payload. This function consumes the supplied mbuf regardless of the outcome.
- Sends a characteristic notification. The content of the message is read from the specified characteristic.
- Sends a “free-form” characteristic notification. This function consumes the supplied mbuf regardless of the outcome.
- Resets the GATT server to its initial state. On success, this function removes all supported services, characteristics, and descriptors. This function requires that: o No peers are connected, and o No GAP operations are active (advertise, discover, or connect).
- Prints dump of local GATT database. This is useful to log local state of database in human readable form.
- Makes all registered services available to peers. This function gets called automatically by the NimBLE host on startup; manual calls are only necessary for replacing the set of supported services with a new one. This function requires that: o No peers are connected, and o No GAP operations are active (advertise, discover, or connect).
- Set visibility of local GATT service. Invisible services are not removed from database but are not discoverable by peer devices. Service Changed should be handled by application when needed by calling ble_svc_gatt_changed().
- Designates the specified event queue for NimBLE host work. By default, the host uses the default event queue and runs in the main task. This function is useful if you want the host to run in a different task.
- Queries the controller for the channel map used with the specified connection. The channel map is represented as an array of five bytes, with each bit corresponding to an individual channel. The array is interpreted as little-endian, such that: map[0] & 0x01 –> Channel 0. map[0] & 0x02 –> Channel 1. … map[1] & 0x01 –> Channel 8.
- Instructs the controller to use the specified channel map. The channel map is represented as an array of five bytes, with each bit corresponding to an individual channel. The array is interpreted as little-endian, such that: map[0] & 0x01 –> Channel 0. map[0] & 0x02 –> Channel 1. … map[1] & 0x01 –> Channel 8.
- Retrieves one of the device’s identity addresses. The device can have two identity addresses: one public and one random. The id_addr_type argument specifies which of these two addresses to retrieve.
- Generates a new random address. This function does not configure the device with the new address; the caller can use the address in subsequent operations.
- Determines the best address type to use for automatic address type resolution. Calculation of the best address type is done as follows:
- Sets the device’s random address. The address type (static vs. non-resolvable private) is inferred from the most-significant byte of the address. The address is specified in host byte order (little-endian!).
- Initializes the NimBLE host. This function must be called before the OS is started. The NimBLE stack requires an application task to function. One application task in particular is designated as the “host parent task”. In addition to application-specific work, the host parent task does work for NimBLE by processing events generated by the host.
- @brief Indicates whether the host is enabled. The host is enabled if it is starting or fully started. It is disabled if it is stopping or stopped.
- Allocates an mbuf suitable for an ATT command packet. The resulting packet has sufficient leading space for:
- Allocates an mbuf and fills it with the contents of the specified flat buffer.
- Copies the contents of an mbuf into the specified flat buffer. If the flat buffer is too small to contain the mbuf’s contents, it is filled to capacity and BLE_HS_EMSGSIZE is returned.
- Causes the host to reset the NimBLE stack as soon as possible. The application is notified when the reset occurs via the host reset callback.
- Enqueues a host start event to the default event queue. The actual host startup is performed in the host parent task, but using the default queue here ensures the event won’t run until the end of main() when this is called during system initialization. This allows the application to configure the host package in the meantime.
- @brief Called when the system is shutting down. Stops the BLE host.
- Synchronizes the host with the controller by sending a sequence of HCI commands. This function must be called before any other host functionality is used, but it must be called after both the host and controller are initialized. Typically, the host-parent-task calls this function at the top of its task routine. This function must only be called in the host parent task. A safe alternative for starting the stack from any task is to call
ble_hs_sched_start()
. - @brief Stops the BLE host.
- Indicates whether the host has synchronized with the controller. Synchronization must occur before any host procedures can be performed.
- Utility functions.
- @brief Compares two Bluetooth UUIDs.
- @brief Copy Bluetooth UUID
- @brief Constructs a UUID object from a byte array.
- @brief Converts the specified UUID to its string representation.
- @brief Converts the specified 16-bit UUID to a uint16_t.
- @brief Add a new field to the given advertising data
- @brief Find a specific field in the given advertising data
- @brief Find a specific field and compare its value against the given data
- @brief Find the given field and copy its payload into a string
- @brief Initialize the given advertising data descriptor
- @brief Decrypt data of BLOCK_SIZE length *
- @brief Encrypt data of BLOCK_SIZE length *
- @brief Get block size of cipher *
- @brief Initialize new cipher state
- @brief Release the use of the HFXO. If this was the last active request, the HFXO will be disabled
- @brief Request the external high frequency crystal (HFXO) as HF clock source. If this is the first request, the HFXO will be enabled.
- @brief Initialize the high frequency clock (HFCLK) as configured in the board’s periph_conf.h
- @brief Start the low frequency clock (LFCLK) as configured in the board’s periph_conf.
- @brief Stop the low frequency clock (LFCLK)
- @name Functions – Messaging
- @brief Initialize a block2 slicer struct for writing the payload
- @brief Finish a block request (block1 or block2)
- @name Functions – Options for Block
- @brief Initialize a block slicer struct from content information
- @brief Add a byte array to a block2 reply.
- @brief Add a single character to a block2 reply.
- @brief Build empty reply to CoAP request
- @brief Builds a CoAP header
- @brief Build reply to CoAP request
- @brief Create CoAP reply header (convenience function)
- @brief Get pointer to an option field by type
- @brief Find a URI query option of the packet
- @brief Get the Accept option value from a packet if present
- @brief Block option getter
- @brief Generic block option getter
- @brief Get content type from packet
- @brief Handle incoming CoAP request
- @brief Check whether any of the packet’s options that are critical
- @brief Get pointer to an option field, can be called in a loop if there are multiple options with the same number
- @brief Checks if a CoAP resource path matches a given URI
- @name Functions – Options Write Packet API @anchor net_nanocoap_opt_add
- @brief Encode the given array of characters as option(s) into pkt
- @brief Encode the given buffer as an opaque data option into pkt
- @brief Adds a single Proxy-URI option into @p pkt
- @brief Encode the given uint option into pkt
- @brief Adds a single Uri-Query option in the form ‘key=value’ into pkt
- @brief Finalizes options as required and prepares for payload
- @brief Iterate over a packet’s options
- @brief Retrieve the value for an option as an opaque array of bytes
- @brief Read a full option as null terminated string into the target buffer
- @brief Get a uint32 option value
- @name Functions – Options Write Buffer API
- @brief Encode the given string as multi-part option into buffer
- @brief Encode the given uint option into buffer
- @brief Convenience function for inserting URI_PATH and URI_QUERY into buffer This function will automatically split path and query parameters.
- @brief Removes an option previously added with function in [the coap_opt_add_…() group](@ref net_nanocoap_opt_add)
- @brief Parse a CoAP PDU
- @brief Add payload data to the CoAP request.
- @brief Add a single character to the payload data of the CoAP request
- @brief Initialize a packet struct, to build a message buffer
- @brief Insert block1 option into buffer (from coap_block1_t)
- @brief Insert a CoAP option into buffer
- @brief Create CoAP reply (convenience function)
- @brief Get resource context associated with a CoAP request
- @brief Get the local endpoint on which the request has been received
- @brief Get resource path associated with a CoAP request
- @brief Get the remote endpoint from which the request was received
- @brief Get transport the packet was received over @see @ref gcoap_socket_type_t for values.
- @brief Initialize CoAP request context
- @brief Generic coap subtree handler
- @brief Pass a coap request to a matching handler
- @brief Reference to the default .well-known/core handler defined by the application
- @brief Handle an unrecoverable error by halting or rebooting the system
- @brief Initialize Cortex-M specific core parts of the CPU
- Decode a cbor header map and retrieve the header with the specified key
- Iterate over the headers and add them to a supplied cbor map
- Format header with a byte array based value
- Format header with an integer based value
- Format header with a string based value
- Retrieve a header from either the protected or the unprotected bucket by key
- Retrieve a header from the protected bucket by key
- Retrieve a header from the unprotected bucket by key
- Insert a new header into the list
- Retrieve the size of a list of cose_hdr_t structs
- cose_key_from_cbor initializes a key struct based on a cbor map
- Initialize a cose key object, must be called before using the key object
- Add the protected headers to the provided CBOR map
- cose_key_set_key sets the key data of a key Parameters according to https://tools.ietf.org/html/rfc8152#section-13
- Set the KID value of a key
- Add the unprotected header information to the provided CBOR map
- cose_sign_add_signer adds a key to the sign struct to sign with
- cose_sign_decode parses a buffer to a cose sign struct. This buffer can contain both a tagged sign cbor byte string or an untagged byte string
- @brief Retrieve a header from a sign object by key lookup.
- cose_sign_get_payload retrieves the pointer and length of the payload from the COSE sign struct
- Retrieve a protected header from a sign object by key lookup
- @brief Set the external authenticated data of the decoded sign structure
- @brief Set the payload of the decoded sign structure
- Retrieve an unprotected header from a sign object by key lookup
- cose_sign_sign signs the data from the sign object with the attached signers. The output is placed in the supplied buffer, starting at the position indicated by the out parameter.
- cose_sign_init initializes a sign struct
- cose_sign_set_external_aad adds a reference to the external data that should also be authenticated in the signature.
- cose_sign_set_payload sets the payload pointer of the COSE sign struct
- cose_sign_iter fills the provided @p signature struct with the contents of the COSE signatures from the associated sign structure.
- Verify the signature of the signed data with the supplied signature object
- Determine the scratch buffer required for verifying the signature
- Wrapper function to attempt signature verification with the first signature in the structure
- @brief Initialize a signature decoder context
- Get the key ID from a signature
- Retrieve a protected header from a signature object by key lookup
- @brief Decode a cryptographic signature from the signature decoder object
- Retrieve an unprotected header from a signature object by key lookup
- @brief Retrieve a header from a signature object by key lookup
- @brief Retrieve a protected header from a signature object by key lookup
- @brief Retrieve an unprotected header from a signature object by key lookup
- @brief Serialize the protected headers of a signature struct
- @brief Checks is memory address valid or not
- @brief Call context switching at thread exit
- @brief Gets the serial number of the CPU.
- @brief Print time spent with IRQ disabled @internal
- @defgroup sys_hashes_dek Donald E. Knuth @ingroup sys_hashes_non_crypto @brief Donald E. Knuth hash algorithm.
- @brief Checks if the given network interface is configured to use DHCPv6 IA_NA
- @brief Configures a prefix delegation lease that is provided by the server.
- @brief Retrieves the DHCPv6 client’s current configuration mode.
- @name Stack-specific functions
- @brief Initializes the client
- @brief Determines how long the prefix delegation lease is still valid.
- @brief Configures the client to request non-temporary addresses for a network interface from a server @note For multi-hop WPAN meshes a DHCPv6 relay (which is not implemented in RIOT yet) is required, as DHCPv6 only acts in link scope.
- @name Configuration functions @anchor net_dhcpv6_client_conf @{ / /** @brief Configures the client to request prefix delegation for a network interface from a server
- @brief Changes the DHCPv6 client’s configuration mode.
- @brief Let the server start listening
- div⚠
- @defgroup sys_hashes_djb2 Bernstein hash djb2 @ingroup sys_hashes_non_crypto @brief djb2 hash algorithm.
- dup⚠
- dup2⚠
- @brief event callback initialization function
- @brief Cancel a queued event
- @brief Get next event from event queue, non-blocking
- @brief Check if an event is already queued
- @brief Queue an event
- @brief Synchronize with the last event on the queue
- @brief Clear a timeout event
- @brief Set a timeout
- @brief Initialize timeout event object
- @brief Get next event from the given event queues, blocking
- @brief Get next event from event queue, blocking until timeout expires
- @brief Adds event to an event timer
- @brief Removes an event from an event timer
- @brief Initializes an event timer
- @brief Print overview of current state of an event timer
- exit⚠
- feof⚠
- @defgroup sys_hashes_fnv Fowler–Noll–Vo @ingroup sys_hashes_non_crypto @brief Fowler–Noll–Vo hash algorithm.
- fork⚠
- free⚠
- @brief Writes a resource in CoRE Link Format to a provided buffer.
- @brief Iterate through all registered listeners and check for a resource, matching by @p uri_path
- @brief Get the resource list, currently only
CoRE Link Format
(COAP_FORMAT_LINK) supported - @brief Initializes the gcoap thread and device
- @brief Initializes a CoAP Observe notification packet on a buffer, for the observer registered for a resource
- @brief Forgets (invalidates) an existing observe request.
- @brief Sends a buffer containing a CoAP Observe notification to the observer registered for a resource
- @brief Provides important operational statistics
- @brief Starts listening for resource paths
- @brief Initializes a CoAP request PDU on a buffer.
- @brief Sends a buffer containing a CoAP request to the provided endpoint
- @brief Initializes a CoAP response packet on a buffer
- getc⚠
- gets⚠
- @brief Builds an ICMPv6 message for sending.
- @brief Calculates the checksum for an ICMPv6 packet.
- @brief Demultiplexes a received ICMPv6 packet according to its type field.
- @brief Builds an ICMPv6 echo message of type @p type for sending.
- @brief ICMPv6 echo request handler
- @brief Parse ICMPv6 echo response
- @brief Send out ICMPv6 echo request
- @brief Builds an extension header for sending.
- @brief Get the IPv6 header from a given list of @ref gnrc_pktsnip_t
- @brief Builds an IPv6 header for sending and adds it to the packet buffer.
- @brief Initialization of the IPv6 thread.
- @brief Adds a new route to the forwarding table
- @brief Deletes a route from forwarding table.
- @brief Gets the best matching forwarding table entry to a destination
- @brief Iterates over all forwarding table entries in the NIB
- @brief Prints a forwarding table entry
- @brief Gets link-layer address of next hop to a destination address
- @brief Handles a received ICMPv6 packet
- @brief Handles a timer event
- @brief Clean up when the interface goes offline
- @brief Call bring-up functions when the interface comes online
- @brief Initialize NIB
- @brief Adds an interface to be managed by the NIB.
- @brief Deletes neighbor with address @p ipv6 from NIB
- @brief Iterates over all neighbor cache entries in the NIB
- @brief Mark neighbor with address @p ipv6 as reachable
- @brief Prints a neighbor cache entry
- @brief Adds an unmanaged neighbor entry to NIB
- @brief Deletes prefix from NIB
- @brief Iterates over all prefix list entries in the NIB.
- @brief Prints a prefix list entry
- @brief Adds (or updates) prefix to NIB
- @brief Sends @p cmd to all subscribers to (@p type, @p demux_ctx).
- @brief Acquires exclusive access to the interface
- @brief Creates a network interface
- @brief Default operation for gnrc_netif_ops_t::init()
- @brief Checks if the device type associated to a @ref gnrc_netif_t requires 6Lo to run
- @brief Converts a given hardware address to an EUI-64.
- @brief Gets an interface by an address (incl. multicast groups) assigned to it.
- @brief Get network interface by PID
- @brief Gets an interface by an address matching a given prefix best
- @brief Gets an interface by the netdev type (and index)
- @brief Default operation for gnrc_netif_ops_t::get()
- @name Device type based function
- @brief Builds a generic network interface header for sending and adds it to the packet buffer.
- @brief Extract the destination address out of a gnrc packet
- @brief Fetch the netif header flags of a gnrc packet
- @brief Extract the source address out of a gnrc packet
- @brief Outputs a generic interface header to stdout.
- @brief Initializes an interface as 6LN according to RFC 6775 and according to its gnrc_netif_t::device_type
- @brief Initialize all available network interfaces. This function is called automatically if the auto_init_gnrc_netif module is used. If only the gnrc_netif_init module is used instead, you can call this function to manually set up the network interfaces at a later time.
- @brief Configures a prefix on a network interface.
- @brief Adds an IPv6 address to the interface
- @brief Searches for the best address on an interface usable as a source address for a given destination address.
- @brief Returns the index of @p addr in gnrc_netif_t::ipv6_addrs of @p netif
- @brief Returns the index of an address in gnrc_netif_t::ipv6_addrs of @p netif that matches @p addr best
- @brief Removes an IPv6 address from the interface
- @brief Returns the index of @p addr in gnrc_netif_t::ipv6_groups of @p netif
- @brief Joins interface to an IPv6 multicast group
- @brief Let interface leave from an IPv6 multicast group
- @brief Converts a given hardware address to an IPv6 IID.
- @brief Initialize IPv6 MTU and other packet length related members of @ref gnrc_netif_t based on gnrc_netif_t::device_type
- @brief Iterate over all network interfaces.
- @brief Get number of network interfaces actually allocated
- @brief Releases exclusive access to the interface
- @brief Default operation for gnrc_netif_ops_t::set()
- @brief Acquire a shared lock on the GNRC netreg
- @brief Calculates the checksum for a header.
- @brief Returns the next entry after @p entry with the same gnrc_netreg_entry_t::type and gnrc_netreg_entry_t::demux_ctx as the given entry.
- @brief Initializes module.
- @brief Searches for entries with given parameters in the registry and returns the first found.
- @brief Returns number of entries with the same gnrc_netreg_entry_t::type and gnrc_netreg_entry_t::demux_ctx.
- @brief Registers a thread to the registry.
- @brief Release a shared lock on the GNRC netreg
- @brief Removes a thread from the registry.
- @brief Adds a new gnrc_pktsnip_t and its packet to the packet buffer.
- @brief Increases gnrc_pktsnip_t::users of @p pkt atomically.
- @brief Initializes packet buffer module.
- @brief Marks the first @p size bytes in a received packet with a new packet snip that is appended to the packet.
- @brief Merge pktsnip chain to single pktsnip.
- @brief Reallocates gnrc_pktsnip_t::data of @p pkt in the packet buffer, without changing the content.
- @brief Decreases gnrc_pktsnip_t::users of @p pkt atomically and removes it if it reaches 0 and reports a possible error through an error code, if @ref net_gnrc_neterr is included.
- @brief Deletes a snip from a packet and the packet buffer.
- @brief Reverses snip order of a packet in a write-protected manner.
- @brief Must be called once before there is a write operation on a [packet snip](@ref gnrc_pktsnip_t) in a thread.
- @brief Prints some statistics about the packet buffer to stdout.
- @brief Searches the packet for a packet snip of a specific type
- @brief Abort a TCP connection.
- @brief Accept TCP connection from listening queue.
- @brief Calculate and set checksum in TCP header.
- @brief Close a TCP connection.
- @brief Construct TCP connection endpoint from string. @note This function expects @p str in the IPv6 “URL” notation. The following strings specify a valid endpoint: - [fe80::0a00:27ff:fe9f:7a5b%5]:8080 (with Port and Interface) - [2001::0200:f8ff:fe21:67cf]:8080 (with Port) - [2001::0200:f8ff:fe21:67cf] (addr only)
- @brief Initialize TCP connection endpoint.
- @brief Get the local end point of a connected TCB
- @brief Get the remote end point of a connected TCB
- @brief Adds a TCP header to a given payload.
- @brief Initialize TCP
- @brief Configures a sequence of TCBs to wait for incoming connections.
- @brief Opens a connection.
- @brief Gets the local end point of a TCB queue
- @brief Receive Data from the peer.
- @brief Transmit data to connected peer.
- @brief Close connections and stop listening on TCB queue
- @brief Initialize Transmission Control Block (TCB) @pre @p tcb must not be NULL.
- @brief Initialize Transmission Control Block (TCB) queue @pre @p queue must not be NULL.
- @brief Calculate the checksum for the given packet
- @brief Allocate and initialize a fresh UDP header in the packet buffer
- @brief Initialize and start UDP
- @brief Set the given pin to LOW
- @brief Initialize the given pin as general purpose input or output
- @brief Retrieve the exti(GPIOTE) channel associated with a gpio
- @brief Get the current value of the given pin
- @brief Set the given pin to HIGH
- @brief Toggle the value of the given pin
- @brief Shift in a byte from data_pin, create clock pulses on clock_pin
- @brief Set the given pin to the given value
- @brief function to compute a hmac-sha256 from a given message
- @brief hmac_sha256_final HMAC SHA-256 finalization. Finish HMAC calculation and export the value @param[in] ctx hmac_context_t handle to use @param[out] digest the computed hmac-sha256, length MUST be SHA256_DIGEST_LENGTH
- @brief hmac_sha256_init HMAC SHA-256 calculation. Initiate calculation of a HMAC @param[in] ctx hmac_context_t handle to use @param[in] key key used in the hmac-sha256 computation @param[in] key_length the size in bytes of the key
- @brief hmac_sha256_update Add data bytes for HMAC calculation @param[in] ctx hmac_context_t handle to use @param[in] data pointer to the buffer to generate hash from @param[in] len length of the buffer
- @brief Initialize the hardware random number generator
- @brief Read N bytes of random data from the hardware device
- @brief Get mutually exclusive access to the given I2C bus
- @brief Change the pins of the given I2C bus back to plain GPIO functionality
- @brief Initialize the given I2C bus
- @brief Initialize the used I2C bus pins
- @brief Convenience function for reading one byte from a device
- @brief Convenience function for reading bytes from a device
- @brief Convenience function for reading one byte from a given register address
- @brief Convenience function for reading several bytes from a given register address
- @brief Release the given I2C device to be used by others
- @brief Convenience function for writing a single byte onto the bus
- @brief Convenience function for writing several bytes onto the bus
- @brief Convenience function for writing one byte to a given register address
- @brief Convenience function for writing data to a given register address
- @brief Print the given ICMPv6 header to STDOUT
- @brief Check whether a frame pass the IEEE 802.15.4 frame filter.
- @brief Gets destination address from MAC header.
- @brief Get length of MAC header.
- @brief Gets source address from MAC header.
- @brief Initializes an IEEE 802.15.4 MAC frame header in @p buf.
- @brief Calculates the unnormalized Internet Checksum of @p buf, where the buffer provides a slice of the full checksum domain, calculated in order.
- @brief Count number of entries in an iolist_t
- @brief Sum up number of bytes in iolist
- @brief Copies the bytes of the iolist to a buffer
- @brief Create struct iovec from iolist
- @brief Converts an IPv4 address from a buffer of characters to a byte-represented IPv4 address
- @brief Converts an IPv4 address string representation to a byte-represented IPv4 address
- @brief Print IPv4 address to stdout
- @brief Converts an IPv4 address to its string representation
- @brief Checks if two IPv6 addresses are equal.
- @brief Converts an IPv6 address from a buffer of characters to a byte-represented IPv6 address
- @brief Converts an IPv6 address string representation to a byte-represented IPv6 address
- @brief Sets the last @p bits of IPv6 address @p out to @p iid. Leading bits of @p out stay untouched.
- @brief Sets IPv6 address @p out with the first @p bits taken from @p prefix and leaves the remaining bits untouched.
- @brief Checks up to which bit-count two IPv6 addresses match in their prefix.
- @brief Print IPv6 address to stdout
- @brief split IPv6 address string representation
- @brief split IPv6 address string representation and return remaining string
- @brief Converts an IPv6 address to its string representation
- @brief Print IPv6 addresses to stdout
- @brief Outputs an IPv6 header to stdout.
- @brief Converts an IPv6 prefix string representation to a byte-represented IPv6 address
- @brief Initialisation function for isrpipe
- @brief Read data from isrpipe (blocking)
- @brief Put number of bytes into the isrpipe’s buffer
- @brief Put one byte into the isrpipe’s buffer
- @defgroup sys_hashes_kr Kernighan and Ritchie @ingroup sys_hashes_non_crypto @brief Kernighan and Ritchie hash algorithm.
- @brief Parses a string of colon-separated hexadecimals to a hardware address.
- @brief Converts a hardware address to a human readable string.
- @brief Converts a given hardware address to an EUI-64.
- @brief Converts an IPv6 multicast address to a multicast address of the respective link layer.
- @brief Converts a given hardware address to an IPv6 IID.
- @brief Converts an IPv6 IID to a hardware address
- @brief Derives the length of the link-layer address in an NDP link-layer address option from that option’s length field and the given device type.
- labs⚠
- ldiv⚠
- link⚠
- md5⚠@brief Calculate a MD5 hash from the given data
- @brief Finish up the current MD5 hash calculation generate the final hash
- @brief Initialize the MD5 calculation context
- @brief Build an MD5 Message Digest within the given context
- @brief Measures the stack usage of a stack @internal Should not be used externally
- @brief Check how many messages are available (waiting) in the message queue
- @brief Check how many messages are available (waiting) in the message queue of a specific thread
- @brief Initialize the current thread’s message queue.
- @brief Get maximum capacity of a thread’s queue length
- @brief Prints the message queue of the current thread.
- @brief Receive a message.
- @brief Replies to a message.
- @brief Replies to a message from interrupt.
- @brief Send a message (blocking).
- @brief Send message from interrupt.
- @brief Send a message, block until reply received.
- @brief Send a message to the current thread. @details Will work only if the thread has a message queue.
- @brief Try to receive a message.
- @brief Send a message (non-blocking).
- @brief Erase sectors of a MTD device
- @brief Erase sectors of a MTD device
- @brief mtd_init Initialize a MTD device
- @brief Set power mode on a MTD device
- @brief Read data from a MTD device
- @brief Read data from a MTD device with pagewise addressing
- @brief Write data to a MTD device
- @brief Write data to a MTD device with pagewise addressing
- @brief Write data to a MTD device with pagewise addressing
- @brief Write data to a MTD device with whole sector writes
- @brief Cancels a call to @ref mutex_lock_cancelable
- @brief Locks a mutex, blocking. This function can be canceled.
- @brief Internal function implementing @ref mutex_lock and @ref mutex_trylock
- @brief Unlocks the mutex and sends the current thread to sleep
- @brief Check if the current buffer or container is exhausted
- @brief Initialize a decoder context decoding the CBOR structure from @p buf with @p len bytes
- @brief Retrieve the encoded length of the CBOR structure
- @brief Initializes an encoder context with a memory buffer.
- @brief Initializes an encoder context with custom append and fits functions.
- @brief Enter a array type
- @brief Enter a map type
- @brief Write an array indicator with @p len items
- @brief Write an indefinite-length array indicator
- @brief Write a CBOR boolean value into a buffer
- @brief Write a byte string indicator for a byte string with specific length into the encoder buffer
- @brief Write a decimal fraction into the encoder buffer
- @brief Write a double floating point value into the encoder buffer
- @brief Write a stop code for indefinite length containers
- @brief Write a float value into the encoder buffer
- @brief Write a signed integer of at most sizeof int32_t into the buffer
- @brief Write a map indicator with @p len pairs
- @brief Write an indefinite-length map indicator
- @brief Write a Null value into the encoder buffer
- @brief Write a CBOR tag of at most sizeof uint64_t into the buffer
- @brief Write a text string indicator for a string with specific length into the encoder buffer
- @brief Write an unsigned integer of at most sizeof uint64_t into the buffer
- @brief Retrieve a boolean value from the stream
- @brief Retrieve a byte string from the stream
- @brief Retrieve a decimal fraction from the stream as a int32_t mantisa and int32_t exponent
- @brief Retrieve a double-sized floating point value from the stream.
- @brief Retrieve a float value from the stream.
- @brief Retrieve a signed integer as int8_t from the stream
- @brief Retrieve a signed integer as int16_t from the stream
- @brief Retrieve a signed integer as int32_t from the stream
- @brief Retrieve a signed integer as int64_t from the stream
- @brief Search for a tstr key in a map.
- @brief Retrieve a null value from the stream
- @brief Retrieve a simple value as integer from the stream
- @brief Retrieve part of the CBOR stream for separate parsing
- @brief Retrieve a tag as positive uint32_t from the stream
- @brief Retrieve a tag as positive uint64_t from the stream
- @brief Retrieve a text string from the stream
- @brief Retrieve the type of the CBOR value at the current position
- @brief Retrieve a positive integer as uint8_t from the stream
- @brief Retrieve a positive integer as uint16_t from the stream
- @brief Retrieve a positive integer as uint32_t from the stream
- @brief Retrieve a positive integer as uint64_t from the stream
- @brief Retrieve a simple value of undefined from the stream
- @brief leave the container
- @brief Copy a byte string with indicator into the encoder buffer
- @brief Copy a text string with indicator into the encoder buffer
- @brief Copy n bytes of a text string with indicator into the encoder buffer
- @brief Skip to the next value in the CBOR stream
- @brief Skip a single simple value in the CBOR stream
- @brief Creates a new or gets an existing cache entry using the cache key.
- @brief Creates a new or gets an existing cache entry using the request packet.
- @brief Deletes the provided cache entry @p ce.
- @brief Returns the number of unused cache entries.
- @brief Generates a cache key based on only the options in @p req without any of the blockwise options included in the key
- @brief Compares two cache keys.
- @brief Generates a cache key based on the request @p req.
- @brief Performs a cache lookup based on the cache key of a request.
- @brief Generates a cache key based on only the options in @p req
- @brief Determines if a response is cacheable and modifies the cache as reflected in RFC7252, Section 5.9.
- @brief Performs a cache lookup based on the @p req.
- @brief Returns the number of cached entries.
- @brief Performs a blockwise CoAP GET request, store the response in a buffer.
- @brief Performs a blockwise coap get request to the specified url.
- @brief Performs a blockwise coap get request to the specified url, store the response in a buffer.
- @brief Simple synchronous CoAP request
- @brief Start a nanocoap server instance
- @brief Prepare the context for a separate response
- @brief Send a separate response to a CoAP request
- @brief Create and start the nanoCoAP server thread
- @brief Do a block-wise request, send a single block.
- @brief Simple synchronous CoAP (confirmable) DELETE
- @brief Simple synchronous CoAP (confirmable) DELETE for URL
- @brief Simple synchronous CoAP (confirmable) FETCH (RFC 8132)
- @brief Simple non-confirmable FETCH (RFC 8132)
- @brief Simple synchronous CoAP (confirmable) FETCH to URL (RFC 8132)
- @brief Simple synchronous CoAP (confirmable) GET
- @brief Performs a blockwise coap get request on a socket.
- @brief Simple non-confirmable GET
- @brief Performs a blockwise coap get request to the specified url, store the response in a buffer.
- @brief Simple synchronous CoAP (confirmable) POST
- @brief Simple non-confirmable POST
- @brief Simple synchronous CoAP (confirmable) POST to URL
- @brief Simple synchronous CoAP (confirmable) PUT
- @brief Simple non-confirmable PUT
- @brief Simple synchronous CoAP (confirmable) PUT to URL
- @brief Simple synchronous CoAP request
- @brief Simple synchronous CoAP request with callback
- @brief Create a CoAP client socket by URL
- @brief Signal that the @ref netdev_register function registered the device.
- @brief Gets interface by a numeric identifier.
- @brief Gets interface by name, from a buffer
- @brief Gets the numeric identifier of an interface
- @brief Gets name of an interface
- @brief Gets option from an interface
- @brief Iterator for the interfaces
- @brief Print the IPv6 address(es) of the given interface @param[in] netif Interface to print the IPv6 address(es) of @param[in] separator Separator to print between the IPv6 addresses
- @brief Registers a network interface in the global interface list.
- @brief Sets option to an interface
- @brief Get IPv6 address(es) of all interfaces @param[out] dest Array of IPv6 addresses to write to @param[in] numof Size of @p dest in array elements (not in bytes!) @retval -1 Failed @return Number of addresses written to @p dest
- @brief Print the IPv6 address(es) of all interface @param[in] separator Separator to print between the IPv6 addresses
- @brief Get a string ptr corresponding to opt, for debugging
- @brief Acquire the shared I2C/SPI peripheral in I2C mode
- @brief Release the shared I2C/SPI peripheral in I2C mode
- @brief Acquire the shared I2C/SPI peripheral in SPI mode
- @brief Acquire the shared I2C/SPI peripheral in SPI mode
- @defgroup sys_hashes_one_at_a_time One at a time @ingroup sys_hashes_non_crypto @brief One at a time hash algorithm.
- open⚠
- @brief Converts an OS error code (
OS_[...]
) to an equivalent system error code (SYS_E[...]
). - Adjust the length of a mbuf, trimming either from the head or the tail of the mbuf.
- Append data onto a mbuf
- Reads data from one mbuf and appends it to another. On error, the specified data range may be partially appended. Neither mbuf is required to contain an mbuf packet header.
- Performs a memory compare of the specified region of an mbuf chain against a flat buffer.
- Compares the contents of two mbuf chains. The ranges of the two chains to be compared are specified via the two offset parameters and the len parameter. Neither mbuf chain is required to contain a packet header.
- Attaches a second mbuf chain onto the end of the first. If the first chain contains a packet header, the header’s length is updated. If the second chain has a packet header, its header is cleared.
- Copies the contents of a flat buffer into an mbuf chain, starting at the specified destination offset. If the mbuf is too small for the source data, it is extended as necessary. If the destination mbuf contains a packet header, the header length is updated.
- Duplicate a chain of mbufs. Return the start of the duplicated chain.
- Increases the length of an mbuf chain by the specified amount. If there is not sufficient room in the last buffer, a new buffer is allocated and appended to the chain. It is an error to request more data than can fit in a single buffer.
- Release a mbuf back to the pool
- Free a chain of mbufs
- Get an mbuf from the mbuf pool. The mbuf is allocated, and initialized prior to being returned.
- Allocate a new packet header mbuf out of the os_mbuf_pool.
- @brief Calculates the length of an mbuf chain.
- Locates the specified absolute offset within an mbuf chain. The offset can be one past than the total length of the chain, but no greater.
- Creates a single chained mbuf from m1 and m2 utilizing all the available buffer space in all mbufs in the resulting chain. In other words, ensures there is no leading space in any mbuf in the resulting chain and trailing space only in the last mbuf in the chain. Mbufs from either chain may be freed if not needed. No mbufs are allocated. Note that mbufs from m2 are added to the end of m1. If m1 has a packet header, it is retained and length updated. If m2 has a packet header it is discarded. If m1 is NULL, NULL is returned and m2 is left untouched.
- Initialize a pool of mbufs.
- Increases the length of an mbuf chain by adding data to the front. If there is insufficient room in the leading mbuf, additional mbufs are allocated and prepended as necessary. If this function fails to allocate an mbuf, the entire chain is freed.
- Prepends a chunk of empty data to the specified mbuf chain and ensures the chunk is contiguous. If either operation fails, the specified mbuf chain is freed and NULL is returned.
- Rearrange a mbuf chain so that len bytes are contiguous, and in the data area of an mbuf (so that OS_MBUF_DATA() will work on a structure of size len.) Returns the resulting mbuf chain on success, free’s it and returns NULL on failure.
- Removes and frees empty mbufs from the front of a chain. If the chain contains a packet header, it is preserved.
- Increases the length of an mbuf chain by inserting a gap at the specified offset. The contents of the gap are indeterminate. If the mbuf chain contains a packet header, its total length is increased accordingly.
- Checks if a memory block was allocated from the specified mempool.
- Get a memory block from a memory pool
- Puts the memory block back into the pool
- Puts the memory block back into the pool, ignoring the put callback, if any. This function should only be called from a put callback to free a block without causing infinite recursion.
- Clears a memory pool.
- Initializes an extended memory pool. Extended attributes (e.g., callbacks) are not specified when this function is called; they are assigned manually after initialization.
- Get information about the next system memory pool.
- Initialize a memory pool.
- Performs an integrity check of the specified mempool. This function attempts to detect memory corruption in the specified memory pool.
- Removes the specified mempool from the list of initialized mempools.
- Remove and return a single mbuf from the mbuf queue. Does not block.
- Initializes an mqueue. An mqueue is a queue of mbufs that ties to a particular task’s event queue. Mqueues form a helper API around a common paradigm: wait on an event queue until at least one packet is available, then process a queue of packets.
- Adds a packet (i.e. packet header mbuf) to an mqueue. The event associated with the mqueue gets posted to the specified eventq.
- Count the number of blocks in all the mbuf pools that are allocated.
- Allocate a mbuf from msys. Based upon the data size requested, os_msys_get() will choose the mbuf pool that has the best fit.
- Allocate a packet header structure from the MSYS pool. See os_msys_register() for a description of MSYS.
- Return the number of free blocks in Msys
- MSYS is a system level mbuf registry. Allows the system to share packet buffers amongst the various networking stacks that can be running simultaeneously.
- De-registers all mbuf pools from msys.
- @brief architecture dependent handling of a panic case
- @brief Create a key from a password and hash using PBKDF2.
- @brief Common peripheral initialization function
- @brief Convert a date and time contained in phydat structs to a Unix timestamp. See phydat_unix() for the date notation and peculiarities.
- @brief Dump the given data container to STDIO
- @brief Scale integer value(s) to fit into a @ref phydat_t
- @brief Convert the given scale factor to an SI prefix
- @brief Convert the given phydat_t structure into a JSON string
- @brief Print a unit
- @brief Write the string representation of the given unit into the given buffer
- @brief Convert a date and time (per ISO8601) to a Unix timestamp (seconds since 1970).
- pipe⚠
- @brief Turn off MCU completely
- @brief Reboot MCU
- @brief Switches the MCU to the lowest possible power mode
- putc⚠
- puts⚠
- @brief Get the number of available channels
- @brief Initialize a PWM device
- @brief Stop PWM generation on the given device
- @brief Resume PWM generation on the given device
- @brief Set the duty-cycle for a given channel of the given PWM device
- rand⚠
- @brief writes random bytes in the [0,0xff]-interval to memory
- @brief initializes PRNG with a seed
- @brief initialize by an array with array-length init_key is the array for initializing keys key_length is its length slight change for C++, 2004/2/26
- @brief generates a random number on [0,0xffffffff]-interval @return a random number on [0,0xffffffff]-interval
- @brief generates a random number r with a <= r < b.
- read⚠
- @brief Add a number of elements to the ringbuffer. @details Only so many elements are added as fit in the ringbuffer. No elements get overwritten. If this is not the intended behavior, then use ringbuffer_add_one() in a loop instead. @param[in,out] rb Ringbuffer to operate on. @param[in] buf Buffer to add elements from. @param[in] n Maximum number of elements to add. @returns Number of elements actually added. 0 if rb is full.
- @brief Add an element to the ringbuffer. @details If rb is full, then the oldest element gets overwritten. Test ringbuffer_full() first if overwriting is not intended. @param[in,out] rb Ringbuffer to operate on. @param[in] c Element to add. @returns The element that was dropped, iff the buffer was full. -1 iff the buffer was not full.
- @brief Read and remove a number of elements from the ringbuffer. @param[in,out] rb Ringbuffer to operate on. @param[out] buf Buffer to write into. @param[in] n Read at most n elements. @returns Number of elements actually read.
- @brief Peek and remove oldest element from the ringbuffer. @param[in,out] rb Ringbuffer to operate on. @returns The oldest element that was added, or
-1
if rb is empty. - @brief Read, but don’t remove, the a number of element of the buffer. @param[in] rb Ringbuffer to operate on. @param[out] buf Buffer to write into. @param[in] n Read at most n elements. @returns Same as ringbuffer_get()
- @brief Read, but don’t remove, the oldest element in the buffer. @param[in] rb Ringbuffer to operate on. @returns Same as ringbuffer_get_one()
- @brief Remove a number of elements from the ringbuffer. @param[in,out] rb Ringbuffer to operate on. @param[in] n Read at most n elements. @returns Number of elements actually removed.
- @brief Locks a recursive mutex, blocking.
- @brief Tries to get a recursive mutex, non-blocking.
- @brief Unlocks the recursive mutex.
- @defgroup sys_hashes_rotating Rotating @ingroup sys_hashes_non_crypto @brief Rotating hash algorithm.
- @brief Clear any set alarm, do nothing if nothing set
- @brief Clear the overflow callback
- @brief Get the value of a set alarm.
- @brief Get the current RTT counter.
- @brief Initialize RTT module
- @brief Turn the RTT hardware module off
- @brief Turn the RTT hardware module on
- @brief Set an alarm for RTT to the specified absolute target time.
- @brief Set the RTT counter to a specified value.
- @brief Set a callback for the counter overflow event
- @brief Prints the class string of the given class ID
- @brief Helper function converts a class ID to a string
- @brief Write the string representation of the given device class to the given buffer
- @brief Initialize all available SAUL drivers. This function is called automatically if the auto_init_saul module is used. If only the saul_init module is used instead, you can call this function to manually set up all SAUL sensors at a later time.
- @brief Fallback function when read is not supported
- @brief Register a device with the SAUL registry
- @brief Find the first device by its name in the registry
- @brief Find a device by its position in the registry
- @brief Find the first device by its type in the registry
- @brief Find the first device by its type and name in the registry
- @brief Read data from the given device
- @brief Write data to the given device
- @brief Fallback function when write is not supported
- @defgroup sys_hashes_sax Shift, Add, XOR @ingroup sys_hashes_non_crypto @brief Shift, Add, XOR hash algorithm.
- @brief Set CPU to idle mode (CPU dependent)
- @brief Change the priority of the given thread
- @brief Triggers the scheduler to schedule the next thread
- @brief Set the status of the specified process
- @brief Yield if appropriate.
- @brief Removes thread from scheduler and set status to #STATUS_STOPPED
- @brief Compilation with g++ may require the declaration of this function.
- @defgroup sys_hashes_sdbm sdbm @ingroup sys_hashes_non_crypto @brief sdbm hash algorithm.
- @brief Creates semaphore dynamically.
- @brief Destroys a semaphore.
- @brief Signal semaphore.
- sha1⚠@brief Calculate a SHA1 hash from the given data
- @brief Finalizes the SHA-1 message digest
- @brief Finalizes the SHA-1 message digest with MAC
- @brief Initialize SHA-1 message digest context
- @brief Initialize SHA-1 message digest context with MAC
- @brief Update the SHA-1 context with a portion of the message being hashed
- @brief SHA-2XX finalization. Pads the input data, exports the hash value, and clears the context state.
- @brief SHA-2XX initialization. Begins a SHA-2XX operation.
- @brief Add bytes into the hash
- @brief A wrapper function to simplify the generation of a hash, this is useful for generating SHA3-256 from one buffer
- @brief A wrapper function to simplify the generation of a hash, this is useful for generating SHA3-384 from one buffer
- @brief A wrapper function to simplify the generation of a hash, this is useful for generating SHA3-512 from one buffer
- @brief SHA3-256 finalization. Pads the input data and exports the hash value
- @brief SHA3-256 initialization. Begins a SHA3-256 operation.
- @brief SHA3-384 finalization. Pads the input data and exports the hash value
- @brief SHA3-384 initialization. Begins a SHA3-384 operation.
- @brief SHA3-512 finalization. Pads the input data and exports the hash value
- @brief SHA3-512 initialization. Begins a SHA3-512 operation.
- @brief Add bytes into the hash
- @brief A wrapper function to simplify the generation of a hash, this is useful for generating sha224 for one buffer
- @brief A wrapper function to simplify the generation of a hash, this is useful for generating sha256 for one buffer
- @brief A wrapper function to simplify the generation of a hash. This is useful for generating sha512 for one single buffer in a single step.
- @brief SHA-224 initialization. Begins a SHA-224 operation.
- @brief function to produce a hash chain starting with a given seed element. The chain is computed by taking the sha256 from the seed, hash the resulting sha256 and continuing taking sha256 from each result consecutively.
- @brief function to verify if a given chain element is part of the chain.
- @brief function to produce a hash chain starting with a given seed element. The chain is computed the same way as done with sha256_chain(). Additionally intermediate elements are saved while computing the chain. This slows down computation, but provides the caller with indexed “waypoint”-elements. They are supposed to shortcut computing verification elements, this comes in handy when using long chains, e.g. a chain with 232 elements.
- @brief SHA-256 initialization. Begins a SHA-256 operation.
- @brief SHA-512 finalization. Pads the input data, exports the hash value, and clears the context state.
- @brief SHA-512 initialization. Begins a SHA-512 operation.
- @brief Add bytes into the hash
- @brief SHA-512 initialization. Begins a SHA-512 operation.
- @brief Register an I2C IRQ handler for a shared UART/I2C/SPI irq vector
- @brief Register a SPI IRQ handler for a shared UART/I2C/SPI irq vector
- @brief Register an UART IRQ handler for a shared UART/I2C/SPI irq vector
- @brief Parse and run a line of text as a shell command with arguments.
- @brief Read shell commands from a file and run them.
- @brief Optional hook after shell command is called. @details User implemented function gets called before a valid shell command will be called. @note Only executed with the
shell_hooks
module. - @brief Optional hook after readline has triggered. @details User implemented function gets called after the shell readline is complete. @note Only executed with the
shell_hooks
module. - @brief Optional hook before shell command is called. @details User implemented function gets called before a valid shell command will be called. @note Only executed with the
shell_hooks
module. - @brief Start a shell and exit once EOF is reached.
- @brief Closes a raw IPv4/IPv6 sock object
- @brief Creates a new raw IPv4/IPv6 sock object
- @brief Gets the local end point of a raw IPv4/IPv6 sock object
- @brief Gets the remote end point of a raw IPv4/IPv6 sock object
- @brief Receives a message over IPv4/IPv6 from remote end point
- @brief Provides stack-internal buffer space containing an IPv4/IPv6 message from remote end point
- @brief Sends a message over IPv4/IPv6 to remote end point
- @brief Receives and handles TCP connection requests from other peers
- @brief Establishes a new TCP sock connection
- @brief Disconnects a TCP connection
- @brief Gets the asynchronous event context from sock object
- @brief Gets the local end point of a TCP sock object
- @brief Gets the remote end point of a TCP sock object
- @brief Listen for an incoming connection request on @p local end point
- @brief Gets the asynchronous event context from TCP listening queue
- @brief Gets the local end point of a TCP sock queue object
- @brief Sets event callback for @ref sock_tcp_queue_t
- @brief Reads data from an established TCP stream
- @brief Sets event callback for @ref sock_tcp_t
- @brief Stops listening on TCP listening queue
- @brief Writes data to an established TCP stream
- @brief Compare the two given common IP-based transport layer endpoints
- @brief Format common IP-based transport layer endpoint to string and port
- @brief Convert string to common IP-based transport layer endpoint If the
sock_dns
module is used, this will do a DNS lookup if @p str is not an IP address. - @brief Convert string to common IP-based transport layer endpoint
- @brief Closes a UDP sock object
- @brief Creates a new UDP sock object
- @brief Gets the asynchronous event context from sock object
- @brief Gets the local end point of a UDP sock object
- @brief Gets the remote end point of a UDP sock object @pre
(sock != NULL) && (ep != NULL)
- @brief Receives a UDP message from a remote end point
- @brief Provides stack-internal buffer space containing a UDP message from a remote end point
- @brief Sends a UDP message to remote end point with non-continous payload
- @brief Gets the asynchronous event context from sock object
- @brief Returns a pointer to the path component in @p url
- @brief Split url to host:port and url path
- @brief Start a new SPI transaction
- @brief Basic initialization of the given SPI bus
- @brief Initialize the given chip select pin
- @brief Initialize the used SPI bus pins, i.e. MISO, MOSI, and CLK
- @brief Initialize MOSI/MISO/SCLK pins with adapted GPIO modes
- @brief Finish an ongoing SPI transaction by releasing the given SPI bus
- @brief Transfer one byte on the given SPI bus
- @brief Transfer a number bytes using the given SPI bus
- @brief Transfer one byte to/from a given register address
- @brief Transfer a number of bytes to/from a given register address
- @brief Register a I2C IRQ handler for a shared I2C/SPI irq vector
- @brief Register a SPI IRQ handler for a shared I2C/SPI irq vector
- stat⚠
- @brief Get the number of bytes available for reading from stdio.
- @brief Clear the input buffer
- @brief Disable stdio and detach stdio providers
- @brief initialize the module
- @brief read @p len bytes from stdio uart into @p buffer
- @brief write @p len bytes from @p buffer into STDOUT
- @brief Convert a component name to a string
- @brief Retrieve the generated class ID
- @brief Retrieve the generated device ID
- @brief Retrieve the generated vendor ID
- @brief Trigger a SUIT update on an in-memory manifest
- @brief Trigger a SUIT update
- @brief Initialize boot-time conditions for SUIT manifests
- @brief Parse a manifest
- @brief Check a manifest policy
- @brief Callback that is executed after the SUIT process has finished
- @brief Trigger a SUIT update via a worker thread
- @brief Trigger a SUIT update via a worker thread
- @brief Prepare for a worker run with a preloaded manifest
- @brief Add thread to list, sorted by priority (internal)
- @brief Creates a new thread.
- @brief Clear current thread’s flags
- @brief Set thread flags, possibly waking it up
- @brief Wait for all flags in mask to become set (blocking)
- @brief Wait for any flag in mask to become set (blocking)
- @brief Wait for any flags in mask to become set (blocking), one at a time
- @brief Possibly Wake up thread waiting for flags
- @brief Returns the status of a process
- @brief Get the current ISR stack pointer
- @brief Get the start of the ISR stack
- @brief Get the number of bytes used on the ISR stack
- @brief Terminates zombie thread.
- @brief Prints human readable, ps-like thread information for debugging purposes
- @brief Puts the current thread into sleep mode. Has to be woken up externally.
- @brief Gets called upon thread creation to set CPU registers
- @brief Print the current stack to stdout
- Convert a thread state code to a human readable string.
- @brief Wakes up a sleeping thread.
- @brief Puts the current thread into zombie state.
- time⚠
- @brief Clear the given channel of the given timer device
- @brief Initialize the given timer
- @brief Get the number of timer channels for the given timer
- @brief Iterate over supported frequencies
- @brief Get the number of different frequencies supported by the given timer
- @brief Read the current value of the given timer device
- @brief Set a given timer channel for the given timer device
- @brief Set an absolute timeout value for the given channel of the given timer
- @brief Set an absolute timeout value for the given channel of the given timer. The timeout will be called periodically for each iteration.
- @brief Start the given timer
- @brief Stop the given timer
- @brief Adds two timestamps
- @brief Compares two timex timestamps
- @brief Initializes a timex timestamp
- @brief Subtracts two timestamps
- @brief Converts a timex timestamp to a string
- @brief Get the name of an errno macro
- @brief Add bytes to ringbuffer @param[in] rb Ringbuffer to operate on @param[in] src buffer to read from @param[in] n max number of bytes to read from @p src @return nr of bytes read from @p src
- @brief Add a byte to ringbuffer @param[in] rb Ringbuffer to operate on @param[in] c Character to add to ringbuffer @return 0 on success @return -1 if no space available
- @brief Drop bytes from ringbuffer @param[in] rb Ringbuffer to operate on @param[in] n max number of bytes to drop @return nr of bytes dropped
- @brief Get bytes from ringbuffer @param[in] rb Ringbuffer to operate on @param[out] dst buffer to write to @param[in] n max number of bytes to write to @p dst @return nr of bytes written to @p dst
- @brief Get a byte from ringbuffer @param[in] rb Ringbuffer to operate on @return >=0 byte that has been read @return -1 if no byte available
- @brief Get bytes from ringbuffer, without removing them @param[in] rb Ringbuffer to operate on @param[out] dst buffer to write to @param[in] n max number of bytes to write to @p dst @return nr of bytes written to @p dst
- @brief Get a byte from ringbuffer, without removing it @param[in] rb Ringbuffer to operate on @return >=0 byte that has been read @return -1 if no byte available
- @brief Disable the TX line one the given UART
- @brief Enable the TX line one the given UART
- @brief Initialize a given UART device
- @brief Setup parity, data and stop bits for a given UART device
- @brief Power off the given UART device
- @brief Power on the given UART device
- @brief Write data from the given buffer to the specified UART device
- @brief Print the given UDP header to STDOUT
- @brief Populate an UUID structure from an UUID string
- @brief Generate an UUID string from an UUID structure
- Generate a version 3(md5 based) UUID from a namespace and a byte array
- Generate a version 4(Full random) UUID
- Generate a version 5(sha1 based) UUID from a namespace and a byte array
- @brief Allocate a new file descriptor and give it file operations
- @brief Allocate and bind file descriptors for STDIN, STDERR, and STDOUT
- @brief Close an open file
- @brief Close an open directory
- @brief Get file system status of the file system containing an open directory
- @brief Query/set options on an open file
- @brief Get information about the file for internal purposes
- @brief Format a file system
- @brief Format a file system
- @brief Get status of an open file
- @brief Get file system status of the file system containing an open file
- @brief Synchronize a file on storage Any pending writes are written out to storage.
- @brief Iterate through all mounted file systems by their root directories
- @brief Iterate through all mounted file systems
- @brief Seek to position in file
- @brief Create a directory on the file system
- @brief Mount a file system
- @brief Mount a file system with a pre-configured mount path
- @brief Normalize a path
- @brief Open a file
- @brief Open a directory for reading with readdir
- @brief Read bytes from an open file
- @brief Read a single entry from the open directory dirp and advance the read position by one
- @brief Read a line from an open text file
- @brief Rename a file
- @brief Remove a directory from the file system
- @brief Get file status
- @brief Get file system status
- @brief Implementation of
stat
usingfstat
- @brief Unmount a mounted file system
- @brief Unlink (delete) a file from a mounted file system
- @brief Unmount a file system with a pre-configured mount path
- @brief Write bytes to an open file
- @brief Write bytes from an iolist to an open file
- @brief main ztimer callback handler
- @brief Initialize the board-specific default ztimer configuration
- @brief Check if a timer is currently active
- @brief receive a message (blocking, with timeout)
- @brief Try to lock the given mutex, but give up after @p timeout
- @brief Unlock mutex after @p timeout
- @brief Initialize a periodic timer structure
- @brief Start or restart a periodic timer
- @brief Start or restart a periodic timer without initial timer delay
- @brief Stop a periodic timer
- @brief Suspend the calling thread until the time (@p last_wakeup + @p period)
- @brief Remove a timer from a clock
- @brief Try to lock the given rmutex, but give up after @p timeout
- @brief Set a timer on a clock
- @brief Post a message after a delay
- @brief Set timeout thread flag after @p timeout
- @brief Set a timer that wakes up a thread
- @brief Put the calling thread to sleep for the specified number of ticks
Type Aliases§
- @addtogroup Configuration_of_CMSIS @{
- @brief nRF52 specific naming of ADC lines (for convenience)
- @brief Status codes used by the SPI driver interface
- @brief Possible UART return values
- @brief Return values used by the bluetil_ad module
- @brief Flags used to request auxiliary data
- @brief Definition of DHCPv6 client configuration modes.
- @brief 802.15.4 forward error correction schemes
- @brief Auto-address configuration modes @anchor net_gnrc_netif_aac
- @name Network device types @anchor net_netdev_type @attention When implementing a new type that is able to carry IPv6, have a look if you need to update @ref net_l2util as well. @{
- @brief Types for gnrc_netif_ipv6_t::route_info_cb @anchor net_gnrc_ipv6_nib_route_info_type
- @brief Definition of physical units and comparable data types
- @name Definition of device classes
- @brief Definition of actuator intra-category IDs
- @brief Definition of sensor intra-category IDs
- @brief Definition of SAUL actuator and sensor classes
- @brief Bitmask to retrieve the class ID and intra-category ID from a SAUL class
- @brief SUIT component types
- @brief SUIT conditionals
- Type of UUID
- @brief Auto-init function type
- @brief Data type to store the priority of a module
- The host will free the attribute mbuf automatically after the callback is executed. The application can take ownership of the mbuf and prevent it from being freed by assigning NULL to attr->om.
- The host will free the attribute mbufs automatically after the callback is executed. The application can take ownership of the mbufs and prevent them from being freed by assigning NULL to each attribute’s om field.
- @brief Stack reset callback
- @typedef ble_hs_stop_fn @brief Callback function; reports the result of a host stop procedure.
- @brief Stack sync callback
- Searches the store for the first object matching the specified criteria. If a match is found, it is deleted from the store.
- Searches the store for an object matching the specified criteria. If a match is found, it is read from the store and the dst parameter is populated with the retrieved object.
- Indicates an inability to perform a store operation. This callback should do one of two things: o Address the problem and return 0, indicating that the store operation should proceed. o Return nonzero to indicate that the store operation should be aborted.
- Writes the specified object to the store. If an object with the same identity is already in the store, it is replaced. If the store lacks sufficient capacity to write the object, this function may remove previously stored values to make room.
- Pointer type to BlockCipher-Interface for the Cipher-Algorithms
- @brief BlockCipher-Interface for the Cipher-Algorithms
- @brief Typedef for comparison function used by @ref clist_sort()
- @brief List node structure
- @brief Coap block-wise-transfer size SZX
- @brief Coap blockwise request callback descriptor
- @brief Resource handler type
- @brief Method flag type
- @brief CoAP method codes used in request
- @brief Coap request callback descriptor
- @brief CoAP resource request handler context @internal
- @brief Type for CoAP resource subtrees
- @brief Definition of available panic modes
- @brief COSE signature algorithm numbers
- @brief COSE Tag numbers
- @brief COSE curve numbers
- @brief COSE error codes
- @name COSE header struct @{
- @brief COSE header types
- @brief COSE header parameters according to rfc 8152
- @brief COSE Key common parameters
- @name COSE key object
- @brief COSE key types according to rfc 8152
- @name COSE sign decoding struct
- @name COSE sign, https://tools.ietf.org/html/rfc8152#section-4
- @name Signature decoder struct @brief Contains the buffer information required for decoding a signature @{
- @name Signature struct @brief Contains signature and headers related to the signatures @{
- @brief event handler type definition
- @brief event structure
- @brief Event timer callback type
- @brief Generic event
- @brief Event timer
- @brief Handler function to write a resource link
- @brief A modular collection of resources for a server
- @brief Handler function for the request matcher strategy
- @brief Memo to handle a response for a request
- @brief Handler function for a server response, including the state for the originating request
- @brief CoAP socket types
- @brief ICMPv6 echo response callback
- @brief Event types for GNRC_NETIF_BUS_IPV6 per-interface message bus
- @brief Per-Interface Event Message Buses
- @see gnrc_netif_ops_t
- @brief Packet handler callback for netreg entries with callback.
- @brief Entry to the @ref net_gnrc_netreg
- @brief The type of the netreg entry.
- @brief Definition of protocol types in the network stack.
- @brief Type to represent parts (either headers or payload) of a packet, called snips. @details The idea behind the packet snips is that they either can represent protocol-specific headers or payload. A packet can be comprised of multiple pktsnip_t elements.
- @brief Event callback for @ref gnrc_sock_reg_t @internal
- @brief sock @ref net_gnrc_netreg info @internal
- @brief Common IP-based transport layer end point
- @brief Transmission control block queue.
- @brief Transmission control block of GNRC TCP.
- @brief Signature of event callback functions triggered from interrupts
- @brief GPIO pin configuration for nRF5x MCUs @ingroup drivers_periph_gpio_ll
- @brief 802.15.4 PHY modes
- @brief iolist structure definition
- Unique process identifier
- @brief List node structure
- @typedef log_append_cb @brief Callback that is executed each time the corresponding log is appended to.
- @typdef log_notify_rotate_cb @brief Callback that is executed each time we are about to rotate a log.
- @brief MTD driver interface
- @brief MTD power states
- @brief Append function for streaming encoder data
- @brief Fits function for streaming encoder data
- @brief encoder context
- @brief NanoCBOR decoder errors
- @brief decoder context
- @brief Typedef for the cache replacement strategy on full cache list.
- @brief Typedef for the cache update strategy on element access.
- @brief NanoCoAP socket types
- @brief Structure to hold driver interface -> function mapping
- @brief Event callback for signaling event to upper layers
- @brief Possible event types that are send from the device driver to the upper layer
- @brief Structure to hold driver state
- @brief Driver types for netdev.
- @brief Netopt RF channel type
- @brief Basic network connect request
- @brief Basic network connect result
- @brief Basic network disconnect request
- @brief Basic disconnect result
- @brief Binary parameter for enabling and disabling options
- @brief Basic callback type on network connection @ref NETOPT_CONNECT
- @brief Basic callback type on network disconnection @ref NETOPT_CONNECT
- @brief Basic callback type on network scan @ref NETOPT_CONNECT
- @brief Option parameter to be used with @ref NETOPT_RF_TESTMODE
- @brief Netopt RSSI type
- @brief Basic network scan request
- @brief Basic network scan result
- @brief Option parameter to be used with @ref NETOPT_STATE to set or get the state of a network device or protocol implementation
- @brief Global list of configuration options available throughout the network stack, e.g. by netdev and netapi
- @brief A 16 bit integer in big endian aka network byte order. @details This is a wrapper around an uint16_t to catch missing conversions between different byte orders at compile time.
- @brief A 32 bit integer in big endian aka network byte order. @details This is a wrapper around an uint32_t to catch missing conversions between different byte orders at compile time.
- @brief A 64 bit integer in big endian aka network byte order. @details This is a wrapper around an uint64_t to catch missing conversions between different byte orders at compile time.
- Block put callback function. If configured, this callback gets executed whenever a block is freed to the corresponding extended mempool. Note: The os_memblock_put() function calls this callback instead of freeing the block itself. Therefore, it is the callback’s responsibility to free the block via a call to os_memblock_put_from_cb().
- @brief Signature for the alarm callback
- @brief Read a value (a set of values) from a device
- @brief SAUL registry entry
- @brief Write a value (a set of values) to a device
- @brief A Semaphore states.
- @brief Structure to hold the SHA-2XX context.
- @brief Structure to hold the SHA-2XX context.
- @brief Structure to hold the SHA-512 context.
- @brief Common UART/SPI/I2C interrupt callback
- @brief Prototype of a shell callback handler. @details The functions supplied to shell_run() must use this signature. It is designed to mimic the function signature of
main()
. For this reason, the argument list is terminated with aNULL
, i.eargv[argc] == NULL
(which is an ANSI-C requirement, and a detail that newlib’sgetopt()
implementation relies on). The function name is passed inargv[0]
. - @brief Flag types to signify asynchronous sock events @note Only applicable with @ref SOCK_HAS_ASYNC defined.
- @brief Type holding the flags used to request specific auxiliary data
- @brief Raw IP sock type @internal
- @brief Event callback for @ref sock_tcp_t
- @brief Common IP-based transport layer end point
- @brief Event callback for @ref sock_tcp_queue_t
- @brief Transmission control block queue.
- @brief Transmission control block of GNRC TCP.
- @brief Event callback for @ref sock_udp_t
- @brief Common IP-based transport layer end point
- @brief UDP sock type @internal
- @brief Common SPI/I2C interrupt callback
- @brief SUIT payload digest algorithms
- @brief SUIT payload digest types
- @brief SUIT error codes
- @name SUIT parameters @{
- @brief Forward declaration for storage struct
- @brief Type definition of thread_flags_t
- @name Thread states supported by RIOT
- @brief @c thread_t holds thread’s context data.
- @brief Prototype for a thread entry function
- @brief Signature of event callback functions triggered from interrupts
- @brief thread-safe ringbuffer struct
- @brief Signature for receive interrupt callback
- @brief Signature for receive start condition interrupt callback
- @brief Pointer type to point anywhere in the .text section
- @brief UNIX address family definitions
- @brief Operations on open directories
- @brief Operations on open files
- @brief Operations on mounted file systems
- @brief A mounted file system
- @brief Minimum information for each timer
- @brief Type of callbacks in @ref ztimer_t “timers”
- @brief ztimer device structure
- @typedef ztimer_now_t @brief type for ztimer_now() result
- @brief Type of callbacks in @ref ztimer_periodic_t “periodic timers”
Unions§
- @brief A 16 bit integer in big endian aka network byte order. @details This is a wrapper around an uint16_t to catch missing conversions between different byte orders at compile time.
- @brief A 32 bit integer in big endian aka network byte order. @details This is a wrapper around an uint32_t to catch missing conversions between different byte orders at compile time.
- @brief A 64 bit integer in big endian aka network byte order. @details This is a wrapper around an uint64_t to catch missing conversions between different byte orders at compile time.
- A discriminated union containing additional details concerning the GAP event. The ‘type’ field indicates which member of the union is valid.
- The GATT operation being performed dictates which field in this union is valid. If a characteristic is being accessed, the chr field is valid. Otherwise a descriptor is being accessed, in which case the dsc field is valid.
- The value of the op field determines which field in this union is valid.
- A discriminated union containing additional details concerning the L2CAP event. The ‘type’ field indicates which member of the union is valid.
- Used as a key for store lookups. This union must be accompanied by an object type code to indicate which field is valid.
- Additional data related to the event; the valid field is inferred from the obj_type,event_code pair.
- Represents stored data. This union must be accompanied by an object type code to indicate which field is valid.
- Universal UUID type, to be used for any-UUID static allocation
- @brief Data type to represent an EUI-64.
- @brief asynchronous upper layer callback
- @brief GPIO pin configuration for nRF5x MCUs @ingroup drivers_periph_gpio_ll
- @brief Data type to represent an IPv4 address.
- @brief Data type to represent an IPv6 address.
- @brief A 16 bit integer in little endian. @details This is a wrapper around an uint16_t to catch missing conversions between different byte orders at compile time.
- @brief A 32 bit integer in little endian. @details This is a wrapper around an uint32_t to catch missing conversions between different byte orders at compile time.
- @brief A 64 bit integer in little endian. @details This is a wrapper around an uint64_t to catch missing conversions between different byte orders at compile time.
- Function used to check encoded length
- @brief Generalized callback type