RDK Documentation (Open Sourced RDK Components)
netsrvmgrIarm.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 
21 /**
22  * @file netSrvMgrIarm.h
23  * @brief The header file provides components netSrvMgrIarm information APIs.
24  */
25 /**
26  * @defgroup netSrvMgr Iarm api's.
27  * Describe the details about netSrvMgr Iarm api's.
28  * @ingroup netsrvmgr
29  *
30  */
31 
32 /**
33 * @defgroup netsrvmgr
34 * @{
35 * @defgroup netsermgr
36 * @{
37 **/
38 
39 
40 #ifndef _NETSRVMGRIARM_H_
41 #define _NETSRVMGRIARM_H_
42 
43 #include <arpa/inet.h>
44 
45 /**
46  * @addtogroup NETSRVMGR_TYPES
47  * @{
48  */
49 #define IARM_BUS_NM_SRV_MGR_NAME "NET_SRV_MGR"
50 #define INTERFACE_SIZE 10
51 #define INTERFACE_LIST 50
52 #define NETSRVMGR_INTERFACES_MAX 16
53 #define MAX_IP_ADDRESS_LEN 46
54 #define MAX_IP_FAMILY_SIZE 10
55 #define MAX_HOST_NAME_LEN 128
56 #define IARM_BUS_NETSRVMGR_API_getActiveInterface "getActiveInterface"
57 #define IARM_BUS_NETSRVMGR_API_getNetworkInterfaces "getNetworkInterfaces"
58 #define IARM_BUS_NETSRVMGR_API_getInterfaceList "getInterfaceList"
59 #define IARM_BUS_NETSRVMGR_API_getDefaultInterface "getDefaultInterface"
60 #define IARM_BUS_NETSRVMGR_API_setDefaultInterface "setDefaultInterface"
61 #define IARM_BUS_NETSRVMGR_API_isInterfaceEnabled "isInterfaceEnabled"
62 #define IARM_BUS_NETSRVMGR_API_setInterfaceEnabled "setInterfaceEnabled"
63 #define IARM_BUS_NETSRVMGR_API_getSTBip "getSTBip"
64 #define IARM_BUS_NETWORK_MANAGER_MOCA_getTelemetryLogStatus "getTelemetryLogStatus"
65 #define IARM_BUS_NETWORK_MANAGER_MOCA_getTelemetryLogDuration "getTelemetryLogDuration"
66 #define IARM_BUS_NETSRVMGR_API_setIPSettings "setIPSettings"
67 #define IARM_BUS_NETSRVMGR_API_getIPSettings "getIPSettings"
68 #define IARM_BUS_NETSRVMGR_API_getSTBip_family "getSTBip_family"
69 #define IARM_BUS_NETSRVMGR_API_isConnectedToInternet "isConnectedToInternet"
70 #define IARM_BUS_NETSRVMGR_API_setConnectivityTestEndpoints "setConnectivityTestEndpoints"
71 #define IARM_BUS_NETSRVMGR_API_isAvailable "isAvailable"
72 #define IARM_BUS_NETSRVMGR_API_getPublicIP "getPublicIP"
73 
74 typedef enum _NetworkManager_MoCA_EventId_t {
75  IARM_BUS_NETWORK_MANAGER_MOCA_TELEMETRY_LOG=20,
76  IARM_BUS_NETWORK_MANAGER_MOCA_TELEMETRY_LOG_DURATION,
77  IARM_BUS_NETWORK_MANAGER_MOCA_TELEMETRY_MAX,
78 } IARM_Bus_NetworkManager_MoCA_EventId_t;
79 
80 typedef enum _NetworkManager_EventId_t {
81  IARM_BUS_NETWORK_MANAGER_EVENT_SET_INTERFACE_ENABLED=50,
82  IARM_BUS_NETWORK_MANAGER_EVENT_SET_INTERFACE_CONTROL_PERSISTENCE,
83  IARM_BUS_NETWORK_MANAGER_EVENT_WIFI_INTERFACE_STATE,
84  IARM_BUS_NETWORK_MANAGER_EVENT_INTERFACE_ENABLED_STATUS,
85  IARM_BUS_NETWORK_MANAGER_EVENT_INTERFACE_CONNECTION_STATUS,
86  IARM_BUS_NETWORK_MANAGER_EVENT_INTERFACE_IPADDRESS,
87  IARM_BUS_NETWORK_MANAGER_EVENT_DEFAULT_INTERFACE,
88  IARM_BUS_NETWORK_MANAGER_MAX,
90 
92  union {
93  char activeIface[INTERFACE_SIZE];
94  char allNetworkInterfaces[INTERFACE_LIST];
95  char setInterface[INTERFACE_SIZE];
96  char activeIfaceIpaddr[MAX_IP_ADDRESS_LEN];
97  };
98  char interfaceCount;
99  bool isInterfaceEnabled;
100  bool persist;
101  char ipfamily[MAX_IP_FAMILY_SIZE];
103 
104 typedef enum _NetworkManager_GetIPSettings_ErrorCode_t
105 {
106  NETWORK_IPADDRESS_ACQUIRED,
107  NETWORK_IPADDRESS_NOTFOUND,
108  NETWORK_NO_ROUTE_INTERFACE,
109  NETWORK_NO_DEFAULT_ROUTE,
110  NETWORK_DNS_NOT_CONFIGURED,
111  NETWORK_INVALID_IPADDRESS,
112 } NetworkManager_GetIPSettings_ErrorCode_t;
113 
114 typedef struct {
115  char interface[16];
116  char ipversion[16];
117  bool autoconfig;
118  char ipaddress[INET6_ADDRSTRLEN];
119  char netmask[INET6_ADDRSTRLEN];
120  char gateway[INET6_ADDRSTRLEN];
121  char dhcp_server[INET6_ADDRSTRLEN];
122  char primarydns[INET6_ADDRSTRLEN];
123  char secondarydns[INET6_ADDRSTRLEN];
124  bool isSupported;
125  NetworkManager_GetIPSettings_ErrorCode_t errCode;
127 
128 typedef struct {
129  char name[16];
130  char mac[20];
131  unsigned int flags;
133 
134 typedef struct {
135  unsigned char size;
136  NetSrvMgr_Interface_t interfaces[NETSRVMGR_INTERFACES_MAX];
138 
139 typedef struct {
140  char interface[16];
141  char gateway[MAX_IP_ADDRESS_LEN];
143 
144 typedef struct {
145  char interface[16];
146  bool status;
148 
151 
152 typedef struct {
153  char interface[16];
154  char ip_address[MAX_IP_ADDRESS_LEN];
155  bool is_ipv6;
156  bool acquired;
158 
159 typedef struct {
160  char oldInterface[16];
161  char newInterface[16];
163 
164 typedef struct
165 {
166  unsigned char size;
167  char endpoints[5][260]; // domain name max length + ':' + port number max chars + '\0' = 253+1+5+1 = 260
169 
170 typedef struct
171 {
172  char server[MAX_HOST_NAME_LEN];
173  uint16_t port;
174  bool ipv6;
175  char interface[16];
176  uint16_t bind_timeout;
177  uint16_t cache_timeout;
178  bool sync;
179  char public_ip[MAX_IP_ADDRESS_LEN];
181 
182 /** @} */ //END OF GROUP NETSRVMGR_TYPES
183 
184 #endif /* _NETSRVMGRIARM_H_ */
185 
186 /** @} */
187 /** @} */
188 
IARM_BUS_NetSrvMgr_Iface_TestEndpoints_t
Definition: netsrvmgrIarm.h:164
IARM_BUS_NetSrvMgr_Iface_EventDefaultInterface_t
Definition: netsrvmgrIarm.h:159
IARM_BUS_NetSrvMgr_Iface_EventInterfaceIPAddress_t
Definition: netsrvmgrIarm.h:152
NetSrvMgr_Interface_t
Definition: netsrvmgrIarm.h:128
IARM_BUS_NetSrvMgr_InterfaceList_t
Definition: netsrvmgrIarm.h:134
_NetworkManager_EventId_t
_NetworkManager_EventId_t
Enumeration for net_srv_mgr active interface event callback.
Definition: priv_aamp.cpp:183
IARM_Bus_NetworkManager_EventId_t
enum _NetworkManager_EventId_t IARM_Bus_NetworkManager_EventId_t
Enumeration for net_srv_mgr active interface event callback.
IARM_BUS_NetSrvMgr_Iface_Settings_t
Definition: netsrvmgrIarm.h:114
IARM_BUS_NetSrvMgr_Iface_EventInterfaceStatus_t
Definition: netsrvmgrIarm.h:144
IARM_BUS_NetSrvMgr_DefaultRoute_t
Definition: netsrvmgrIarm.h:139
_IARM_BUS_NetSrvMgr_Iface_EventData_t
IARM Bus struct contains active streaming interface, origional definition present in homenetworkingse...
Definition: priv_aamp.cpp:193
IARM_BUS_NetSrvMgr_Iface_StunRequest_t
Definition: netsrvmgrIarm.h:170