libmcm  1.4.0
A client library for Moxa Connection Management
mcm-base-info.h
Go to the documentation of this file.
1 
9 #ifndef _MCM_BASE_INFO_H_
10 #define _MCM_BASE_INFO_H_
11 
12 #include <inttypes.h>
13 #include <stdbool.h>
20  MCM_ENOMEM = 2,
21  MCM_ENODEV = 3,
22  MCM_EINVAL = 4,
23 };
24 
30  char *device_name;
31  char *device_type;
32  char *network_type;
34 };
35 
36 typedef struct mcm_object_info mcm_object_info;
37 
42  char *propertyName;
43  char *propertyValue;
44 } __attribute__((packed));
45 
47 
52  char *propertyName;
53  char *propertyValue;
55 } __attribute__((packed));
56 
58 
63  char interface_name[64];
64  char device_name[16];
65  char device_type[16];
66  char network_type[16];
67 } __attribute__((packed));
68 
70 
75  bool enabled;
76  uint32_t wan_priority;
77  char name[64];
78  char device_type[16];
79  char device_name[16];
80  char network_ifname[16];
81  char network_type[16];
82  char ip_method[16];
83  char ipv4_method[16];
84  char ipv6_method[16];
85  char mac_address[64];
86  char err_reason[200];
87 } __attribute__((packed));
88 
89 typedef struct mcm_network_info mcm_network_info;
90 
96  char ipv4_address[16];
97  char ipv4_netmask[16];
98  char ipv4_gateway[16];
99  char ipv4_dns[2][16];
100  char ipv6_address[64];
101  char ipv6_netmask[64];
102  char ipv6_gateway[64];
103  char ipv6_dns[2][64];
104  uint32_t connection_status;
105  char profile_name[16];
106 } __attribute__((packed));
107 
109 
115  uint32_t link_speed;
117  char duplex[16];
118  bool dhcp_server;
119 } __attribute__((packed));
120 
121 typedef struct mcm_ethernet_info mcm_ethernet_info;
122 
127  char bssid[32];
128  char hwmode[16];
129  char frequency[16];
130  char operation_mode[16];
131  char ssid[40];
132  char secure_mode[16];
133  char signal[16];
134  uint32_t channel;
135  bool broadcast;
136 } __attribute__((packed));
137 
138 typedef struct mcm_wifi_info mcm_wifi_info;
139 
144  char cell_id[16];
145  char device_imei[16];
146  char network_rat[16];
147  char operator[32];
148  char sim_iccid[32];
149  char sim_imsi[16];
150  char apn[32];
151  char taclac[16];
152  int32_t pin_retries;
153  uint32_t signal_strength;
156  uint32_t sim_slot;
157  int32_t modem_state;
158  char modem_name[64];
159  char modem_version[64];
160  int32_t umts_rssi;
161  int32_t umts_ecio;
162  int32_t lte_rsrp;
163  int32_t lte_sinr;
164  int32_t lte_rssi;
165  int32_t lte_rsrq;
166  int32_t nr_rsrp;
167  int32_t nr_sinr;
168  int32_t nr_rssi;
169  int32_t nr_rsrq;
170 } __attribute__((packed));
171 
172 typedef struct mcm_modem_info mcm_modem_info;
173 
177 struct mcm_wifi_ap {
178  char ssid[40];
179  char bssid[32];
180  char encryption_type[32];
181  uint32_t signal_strength;
182  char frequency[16];
183  int32_t rssi;
184 } __attribute__((packed));
185 
186 typedef struct mcm_wifi_ap mcm_wifi_ap;
187 
191 struct mcm_profiles {
192  char profile_name[32];
193 } __attribute__((packed));
194 
195 typedef struct mcm_profiles mcm_profiles;
196 
201  uint64_t tx;
202  uint64_t rx;
203 } __attribute__((packed));
204 
206 
211  uint32_t diag_state;
212  char message[512];
213 } __attribute__((packed));
214 
215 typedef struct mcm_diag_info mcm_diag_info;
216 
221  uint32_t state;
222  char message[512];
223 } __attribute__((packed));
224 
225 typedef struct mcm_upgrade_info mcm_upgrade_info;
226 
235 void mcm_free_property_info(int arr_len, mcm_property_info *info);
236 
244 char *
245 mcm_get_error_message(int error_num);
246 
247 #endif /* _MCM_BASE_INFO_H_ */
char * mcm_get_error_message(int error_num)
A help function for propertyInfo_sub appended to propertyInfo.
Definition: mcm-base-info.c:475
MCM_ERROR_CODE
Definition: mcm-base-info.h:17
@ MCM_SUCCESS
Definition: mcm-base-info.h:18
@ MCM_ENOMEM
Definition: mcm-base-info.h:20
@ MCM_GENERIC_ERR
Definition: mcm-base-info.h:19
@ MCM_ENODEV
Definition: mcm-base-info.h:21
@ MCM_EINVAL
Definition: mcm-base-info.h:22
void mcm_free_property_info(int arr_len, mcm_property_info *info)
A help function for properies array free.
Definition: mcm-base-info.c:410
Definition: mcm-base-info.h:200
uint64_t tx
Definition: mcm-base-info.h:201
uint64_t rx
Definition: mcm-base-info.h:202
Definition: mcm-base-info.h:210
uint32_t diag_state
Definition: mcm-base-info.h:211
char message[512]
Definition: mcm-base-info.h:212
Definition: mcm-base-info.h:113
bool link_autoneg
Definition: mcm-base-info.h:116
char duplex[16]
Definition: mcm-base-info.h:117
bool dhcp_server
Definition: mcm-base-info.h:118
bool link_detected
Definition: mcm-base-info.h:114
uint32_t link_speed
Definition: mcm-base-info.h:115
Definition: mcm-base-info.h:62
char network_type[16]
Definition: mcm-base-info.h:66
char device_name[16]
Definition: mcm-base-info.h:64
char interface_name[64]
Definition: mcm-base-info.h:63
char device_type[16]
Definition: mcm-base-info.h:65
Definition: mcm-base-info.h:143
uint32_t signal_strength
Definition: mcm-base-info.h:153
char cell_id[16]
Definition: mcm-base-info.h:144
char taclac[16]
Definition: mcm-base-info.h:151
char modem_version[64]
Definition: mcm-base-info.h:159
int32_t pin_retries
Definition: mcm-base-info.h:152
int32_t lte_sinr
Definition: mcm-base-info.h:163
char sim_iccid[32]
Definition: mcm-base-info.h:148
int32_t modem_state
Definition: mcm-base-info.h:157
int32_t nr_rsrp
Definition: mcm-base-info.h:166
int32_t nr_sinr
Definition: mcm-base-info.h:167
char network_rat[16]
Definition: mcm-base-info.h:146
int32_t lte_rsrp
Definition: mcm-base-info.h:162
char modem_name[64]
Definition: mcm-base-info.h:158
char device_imei[16]
Definition: mcm-base-info.h:145
uint32_t sim_slot
Definition: mcm-base-info.h:156
uint32_t lte_signal_strength_for_5gnsa
Definition: mcm-base-info.h:154
int32_t umts_ecio
Definition: mcm-base-info.h:161
int32_t umts_rssi
Definition: mcm-base-info.h:160
int32_t nr_rsrq
Definition: mcm-base-info.h:169
char apn[32]
Definition: mcm-base-info.h:150
int32_t lte_rsrq
Definition: mcm-base-info.h:165
uint32_t nr_signal_strength_for_5gnsa
Definition: mcm-base-info.h:155
int32_t lte_rssi
Definition: mcm-base-info.h:164
char sim_imsi[16]
Definition: mcm-base-info.h:149
int32_t nr_rssi
Definition: mcm-base-info.h:168
Definition: mcm-base-info.h:74
char name[64]
Definition: mcm-base-info.h:77
char err_reason[200]
Definition: mcm-base-info.h:86
char device_type[16]
Definition: mcm-base-info.h:78
char ipv4_method[16]
Definition: mcm-base-info.h:83
char mac_address[64]
Definition: mcm-base-info.h:85
uint32_t wan_priority
Definition: mcm-base-info.h:76
bool enabled
Definition: mcm-base-info.h:75
char device_name[16]
Definition: mcm-base-info.h:79
char network_type[16]
Definition: mcm-base-info.h:81
char ipv6_method[16]
Definition: mcm-base-info.h:84
char network_ifname[16]
Definition: mcm-base-info.h:80
char ip_method[16]
Definition: mcm-base-info.h:82
Definition: mcm-base-info.h:94
char ipv4_dns[2][16]
Definition: mcm-base-info.h:99
char ipv4_gateway[16]
Definition: mcm-base-info.h:98
char ipv4_netmask[16]
Definition: mcm-base-info.h:97
char ipv6_gateway[64]
Definition: mcm-base-info.h:102
char ipv6_address[64]
Definition: mcm-base-info.h:100
char ipv4_address[16]
Definition: mcm-base-info.h:96
char ipv6_netmask[64]
Definition: mcm-base-info.h:101
bool default_route
Definition: mcm-base-info.h:95
char ipv6_dns[2][64]
Definition: mcm-base-info.h:103
uint32_t connection_status
Definition: mcm-base-info.h:104
char profile_name[16]
Definition: mcm-base-info.h:105
Definition: mcm-base-info.h:28
char * device_type
Definition: mcm-base-info.h:31
char * interface_name
Definition: mcm-base-info.h:29
char * device_name
Definition: mcm-base-info.h:30
char * network_type
Definition: mcm-base-info.h:32
struct mcm_object_info * next
Definition: mcm-base-info.h:33
Definition: mcm-base-info.h:191
char profile_name[32]
Definition: mcm-base-info.h:192
Definition: mcm-base-info.h:51
char * propertyValue
Definition: mcm-base-info.h:53
struct mcm_property_info_linked_list * next
Definition: mcm-base-info.h:54
char * propertyName
Definition: mcm-base-info.h:52
Definition: mcm-base-info.h:41
char * propertyName
Definition: mcm-base-info.h:42
char * propertyValue
Definition: mcm-base-info.h:43
Definition: mcm-base-info.h:220
uint32_t state
Definition: mcm-base-info.h:221
char message[512]
Definition: mcm-base-info.h:222
Definition: mcm-base-info.h:177
uint32_t signal_strength
Definition: mcm-base-info.h:181
char encryption_type[32]
Definition: mcm-base-info.h:180
char frequency[16]
Definition: mcm-base-info.h:182
int32_t rssi
Definition: mcm-base-info.h:183
char bssid[32]
Definition: mcm-base-info.h:179
char ssid[40]
Definition: mcm-base-info.h:178
Definition: mcm-base-info.h:126
bool broadcast
Definition: mcm-base-info.h:135
char ssid[40]
Definition: mcm-base-info.h:131
uint32_t channel
Definition: mcm-base-info.h:134
char frequency[16]
Definition: mcm-base-info.h:129
char hwmode[16]
Definition: mcm-base-info.h:128
char secure_mode[16]
Definition: mcm-base-info.h:132
char signal[16]
Definition: mcm-base-info.h:133
char bssid[32]
Definition: mcm-base-info.h:127
char operation_mode[16]
Definition: mcm-base-info.h:130