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: mbedEndpointNetwork mbedEndpointNetworkMJK
Fork of Nanostack_lib by
inc/net/net_interface.h@11:1b7aaf37a131, 2014-06-25 (annotated)
- Committer:
- jusu_81
- Date:
- Wed Jun 25 21:05:58 2014 +0000
- Revision:
- 11:1b7aaf37a131
- Parent:
- 4:c449bead5cf3
- Child:
- 12:acef6f596835
Added C++ & C Extern C sectors to hedaer files.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Mika Karjalainen |
4:c449bead5cf3 | 1 | /* |
Mika Karjalainen |
4:c449bead5cf3 | 2 | * \file net_interface.h |
Mika Karjalainen |
4:c449bead5cf3 | 3 | * \brief Add short description about this file!!! |
Mika Karjalainen |
4:c449bead5cf3 | 4 | * Copyrigth ARM Ltd 2013 |
Mika Karjalainen |
4:c449bead5cf3 | 5 | * |
Mika Karjalainen |
4:c449bead5cf3 | 6 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 7 | |
Mika Karjalainen |
4:c449bead5cf3 | 8 | #ifndef NET_INTERFACE_H_ |
Mika Karjalainen |
4:c449bead5cf3 | 9 | #define NET_INTERFACE_H_ |
jusu_81 | 11:1b7aaf37a131 | 10 | #ifdef __cplusplus |
jusu_81 | 11:1b7aaf37a131 | 11 | extern "C" { |
jusu_81 | 11:1b7aaf37a131 | 12 | #endif |
Mika Karjalainen |
4:c449bead5cf3 | 13 | /** Platform is not valid for ZigBeeIP library */ |
Mika Karjalainen |
4:c449bead5cf3 | 14 | #define ZIGBEE_IP_INVALID_PART -2 |
Mika Karjalainen |
4:c449bead5cf3 | 15 | |
Mika Karjalainen |
4:c449bead5cf3 | 16 | |
Mika Karjalainen |
4:c449bead5cf3 | 17 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 18 | * Socket event description: |
Mika Karjalainen |
4:c449bead5cf3 | 19 | * |
Mika Karjalainen |
4:c449bead5cf3 | 20 | * 8-bit variable where four MSB bits describes the event type and |
Mika Karjalainen |
4:c449bead5cf3 | 21 | * four LSB bits describes the socket that has received the event. |
Mika Karjalainen |
4:c449bead5cf3 | 22 | * |
Mika Karjalainen |
4:c449bead5cf3 | 23 | * Type Socket ID |
Mika Karjalainen |
4:c449bead5cf3 | 24 | * ---- ---- |
Mika Karjalainen |
4:c449bead5cf3 | 25 | * xxxx xxxx |
Mika Karjalainen |
4:c449bead5cf3 | 26 | * |
Mika Karjalainen |
4:c449bead5cf3 | 27 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 28 | |
Mika Karjalainen |
4:c449bead5cf3 | 29 | |
Mika Karjalainen |
4:c449bead5cf3 | 30 | /** Socket type exceptions */ |
Mika Karjalainen |
4:c449bead5cf3 | 31 | /** Socket event Mask */ |
Mika Karjalainen |
4:c449bead5cf3 | 32 | #define SOCKET_EVENT_MASK 0xF0 |
Mika Karjalainen |
4:c449bead5cf3 | 33 | /** Data received*/ |
Mika Karjalainen |
4:c449bead5cf3 | 34 | #define SOCKET_DATA 0 |
Mika Karjalainen |
4:c449bead5cf3 | 35 | /** TCP connection ready */ |
Mika Karjalainen |
4:c449bead5cf3 | 36 | #define SOCKET_BIND_DONE 1 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 37 | /** TCP connection failed */ |
Mika Karjalainen |
4:c449bead5cf3 | 38 | #define SOCKET_BIND_FAIL 2 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 39 | /** TCP connection authentication failed */ |
Mika Karjalainen |
4:c449bead5cf3 | 40 | #define SOCKET_BIND_AUTH_FAIL 3 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 41 | /** TCP state from listen to establishment */ |
Mika Karjalainen |
4:c449bead5cf3 | 42 | #define SOCKET_SERVER_CONNECT_TO_CLIENT 4 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 43 | /** Socket data send fail */ |
Mika Karjalainen |
4:c449bead5cf3 | 44 | #define SOCKET_TX_FAIL 5 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 45 | /** TCP connection closed */ |
Mika Karjalainen |
4:c449bead5cf3 | 46 | #define SOCKET_CONNECT_CLOSED 6 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 47 | /** TCP connection closed because no ACK received */ |
Mika Karjalainen |
4:c449bead5cf3 | 48 | #define SOCKET_CONNECT_FAIL_CLOSED 7 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 49 | /** No route available to the destination */ |
Mika Karjalainen |
4:c449bead5cf3 | 50 | #define SOCKET_NO_ROUTE 8 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 51 | /** Socket TX Done */ |
Mika Karjalainen |
4:c449bead5cf3 | 52 | #define SOCKET_TX_DONE 9 << 4 |
Mika Karjalainen |
4:c449bead5cf3 | 53 | |
Mika Karjalainen |
4:c449bead5cf3 | 54 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 55 | * \enum net_interface_type_e |
Mika Karjalainen |
4:c449bead5cf3 | 56 | * \brief Interface type definition. |
Mika Karjalainen |
4:c449bead5cf3 | 57 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 58 | typedef enum |
Mika Karjalainen |
4:c449bead5cf3 | 59 | { |
Mika Karjalainen |
4:c449bead5cf3 | 60 | NET_INTERFACE_ETHERNET, /**< IPv4 or IPv6*/ |
Mika Karjalainen |
4:c449bead5cf3 | 61 | NET_INTERFACE_WIFI, /**< WIFI RF interface*/ |
Mika Karjalainen |
4:c449bead5cf3 | 62 | NET_INTERFACE_RF_6LOWPAN, /**< RF 6LoWPAN interface*/ |
Mika Karjalainen |
4:c449bead5cf3 | 63 | NET_INTERFACE_BLE_6LOWPAN, /**< BLE 6LoWPAN interface*/ |
Mika Karjalainen |
4:c449bead5cf3 | 64 | NET_INTERFACE_RF_ZIGBEEIP, /**< RF ZigBeeIP interface*/ |
Mika Karjalainen |
4:c449bead5cf3 | 65 | NET_INTERFACE_G3_6LOWPAN, /**< G3 6LoWPAN interface*/ |
Mika Karjalainen |
4:c449bead5cf3 | 66 | NET_INTERFACE_IEEE1901_2_6LOWPAN, /**< IEEE1901.2 6LoWPAN interface*/ |
Mika Karjalainen |
4:c449bead5cf3 | 67 | NET_INTERFACE_VIRTUAL, /**< IPv6 over anyserial interface */ |
Mika Karjalainen |
4:c449bead5cf3 | 68 | } net_interface_type_e; |
Mika Karjalainen |
4:c449bead5cf3 | 69 | |
Mika Karjalainen |
4:c449bead5cf3 | 70 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 71 | * \enum net_security_t |
Mika Karjalainen |
4:c449bead5cf3 | 72 | * Network Security Levels |
Mika Karjalainen |
4:c449bead5cf3 | 73 | * */ |
Mika Karjalainen |
4:c449bead5cf3 | 74 | typedef enum net_security_t |
Mika Karjalainen |
4:c449bead5cf3 | 75 | { |
Mika Karjalainen |
4:c449bead5cf3 | 76 | NW_NO_SECURITY = 0, /**< No Security*/ |
Mika Karjalainen |
4:c449bead5cf3 | 77 | NW_SECURITY_LEVEL_MIC32 = 1, /**< 32-bit Mic verify no Encoding. */ |
Mika Karjalainen |
4:c449bead5cf3 | 78 | NW_SECURITY_LEVEL_MIC64 = 2, /**< 64-bit Mic verify no Encoding. */ |
Mika Karjalainen |
4:c449bead5cf3 | 79 | NW_SECURITY_LEVEL_MIC128 = 3, /**< 128-bit Mic verify no Encoding. */ |
Mika Karjalainen |
4:c449bead5cf3 | 80 | NW_SECURITY_LEVEL_ENC = 4, /**< AES Encoding without MIC. */ |
Mika Karjalainen |
4:c449bead5cf3 | 81 | NW_SECURITY_LEVEL_ENC_MIC32 = 5, /**< 32-bit Mic verify with Encoding. */ |
Mika Karjalainen |
4:c449bead5cf3 | 82 | NW_SECURITY_LEVEL_ENC_MIC64 = 6, /**< 64-bit Mic verify with Encoding. */ |
Mika Karjalainen |
4:c449bead5cf3 | 83 | NW_SECURITY_LEVEL_ENC_MIC128 = 7 /**< 128-bit Mic verify with Encoding. */ |
Mika Karjalainen |
4:c449bead5cf3 | 84 | }net_security_t; |
Mika Karjalainen |
4:c449bead5cf3 | 85 | |
Mika Karjalainen |
4:c449bead5cf3 | 86 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 87 | * \enum net_address_t |
Mika Karjalainen |
4:c449bead5cf3 | 88 | * \brief addresses for arm_net_address_get(). |
Mika Karjalainen |
4:c449bead5cf3 | 89 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 90 | typedef enum net_address_t |
Mika Karjalainen |
4:c449bead5cf3 | 91 | { |
Mika Karjalainen |
4:c449bead5cf3 | 92 | ADDR_IPV6_GP, /**< Node Default Global address */ |
Mika Karjalainen |
4:c449bead5cf3 | 93 | ADDR_IPV6_GP_SEC, /**< Node Secondary Global address */ |
Mika Karjalainen |
4:c449bead5cf3 | 94 | ADDR_IPV6_LL /**< Node Default Link Local address */ |
Mika Karjalainen |
4:c449bead5cf3 | 95 | }net_address_t; |
Mika Karjalainen |
4:c449bead5cf3 | 96 | |
Mika Karjalainen |
4:c449bead5cf3 | 97 | typedef enum net_mac_address_t |
Mika Karjalainen |
4:c449bead5cf3 | 98 | { |
Mika Karjalainen |
4:c449bead5cf3 | 99 | ADDR_MAC_SHORT16, /**< Nodes 16-bit Short Address */ |
Mika Karjalainen |
4:c449bead5cf3 | 100 | ADDR_MAC_LONG64, /**< IP layer EUID64 which based on MAC layer 64-bit long Addressafter U/I -bit conversion */ |
Mika Karjalainen |
4:c449bead5cf3 | 101 | }net_mac_address_t; |
Mika Karjalainen |
4:c449bead5cf3 | 102 | |
Mika Karjalainen |
4:c449bead5cf3 | 103 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 104 | * \enum net_tls_cipher_e |
Mika Karjalainen |
4:c449bead5cf3 | 105 | * \brief TLS cipher mode enumeration types. |
Mika Karjalainen |
4:c449bead5cf3 | 106 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 107 | typedef enum |
Mika Karjalainen |
4:c449bead5cf3 | 108 | { |
Mika Karjalainen |
4:c449bead5cf3 | 109 | NET_TLS_PSK_CIPHER, /**< Network Authentication support only PSK */ |
Mika Karjalainen |
4:c449bead5cf3 | 110 | NET_TLS_ECC_CIPHER, /**< Network Authentication support only ECC */ |
Mika Karjalainen |
4:c449bead5cf3 | 111 | NET_TLS_PSK_AND_ECC_CIPHER, /**< Network Authentication support PSK & ECC */ |
Mika Karjalainen |
4:c449bead5cf3 | 112 | } net_tls_cipher_e; |
Mika Karjalainen |
4:c449bead5cf3 | 113 | |
Mika Karjalainen |
4:c449bead5cf3 | 114 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 115 | * \enum net_pana_session_mode_e |
Mika Karjalainen |
4:c449bead5cf3 | 116 | * \brief PANA session cache support. |
Mika Karjalainen |
4:c449bead5cf3 | 117 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 118 | typedef enum |
Mika Karjalainen |
4:c449bead5cf3 | 119 | { |
Mika Karjalainen |
4:c449bead5cf3 | 120 | NET_PANA_SINGLE_SESSION, /**< Client keep track only 1 Pana session data, Default use case */ |
Mika Karjalainen |
4:c449bead5cf3 | 121 | NET_PANA_MULTI_SESSION, /**< Client support many Start network coordinator session data */ |
Mika Karjalainen |
4:c449bead5cf3 | 122 | } net_pana_session_mode_e; |
Mika Karjalainen |
4:c449bead5cf3 | 123 | |
Mika Karjalainen |
4:c449bead5cf3 | 124 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 125 | * \enum net_6lowpan_link_layer_sec_mode_e |
Mika Karjalainen |
4:c449bead5cf3 | 126 | * \brief 6Lowpan network Security & authentication modes. |
Mika Karjalainen |
4:c449bead5cf3 | 127 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 128 | typedef enum |
Mika Karjalainen |
4:c449bead5cf3 | 129 | { |
jusu_81 | 11:1b7aaf37a131 | 130 | NET_SEC_MODE_NO_LINK_SECURITY, /**< Security Disabled at Link Layer � DEFAULT */ |
Mika Karjalainen |
4:c449bead5cf3 | 131 | NET_SEC_MODE_PSK_LINK_SECURITY, /**< Link Security by PSK key*/ |
Mika Karjalainen |
4:c449bead5cf3 | 132 | NET_SEC_MODE_PANA_LINK_SECURITY, /**< PANA network authentication define link KEY */ |
Mika Karjalainen |
4:c449bead5cf3 | 133 | } net_6lowpan_link_layer_sec_mode_e; |
Mika Karjalainen |
4:c449bead5cf3 | 134 | |
Mika Karjalainen |
4:c449bead5cf3 | 135 | |
Mika Karjalainen |
4:c449bead5cf3 | 136 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 137 | * \enum net_6lowpan_mode_e |
Mika Karjalainen |
4:c449bead5cf3 | 138 | * \brief 6LoWPAN bootsrap modes. |
Mika Karjalainen |
4:c449bead5cf3 | 139 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 140 | typedef enum |
Mika Karjalainen |
4:c449bead5cf3 | 141 | { |
Mika Karjalainen |
4:c449bead5cf3 | 142 | NET_6LOWPAN_BORDER_ROUTER, /**< Root device for 6LoWPAN ND */ |
Mika Karjalainen |
4:c449bead5cf3 | 143 | NET_6LOWPAN_ROUTER, /**< Router device */ |
jusu_81 | 11:1b7aaf37a131 | 144 | NET_6LOWPAN_HOST, /**< Host device � DEFAULT setting */ |
Mika Karjalainen |
4:c449bead5cf3 | 145 | NET_6LOWPAN_SLEEPY_HOST /**< Sleepy Host device */ |
Mika Karjalainen |
4:c449bead5cf3 | 146 | } net_6lowpan_mode_e; |
Mika Karjalainen |
4:c449bead5cf3 | 147 | |
Mika Karjalainen |
4:c449bead5cf3 | 148 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 149 | * \struct link_layer_setups_s |
Mika Karjalainen |
4:c449bead5cf3 | 150 | * \brief Network Cordinator Parameter List. |
Mika Karjalainen |
4:c449bead5cf3 | 151 | * Structure is used to read network parameter for warm start. |
Mika Karjalainen |
4:c449bead5cf3 | 152 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 153 | typedef struct link_layer_setups_s |
Mika Karjalainen |
4:c449bead5cf3 | 154 | { |
Mika Karjalainen |
4:c449bead5cf3 | 155 | uint16_t PANId; /**< Network PAN-ID */ |
Mika Karjalainen |
4:c449bead5cf3 | 156 | uint8_t LogicalChannel; /**< Network Logical Channel */ |
Mika Karjalainen |
4:c449bead5cf3 | 157 | net_mac_address_t addr_mode; /**< Coordinator Address mode */ |
Mika Karjalainen |
4:c449bead5cf3 | 158 | uint8_t address[8]; /**< Coordinator Address */ |
Mika Karjalainen |
4:c449bead5cf3 | 159 | uint8_t sf; /**< Network super frame setup */ |
Mika Karjalainen |
4:c449bead5cf3 | 160 | }link_layer_setups_s; |
Mika Karjalainen |
4:c449bead5cf3 | 161 | |
Mika Karjalainen |
4:c449bead5cf3 | 162 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 163 | * \struct link_layer_address_s |
Mika Karjalainen |
4:c449bead5cf3 | 164 | * \brief Network MAC address info. |
Mika Karjalainen |
4:c449bead5cf3 | 165 | * Structure is used to read link layer Adress. |
Mika Karjalainen |
4:c449bead5cf3 | 166 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 167 | typedef struct link_layer_address_s |
Mika Karjalainen |
4:c449bead5cf3 | 168 | { |
Mika Karjalainen |
4:c449bead5cf3 | 169 | uint16_t PANId; /**< Network PAN-ID */ |
Mika Karjalainen |
4:c449bead5cf3 | 170 | uint16_t mac_short; /**< MAC short address if <0xffe then is valid */ |
Mika Karjalainen |
4:c449bead5cf3 | 171 | uint8_t long_euid64[8]; /**< Long64-bit MAC address */ |
Mika Karjalainen |
4:c449bead5cf3 | 172 | uint8_t euid64[8]; /**< Long64-bit Network ID */ |
Mika Karjalainen |
4:c449bead5cf3 | 173 | }link_layer_address_s; |
Mika Karjalainen |
4:c449bead5cf3 | 174 | |
Mika Karjalainen |
4:c449bead5cf3 | 175 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 176 | * \struct network_layer_address_s |
Mika Karjalainen |
4:c449bead5cf3 | 177 | * \brief Network layer parent address info. |
Mika Karjalainen |
4:c449bead5cf3 | 178 | |
Mika Karjalainen |
4:c449bead5cf3 | 179 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 180 | typedef struct network_layer_address_s |
Mika Karjalainen |
4:c449bead5cf3 | 181 | { |
Mika Karjalainen |
4:c449bead5cf3 | 182 | uint8_t border_router[16]; /**< ND Border Router Address */ |
Mika Karjalainen |
4:c449bead5cf3 | 183 | uint8_t prefix[8]; /**< Long64-bit Network ID */ |
Mika Karjalainen |
4:c449bead5cf3 | 184 | }network_layer_address_s; |
Mika Karjalainen |
4:c449bead5cf3 | 185 | |
Mika Karjalainen |
4:c449bead5cf3 | 186 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 187 | * \enum net_6lowpan_gp_address_mode_e |
Mika Karjalainen |
4:c449bead5cf3 | 188 | * \brief 6LoWPAN stack address modes. |
Mika Karjalainen |
4:c449bead5cf3 | 189 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 190 | |
Mika Karjalainen |
4:c449bead5cf3 | 191 | typedef enum |
Mika Karjalainen |
4:c449bead5cf3 | 192 | { |
jusu_81 | 11:1b7aaf37a131 | 193 | NET_6LOWPAN_GP64_ADDRESS, /**< Interface will register only GP64 Address � DEFAULT */ |
Mika Karjalainen |
4:c449bead5cf3 | 194 | NET_6LOWPAN_GP16_ADDRESS, /**< Interface will register only GP16 Address */ |
jusu_81 | 11:1b7aaf37a131 | 195 | NET_6LOWPAN_MULTI_GP_ADDRESS, /**< Interface will register GP16 & GP64 Address�s */ |
Mika Karjalainen |
4:c449bead5cf3 | 196 | } net_6lowpan_gp_address_mode_e; |
Mika Karjalainen |
4:c449bead5cf3 | 197 | |
Mika Karjalainen |
4:c449bead5cf3 | 198 | |
Mika Karjalainen |
4:c449bead5cf3 | 199 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 200 | * \struct net_tls_psk_info_s |
Mika Karjalainen |
4:c449bead5cf3 | 201 | * \brief TLS PSK info structure. |
Mika Karjalainen |
4:c449bead5cf3 | 202 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 203 | typedef struct net_tls_psk_info_s |
Mika Karjalainen |
4:c449bead5cf3 | 204 | { |
Mika Karjalainen |
4:c449bead5cf3 | 205 | uint32_t key_id; /**< PSK Key ID can be 0x01-0xffff, storage size is intentionally 32 bits */ |
Mika Karjalainen |
4:c449bead5cf3 | 206 | uint8_t key[16]; /**< 128-bit PSK Key */ |
Mika Karjalainen |
4:c449bead5cf3 | 207 | } net_tls_psk_info_s; |
Mika Karjalainen |
4:c449bead5cf3 | 208 | |
Mika Karjalainen |
4:c449bead5cf3 | 209 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 210 | * \struct net_link_layer_psk_security_info_s |
Mika Karjalainen |
4:c449bead5cf3 | 211 | * \brief NETWORK PSK link key structure. |
Mika Karjalainen |
4:c449bead5cf3 | 212 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 213 | typedef struct |
Mika Karjalainen |
4:c449bead5cf3 | 214 | { |
Mika Karjalainen |
4:c449bead5cf3 | 215 | uint8_t key_id; /**< Link Layer PSK Key ID can be 0x01-0xff */ |
Mika Karjalainen |
4:c449bead5cf3 | 216 | uint8_t security_key[16]; /**< Link layer 128-bit PSK Key */ |
Mika Karjalainen |
4:c449bead5cf3 | 217 | } net_link_layer_psk_security_info_s; |
Mika Karjalainen |
4:c449bead5cf3 | 218 | |
Mika Karjalainen |
4:c449bead5cf3 | 219 | |
Mika Karjalainen |
4:c449bead5cf3 | 220 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 221 | * \struct arm_certificate_chain_entry_s |
Mika Karjalainen |
4:c449bead5cf3 | 222 | * \brief Certificate chain structure. |
Mika Karjalainen |
4:c449bead5cf3 | 223 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 224 | typedef struct |
Mika Karjalainen |
4:c449bead5cf3 | 225 | { |
Mika Karjalainen |
4:c449bead5cf3 | 226 | uint8_t chain_length; /**< Certificate Chain length, indicate chain length */ |
Mika Karjalainen |
4:c449bead5cf3 | 227 | const uint8_t *cert_chain[4]; /**< Certificate Chain pointer List */ |
Mika Karjalainen |
4:c449bead5cf3 | 228 | uint16_t cert_len[4]; /**< Certificate length */ |
Mika Karjalainen |
4:c449bead5cf3 | 229 | const uint8_t *key_chain[4]; /**< Certificate private key */ |
Mika Karjalainen |
4:c449bead5cf3 | 230 | } arm_certificate_chain_entry_s; |
Mika Karjalainen |
4:c449bead5cf3 | 231 | |
Mika Karjalainen |
4:c449bead5cf3 | 232 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 233 | |
Mika Karjalainen |
4:c449bead5cf3 | 234 | * /struct ns_keys_t |
Mika Karjalainen |
4:c449bead5cf3 | 235 | |
Mika Karjalainen |
4:c449bead5cf3 | 236 | * /brief Struct for the network keys used by net_network_key_get |
Mika Karjalainen |
4:c449bead5cf3 | 237 | |
Mika Karjalainen |
4:c449bead5cf3 | 238 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 239 | |
Mika Karjalainen |
4:c449bead5cf3 | 240 | typedef struct ns_keys_t |
Mika Karjalainen |
4:c449bead5cf3 | 241 | |
Mika Karjalainen |
4:c449bead5cf3 | 242 | { |
Mika Karjalainen |
4:c449bead5cf3 | 243 | uint8_t previous_active_network_key[16]; /**< the key that is currently active when a new key is generated and activated */ |
Mika Karjalainen |
4:c449bead5cf3 | 244 | uint8_t previous_active_key_index; /**< the index associated to the current_active_network_key */ |
Mika Karjalainen |
4:c449bead5cf3 | 245 | uint8_t current_active_network_key[16]; /**< last generated and activated key */ |
Mika Karjalainen |
4:c449bead5cf3 | 246 | uint8_t current_active_key_index; /**< the index associated to the current_active_network_key */ |
Mika Karjalainen |
4:c449bead5cf3 | 247 | } ns_keys_t; |
Mika Karjalainen |
4:c449bead5cf3 | 248 | |
Mika Karjalainen |
4:c449bead5cf3 | 249 | |
Mika Karjalainen |
4:c449bead5cf3 | 250 | /*! |
Mika Karjalainen |
4:c449bead5cf3 | 251 | * \struct border_router_setup_s |
Mika Karjalainen |
4:c449bead5cf3 | 252 | * \brief 6LoWPAN Border Router information structure. |
Mika Karjalainen |
4:c449bead5cf3 | 253 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 254 | typedef struct |
Mika Karjalainen |
4:c449bead5cf3 | 255 | { |
Mika Karjalainen |
4:c449bead5cf3 | 256 | uint8_t channel; /**< Channel 1-26 802.15.4 Radios */ |
Mika Karjalainen |
4:c449bead5cf3 | 257 | uint16_t mac_panid; /**< Link Layer PAN-id accepts only < 0xfffe */ |
Mika Karjalainen |
4:c449bead5cf3 | 258 | uint16_t mac_short_adr; /**< Define 802.15.4 short address if value is <0xffe that indicate that GP16 is activated at */ |
Mika Karjalainen |
4:c449bead5cf3 | 259 | uint8_t beacon_protocol_id; /**< ZigBeeIP uses always 2 */ |
Mika Karjalainen |
4:c449bead5cf3 | 260 | uint8_t network_id[16]; /**< network id 16-bytes, will be used at Beacon payload */ |
Mika Karjalainen |
4:c449bead5cf3 | 261 | uint8_t lowpan_nd_prefix[8]; /**< Define ND Default prefix, ABRO, DODAG ID, GP address*/ |
Mika Karjalainen |
4:c449bead5cf3 | 262 | uint16_t ra_life_time; /**< Define ND router lifetime in seconds Recommend value 180+. */ |
Mika Karjalainen |
4:c449bead5cf3 | 263 | uint16_t abro_version_num; /**< ND ABRO version number (0 when starting new ND setup) */ |
Mika Karjalainen |
4:c449bead5cf3 | 264 | } border_router_setup_s; |
Mika Karjalainen |
4:c449bead5cf3 | 265 | |
Mika Karjalainen |
4:c449bead5cf3 | 266 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 267 | * \brief Init nanostack need set core idle call back. |
Mika Karjalainen |
4:c449bead5cf3 | 268 | * |
Mika Karjalainen |
4:c449bead5cf3 | 269 | * \param core_idle Function pointer for nanostack idle call back handler |
Mika Karjalainen |
4:c449bead5cf3 | 270 | * |
Mika Karjalainen |
4:c449bead5cf3 | 271 | * core_idle is a function pointer to the CPU idle time handler. CPU can be set to idle state or in sleep mode if supported by platform. |
Mika Karjalainen |
4:c449bead5cf3 | 272 | * For skipping idle state handling, function can return null. Function first parameter can be as follows: |
Mika Karjalainen |
4:c449bead5cf3 | 273 | * 1. EV_REAYDY_SLEEP then next second parameter tells max sleeptime in milliseconds then function should return sleep time end of the function |
Mika Karjalainen |
4:c449bead5cf3 | 274 | * 2. EV_CORE_IDLE now cpu is safe to set to idle. Application will continue after next interrupt normally. Return anything is possible that case |
Mika Karjalainen |
4:c449bead5cf3 | 275 | * |
Mika Karjalainen |
4:c449bead5cf3 | 276 | * Reference Code for core idle call back function for : |
Mika Karjalainen |
4:c449bead5cf3 | 277 | * |
Mika Karjalainen |
4:c449bead5cf3 | 278 | * @code |
Mika Karjalainen |
4:c449bead5cf3 | 279 | uint32_t app_ns_core_idle(uint8_t event, uint32_t sleep_time_ms) |
Mika Karjalainen |
4:c449bead5cf3 | 280 | { |
Mika Karjalainen |
4:c449bead5cf3 | 281 | uint32_t returned_slept_time = 0; |
Mika Karjalainen |
4:c449bead5cf3 | 282 | if(event == EV_READY_TO_SLEEP) |
Mika Karjalainen |
4:c449bead5cf3 | 283 | { |
Mika Karjalainen |
4:c449bead5cf3 | 284 | |
Mika Karjalainen |
4:c449bead5cf3 | 285 | uint32_t wake_up_info = 0; |
Mika Karjalainen |
4:c449bead5cf3 | 286 | uint8_t wakeup_bits = 0; |
Mika Karjalainen |
4:c449bead5cf3 | 287 | //Hal sleep here |
Mika Karjalainen |
4:c449bead5cf3 | 288 | //Returns time spent in sleep mode (milliseconds) |
Mika Karjalainen |
4:c449bead5cf3 | 289 | returned_slept_time = hal_sleep(SLEEPMODE_WAKETIMER, sleep_time_ms, 1); |
Mika Karjalainen |
4:c449bead5cf3 | 290 | //Initialize uart after sleeping |
Mika Karjalainen |
4:c449bead5cf3 | 291 | debug_init(230400, 1); |
Mika Karjalainen |
4:c449bead5cf3 | 292 | wake_up_info = (halGetWakeInfo()); |
Mika Karjalainen |
4:c449bead5cf3 | 293 | wakeup_bits = wake_up_info >> 24; |
Mika Karjalainen |
4:c449bead5cf3 | 294 | if(wakeup_bits & 0x80) |
Mika Karjalainen |
4:c449bead5cf3 | 295 | { |
Mika Karjalainen |
4:c449bead5cf3 | 296 | if(wakeup_bits & 1) |
Mika Karjalainen |
4:c449bead5cf3 | 297 | { |
Mika Karjalainen |
4:c449bead5cf3 | 298 | debug("Valid SLPCOMPA WU\r\n"); |
Mika Karjalainen |
4:c449bead5cf3 | 299 | } |
Mika Karjalainen |
4:c449bead5cf3 | 300 | else |
Mika Karjalainen |
4:c449bead5cf3 | 301 | { |
Mika Karjalainen |
4:c449bead5cf3 | 302 | net_host_enter_sleep_state_set(0); |
Mika Karjalainen |
4:c449bead5cf3 | 303 | debug(" S1 wakeup disable sleeping state\r\n"); |
Mika Karjalainen |
4:c449bead5cf3 | 304 | } |
Mika Karjalainen |
4:c449bead5cf3 | 305 | } |
Mika Karjalainen |
4:c449bead5cf3 | 306 | } |
Mika Karjalainen |
4:c449bead5cf3 | 307 | else // EV_CORE_IDLE |
Mika Karjalainen |
4:c449bead5cf3 | 308 | { |
Mika Karjalainen |
4:c449bead5cf3 | 309 | ATOMIC(halSleepWithOptions(SLEEPMODE_IDLE,0);) |
Mika Karjalainen |
4:c449bead5cf3 | 310 | } |
Mika Karjalainen |
4:c449bead5cf3 | 311 | return returned_slept_time; |
Mika Karjalainen |
4:c449bead5cf3 | 312 | } |
Mika Karjalainen |
4:c449bead5cf3 | 313 | * @endcode |
Mika Karjalainen |
4:c449bead5cf3 | 314 | * |
Mika Karjalainen |
4:c449bead5cf3 | 315 | * Reference Code for Border Router: |
Mika Karjalainen |
4:c449bead5cf3 | 316 | * |
Mika Karjalainen |
4:c449bead5cf3 | 317 | * @code |
Mika Karjalainen |
4:c449bead5cf3 | 318 | uint32_t app_ns_core_idle(uint8_t event, uint32_t sleep_time) |
Mika Karjalainen |
4:c449bead5cf3 | 319 | { |
Mika Karjalainen |
4:c449bead5cf3 | 320 | //CPU in idle |
Mika Karjalainen |
4:c449bead5cf3 | 321 | __WFI(); |
Mika Karjalainen |
4:c449bead5cf3 | 322 | return 0; |
Mika Karjalainen |
4:c449bead5cf3 | 323 | } |
Mika Karjalainen |
4:c449bead5cf3 | 324 | * @endcode |
Mika Karjalainen |
4:c449bead5cf3 | 325 | * \return 0, Init OK |
Mika Karjalainen |
4:c449bead5cf3 | 326 | * \return -1, Null Pointer parameter |
Mika Karjalainen |
4:c449bead5cf3 | 327 | * \return ZIGBEE_IP_INVALID_PART, Platform is not valid to Run ZigBeeIP Library |
Mika Karjalainen |
4:c449bead5cf3 | 328 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 329 | extern int8_t net_init_core(void); |
Mika Karjalainen |
4:c449bead5cf3 | 330 | |
Mika Karjalainen |
4:c449bead5cf3 | 331 | |
Mika Karjalainen |
4:c449bead5cf3 | 332 | |
Mika Karjalainen |
4:c449bead5cf3 | 333 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 334 | * \brief Create network interface base to IDLE state. |
Mika Karjalainen |
4:c449bead5cf3 | 335 | * \param type Generates network interface type. |
Mika Karjalainen |
4:c449bead5cf3 | 336 | * \param phy_driver_id Unique PHY device driver ID. PHY driver needs to be allocated first. |
jusu_81 | 11:1b7aaf37a131 | 337 | * \param interface_name_ptr String pointer to interface name. Need to end to �\0� character. Max length 32 characters including NULL at end. |
Mika Karjalainen |
4:c449bead5cf3 | 338 | * |
Mika Karjalainen |
4:c449bead5cf3 | 339 | * \return >=0 Interface ID (0-127). Application needs to save this information. |
Mika Karjalainen |
4:c449bead5cf3 | 340 | * \return -1 Unsupported interface type. |
Mika Karjalainen |
4:c449bead5cf3 | 341 | * \return -2 Driver is already associated to other interface. |
Mika Karjalainen |
4:c449bead5cf3 | 342 | * \return -3 No memory for interface. |
Mika Karjalainen |
4:c449bead5cf3 | 343 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 344 | extern int8_t arm_nwk_interface_init(net_interface_type_e type, uint8_t phy_driver_id, char * interface_name_ptr); |
Mika Karjalainen |
4:c449bead5cf3 | 345 | |
Mika Karjalainen |
4:c449bead5cf3 | 346 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 347 | * \brief Set network interface bootsrap setup. |
Mika Karjalainen |
4:c449bead5cf3 | 348 | * |
Mika Karjalainen |
4:c449bead5cf3 | 349 | * \param nwk_interface_id Network interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 350 | * \param bootstrap_mode Selected Bootstrap mode: |
Mika Karjalainen |
4:c449bead5cf3 | 351 | * * NET_6LOWPAN_BORDER_ROUTER, Initialize Border router basic setup |
Mika Karjalainen |
4:c449bead5cf3 | 352 | * * NET_6LOWPAN_ROUTER, Enable normal 6LoWPAN ND and RPL to bootstrap |
Mika Karjalainen |
4:c449bead5cf3 | 353 | * * NET_6LOWPAN_HOST, Enable normal 6LoWPAN ND only to bootstrap |
Mika Karjalainen |
4:c449bead5cf3 | 354 | * * NET_6LOWPAN_SLEEPY_HOST, Enable normal 6LoWPAN ND only to bootstrap |
Mika Karjalainen |
4:c449bead5cf3 | 355 | * |
Mika Karjalainen |
4:c449bead5cf3 | 356 | * \param enable_mle_protocol Value 0x01 Enable MLE protocol & Value 0x00 Disable MLE for bootstrap |
Mika Karjalainen |
4:c449bead5cf3 | 357 | * \param br_setup Pointer for border Router basic setup only checked when bootstrap_mode is NET_6LOWPAN_BORDER_ROUTER. |
Mika Karjalainen |
4:c449bead5cf3 | 358 | * |
Mika Karjalainen |
4:c449bead5cf3 | 359 | * \return >=0 Bootstrap mode set OK. |
Mika Karjalainen |
4:c449bead5cf3 | 360 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 361 | * \return -2 Unsupported bootstrap type in this library. |
Mika Karjalainen |
4:c449bead5cf3 | 362 | * \return -3 No Memory for 6LoWPAN stack. |
Mika Karjalainen |
4:c449bead5cf3 | 363 | * \return -4 Null pointer parameter |
Mika Karjalainen |
4:c449bead5cf3 | 364 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 365 | extern int8_t arm_nwk_interface_configure_6lowpan_bootstrap_set(int8_t nwk_interface_id, net_6lowpan_mode_e bootstrap_mode, uint8_t enable_mle_protocol); |
Mika Karjalainen |
4:c449bead5cf3 | 366 | |
Mika Karjalainen |
4:c449bead5cf3 | 367 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 368 | * \brief Set configured network interface Global address mode (Border router bootstrap mode can't set this). |
Mika Karjalainen |
4:c449bead5cf3 | 369 | * |
Mika Karjalainen |
4:c449bead5cf3 | 370 | * \param nwk_interface_id Network interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 371 | * \param mode efine 6LoWPAN Global Address register mode:: |
Mika Karjalainen |
4:c449bead5cf3 | 372 | * * NET_6LOWPAN_GP64_ADDRESS, Interface register only GP64 |
Mika Karjalainen |
4:c449bead5cf3 | 373 | * * NET_6LOWPAN_GP16_ADDRESS, Interface register only GP16 |
jusu_81 | 11:1b7aaf37a131 | 374 | * * NET_6LOWPAN_MULTI_GP_ADDRESS, Interface register GP16 and GP64 address�s. GP16 is primary address and GP64 is secondary. |
Mika Karjalainen |
4:c449bead5cf3 | 375 | * |
Mika Karjalainen |
4:c449bead5cf3 | 376 | * \param short_address_base Short address base. If application defines value 0-0xffd 6LoWPAN try to register GP16 address using that address. 0xfffe and 0xffff will generate random 16-bit short address. |
Mika Karjalainen |
4:c449bead5cf3 | 377 | * Border Router device will define here Short Address if it want to use that. |
Mika Karjalainen |
4:c449bead5cf3 | 378 | * \param define_new_short_address_at_DAD This parameter is only checked when mode is not NET_6LOWPAN_GP64_ADDRESS and short_address_base is 0-0xffd. Recommend value is 1 that will enable automatic new address definition at Duplicate Address Detection(DAD). Value 0 will generate Duplicate Adreress Detection error for interface bootstrap. |
Mika Karjalainen |
4:c449bead5cf3 | 379 | Border Router Device will not check that part. |
Mika Karjalainen |
4:c449bead5cf3 | 380 | * |
Mika Karjalainen |
4:c449bead5cf3 | 381 | * \return >=0 Bootstrap mode set OK. |
Mika Karjalainen |
4:c449bead5cf3 | 382 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 383 | * \return -2 Illegal for Border Router |
Mika Karjalainen |
4:c449bead5cf3 | 384 | * \return -3 No Memory for 6LoWPAN stack. |
Mika Karjalainen |
4:c449bead5cf3 | 385 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 386 | extern int8_t arm_nwk_6lowpan_gp_address_mode(int8_t nwk_interface_id, net_6lowpan_gp_address_mode_e mode, uint16_t short_address_base, uint8_t define_new_short_address_at_DAD); |
Mika Karjalainen |
4:c449bead5cf3 | 387 | |
Mika Karjalainen |
4:c449bead5cf3 | 388 | extern int8_t arm_nwk_6lowpan_link_scan_paramameter_set(int8_t nwk_interface_id, uint32_t channel_mask, uint8_t scan_time); |
Mika Karjalainen |
4:c449bead5cf3 | 389 | |
Mika Karjalainen |
4:c449bead5cf3 | 390 | extern int8_t arm_nwk_6lowpan_link_panid_filter_for_nwk_scan(int8_t nwk_interface_id, uint16_t pan_id_filter); |
Mika Karjalainen |
4:c449bead5cf3 | 391 | |
Mika Karjalainen |
4:c449bead5cf3 | 392 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 393 | * \brief Get current used channel. |
Mika Karjalainen |
4:c449bead5cf3 | 394 | * |
Mika Karjalainen |
4:c449bead5cf3 | 395 | * \return 11-26 = Active channel |
Mika Karjalainen |
4:c449bead5cf3 | 396 | * \return 0 = Radio is closed |
Mika Karjalainen |
4:c449bead5cf3 | 397 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 398 | extern uint8_t arm_net_get_current_channel(int8_t nwk_interface_id); |
Mika Karjalainen |
4:c449bead5cf3 | 399 | |
Mika Karjalainen |
4:c449bead5cf3 | 400 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 401 | * \brief A function to read pan ID filter. |
Mika Karjalainen |
4:c449bead5cf3 | 402 | * \return 16-bit value indicating a pan ID filter. |
Mika Karjalainen |
4:c449bead5cf3 | 403 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 404 | extern uint16_t arm_net_get_nwk_pan_id_filter(int8_t nwk_interface_id); |
Mika Karjalainen |
4:c449bead5cf3 | 405 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 406 | * \brief Enable/Disable Network ID filter. |
Mika Karjalainen |
4:c449bead5cf3 | 407 | * |
Mika Karjalainen |
4:c449bead5cf3 | 408 | * \param nwk_interface_id Network interface ID. |
Mika Karjalainen |
4:c449bead5cf3 | 409 | * \param nwk_id is a pointer a new network id filter NULL Disable filter. |
Mika Karjalainen |
4:c449bead5cf3 | 410 | * |
Mika Karjalainen |
4:c449bead5cf3 | 411 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 412 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 413 | * \return -2 Interface Active. |
Mika Karjalainen |
4:c449bead5cf3 | 414 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 415 | extern int8_t arm_nwk_6lowpan_link_nwk_id_filter_for_nwk_scan(int8_t nwk_interface_id, uint8_t *nwk_id_filter); |
Mika Karjalainen |
4:c449bead5cf3 | 416 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 417 | * \brief Enable/Disable Network protocol ID filter. |
Mika Karjalainen |
4:c449bead5cf3 | 418 | * |
Mika Karjalainen |
4:c449bead5cf3 | 419 | * \param nwk_interface_id Network interface ID. |
Mika Karjalainen |
4:c449bead5cf3 | 420 | * \param protocol_ID is value which filter only supported network protocols (0= Zigbee1.x, 2= ZigBeeIP). |
Mika Karjalainen |
4:c449bead5cf3 | 421 | * |
Mika Karjalainen |
4:c449bead5cf3 | 422 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 423 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 424 | * \return -2 Interface Active. |
Mika Karjalainen |
4:c449bead5cf3 | 425 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 426 | extern int8_t arm_nwk_6lowpan_link_protocol_id_filter_for_nwk_scan(int8_t nwk_interface_id, uint8_t protocol_ID); |
Mika Karjalainen |
4:c449bead5cf3 | 427 | |
Mika Karjalainen |
4:c449bead5cf3 | 428 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 429 | * \brief Init & Configure interface security mode. |
Mika Karjalainen |
4:c449bead5cf3 | 430 | * |
Mika Karjalainen |
4:c449bead5cf3 | 431 | * \param nwk_interface_id Network interface ID. |
Mika Karjalainen |
4:c449bead5cf3 | 432 | * \param mode define Link layer security mode. |
Mika Karjalainen |
4:c449bead5cf3 | 433 | * NET_SEC_MODE_NO_LINK_SECURITY, No security |
Mika Karjalainen |
4:c449bead5cf3 | 434 | * NET_SEC_MODE_PSK_LINK_SECURITY, Predefined PSK link layer key and ID |
Mika Karjalainen |
4:c449bead5cf3 | 435 | * NET_SEC_MODE_PANA_LINK_SECURITY, Define Pana Bootstrap Network Authentication |
Mika Karjalainen |
4:c449bead5cf3 | 436 | * |
Mika Karjalainen |
4:c449bead5cf3 | 437 | * \param sec_level Define security level only will be checked when mode is not NET_SEC_MODE_NO_LINK_SECURITY |
Mika Karjalainen |
4:c449bead5cf3 | 438 | * \param psk_key_info pointer for PSK link layer keys only checked when mode is NET_SEC_MODE_PSK_LINK_SECURITY |
Mika Karjalainen |
4:c449bead5cf3 | 439 | * |
Mika Karjalainen |
4:c449bead5cf3 | 440 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 441 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 442 | |
Mika Karjalainen |
4:c449bead5cf3 | 443 | extern int8_t arm_nwk_link_layer_security_mode(int8_t nwk_interface_id, net_6lowpan_link_layer_sec_mode_e mode, uint8_t sec_level, net_link_layer_psk_security_info_s *psk_key_info); |
Mika Karjalainen |
4:c449bead5cf3 | 444 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 445 | * \brief Init & Configure interface PANA network Client. |
Mika Karjalainen |
4:c449bead5cf3 | 446 | * |
Mika Karjalainen |
4:c449bead5cf3 | 447 | * \param nwk_interface_id Network interface ID. |
Mika Karjalainen |
4:c449bead5cf3 | 448 | * \param cipher_mode define TLS 1.2 Cipher mode PSK, ECC or both. |
Mika Karjalainen |
4:c449bead5cf3 | 449 | * \param psk_key_id PSK KEY id for PSK Setup |
Mika Karjalainen |
4:c449bead5cf3 | 450 | * |
Mika Karjalainen |
4:c449bead5cf3 | 451 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 452 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 453 | * \return -2 Interface Active. |
Mika Karjalainen |
4:c449bead5cf3 | 454 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 455 | extern int8_t arm_pana_client_library_init(int8_t nwk_interface_id, net_tls_cipher_e cipher_mode, uint32_t psk_key_id); |
Mika Karjalainen |
4:c449bead5cf3 | 456 | |
Mika Karjalainen |
4:c449bead5cf3 | 457 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 458 | * \brief Init & Configure interface PANA network Server. |
Mika Karjalainen |
4:c449bead5cf3 | 459 | * |
Mika Karjalainen |
4:c449bead5cf3 | 460 | * \param nwk_interface_id Network interface ID. |
Mika Karjalainen |
4:c449bead5cf3 | 461 | * \param cipher_mode define TLS 1.2 Cipher mode PSK, ECC or both. |
Mika Karjalainen |
4:c449bead5cf3 | 462 | * \param key_material pointer |
Mika Karjalainen |
4:c449bead5cf3 | 463 | * |
Mika Karjalainen |
4:c449bead5cf3 | 464 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 465 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 466 | * \return -2 Interface Active. |
Mika Karjalainen |
4:c449bead5cf3 | 467 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 468 | extern int8_t arm_pana_server_library_init(int8_t nwk_interface_id, net_tls_cipher_e cipher_mod, uint8_t *key_material, uint32_t time_period_before_activate_key); |
Mika Karjalainen |
4:c449bead5cf3 | 469 | |
Mika Karjalainen |
4:c449bead5cf3 | 470 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 471 | * \brief Client Manually Pana client key Pull for test purpose. |
Mika Karjalainen |
4:c449bead5cf3 | 472 | * |
Mika Karjalainen |
4:c449bead5cf3 | 473 | * \param nwk_interface_id Network interface ID. |
Mika Karjalainen |
4:c449bead5cf3 | 474 | * |
Mika Karjalainen |
4:c449bead5cf3 | 475 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 476 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 477 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 478 | extern int8_t arm_pana_client_key_pull(int8_t nwk_interface_id); |
Mika Karjalainen |
4:c449bead5cf3 | 479 | |
Mika Karjalainen |
4:c449bead5cf3 | 480 | |
Mika Karjalainen |
4:c449bead5cf3 | 481 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 482 | * \brief Trig Network Key Update process |
Mika Karjalainen |
4:c449bead5cf3 | 483 | * |
Mika Karjalainen |
4:c449bead5cf3 | 484 | * Function will deliver new network key to all ZigBee Routers which have registered GP address to server. |
Mika Karjalainen |
4:c449bead5cf3 | 485 | * Function call always trig new key-id. Key delivery will be started between 300ms interval between nodes. |
Mika Karjalainen |
4:c449bead5cf3 | 486 | * This function does not cause any traffic if Server does not have any Routers device sessions. |
Mika Karjalainen |
4:c449bead5cf3 | 487 | * |
Mika Karjalainen |
4:c449bead5cf3 | 488 | *\param network_key_material pointer to new 128-bit key material or NULL generate random key. |
Mika Karjalainen |
4:c449bead5cf3 | 489 | * |
Mika Karjalainen |
4:c449bead5cf3 | 490 | * \return 0 Key Update process OK |
Mika Karjalainen |
4:c449bead5cf3 | 491 | * \return -1 Pana server is not Initialized yet |
Mika Karjalainen |
4:c449bead5cf3 | 492 | * \return -2 Old Key Update still active |
Mika Karjalainen |
4:c449bead5cf3 | 493 | * \return -3 Memory allocation fail |
Mika Karjalainen |
4:c449bead5cf3 | 494 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 495 | extern int8_t arm_pana_server_key_update(int8_t nwk_interface_id, uint8_t * network_key_material); |
Mika Karjalainen |
4:c449bead5cf3 | 496 | |
Mika Karjalainen |
4:c449bead5cf3 | 497 | extern int8_t arm_pana_activate_new_key(int8_t nwk_interface_id); |
Mika Karjalainen |
4:c449bead5cf3 | 498 | |
Mika Karjalainen |
4:c449bead5cf3 | 499 | |
Mika Karjalainen |
4:c449bead5cf3 | 500 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 501 | * \brief Read Pana server security key material |
Mika Karjalainen |
4:c449bead5cf3 | 502 | * |
Mika Karjalainen |
4:c449bead5cf3 | 503 | * previous_active_network_key is information is only valid when current_active_key_index is bigger than 1. |
Mika Karjalainen |
4:c449bead5cf3 | 504 | * |
Mika Karjalainen |
4:c449bead5cf3 | 505 | *\param key pointer for store keymaterial information. |
Mika Karjalainen |
4:c449bead5cf3 | 506 | * |
Mika Karjalainen |
4:c449bead5cf3 | 507 | * \return 0 Key Read OK |
Mika Karjalainen |
4:c449bead5cf3 | 508 | * \return -1 Pana server key material not available |
Mika Karjalainen |
4:c449bead5cf3 | 509 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 510 | extern int8_t arm_network_key_get(int8_t interface_id, ns_keys_t *key); |
Mika Karjalainen |
4:c449bead5cf3 | 511 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 512 | * \brief Start network interface bootstrap. |
Mika Karjalainen |
4:c449bead5cf3 | 513 | * |
Mika Karjalainen |
4:c449bead5cf3 | 514 | * \param nwk_interface_id Network interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 515 | * |
Mika Karjalainen |
4:c449bead5cf3 | 516 | * |
Mika Karjalainen |
4:c449bead5cf3 | 517 | * \return >=0 Bootstrap Start OK. |
Mika Karjalainen |
4:c449bead5cf3 | 518 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 519 | * \return -2 Not configured. |
Mika Karjalainen |
4:c449bead5cf3 | 520 | * \return -3 Active. |
Mika Karjalainen |
4:c449bead5cf3 | 521 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 522 | extern int8_t arm_nwk_interface_up(int8_t nwk_interface_id); |
Mika Karjalainen |
4:c449bead5cf3 | 523 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 524 | * \brief Stop and set interface to idle. |
Mika Karjalainen |
4:c449bead5cf3 | 525 | * |
Mika Karjalainen |
4:c449bead5cf3 | 526 | * \param nwk_interface_id Network interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 527 | * |
Mika Karjalainen |
4:c449bead5cf3 | 528 | * |
Mika Karjalainen |
4:c449bead5cf3 | 529 | * \return >=0 Process OK. |
Mika Karjalainen |
4:c449bead5cf3 | 530 | * \return -1 Unknown network ID. |
Mika Karjalainen |
4:c449bead5cf3 | 531 | * \return -3 Not ActiveActive. |
Mika Karjalainen |
4:c449bead5cf3 | 532 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 533 | extern int8_t arm_nwk_interface_down(int8_t nwk_interface_id); |
Mika Karjalainen |
4:c449bead5cf3 | 534 | |
Mika Karjalainen |
4:c449bead5cf3 | 535 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 536 | * \brief Define Border Router MAC & 6LoWPAN ND setup for selected interface |
Mika Karjalainen |
4:c449bead5cf3 | 537 | * |
Mika Karjalainen |
4:c449bead5cf3 | 538 | * \param nwk_interface_id Network interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 539 | * \param border_router_setup_ptr Pointer to MAC & 6LoWPAN ND setup |
Mika Karjalainen |
4:c449bead5cf3 | 540 | * |
Mika Karjalainen |
4:c449bead5cf3 | 541 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 542 | extern int8_t arm_nwk_6lowpan_border_router_init(int8_t nwk_interface_id, border_router_setup_s *border_router_setup_ptr); |
Mika Karjalainen |
4:c449bead5cf3 | 543 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 544 | * \brief Add context at 6Lowpan interface configure state |
Mika Karjalainen |
4:c449bead5cf3 | 545 | * |
Mika Karjalainen |
4:c449bead5cf3 | 546 | * |
Mika Karjalainen |
4:c449bead5cf3 | 547 | * \param Network Interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 548 | * \param c_id_flags bit 5 indicate compress support and bit 0-3 context ID |
Mika Karjalainen |
4:c449bead5cf3 | 549 | * \param context_len Context length in bits need to be 64-128 |
Mika Karjalainen |
4:c449bead5cf3 | 550 | * \param ttl contexts time to live value in minutes |
Mika Karjalainen |
4:c449bead5cf3 | 551 | * \param context_ptr pointer to full 128-bit memory area. |
Mika Karjalainen |
4:c449bead5cf3 | 552 | * |
Mika Karjalainen |
4:c449bead5cf3 | 553 | * \return 0 context update OK |
Mika Karjalainen |
4:c449bead5cf3 | 554 | * \return -1 No memory for new Context |
Mika Karjalainen |
4:c449bead5cf3 | 555 | * \return -2 Border Router base not allocated |
Mika Karjalainen |
4:c449bead5cf3 | 556 | * \return -3 Given parameter fail (c_id_flags > 0x1f or contex_len < 64) |
Mika Karjalainen |
4:c449bead5cf3 | 557 | * \ |
Mika Karjalainen |
4:c449bead5cf3 | 558 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 559 | extern int8_t arm_nwk_6lowpan_border_router_context_update(int8_t nwk_interface_id, uint8_t c_id_flags, uint8_t context_len, uint16_t ttl, uint8_t *context_ptr); |
Mika Karjalainen |
4:c449bead5cf3 | 560 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 561 | * \brief Update Run time configured context |
Mika Karjalainen |
4:c449bead5cf3 | 562 | * |
Mika Karjalainen |
4:c449bead5cf3 | 563 | * Function can change contexts Compress state or Time to live value. |
Mika Karjalainen |
4:c449bead5cf3 | 564 | * Function will trig New ABRO version number, which indicates that ND parameters are updated. |
Mika Karjalainen |
4:c449bead5cf3 | 565 | * |
Mika Karjalainen |
4:c449bead5cf3 | 566 | * \param Network Interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 567 | * \param c_id context ID stack will check first 4 bits , supported values 0-15 |
Mika Karjalainen |
4:c449bead5cf3 | 568 | * \param compress_mode 0=Compress disabled otherwise compress enabled |
Mika Karjalainen |
4:c449bead5cf3 | 569 | * \param ttl contexts time to live value in minutes |
Mika Karjalainen |
4:c449bead5cf3 | 570 | * |
Mika Karjalainen |
4:c449bead5cf3 | 571 | * \return 0 Update OK |
Mika Karjalainen |
4:c449bead5cf3 | 572 | * \return -1 Update fail by Router state |
Mika Karjalainen |
4:c449bead5cf3 | 573 | * |
Mika Karjalainen |
4:c449bead5cf3 | 574 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 575 | extern int8_t arm_nwk_6lowpan_border_router_context_parameter_update(int8_t nwk_interface_id, uint8_t c_id, uint8_t compress_mode, uint16_t ttl); |
Mika Karjalainen |
4:c449bead5cf3 | 576 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 577 | * \brief Delete Allocated Context by id |
Mika Karjalainen |
4:c449bead5cf3 | 578 | * |
Mika Karjalainen |
4:c449bead5cf3 | 579 | * \param Network Interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 580 | * \param c_id 4-bit context id which will be deleted |
Mika Karjalainen |
4:c449bead5cf3 | 581 | * |
Mika Karjalainen |
4:c449bead5cf3 | 582 | * \return 0 Context Delete OK. |
Mika Karjalainen |
4:c449bead5cf3 | 583 | * \return -1 Delete process fail. |
Mika Karjalainen |
4:c449bead5cf3 | 584 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 585 | extern int8_t arm_nwk_6lowpan_border_router_context_remove_by_id(int8_t nwk_interface_id, uint8_t c_id); |
Mika Karjalainen |
4:c449bead5cf3 | 586 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 587 | * \brief Update ND ABRO version number |
Mika Karjalainen |
4:c449bead5cf3 | 588 | * |
Mika Karjalainen |
4:c449bead5cf3 | 589 | * \param Network Interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 590 | * |
Mika Karjalainen |
4:c449bead5cf3 | 591 | * \return 0 ABRO version update OK |
Mika Karjalainen |
4:c449bead5cf3 | 592 | * \return -1 ABRO update fail( Interface is not Up yet or Border Router base is not allocated) |
Mika Karjalainen |
4:c449bead5cf3 | 593 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 594 | extern int8_t arm_nwk_6lowpan_border_router_configure_push(int8_t nwk_interface_id); |
Mika Karjalainen |
4:c449bead5cf3 | 595 | |
Mika Karjalainen |
4:c449bead5cf3 | 596 | extern int8_t arm_nwk_6lowpan_border_route_nd_default_prefix_timeout_set(int8_t nwk_interface_id, uint32_t time); |
Mika Karjalainen |
4:c449bead5cf3 | 597 | |
Mika Karjalainen |
4:c449bead5cf3 | 598 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 599 | * \brief A function to read network layer configurations. |
Mika Karjalainen |
4:c449bead5cf3 | 600 | * \param network_params is a pointer to the structure to where the network layer configs are written to. |
Mika Karjalainen |
4:c449bead5cf3 | 601 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 602 | * \return -1 if PAN coordinator is not known. |
Mika Karjalainen |
4:c449bead5cf3 | 603 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 604 | int8_t arm_nwk_param_read(int8_t interface_id, link_layer_setups_s * network_params); |
Mika Karjalainen |
4:c449bead5cf3 | 605 | |
Mika Karjalainen |
4:c449bead5cf3 | 606 | |
Mika Karjalainen |
4:c449bead5cf3 | 607 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 608 | * \brief A function to read MAC PAN-ID, Short address & EUID64 |
Mika Karjalainen |
4:c449bead5cf3 | 609 | * \param mac_params is a pointer to the structure to where the mac address are written to. |
Mika Karjalainen |
4:c449bead5cf3 | 610 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 611 | * \return -1 . |
Mika Karjalainen |
4:c449bead5cf3 | 612 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 613 | int8_t arm_nwk_mac_address_read(int8_t interface_id, link_layer_address_s * mac_params); |
Mika Karjalainen |
4:c449bead5cf3 | 614 | |
Mika Karjalainen |
4:c449bead5cf3 | 615 | |
Mika Karjalainen |
4:c449bead5cf3 | 616 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 617 | * \brief A function to read 6LoWPAN ND border router address and NWK prefix |
Mika Karjalainen |
4:c449bead5cf3 | 618 | * \param mac_params is a pointer to the structure to where the mac address are written to. |
Mika Karjalainen |
4:c449bead5cf3 | 619 | * \return 0 on success. |
Mika Karjalainen |
4:c449bead5cf3 | 620 | * \return -1 . |
Mika Karjalainen |
4:c449bead5cf3 | 621 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 622 | int8_t arm_nwk_nd_address_read(int8_t interface_id, network_layer_address_s * nd_params); |
Mika Karjalainen |
4:c449bead5cf3 | 623 | |
Mika Karjalainen |
4:c449bead5cf3 | 624 | |
Mika Karjalainen |
4:c449bead5cf3 | 625 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 626 | * \brief A function to read networking address informations. |
Mika Karjalainen |
4:c449bead5cf3 | 627 | * \param addr_id identifies the address information type to be read. |
Mika Karjalainen |
4:c449bead5cf3 | 628 | * \param address is a pointer to a structure to where the address information is written to. |
Mika Karjalainen |
4:c449bead5cf3 | 629 | * \return 0 on success, -1 on failure. |
Mika Karjalainen |
4:c449bead5cf3 | 630 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 631 | extern int8_t arm_net_address_get(int8_t nwk_interface_id, net_address_t addr_id, uint8_t *address); |
Mika Karjalainen |
4:c449bead5cf3 | 632 | |
Mika Karjalainen |
4:c449bead5cf3 | 633 | /** Border Router ND NVM update types */ |
Mika Karjalainen |
4:c449bead5cf3 | 634 | #define ND_PROXY_CONTEXT_NVM_UPDATE 0 /* ND Context Update, 20 bytes data behind pointer */ |
Mika Karjalainen |
4:c449bead5cf3 | 635 | #define ND_PROXY_CONTEXT_FLAGS_NVM_UPDATE 1 /* ND Context Update flags update */ |
Mika Karjalainen |
4:c449bead5cf3 | 636 | #define ND_PROXY_CONTEXT_NVM_REMOVE 2 /* ND Context Removed */ |
Mika Karjalainen |
4:c449bead5cf3 | 637 | #define ND_PROXY_PREFIX_NVM_UPDATE 3 /* ND Prefix Update */ |
Mika Karjalainen |
4:c449bead5cf3 | 638 | #define ND_PROXY_ABRO_VERSION_NVM_UPDATE 4 /* ND ABRO version updated */ |
Mika Karjalainen |
4:c449bead5cf3 | 639 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 640 | * \brief Border Router ND setup NVM update callback set |
Mika Karjalainen |
4:c449bead5cf3 | 641 | * |
Mika Karjalainen |
4:c449bead5cf3 | 642 | * \param passed_fptr function pointer to ND NVM update process |
Mika Karjalainen |
4:c449bead5cf3 | 643 | * |
Mika Karjalainen |
4:c449bead5cf3 | 644 | * \return 0 ND NVM operation Init OK. |
Mika Karjalainen |
4:c449bead5cf3 | 645 | * \return -1 No memory for NVM buffer. |
Mika Karjalainen |
4:c449bead5cf3 | 646 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 647 | extern int8_t border_router_nd_nvm_callback_set(void (*passed_fptr)(uint8_t ,uint8_t *)); |
Mika Karjalainen |
4:c449bead5cf3 | 648 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 649 | * \brief Load context from NVM at ZigBeeIP interface configure state |
Mika Karjalainen |
4:c449bead5cf3 | 650 | * |
Mika Karjalainen |
4:c449bead5cf3 | 651 | * |
Mika Karjalainen |
4:c449bead5cf3 | 652 | * \param Network Interface ID |
Mika Karjalainen |
4:c449bead5cf3 | 653 | * \param context_data pointer to proper builded 20 bytes update array. |
Mika Karjalainen |
4:c449bead5cf3 | 654 | * |
Mika Karjalainen |
4:c449bead5cf3 | 655 | * \return 0 context reload OK |
Mika Karjalainen |
4:c449bead5cf3 | 656 | * \return <0 Load fail. |
Mika Karjalainen |
4:c449bead5cf3 | 657 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 658 | extern int8_t arm_nwk_6lowpan_border_router_nd_context_load(int8_t nwk_interface_id, uint8_t * contex_data); //NVM |
Mika Karjalainen |
4:c449bead5cf3 | 659 | |
Mika Karjalainen |
4:c449bead5cf3 | 660 | extern int8_t arm_bootstrap_certificate_chain_set(arm_certificate_chain_entry_s *chain_info); |
Mika Karjalainen |
4:c449bead5cf3 | 661 | extern int8_t arm_network_certificate_chain_set(arm_certificate_chain_entry_s *chain_info); |
Mika Karjalainen |
4:c449bead5cf3 | 662 | extern int8_t arm_transport_certificate_chain_set(arm_certificate_chain_entry_s *chain_info); |
Mika Karjalainen |
4:c449bead5cf3 | 663 | |
Mika Karjalainen |
4:c449bead5cf3 | 664 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 665 | * \brief Get the library version information. |
Mika Karjalainen |
4:c449bead5cf3 | 666 | * |
Mika Karjalainen |
4:c449bead5cf3 | 667 | * \param *ptr Pointer where the data is stored. Required size is 20 bytes. |
Mika Karjalainen |
4:c449bead5cf3 | 668 | * |
Mika Karjalainen |
4:c449bead5cf3 | 669 | * |
Mika Karjalainen |
4:c449bead5cf3 | 670 | * The array containing the version information has the following structure. |
Mika Karjalainen |
4:c449bead5cf3 | 671 | * |
Mika Karjalainen |
4:c449bead5cf3 | 672 | * | Platform type | Version | Build ID | |
Mika Karjalainen |
4:c449bead5cf3 | 673 | * | :-----------: | :----------------: | |
Mika Karjalainen |
4:c449bead5cf3 | 674 | * | 1 byte | 1 byte | 4 bytes | |
Mika Karjalainen |
4:c449bead5cf3 | 675 | * |
Mika Karjalainen |
4:c449bead5cf3 | 676 | * Example how to read library version information is described below: |
Mika Karjalainen |
4:c449bead5cf3 | 677 | * |
Mika Karjalainen |
4:c449bead5cf3 | 678 | * @code |
Mika Karjalainen |
4:c449bead5cf3 | 679 | uint8_t i; |
Mika Karjalainen |
4:c449bead5cf3 | 680 | uint8_t app_version_info[6]; |
Mika Karjalainen |
4:c449bead5cf3 | 681 | net_get_version_information(app_version_info); |
Mika Karjalainen |
4:c449bead5cf3 | 682 | debug("Platform Type: "); |
Mika Karjalainen |
4:c449bead5cf3 | 683 | debug_hex(app_version_info[0]); |
Mika Karjalainen |
4:c449bead5cf3 | 684 | debug(", Version: "); |
Mika Karjalainen |
4:c449bead5cf3 | 685 | debug_hex(app_version_info[1]); |
Mika Karjalainen |
4:c449bead5cf3 | 686 | debug(" ,Number:0x"); |
Mika Karjalainen |
4:c449bead5cf3 | 687 | for(i=2; i<6; i++) |
Mika Karjalainen |
4:c449bead5cf3 | 688 | { |
Mika Karjalainen |
4:c449bead5cf3 | 689 | debug_hex(app_version_info[i]); |
Mika Karjalainen |
4:c449bead5cf3 | 690 | } |
Mika Karjalainen |
4:c449bead5cf3 | 691 | debug("\r\n"); |
Mika Karjalainen |
4:c449bead5cf3 | 692 | * @endcode |
Mika Karjalainen |
4:c449bead5cf3 | 693 | * |
Mika Karjalainen |
4:c449bead5cf3 | 694 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 695 | extern void net_get_version_information(uint8_t *ptr); |
jusu_81 | 11:1b7aaf37a131 | 696 | #ifdef __cplusplus |
jusu_81 | 11:1b7aaf37a131 | 697 | } |
jusu_81 | 11:1b7aaf37a131 | 698 | #endif |
Mika Karjalainen |
4:c449bead5cf3 | 699 | #endif /* NET_INTERFACE_H_ */ |