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.
Dependents: NSDL_HelloWorld_WiFi UbloxModemNanoServiceClient IOT-NSDL_HelloWorld LWM2M_NanoService_Ethernet ... more
Fork of nsdl_lib by
sn_nsdl.h
- Committer:
- screamer
- Date:
- 2013-10-09
- Revision:
- 2:ab50a2ab6ec9
- Parent:
- 1:01d723824294
- Child:
- 3:d8cb1afd7285
File content as of revision 2:ab50a2ab6ec9:
/**
* \file sn_nsdl.h
*
* \brief NanoService Devices Library generic header file
*
* Created on: Aug 23, 2011
* Author: tero
*
*/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef SN_NSDL_H_
#define SN_NSDL_H_
/* * * * * * * * * * * */
/* * * * DEFINES * * * */
/* * * * * * * * * * * */
#define SN_GRS_VERSION 0x0101
#ifndef SN_NSDL_HAVE_HTTP_CAPABILITY
#define SN_NSDL_HAVE_HTTP_CAPABILITY 0
#endif
#ifndef SN_NSDL_HAVE_HTTPS_CAPABILITY
#define SN_NSDL_HAVE_HTTPS_CAPABILITY 0
#endif
#ifndef SN_NSDL_HAVE_COAP_CAPABILITY
#define SN_NSDL_HAVE_COAP_CAPABILITY 1
#endif
/* * * Common * * */
#define SN_NSDL_SUCCESS 0
#define SN_NSDL_FAILURE (-1)
/* * * * * * * * * * * * * * */
/* * * * ENUMERATIONS * * * */
/* * * * * * * * * * * * * * */
typedef enum sn_nsdl_capab_
{
SN_NSDL_PROTOCOL_HTTP = 0x01,
SN_NSDL_PROTOCOL_HTTPS = 0x02,
SN_NSDL_PROTOCOL_COAP = 0x04
} sn_nsdl_capab_e;
typedef enum sn_nsdl_addr_type_
{
SN_NSDL_ADDRESS_TYPE_IPV6 = 0x01,
SN_NSDL_ADDRESS_TYPE_IPV4 = 0x02,
SN_NSDL_ADDRESS_TYPE_HOSTNAME = 0x03,
SN_NSDL_ADDRESS_TYPE_NONE = 0xFF
} sn_nsdl_addr_type_e;
#define SN_NDSL_RESOURCE_NOT_REGISTERED 0
#define SN_NDSL_RESOURCE_REGISTERING 1
#define SN_NDSL_RESOURCE_REGISTERED 2
/* * * * * * * * * * * * * */
/* * * * STRUCTURES * * * */
/* * * * * * * * * * * * * */
/**
* Address structure of Packet data
*/
typedef struct sn_nsdl_addr_
{
sn_nsdl_addr_type_e type;
uint8_t addr_len;
uint8_t *addr_ptr;
uint16_t port;
void *socket_information;
} sn_nsdl_addr_s;
/**
* This structure is returned by sn_coap_exec() for sending
*/
typedef struct sn_nsdl_transmit_
{
sn_nsdl_addr_s *dst_addr_ptr;
sn_nsdl_capab_e protocol;
uint16_t packet_len;
uint8_t *packet_ptr;
} sn_nsdl_transmit_s;
typedef struct registration_info_
{
uint8_t *endpoint_ptr;
uint8_t endpoint_len;
uint8_t *endpoint_type_ptr;
uint8_t endpoint_type_len;
uint8_t *links_ptr;
uint16_t links_len;
}registration_info_t;
#endif /* SN_NSDL_H_ */
#ifdef __cplusplus
}
#endif
