Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-cloud-workshop-connect-HTS221 by
sn_nsdl.c File Reference
Nano service device library. More...
Go to the source code of this file.
Functions | |
| static int32_t | sn_nsdl_internal_coap_send (struct nsdl_s *handle, sn_coap_hdr_s *coap_header_ptr, sn_nsdl_addr_s *dst_addr_ptr) |
| To send NSDL messages. | |
| static void | sn_nsdl_resolve_nsp_address (struct nsdl_s *handle) |
| Resolves NSP server address. | |
| int8_t | sn_nsdl_build_registration_body (struct nsdl_s *handle, sn_coap_hdr_s *message_ptr, uint8_t updating_registeration) |
| To build GRS resources to registration message payload. | |
| static uint16_t | sn_nsdl_calculate_registration_body_size (struct nsdl_s *handle, uint8_t updating_registeration, int8_t *error) |
| Calculates registration message payload size. | |
| static int8_t | sn_nsdl_local_rx_function (struct nsdl_s *handle, sn_coap_hdr_s *coap_packet_ptr, sn_nsdl_addr_s *address_ptr) |
| If received message is reply for the message that NSDL has been sent, it is processed here. | |
| static int8_t | sn_nsdl_resolve_ep_information (struct nsdl_s *handle, sn_coap_hdr_s *coap_packet_ptr) |
| Resolves endpoint information from received CoAP message. | |
| int8_t | sn_nsdl_destroy (struct nsdl_s *handle) |
| This function releases all allocated memory in mbed Device C Client library. | |
| uint16_t | sn_nsdl_register_endpoint (struct nsdl_s *handle, sn_nsdl_ep_parameters_s *endpoint_info_ptr, const char *uri_query_parameters) |
| Registers endpoint to mbed Device Server. | |
| int32_t | sn_nsdl_unregister_endpoint (struct nsdl_s *handle) |
| Sends unregister-message to mbed Device Server. | |
| int32_t | sn_nsdl_update_registration (struct nsdl_s *handle, uint8_t *lt_ptr, uint8_t lt_len) |
| Update the registration with mbed Device Server. | |
| int8_t | sn_nsdl_set_endpoint_location (struct nsdl_s *handle, uint8_t *location_ptr, uint8_t location_len) |
| Sets the location receievd from Device Server. | |
| void | sn_nsdl_nsp_lost (struct nsdl_s *handle) |
| A function to inform mbed Device C client library if application detects a fault in mbed Device Server registration. | |
| int8_t | sn_nsdl_is_ep_registered (struct nsdl_s *handle) |
| Checks if endpoint is registered. | |
| char * | sn_nsdl_get_version (void) |
| Version query function. | |
| int8_t | sn_nsdl_process_coap (struct nsdl_s *handle, uint8_t *packet_ptr, uint16_t packet_len, sn_nsdl_addr_s *src_ptr) |
| To push CoAP packet to mbed Device C Client library. | |
| int8_t | sn_nsdl_exec (struct nsdl_s *handle, uint32_t time) |
| CoAP retransmission function. | |
| int8_t | set_NSP_address (struct nsdl_s *handle, uint8_t *NSP_address, uint8_t address_length, uint16_t port, sn_nsdl_addr_type_e address_type) |
| This function is used to set the mbed Device Server address given by an application. | |
| int8_t | sn_nsdl_send_coap_message (struct nsdl_s *handle, sn_nsdl_addr_s *address_ptr, sn_coap_hdr_s *coap_hdr_ptr) |
| Send an outgoing CoAP request. | |
| int8_t | sn_nsdl_handle_block2_response_internally (struct nsdl_s *handle, uint8_t build_response) |
| This function change the state whether CoAP library sends the block 2 response automatically or not. | |
| int8_t | sn_nsdl_clear_coap_sent_blockwise_messages (struct nsdl_s *handle) |
| Clears the sent blockwise messages from the linked list. | |
| sn_coap_hdr_s * | sn_nsdl_build_response (struct nsdl_s *handle, sn_coap_hdr_s *coap_packet_ptr, uint8_t msg_code) |
| Prepares generic response packet from a request packet. | |
| sn_coap_options_list_s * | sn_nsdl_alloc_options_list (struct nsdl_s *handle, sn_coap_hdr_s *coap_msg_ptr) |
| Allocates and initializes options list structure. | |
| void | sn_nsdl_release_allocated_coap_msg_mem (struct nsdl_s *handle, sn_coap_hdr_s *freed_coap_msg_ptr) |
| Releases memory of given CoAP message. | |
| int8_t | sn_nsdl_set_retransmission_parameters (struct nsdl_s *handle, uint8_t resending_count, uint8_t resending_interval) |
| If re-transmissions are enabled, this function changes resending count and interval. | |
| int8_t | sn_nsdl_set_retransmission_buffer (struct nsdl_s *handle, uint8_t buffer_size_messages, uint16_t buffer_size_bytes) |
| If re-transmissions are enabled, this function changes message retransmission queue size. | |
| int8_t | sn_nsdl_set_block_size (struct nsdl_s *handle, uint16_t block_size) |
| If block transfer is enabled, this function changes the block size. | |
| int8_t | sn_nsdl_set_duplicate_buffer_size (struct nsdl_s *handle, uint8_t message_count) |
| If dublicate message detection is enabled, this function changes buffer size. | |
| void * | sn_nsdl_get_context (const struct nsdl_s *const handle) |
| Get the application defined context parameter for given handle. | |
| int8_t | sn_nsdl_clear_coap_resending_queue (struct nsdl_s *handle) |
| Clean confirmable message list. | |
| void | sn_nsdl_print_coap_data (sn_coap_hdr_s *coap_header_ptr, bool outgoing) |
| Utility function to print all the CoAP header parameters. | |
| uint8_t | sn_nsdl_get_retransmission_count (struct nsdl_s *handle) |
| Returns retransmission coint. | |
Detailed Description
Nano service device library.
Definition in file sn_nsdl.c.
Function Documentation
| int8_t set_NSP_address | ( | struct nsdl_s * | handle, |
| uint8_t * | NSP_address, | ||
| uint8_t | address_length, | ||
| uint16_t | port, | ||
| sn_nsdl_addr_type_e | address_type | ||
| ) |
| sn_coap_options_list_s* sn_nsdl_alloc_options_list | ( | struct nsdl_s * | handle, |
| sn_coap_hdr_s * | coap_msg_ptr | ||
| ) |
Allocates and initializes options list structure.
- Parameters:
-
*handle Pointer to library handle *coap_msg_ptr is pointer to CoAP message that will contain the options
If the message already has a pointer to an option structure, that pointer is returned, rather than a new structure being allocated.
- Returns:
- Return value is pointer to the CoAP options structure.
In following failure cases NULL is returned:
-Failure in given pointer (= NULL)
-Failure in memory allocation (malloc() returns NULL)
| int8_t sn_nsdl_build_registration_body | ( | struct nsdl_s * | handle, |
| sn_coap_hdr_s * | message_ptr, | ||
| uint8_t | updating_registeration | ||
| ) |
| sn_coap_hdr_s* sn_nsdl_build_response | ( | struct nsdl_s * | handle, |
| sn_coap_hdr_s * | coap_packet_ptr, | ||
| uint8_t | msg_code | ||
| ) |
Prepares generic response packet from a request packet.
This function allocates memory for the resulting sn_coap_hdr_s
- Parameters:
-
*handle Pointer to library handle *coap_packet_ptr The request packet pointer msg_code response messages code
- Returns:
- *coap_packet_ptr The allocated and pre-filled response packet pointer NULL Error in parsing the request
| static uint16_t sn_nsdl_calculate_registration_body_size | ( | struct nsdl_s * | handle, |
| uint8_t | updating_registeration, | ||
| int8_t * | error | ||
| ) | [static] |
| int8_t sn_nsdl_clear_coap_resending_queue | ( | struct nsdl_s * | handle ) |
| int8_t sn_nsdl_clear_coap_sent_blockwise_messages | ( | struct nsdl_s * | handle ) |
| int8_t sn_nsdl_destroy | ( | struct nsdl_s * | handle ) |
| int8_t sn_nsdl_exec | ( | struct nsdl_s * | handle, |
| uint32_t | time | ||
| ) |
| void* sn_nsdl_get_context | ( | const struct nsdl_s *const | handle ) |
Get the application defined context parameter for given handle.
This is useful for example when interfacing with c++ objects where a pointer to object is set as the context, and in the callback functions the context pointer can be used to call methods for the correct instance of the c++ object.
- Parameters:
-
*handle Pointer to library handle
- Returns:
- Pointer to the application defined context
| uint8_t sn_nsdl_get_retransmission_count | ( | struct nsdl_s * | handle ) |
| char* sn_nsdl_get_version | ( | void | ) |
| int8_t sn_nsdl_handle_block2_response_internally | ( | struct nsdl_s * | handle, |
| uint8_t | build_response | ||
| ) |
This function change the state whether CoAP library sends the block 2 response automatically or not.
- Parameters:
-
*handle Pointer to NSDL library handle handle_response 1 if CoAP library handles the response sending otherwise 0.
- Returns:
- 0 = success, -1 = failure
| static int32_t sn_nsdl_internal_coap_send | ( | struct nsdl_s * | handle, |
| sn_coap_hdr_s * | coap_header_ptr, | ||
| sn_nsdl_addr_s * | dst_addr_ptr | ||
| ) | [static] |
To send NSDL messages.
Stores message id?s and message description to catch response from NSP server
- Parameters:
-
*handle Pointer to nsdl-library handle *coap_header_ptr Pointer to the CoAP message header to be sent *dst_addr_ptr Pointer to the address structure that contains destination address information message_description Message description to be stored to list for waiting response
- Returns:
- message id, <=0 if failed
| int8_t sn_nsdl_is_ep_registered | ( | struct nsdl_s * | handle ) |
| static int8_t sn_nsdl_local_rx_function | ( | struct nsdl_s * | handle, |
| sn_coap_hdr_s * | coap_packet_ptr, | ||
| sn_nsdl_addr_s * | address_ptr | ||
| ) | [static] |
If received message is reply for the message that NSDL has been sent, it is processed here.
Else, packet will be sent to application.
- Parameters:
-
*handle Pointer to nsdl-library handle *coap_packet_ptr Pointer to received CoAP packet *address_ptr Pointer to source address struct
- Returns:
- SN_NSDL_SUCCESS = 0, Failed = -1
| void sn_nsdl_nsp_lost | ( | struct nsdl_s * | handle ) |
A function to inform mbed Device C client library if application detects a fault in mbed Device Server registration.
- Parameters:
-
*handle Pointer to nsdl-library handle
After calling this function sn_nsdl_is_ep_registered() will return "not registered".
| void sn_nsdl_print_coap_data | ( | sn_coap_hdr_s * | coap_header_ptr, |
| bool | outgoing | ||
| ) |
| int8_t sn_nsdl_process_coap | ( | struct nsdl_s * | handle, |
| uint8_t * | packet_ptr, | ||
| uint16_t | packet_len, | ||
| sn_nsdl_addr_s * | src_ptr | ||
| ) |
To push CoAP packet to mbed Device C Client library.
Used to push an CoAP packet to mbed Device C Client library for processing.
- Parameters:
-
*handle Pointer to nsdl-library handle *packet Pointer to a uint8_t array containing the packet (including the CoAP headers). After successful execution this array may contain the response packet. *packet_len Pointer to length of the packet. After successful execution this array may contain the length of the response packet. *src Pointer to packet source address information. After successful execution this array may contain the destination address of the response packet.
- Returns:
- 0 Success
- -1 Failure
| uint16_t sn_nsdl_register_endpoint | ( | struct nsdl_s * | handle, |
| sn_nsdl_ep_parameters_s * | endpoint_info_ptr, | ||
| const char * | uri_query_parameters | ||
| ) |
| void sn_nsdl_release_allocated_coap_msg_mem | ( | struct nsdl_s * | handle, |
| sn_coap_hdr_s * | freed_coap_msg_ptr | ||
| ) |
| static int8_t sn_nsdl_resolve_ep_information | ( | struct nsdl_s * | handle, |
| sn_coap_hdr_s * | coap_packet_ptr | ||
| ) | [static] |
| static void sn_nsdl_resolve_nsp_address | ( | struct nsdl_s * | handle ) | [static] |
| int8_t sn_nsdl_send_coap_message | ( | struct nsdl_s * | handle, |
| sn_nsdl_addr_s * | address_ptr, | ||
| sn_coap_hdr_s * | coap_hdr_ptr | ||
| ) |
| int8_t sn_nsdl_set_block_size | ( | struct nsdl_s * | handle, |
| uint16_t | block_size | ||
| ) |
| int8_t sn_nsdl_set_duplicate_buffer_size | ( | struct nsdl_s * | handle, |
| uint8_t | message_count | ||
| ) |
| int8_t sn_nsdl_set_endpoint_location | ( | struct nsdl_s * | handle, |
| uint8_t * | location_ptr, | ||
| uint8_t | location_len | ||
| ) |
| int8_t sn_nsdl_set_retransmission_buffer | ( | struct nsdl_s * | handle, |
| uint8_t | buffer_size_messages, | ||
| uint16_t | buffer_size_bytes | ||
| ) |
If re-transmissions are enabled, this function changes message retransmission queue size.
Set size to '0' to disable feature. If both are set to '0', then re-sendings are disabled.
- Parameters:
-
*handle Pointer to library handle uint8_t buffer_size_messages queue size - maximum number of messages to be saved to queue uint8_t buffer_size_bytes queue size - maximum size of messages saved to queue
- Returns:
- 0 = success, -1 = failure
| int8_t sn_nsdl_set_retransmission_parameters | ( | struct nsdl_s * | handle, |
| uint8_t | resending_count, | ||
| uint8_t | resending_interval | ||
| ) |
If re-transmissions are enabled, this function changes resending count and interval.
- Parameters:
-
*handle Pointer to library handle uint8_t resending_count max number of resendings for message uint8_t resending_intervall message resending intervall in seconds
- Returns:
- 0 = success, -1 = failure
| int32_t sn_nsdl_unregister_endpoint | ( | struct nsdl_s * | handle ) |
| int32_t sn_nsdl_update_registration | ( | struct nsdl_s * | handle, |
| uint8_t * | lt_ptr, | ||
| uint8_t | lt_len | ||
| ) |
Generated on Tue Jul 12 2022 19:12:18 by
1.7.2
