WE310F5  39.00.000
m2mb_nwif.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
25 /* Global declarations ==========================================================================*/
26 #ifndef M2MB_NWIF_H
27 #define M2MB_NWIF_H
28 
29 #include <stdint.h>
30 #include <string.h>
31 #include "m2mb_types.h"
32 
42 /*-----------------------------------------------------------------------------------------------*/
43 
48 /*-----------------------------------------------------------------------------------------------*/
49 #define M2MB_NWIF_HOSTNAME_SIZE (32)
50 /*===============================================================================================*/
51 
52 /* Global typedefs ==============================================================================*/
53 
56 typedef enum
57 {
63 
66 
69 
72 
75 
81 
84 
87 
94 
103 typedef enum M2MB_NWIF_STATUS
104 {
110 
111 
113 typedef struct M2MB_NWIF_IPV4_CONFIG
114 {
120 typedef struct M2MB_NWIF_IPV6_CONFIG
121 {
125 
126 
129 {
139 
145 typedef union
146 {
151 
161 typedef VOID (* M2MB_NWIF_IPCONFIG_CB)(UINT8 deviceId, VOID *cbctx, M2MB_NWIF_EVENT_E eventid, M2MB_NWIF_CFG_T *data);
162 
163 /* Global functions =============================================================================*/
164 
165 /*-----------------------------------------------------------------------------------------------*/
219 M2MB_BOOL_T m2mb_nwif_wlan_devname_get(UINT8 deviceId, CHAR **pWifname);
220 
221 /* External functions ----------------------------------------------------- */
222 /*-----------------------------------------------------------------------------------------------*/
306 (
307  UINT8 deviceId,
309  VOID *cbctx
310 );
311 
312 /*-----------------------------------------------------------------------------------------------*/
412 (
413  UINT8 deviceId,
414  M2MB_NWIF_EVENT_E ip_flag
415 );
416 /*-----------------------------------------------------------------------------------------------*/
491 (
492  UINT8 deviceId,
493  M2MB_NWIF_EVENT_E cfgflag,
494  M2MB_NWIF_CFG_T *pCfg
495 );
594 (
595  UINT8 deviceId,
596  M2MB_NWIF_EVENT_E cfgflag,
597  M2MB_NWIF_CFG_T *pCfg
598 );
599 
600 /*-----------------------------------------------------------------------------------------------*/
690 (
691  UINT8 deviceId
692 );
693 /*-----------------------------------------------------------------------------------------------*/
784  INT32 m2mb_nwif_Set_Hostname( const char *hostname );
785 
786 /*-----------------------------------------------------------------------------------------------*/
873 (
874  UINT8 deviceId
875 );
876 
877 /*-----------------------------------------------------------------------------------------------*/
987 INT32 m2mb_nwif_dhcpv4s(UINT8 deviceId, char *start_ip_addr_string,
988  char *end_ip_addr_string, int leasetime );
989 
991 
993 
994 
995 #endif /* M2MB_NWIF_H */
996 
997 
Socket IPv4/IPv6 Internet address union.
Definition: m2mb_socket.h:386
VOID(* M2MB_NWIF_IPCONFIG_CB)(UINT8 deviceId, VOID *cbctx, M2MB_NWIF_EVENT_E eventid, M2MB_NWIF_CFG_T *data)
NWIF call back prototype.
Definition: m2mb_nwif.h:161
INT32 m2mb_nwif_cfgset(UINT8 deviceId, M2MB_NWIF_EVENT_E cfgflag, M2MB_NWIF_CFG_T *pCfg)
Network interface configuration.
DHCP client configuration in case of DHCP server.
Definition: m2mb_nwif.h:128
unsigned char UINT8
Definition: m2mb_types.h:86
struct M2MB_NWIF_DNS_SERVER_LIST M2MB_NWIF_DNS_SERVER_LIST_T
For use with m2mb_nwif_cfgget() to get IP addresses of DNS servers.
enum M2MB_NWIF_STATUS M2MB_NWIF_STATUS_E
NWIF status enumeration.
struct M2MB_NWIF_IPV6_CONFIG M2MB_NWIF_IPV6_CONFIG_T
IPV6 configuration.
M2MB_IP6_ADDR_T v6GlobalExtd
Definition: m2mb_nwif.h:122
M2MB_IP6_ADDR_T v6Global
Definition: m2mb_nwif.h:122
INT32 m2mb_nwif_close(UINT8 deviceId)
Network interface close.
NWIF configuration.
Definition: m2mb_nwif.h:145
INT32 m2mb_nwif_cfgget(UINT8 deviceId, M2MB_NWIF_EVENT_E cfgflag, M2MB_NWIF_CFG_T *pCfg)
Network interface configuration.
M2MB_NWIF_DNS_SERVER_LIST_T dnssrvrlist
Definition: m2mb_nwif.h:149
VOID m2mb_nwif_lwip_init(VOID)
struct M2MB_NWIF_DHCPV4_CLIENT M2MB_NWIF_DHCPV4_CLIENT_T
DHCP client configuration in case of DHCP server.
INT32 m2mb_nwif_dhcpv4s(UINT8 deviceId, char *start_ip_addr_string, char *end_ip_addr_string, int leasetime)
Network interface close.
INT32 m2mb_nwif_check_ip_addr_valid(INT32 ipaddress)
char CHAR
Definition: m2mb_types.h:76
UINT32 M2MB_BOOL_T
Definition: m2mb_types.h:116
INT32 m2mb_nwif_Set_Hostname(const char *hostname)
Set hostname.
M2MB_NWIF_EVENT_E
Commands for NWIF API&#39;s.
Definition: m2mb_nwif.h:56
M2MB_IP46_ADDR_T svr[3]
Definition: m2mb_nwif.h:137
void VOID
Definition: m2mb_types.h:74
INT32 m2mb_nwif_init(UINT8 deviceId, M2MB_NWIF_IPCONFIG_CB cb, VOID *cbctx)
Network interface initialization.
M2MB_NWIF_STATUS
NWIF status enumeration.
Definition: m2mb_nwif.h:103
M2MB_NWIF_IPV4_CONFIG_T ipv4cfg
Definition: m2mb_nwif.h:147
M2MB_IP6_ADDR_T v6LinkLocal
Definition: m2mb_nwif.h:122
struct M2MB_NWIF_IPV4_CONFIG M2MB_NWIF_IPV4_CONFIG_T
IPV4 configuration.
Commands for IPv4 Configuration.
Definition: m2mb_nwif.h:62
INT32 m2mb_nwif_open(UINT8 deviceId, M2MB_NWIF_EVENT_E ip_flag)
Network interface open.
unsigned long int UINT32
Definition: m2mb_types.h:88
signed int INT32
Definition: m2mb_types.h:82
Commands for IPv6 Configuration.
Definition: m2mb_nwif.h:80
M2MB_NWIF_IPV6_CONFIG_T ipv6cfg
Definition: m2mb_nwif.h:148
M2MB_BOOL_T m2mb_nwif_wlan_devname_get(UINT8 deviceId, CHAR **pWifname)
WLAN device name.
IPV6 configuration.
Definition: m2mb_nwif.h:120
Commands for DNS Configuration get.
Definition: m2mb_nwif.h:92
M2M base types (ver. )
INT32 m2mb_nwif_deinit(UINT8 deviceId)
Network interface de-initialization.
M2MB_IP6_ADDR_T v6DefGw
Definition: m2mb_nwif.h:122
IPv6 Internet address.
Definition: m2mb_socket.h:363
For use with m2mb_nwif_cfgget() to get IP addresses of DNS servers.
Definition: m2mb_nwif.h:136
IPV4 configuration.
Definition: m2mb_nwif.h:113