hello

Dependents:   nespresso_demo nespresso_endpoint EnvoyNespressoEndpointColorDetectorV2

Fork of nsdl by Robert Taylor

Committer:
bjblazkowicz
Date:
Mon Jul 14 12:33:59 2014 +0000
Revision:
2:05e4cd1a1542
Parent:
0:f6e4e1bbb3fe
WIP - registration is broken in this commit.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GeofferyOmlette 0:f6e4e1bbb3fe 1 /**
GeofferyOmlette 0:f6e4e1bbb3fe 2 * \file sn_nsdl.h
GeofferyOmlette 0:f6e4e1bbb3fe 3 *
GeofferyOmlette 0:f6e4e1bbb3fe 4 * \brief NanoService Devices Library generic header file
GeofferyOmlette 0:f6e4e1bbb3fe 5 *
GeofferyOmlette 0:f6e4e1bbb3fe 6 * Created on: Aug 23, 2011
GeofferyOmlette 0:f6e4e1bbb3fe 7 * Author: tero
GeofferyOmlette 0:f6e4e1bbb3fe 8 *
GeofferyOmlette 0:f6e4e1bbb3fe 9 */
GeofferyOmlette 0:f6e4e1bbb3fe 10
GeofferyOmlette 0:f6e4e1bbb3fe 11 #ifdef __cplusplus
GeofferyOmlette 0:f6e4e1bbb3fe 12 extern "C" {
GeofferyOmlette 0:f6e4e1bbb3fe 13 #endif
GeofferyOmlette 0:f6e4e1bbb3fe 14
GeofferyOmlette 0:f6e4e1bbb3fe 15 #ifndef SN_NSDL_H_
GeofferyOmlette 0:f6e4e1bbb3fe 16 #define SN_NSDL_H_
GeofferyOmlette 0:f6e4e1bbb3fe 17
GeofferyOmlette 0:f6e4e1bbb3fe 18 /* * * * * * * * * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 19 /* * * * DEFINES * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 20 /* * * * * * * * * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 21
GeofferyOmlette 0:f6e4e1bbb3fe 22 #define SN_GRS_VERSION 0x0101
GeofferyOmlette 0:f6e4e1bbb3fe 23
GeofferyOmlette 0:f6e4e1bbb3fe 24 #ifndef SN_NSDL_HAVE_HTTP_CAPABILITY
GeofferyOmlette 0:f6e4e1bbb3fe 25 #define SN_NSDL_HAVE_HTTP_CAPABILITY 0
GeofferyOmlette 0:f6e4e1bbb3fe 26 #endif
GeofferyOmlette 0:f6e4e1bbb3fe 27
GeofferyOmlette 0:f6e4e1bbb3fe 28 #ifndef SN_NSDL_HAVE_HTTPS_CAPABILITY
GeofferyOmlette 0:f6e4e1bbb3fe 29 #define SN_NSDL_HAVE_HTTPS_CAPABILITY 0
GeofferyOmlette 0:f6e4e1bbb3fe 30 #endif
GeofferyOmlette 0:f6e4e1bbb3fe 31
GeofferyOmlette 0:f6e4e1bbb3fe 32 #ifndef SN_NSDL_HAVE_COAP_CAPABILITY
GeofferyOmlette 0:f6e4e1bbb3fe 33 #define SN_NSDL_HAVE_COAP_CAPABILITY 1
GeofferyOmlette 0:f6e4e1bbb3fe 34 #endif
GeofferyOmlette 0:f6e4e1bbb3fe 35
GeofferyOmlette 0:f6e4e1bbb3fe 36 /* * * Common * * */
GeofferyOmlette 0:f6e4e1bbb3fe 37
GeofferyOmlette 0:f6e4e1bbb3fe 38 #define SN_NSDL_SUCCESS 0
GeofferyOmlette 0:f6e4e1bbb3fe 39 #define SN_NSDL_FAILURE (-1)
GeofferyOmlette 0:f6e4e1bbb3fe 40
GeofferyOmlette 0:f6e4e1bbb3fe 41 /* * * * * * * * * * * * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 42 /* * * * ENUMERATIONS * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 43 /* * * * * * * * * * * * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 44
GeofferyOmlette 0:f6e4e1bbb3fe 45
GeofferyOmlette 0:f6e4e1bbb3fe 46 /**
GeofferyOmlette 0:f6e4e1bbb3fe 47 * \brief Used protocol
GeofferyOmlette 0:f6e4e1bbb3fe 48 */
GeofferyOmlette 0:f6e4e1bbb3fe 49 typedef enum sn_nsdl_capab_
GeofferyOmlette 0:f6e4e1bbb3fe 50 {
GeofferyOmlette 0:f6e4e1bbb3fe 51 SN_NSDL_PROTOCOL_HTTP = 0x01, /**< Unsupported */
GeofferyOmlette 0:f6e4e1bbb3fe 52 SN_NSDL_PROTOCOL_HTTPS = 0x02, /**< Unsupported */
GeofferyOmlette 0:f6e4e1bbb3fe 53 SN_NSDL_PROTOCOL_COAP = 0x04 /**< Supported */
GeofferyOmlette 0:f6e4e1bbb3fe 54 } sn_nsdl_capab_e;
GeofferyOmlette 0:f6e4e1bbb3fe 55
GeofferyOmlette 0:f6e4e1bbb3fe 56 /**
GeofferyOmlette 0:f6e4e1bbb3fe 57 * \brief Address type of given address
GeofferyOmlette 0:f6e4e1bbb3fe 58 */
GeofferyOmlette 0:f6e4e1bbb3fe 59 typedef enum sn_nsdl_addr_type_
GeofferyOmlette 0:f6e4e1bbb3fe 60 {
GeofferyOmlette 0:f6e4e1bbb3fe 61 SN_NSDL_ADDRESS_TYPE_IPV6 = 0x01, /**< Supported */
GeofferyOmlette 0:f6e4e1bbb3fe 62 SN_NSDL_ADDRESS_TYPE_IPV4 = 0x02, /**< Supported */
GeofferyOmlette 0:f6e4e1bbb3fe 63 SN_NSDL_ADDRESS_TYPE_HOSTNAME = 0x03, /**< Unsupported */
GeofferyOmlette 0:f6e4e1bbb3fe 64 SN_NSDL_ADDRESS_TYPE_NONE = 0xFF
GeofferyOmlette 0:f6e4e1bbb3fe 65 } sn_nsdl_addr_type_e;
GeofferyOmlette 0:f6e4e1bbb3fe 66
GeofferyOmlette 0:f6e4e1bbb3fe 67
GeofferyOmlette 0:f6e4e1bbb3fe 68 /* * * * * * * * * * * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 69 /* * * * STRUCTURES * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 70 /* * * * * * * * * * * * * */
GeofferyOmlette 0:f6e4e1bbb3fe 71
GeofferyOmlette 0:f6e4e1bbb3fe 72 /**
GeofferyOmlette 0:f6e4e1bbb3fe 73 * \brief Address structure of Packet data
GeofferyOmlette 0:f6e4e1bbb3fe 74 */
GeofferyOmlette 0:f6e4e1bbb3fe 75 typedef struct sn_nsdl_addr_
GeofferyOmlette 0:f6e4e1bbb3fe 76 {
GeofferyOmlette 0:f6e4e1bbb3fe 77 sn_nsdl_addr_type_e type;
GeofferyOmlette 0:f6e4e1bbb3fe 78
GeofferyOmlette 0:f6e4e1bbb3fe 79 uint8_t addr_len;
GeofferyOmlette 0:f6e4e1bbb3fe 80 uint8_t *addr_ptr;
GeofferyOmlette 0:f6e4e1bbb3fe 81
GeofferyOmlette 0:f6e4e1bbb3fe 82 uint16_t port;
GeofferyOmlette 0:f6e4e1bbb3fe 83
GeofferyOmlette 0:f6e4e1bbb3fe 84 void *socket_information;
GeofferyOmlette 0:f6e4e1bbb3fe 85
GeofferyOmlette 0:f6e4e1bbb3fe 86 } sn_nsdl_addr_s;
GeofferyOmlette 0:f6e4e1bbb3fe 87
GeofferyOmlette 0:f6e4e1bbb3fe 88 /**
GeofferyOmlette 0:f6e4e1bbb3fe 89 * \brief Used for creating manually NSP registration message with sn_coap_register()
GeofferyOmlette 0:f6e4e1bbb3fe 90 */
GeofferyOmlette 0:f6e4e1bbb3fe 91 typedef struct registration_info_
GeofferyOmlette 0:f6e4e1bbb3fe 92 {
GeofferyOmlette 0:f6e4e1bbb3fe 93 uint8_t *endpoint_ptr; /**< Endpoint name */
GeofferyOmlette 0:f6e4e1bbb3fe 94 uint8_t endpoint_len;
GeofferyOmlette 0:f6e4e1bbb3fe 95
GeofferyOmlette 0:f6e4e1bbb3fe 96 uint8_t *endpoint_type_ptr; /**< Endpoint type */
GeofferyOmlette 0:f6e4e1bbb3fe 97 uint8_t endpoint_type_len;
GeofferyOmlette 0:f6e4e1bbb3fe 98
GeofferyOmlette 0:f6e4e1bbb3fe 99 uint8_t *links_ptr; /**< Resource registration string */
GeofferyOmlette 0:f6e4e1bbb3fe 100 uint16_t links_len;
GeofferyOmlette 0:f6e4e1bbb3fe 101
GeofferyOmlette 0:f6e4e1bbb3fe 102 } registration_info_t;
GeofferyOmlette 0:f6e4e1bbb3fe 103
GeofferyOmlette 0:f6e4e1bbb3fe 104 #endif /* SN_NSDL_H_ */
GeofferyOmlette 0:f6e4e1bbb3fe 105
GeofferyOmlette 0:f6e4e1bbb3fe 106 #ifdef __cplusplus
GeofferyOmlette 0:f6e4e1bbb3fe 107 }
GeofferyOmlette 0:f6e4e1bbb3fe 108 #endif