sandbox / mbed-client-c

Fork of mbed-client-c by Christopher Haster

Committer:
Christopher Haster
Date:
Fri Jan 22 16:31:54 2016 -0600
Revision:
1:43f5c94c6771
Child:
4:5d91b0f5038c
Initial move of mbed-client-c to mercurial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Christopher Haster 1:43f5c94c6771 1 /*
Christopher Haster 1:43f5c94c6771 2 * Copyright (c) 2011-2015 ARM Limited. All rights reserved.
Christopher Haster 1:43f5c94c6771 3 * SPDX-License-Identifier: Apache-2.0
Christopher Haster 1:43f5c94c6771 4 * Licensed under the Apache License, Version 2.0 (the License); you may
Christopher Haster 1:43f5c94c6771 5 * not use this file except in compliance with the License.
Christopher Haster 1:43f5c94c6771 6 * You may obtain a copy of the License at
Christopher Haster 1:43f5c94c6771 7 *
Christopher Haster 1:43f5c94c6771 8 * http://www.apache.org/licenses/LICENSE-2.0
Christopher Haster 1:43f5c94c6771 9 *
Christopher Haster 1:43f5c94c6771 10 * Unless required by applicable law or agreed to in writing, software
Christopher Haster 1:43f5c94c6771 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
Christopher Haster 1:43f5c94c6771 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Christopher Haster 1:43f5c94c6771 13 * See the License for the specific language governing permissions and
Christopher Haster 1:43f5c94c6771 14 * limitations under the License.
Christopher Haster 1:43f5c94c6771 15 */
Christopher Haster 1:43f5c94c6771 16
Christopher Haster 1:43f5c94c6771 17 /**
Christopher Haster 1:43f5c94c6771 18 * \file sn_nsdl.h
Christopher Haster 1:43f5c94c6771 19 *
Christopher Haster 1:43f5c94c6771 20 * \brief libNsdl generic header file
Christopher Haster 1:43f5c94c6771 21 *
Christopher Haster 1:43f5c94c6771 22 */
Christopher Haster 1:43f5c94c6771 23
Christopher Haster 1:43f5c94c6771 24 #ifdef __cplusplus
Christopher Haster 1:43f5c94c6771 25 extern "C" {
Christopher Haster 1:43f5c94c6771 26 #endif
Christopher Haster 1:43f5c94c6771 27
Christopher Haster 1:43f5c94c6771 28 #ifndef SN_NSDL_H_
Christopher Haster 1:43f5c94c6771 29 #define SN_NSDL_H_
Christopher Haster 1:43f5c94c6771 30
Christopher Haster 1:43f5c94c6771 31 /* * * Common * * */
Christopher Haster 1:43f5c94c6771 32
Christopher Haster 1:43f5c94c6771 33 #define SN_NSDL_SUCCESS 0
Christopher Haster 1:43f5c94c6771 34 #define SN_NSDL_FAILURE (-1)
Christopher Haster 1:43f5c94c6771 35
Christopher Haster 1:43f5c94c6771 36 /* * * * * * * * * * * * * * */
Christopher Haster 1:43f5c94c6771 37 /* * * * ENUMERATIONS * * * */
Christopher Haster 1:43f5c94c6771 38 /* * * * * * * * * * * * * * */
Christopher Haster 1:43f5c94c6771 39
Christopher Haster 1:43f5c94c6771 40
Christopher Haster 1:43f5c94c6771 41 /**
Christopher Haster 1:43f5c94c6771 42 * \brief Used protocol
Christopher Haster 1:43f5c94c6771 43 */
Christopher Haster 1:43f5c94c6771 44 typedef enum sn_nsdl_capab_ {
Christopher Haster 1:43f5c94c6771 45 SN_NSDL_PROTOCOL_HTTP = 0x01, /**< Unsupported */
Christopher Haster 1:43f5c94c6771 46 SN_NSDL_PROTOCOL_HTTPS = 0x02, /**< Unsupported */
Christopher Haster 1:43f5c94c6771 47 SN_NSDL_PROTOCOL_COAP = 0x04 /**< Supported */
Christopher Haster 1:43f5c94c6771 48 } sn_nsdl_capab_e;
Christopher Haster 1:43f5c94c6771 49
Christopher Haster 1:43f5c94c6771 50 /**
Christopher Haster 1:43f5c94c6771 51 * \brief Address type of given address
Christopher Haster 1:43f5c94c6771 52 */
Christopher Haster 1:43f5c94c6771 53 typedef enum sn_nsdl_addr_type_ {
Christopher Haster 1:43f5c94c6771 54 SN_NSDL_ADDRESS_TYPE_IPV6 = 0x01, /**< Supported */
Christopher Haster 1:43f5c94c6771 55 SN_NSDL_ADDRESS_TYPE_IPV4 = 0x02, /**< Supported */
Christopher Haster 1:43f5c94c6771 56 SN_NSDL_ADDRESS_TYPE_HOSTNAME = 0x03, /**< Unsupported */
Christopher Haster 1:43f5c94c6771 57 SN_NSDL_ADDRESS_TYPE_NONE = 0xFF
Christopher Haster 1:43f5c94c6771 58 } sn_nsdl_addr_type_e;
Christopher Haster 1:43f5c94c6771 59
Christopher Haster 1:43f5c94c6771 60
Christopher Haster 1:43f5c94c6771 61 #define SN_NDSL_RESOURCE_NOT_REGISTERED 0
Christopher Haster 1:43f5c94c6771 62 #define SN_NDSL_RESOURCE_REGISTERING 1
Christopher Haster 1:43f5c94c6771 63 #define SN_NDSL_RESOURCE_REGISTERED 2
Christopher Haster 1:43f5c94c6771 64
Christopher Haster 1:43f5c94c6771 65
Christopher Haster 1:43f5c94c6771 66 /* * * * * * * * * * * * * */
Christopher Haster 1:43f5c94c6771 67 /* * * * STRUCTURES * * * */
Christopher Haster 1:43f5c94c6771 68 /* * * * * * * * * * * * * */
Christopher Haster 1:43f5c94c6771 69
Christopher Haster 1:43f5c94c6771 70 /**
Christopher Haster 1:43f5c94c6771 71 * \brief Address structure of Packet data
Christopher Haster 1:43f5c94c6771 72 */
Christopher Haster 1:43f5c94c6771 73 typedef struct sn_nsdl_addr_ {
Christopher Haster 1:43f5c94c6771 74 sn_nsdl_addr_type_e type;
Christopher Haster 1:43f5c94c6771 75
Christopher Haster 1:43f5c94c6771 76 uint8_t addr_len;
Christopher Haster 1:43f5c94c6771 77 uint8_t *addr_ptr;
Christopher Haster 1:43f5c94c6771 78
Christopher Haster 1:43f5c94c6771 79 uint16_t port;
Christopher Haster 1:43f5c94c6771 80
Christopher Haster 1:43f5c94c6771 81 } sn_nsdl_addr_s;
Christopher Haster 1:43f5c94c6771 82
Christopher Haster 1:43f5c94c6771 83 /**
Christopher Haster 1:43f5c94c6771 84 * \brief Used for creating manually registration message with sn_coap_register()
Christopher Haster 1:43f5c94c6771 85 */
Christopher Haster 1:43f5c94c6771 86 typedef struct registration_info_ {
Christopher Haster 1:43f5c94c6771 87 uint8_t *endpoint_ptr; /**< Endpoint name */
Christopher Haster 1:43f5c94c6771 88 uint8_t endpoint_len;
Christopher Haster 1:43f5c94c6771 89
Christopher Haster 1:43f5c94c6771 90 uint8_t *endpoint_type_ptr; /**< Endpoint type */
Christopher Haster 1:43f5c94c6771 91 uint8_t endpoint_type_len;
Christopher Haster 1:43f5c94c6771 92
Christopher Haster 1:43f5c94c6771 93 uint8_t *links_ptr; /**< Resource registration string */
Christopher Haster 1:43f5c94c6771 94 uint16_t links_len;
Christopher Haster 1:43f5c94c6771 95
Christopher Haster 1:43f5c94c6771 96 } registration_info_t;
Christopher Haster 1:43f5c94c6771 97
Christopher Haster 1:43f5c94c6771 98 #endif /* SN_NSDL_H_ */
Christopher Haster 1:43f5c94c6771 99
Christopher Haster 1:43f5c94c6771 100 #ifdef __cplusplus
Christopher Haster 1:43f5c94c6771 101 }
Christopher Haster 1:43f5c94c6771 102 #endif
Christopher Haster 1:43f5c94c6771 103