NSDL C library
Dependents: NSDL_HelloWorld_WiFi UbloxModemNanoServiceClient IOT-NSDL_HelloWorld LWM2M_NanoService_Ethernet ... more
Fork of nsdl_lib by
Note that use of this software requires acceptance of the Sensinode EULA: http://mbed.org/teams/Sensinode/code/nsdl_lib/wiki/EULA
Diff: sn_nsdl.h
- Revision:
- 0:58c4f13c4b9a
- Child:
- 1:01d723824294
- Child:
- 5:da1db64e7fb9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sn_nsdl.h Wed Oct 09 09:20:29 2013 +0000
@@ -0,0 +1,113 @@
+/**
+ * \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
\ No newline at end of file
