> For the complete documentation index, see [llms.txt](https://sandbox-docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sandbox-docs.verifone.com/s-adk-5.1-programmers-guide/libcom_8h_source.md).

# libcom.h

[Go to the documentation of this file.](/s-adk-5.1-programmers-guide/readme/files/dir_33381b8c0566c9eb2048a95e4cccf925/dir_e4c66e267a8c8e9ea5ad4dbe1baeabc7/libcom_8h.md)

```cpp
 1 
 9 #ifndef LIBCOM_H_
 10 #define LIBCOM_H_
 11 
 12 #if defined __GNUC__ && defined VFI_COM_SHARED_EXPORT
 13 #define DllSpec __attribute__((visibility("default")))
 14 #else
 15 #define DllSpec // used for both, static libraries and program symbol import
 16 #endif
 17 
 18 #if defined _VOS2
 19 #define ADKCOM_MARK_DEPRECATED(why) __attribute__((deprecated(why)))
 20 #else
 21 #define ADKCOM_MARK_DEPRECATED(why) __attribute__((deprecated))
 22 #endif
 23 
 24 #ifdef __cplusplus
 25 extern "C" {
 26 #endif
 27 
 28 #include <sys/types.h>
 29 
 31 enum com_NetworkStatus {
 32  COM_NETWORK_STATUS_ERROR = 0,
 33  COM_NETWORK_STATUS_START = 1,
 34  COM_NETWORK_STATUS_STOP = 2
 35 };
 36 
 38 enum com_WaitStatus {
 39  COM_CONNECTION_STATUS_CONNECT = 0,
 40  COM_CONNECTION_STATUS_FAIL = 1,
 41  COM_CONNECTION_STATUS_TIMEOUT = 2,
 42  COM_CONNECTION_STATUS_ERROR = 3
 43 };
 44 
 46 enum com_WaitNetStatus {
 47  COM_NET_STATUS_OK = 0,
 48  COM_NET_STATUS_FAIL = 1,
 49  COM_NET_STATUS_TIMEOUT = 2,
 50  COM_NET_STATUS_ERROR = 3
 51 };
 52 
 54 enum com_ConnectionEvent {
 55  COM_EVENT_CONNECTION_ESTABLISHED = 0,
 56  COM_EVENT_CONNECTION_NEXT = 1,
 57  COM_EVENT_CONNECTION_FAILED = 2,
 58  COM_EVENT_PROFILE_FAILED = 3,
 59  COM_EVENT_SSL_PASSWORD_REQUIRED = 4,
 60  COM_EVENT_SSL_PKCS12_PASSWORD_REQUIRED = COM_EVENT_SSL_PASSWORD_REQUIRED,
 61  COM_EVENT_SSL_CONFIRM_POLICY_OVERRIDE = 5,
 62  COM_EVENT_SSL_PKEY_PASSWORD_REQUIRED = 6,
 63  COM_EVENT_CONNECTION_SKIPPED = 7,
 64  COM_EVENT_CONNECTION_LISTENING = 8
 65 };
 66 
 67 enum com_ConnectionState {
 68  COM_CON_STATE_ACTIVE = 0,
 69  COM_CON_STATE_PARAM_INVALID = 1,
 70  COM_CON_STATE_PARAM_NO_CON = 2,
 71  COM_CON_STATE_RESET = 3,
 72  COM_CON_STATE_REMOTE_CLOSING = 4,
 73  COM_CON_STATE_TIMEDOUT = 5
 74 };
 75 
 77 enum com_NetworkEvent {
 78  COM_EVENT_INVALID = 0,
 79  COM_EVENT_NETWORK_INTERFACE_UP = 1,
 80  COM_EVENT_NETWORK_INTERFACE_DOWN = 2,
 81  COM_EVENT_NETWORK_LINK_UP = 3,
 82  COM_EVENT_NETWORK_LINK_DOWN = 4,
 83  COM_EVENT_NETWORK_SIGNAL = 5,
 84  COM_EVENT_NETWORK_RECONNECT = 6,
 85  COM_EVENT_SIM_PIN_REQUEST = 7,
 86  COM_EVENT_SIM_PUK_REQUEST = 8,
 87  COM_EVENT_SIM2_PIN_REQUEST = 18,
 88  COM_EVENT_SIM2_PUK_REQUEST = 19,
 89  COM_EVENT_NETWORK_PACKET_SWITCH = 9,
 90  COM_EVENT_INTERNAL_PING = 10,
 91  COM_EVENT_BT_CONFIRM_PAIR_REQUEST = 11,
 92  COM_EVENT_BT_PAIR_DONE = 12,
 93  COM_EVENT_BT_DISCOV_TO_ELAPSED = 13,
 94  COM_EVENT_NETWORK_FAILED = 14,
 96  COM_EVENT_BT_SPP_SERVER_CONNECTED = 15,
 97  COM_EVENT_BT_SPP_SERVER_DISCONNECTED = 16,
 98  COM_EVENT_GEOFENCE_VIOLATION = 17,
 100  COM_EVENT_BT_EXT_PIN = 20,
 101  COM_EVENT_BT_EXT_CONFIRM = 21,
 102  COM_EVENT_BT_EXT_VISUALIZE = 22,
 103  COM_EVENT_BT_EXT_TIMEOUT = 23,
 104  COM_EVENT_BT_EXT_FAILED = 24,
 105  COM_EVENT_BT_EXT_SUCCESS = 25,
 107  COM_EVENT_NETWORK_ATTACH = 26,
 110  COM_EVENT_NETWORK_DETACH = 27,
 113  COM_EVENT_DEVICE_PWR_OFF = 28,
 114  COM_EVENT_DEVICE_PWR_ON = 29,
 115  COM_EVENT_NETWORK_SIGNAL_EXT = 30,
 116  COM_EVENT_REG_STATUS_CHANGE = 31,
 117  COM_EVENT_SIM_SLOT_SWITCH = 32,
 118  COM_EVENT_PD_REG_STATUS_CHANGE = 33,
 119  COM_EVENT_PD_EVENT = 34,
 121  COM_EVENT_BLE_EXT_PIN = 41,
 122  COM_EVENT_BLE_EXT_CONFIRM = 42,
 123  COM_EVENT_BLE_EXT_VISUALIZE = 43,
 124  COM_EVENT_BLE_EXT_TIMEOUT = 44,
 125  COM_EVENT_BLE_EXT_FAILED = 45,
 126  COM_EVENT_BLE_EXT_SUCCESS = 46,
 127  COM_EVENT_WLAN_AP_DISCONNECT = 47,
 128  COM_EVENT_WLAN_AP_CONNECT = 48,
 129 };
 130 
 131 enum com_WirelessScanEvent {
 132  COM_EVENT_WIRELESS_SCAN_SUCCESS = 1,
 133  COM_EVENT_WIRELESS_SCAN_FAILURE = 2
 134 };
 135 
 136 enum com_DataFormat {
 137  COM_DATA_FORMAT_FLAT = 0
 138 };
 139 
 140 enum com_OrangePortNumber {
 141  COM_ORANGE_PORT_NONE = 0,
 142  COM_ORANGE_PORT_1 = 1,
 143  COM_ORANGE_PORT_2 = 2,
 144  COM_ORANGE_PORT_3 = 3,
 145  COM_ORANGE_PORT_4 = 4,
 146 };
 147 
 148 #ifndef ADKCOM_3_0
 149 #define com_DeviceProperityInt com_DevicePropertyInt
 150 #define com_DeviceProperityString com_DevicePropertyString
 151 #define COM_PROP_SUPP_INTERFACES COM_PROP_SUPPORTED_FEATURES_1
 152 #define com_InterfaceMask com_FeatureMask1
 153 #define COM_LAN_1 COM_FEATURE1_LAN_1
 154 #define COM_LAN_2 COM_FEATURE1_LAN_2
 155 #define COM_GPRS COM_FEATURE1_GPRS
 156 #define COM_UMTS COM_FEATURE1_UMTS
 157 #define COM_ISDN COM_FEATURE1_ISDN
 158 #define COM_MODEM COM_FEATURE1_MODEM
 159 #define COM_SERIAL_1 COM_FEATURE1_SERIAL_1
 160 #define COM_SERIAL_2 COM_FEATURE1_SERIAL_2
 161 #define COM_SERIAL_3 COM_FEATURE1_SERIAL_3
 162 #define COM_SERIAL_4 COM_FEATURE1_SERIAL_4
 163 #define COM_SERIAL_5 COM_FEATURE1_SERIAL_5
 164 #define COM_SERIAL_6 COM_FEATURE1_SERIAL_6
 165 #define COM_USB COM_FEATURE1_USB
 166 #define COM_BLUETOOTH COM_FEATURE1_BLUETOOTH
 167 #define COM_WIFI COM_FEATURE1_WIFI
 168 #define COM_MDB COM_FEATURE1_MDB
 169 #define COM_RS485 COM_FEATURE1_RS485
 170 #define COM_SERIAL_USBD COM_FEATURE1_SERIAL_USBD
 171 #define COM_LAN_USBD COM_FEATURE1_LAN_USBD
 172 #define COM_SERIAL_COM1A COM_FEATURE1_SERIAL_COM1A
 173 #define COM_SERIAL_COM1B COM_FEATURE1_SERIAL_COM1B
 174 #define COM_SERIAL_COM1C COM_FEATURE1_SERIAL_COM1C
 175 #define COM_SERIAL_COM1D COM_FEATURE1_SERIAL_COM1D
 176 #define COM_SERIAL_COM1E COM_FEATURE1_SERIAL_COM1E
 177 #define COM_LAN_USBH COM_FEATURE1_LAN_USBH
 178 #define COM_BC_READER COM_FEATURE1_BC_READER
 179 #define COM_USBSER COM_FEATURE1_USBSER
 180 #define COM_LAN_USBD1 COM_FEATURE1_LAN_USBD1
 181 #define COM_BLE COM_FEATURE1_BLE
 182 #define COM_4G_LTE COM_FEATURE1_4G_LTE
 183 #define COM_DUAL_SIM COM_FEATURE1_DUAL_SIM
 184 #endif
 185 
 187 enum com_FeatureMask1 {
 188  COM_FEATURE1_LAN_1 = 1 << 0,
 189  COM_FEATURE1_LAN_2 = 1 << 1,
 190  COM_FEATURE1_GPRS = 1 << 2,
 191  COM_FEATURE1_UMTS = 1 << 3,
 192  COM_FEATURE1_ISDN = 1 << 4,
 193  COM_FEATURE1_MODEM = 1 << 5,
 194  COM_FEATURE1_SERIAL_1 = 1 << 6,
 195  COM_FEATURE1_SERIAL_2 = 1 << 7,
 196  COM_FEATURE1_SERIAL_3 = 1 << 8,
 197  COM_FEATURE1_SERIAL_4 = 1 << 9,
 198  COM_FEATURE1_SERIAL_5 = 1 << 10,
 199  COM_FEATURE1_SERIAL_6 = 1 << 11,
 200  COM_FEATURE1_USB = 1 << 12,
 201  COM_FEATURE1_BLUETOOTH = 1 << 13,
 202  COM_FEATURE1_WIFI = 1 << 14,
 203  COM_FEATURE1_MDB = 1 << 15,
 204  COM_FEATURE1_RS485 = 1 << 16,
 205  COM_FEATURE1_SERIAL_USBD = 1 << 17,
 206  COM_FEATURE1_LAN_USBD = 1 << 18,
 207  COM_FEATURE1_SERIAL_COM1A = 1 << 19,
 208  COM_FEATURE1_SERIAL_COM1B = 1 << 20,
 209  COM_FEATURE1_SERIAL_COM1C = 1 << 21,
 210  COM_FEATURE1_SERIAL_COM1D = 1 << 22,
 211  COM_FEATURE1_SERIAL_COM1E = 1 << 23,
 212  COM_FEATURE1_LAN_USBH = 1 << 24,
 213  COM_FEATURE1_BC_READER = 1 << 25,
 214  COM_FEATURE1_USBSER = 1 << 26,
 215  COM_FEATURE1_LAN_USBD1 = 1 << 27,
 216  COM_FEATURE1_BLE = 1 << 28,
 217  COM_FEATURE1_4G_LTE = 1 << 29,
 218  COM_FEATURE1_DUAL_SIM = 1 << 30
 219 };
 220 
 222 enum com_FeatureMask2 {
 223  COM_FEATURE2_PPP_SERIAL = 1 << 0,
 224  COM_FEATURE2_USBGADGET_SERIAL = 1 << 1,
 225  COM_FEATURE2_USBGADGET_ETH_RNDIS = 1 << 2,
 226  COM_FEATURE2_USBGADGET_SERIAL_RNDIS = 1 << 3,
 227  COM_FEATURE2_USBGADGET_SERIAL_ECM = 1 << 4,
 228  COM_FEATURE2_USBGADGET_ETH_ECM = 1 << 5,
 229  COM_FEATURE2_USBGADGET_ETH_ECMx2 = 1 << 6,
 230  COM_FEATURE2_USBGADGET_SERIAL_ECMx2 = 1 << 7,
 231  COM_FEATURE2_BRIDGING = 1 << 8,
 232  COM_FEATURE2_CSD = 1 << 9,
 233  COM_FEATURE2_IBEACON = 1 << 10,
 234  COM_FEATURE2_EDDYSTONE = 1 << 11,
 235  COM_FEATURE2_GPRS_SIGNAL_EVENTS = 1 << 12,
 236  COM_FEATURE2_BT_PAIR_EXT = 1 << 13,
 237  COM_FEATURE2_BT_GATT = 1 << 14,
 238  COM_FEATURE2_WIFI_SIGNAL_EVENTS = 1 << 15,
 239  COM_FEATURE2_BT_VIRTUAL_CHANNELS = 1 << 16,
 240  COM_FEATURE2_BT_GATT_SERIAL = 1 << 17,
 241  COM_FEATURE2_DEVICE_NO_AUTOPOWER = 1 << 18,
 242  COM_FEATURE2_BASE_COMMUNICATIONS = 1 << 19,
 243  COM_FEATURE2_BT_GATT_BEACON_CTL = 1 << 20,
 244  COM_FEATURE2_USB_PORT_1_CONFIG = 1 << 21,
 245  COM_FEATURE2_USB_PORT_2_CONFIG = 1 << 22,
 246  COM_FEATURE2_USB_PORT_1_GADGET_CONFIG = 1 << 23,
 247  COM_FEATURE2_USB_PORT_2_GADGET_CONFIG = 1 << 24,
 248  COM_FEATURE2_SERIAL_USBD2 = 1 << 25,
 249  COM_FEATURE2_LAN_USBD2 = 1 << 26,
 250  COM_FEATURE2_LAN_USBD3 = 1 << 27,
 251  COM_FEATURE2_RADIO_POWER_PROFILE = 1 << 28,
 252  COM_FEATURE2_DUAL_BAND_WIFI = 1 << 29,
 253  COM_FEATURE2_IPV6 = 1 << 30
 254 };
 255 
 257 enum com_FeatureMask3 {
 258  COM_FEATURE3_AUTO_RECONNECT = 1 << 0,
 259  COM_FEATURE3_SIM_TOOLKIT = 1 << 1,
 260  COM_FEATURE3_USSD = 1 << 2,
 261  COM_FEATURE3_WLAN_BAND_SELECTION = 1 << 3,
 262  COM_FEATURE3_DHCP_CONFIG_PARAMS = 1 << 4,
 263  COM_FEATURE3_GRANULAR_RADIO_RESTART = 1 << 5,
 264  COM_FEATURE3_TETHERING = 1 << 6,
 265  COM_FEATURE3_LAN_802_1X_EAP = 1 << 7,
 266  COM_FEATURE3_BASE_GET_SET_CONFIG = 1 << 8,
 267  COM_FEATURE3_USBGADGET_IAP2 = 1 << 9,
 268  COM_FEATURE3_SIM_ACCESS = 1 << 10,
 269  COM_FEATURE3_USBGADGET_ETH_NCM = 1 << 11,
 270  COM_FEATURE3_USBGADGET_SERIAL_NCM = 1 << 12,
 271  COM_FEATURE3_USBGADGET_ETH_EEM = 1 << 13,
 272  COM_FEATURE3_USBGADGET_SERIAL_EEM = 1 << 14,
 273  COM_FEATURE3_ORANGE_PORT_MGMT = 1 << 15,
 274  COM_FEATURE3_ORANGE_ETH_SWITCH_MGMT = 1 << 16,
 275  COM_FEATURE3_WIFI_FAST_ROAMING_80211R = 1 << 17,
 276  COM_FEATURE3_MANUAL_DNS = 1 << 18,
 277  COM_FEATURE3_MANUAL_DNS6 = 1 << 19,
 278  COM_FEATURE3_LTE_CAT_M1 = 1 << 30,
 279 };
 280 
 282 enum com_DevicePropertyInt {
 283  COM_PROP_SUPPORTED_FEATURES_1 = 0,
 284  COM_PROP_SUPPORTED_FEATURES_2 = 46,
 285  COM_PROP_SUPPORTED_FEATURES_3 = 53,
 286  COM_PROP_GSM_SIGNAL_QUALITY = 1,
 287  COM_PROP_GSM_SIGNAL_ERROR_RATE = 2,
 288  COM_PROP_GSM_SIM_PRESENT = 3,
 289  COM_PROP_GSM_PIN_COUNT = 4,
 290  COM_PROP_GSM_SIGNAL_RSSI = 5,
 291  COM_PROP_GSM_SIGNAL_PERCENTAGE = 6,
 292  COM_PROP_GSM_SIGNAL_DBM = 7,
 293  COM_PROP_GSM_SIGNAL_STRENGTH = 49,
 294  COM_PROP_GSM_ROAM_STATUS = 8,
 295  COM_PROP_GSM_FREQ = 9,
 296  COM_PROP_GSM_RADIO_ACCESS_TECH = 10,
 297  COM_PROP_RADIO_ACCESS_TECH = 10,
 298  COM_PROP_GPRS_PACKET_SWITCH = 11,
 299  COM_PROP_POWER_MANAGEMENT_MODE = 12,
 300  COM_PROP_VERBOSITY = 13,
 301  COM_PROP_WLAN_SIGNAL_PERCENTAGE = 14,
 302  COM_PROP_WLAN_SIGNAL_DBM = 15,
 303  COM_PROP_WLAN_FREQ = 16,
 304  COM_PROP_ETH_0_LINK_STATUS = 17,
 305  COM_PROP_ETH_1_LINK_STATUS = 18,
 306  COM_PROP_ETH_BT_LINK_STATUS = 19,
 307  COM_PROP_BT_DISCOVERABLE = 20,
 308  COM_PROP_BT_DISCOVERY_TIMEOUT = 21,
 309  /* Gap is intended: #22 occupied */
 310  COM_PROP_BT_SSP_CONFIRMATION = 23,
 311  COM_PROP_BT_CONFIRM_PAIR = 24,
 312  COM_PROP_BT_IBEACON_STATUS = 25,
 313  COM_PROP_BT_IBEACON_OFF = 26,
 314  COM_PROP_USB_GADGET_MODE = 27,
 319  COM_PROP_ETH_USB_GADGET_LINK_STATUS = 28,
 320  COM_PROP_WLAN_SIGNAL_THRESHOLD = 29,
 321  COM_PROP_GSM_SIGNAL_THRESHOLD = 30,
 322  COM_PROP_BT_GET_SPP0_CONFIG = 31,
 323  COM_PROP_BT_GET_SPP2_CONFIG = 32,
 324  COM_PROP_GSM_GET_SIM_STATUS = 33,
 325  COM_PROP_ETH_USB_HOST_GADGET_LINK_STATUS = 34,
 326  COM_PROP_USB1_MODE = 35,
 327  COM_PROP_USB2_MODE = 36,
 328  COM_PROP_USB_GADGET_MODE_ACTIVE = 37,
 329  COM_PROP_ETH_USB1_GADGET_LINK_STATUS = 38,
 330  COM_PROP_SELECT_SIM_SLOT = 39,
 331  COM_PROP_RAW_MODEM_CURRENT_MODULATION = 40,
 332  COM_PROP_RAW_MODEM_CURRENT_SPEED_RX = 41,
 333  COM_PROP_RAW_MODEM_CURRENT_SPEED_TX = 42,
 334  COM_PROP_PPP_MODEM_CURRENT_MODULATION = 43,
 335  COM_PROP_PPP_MODEM_CURRENT_SPEED_RX = 44,
 336  COM_PROP_PPP_MODEM_CURRENT_SPEED_TX = 45,
 337  /* Gap is intended: #46 already used by COM_PROP_SUPPORTED_FEATURES_2 */
 338  COM_PROP_INTERNAL_LOG_CLEAR = 47,
 339  COM_PROP_MODEM_LINK_STATUS = 48,
 340  /* Gap is intended: #49 already used by COM_PROP_GSM_SIGNAL_STRENGTH */
 341  COM_PROP_ETH_0_LINK_SPEED = 50,
 342  COM_PROP_ETH_1_LINK_SPEED = 51,
 343  COM_PROP_GSM_POWER_PROFILE = 52,
 344  /* Gap is intended: #53 already used by COM_PROP_SUPPORTED_FEATURES_3 */
 345  COM_PROP_GSM_CONFIGURED_RAT = 54,
 346  COM_PROP_WLAN_ROAM_THRESHOLD_2_4GHZ = 55,
 347  COM_PROP_WLAN_ROAM_THRESHOLD_5GHZ = 56,
 348  COM_PROP_WLAN_BAND_SELECTION = 57,
 349  COM_PROP_BASE_ETH_V4_ENABLEMENT = 58,
 350  COM_PROP_BASE_ETH_V6_ENABLEMENT = 59,
 351  COM_PROP_IPV6_CONFIG_MODE = 60,
 352  COM_PROP_WLAN_GENERATION = 61,
 353  COM_PROP_ORANGE_USB_A_5V_OUT = 62,
 354  COM_PROP_ORANGE_USB_RJ45_5V_OUT = 63,
 355  COM_PROP_ORANGE_PoUSB_RJ45_12V_IN = 64,
 356  COM_PROP_ORANGE_USB_RJ45_DATA = 65,
 357  COM_PROP_ORANGE_PoSERIAL_12V_IN = 66,
 358  COM_PROP_ORANGE_SERIAL_DATA = 67,
 359  COM_PROP_ORANGE_UPLINK_PORT = 68,
 360 };
 361 
 362 /* Following property symbols got renamed - old names may get removed in future */
 363 #define COM_PROP_ORANGE_D3_USB_A_5V_OUT (COM_PROP_ORANGE_USB_A_5V_OUT) 
 364 #define COM_PROP_ORANGE_D2_D3_USB_RJ45_5V_OUT (COM_PROP_ORANGE_USB_RJ45_5V_OUT) 
 365 #define COM_PROP_ORANGE_D2_D3_PoUSB_RJ45_12V_IN (COM_PROP_ORANGE_PoUSB_RJ45_12V_IN) 
 366 #define COM_PROP_ORANGE_D2_D3_USB_RJ45_DATA (COM_PROP_ORANGE_USB_RJ45_DATA) 
 367 #define COM_PROP_ORANGE_D3_PoSERIAL_12V_IN (COM_PROP_ORANGE_PoSERIAL_12V_IN) 
 368 #define COM_PROP_ORANGE_D3_SERIAL_DATA (COM_PROP_ORANGE_SERIAL_DATA) 
 371 enum com_DevicePropertyString {
 372  COM_PROP_GSM_SIM_PIN = 100,
 373  COM_PROP_GSM_SIM_PUK = 101,
 374  COM_PROP_GSM_SIM_PIN_NEW = 102,
 375  COM_PROP_GSM_PROVIDER_NAME = 103,
 376  COM_PROP_GSM_PROVIDER_NAME_LONG = COM_PROP_GSM_PROVIDER_NAME,
 377  COM_PROP_GSM_MCC = 104,
 378  COM_PROP_GSM_MNC = 105,
 379  COM_PROP_GSM_HOME_MCC = 106,
 380  COM_PROP_GSM_HOME_MNC = 107,
 381  COM_PROP_GSM_HOME_OPERATOR = 108,
 382  COM_PROP_GSM_LAC = 109,
 383  COM_PROP_GSM_CELL_ID = 110,
 384  COM_PROP_GSM_IMEI = 111,
 385  COM_PROP_GSM_IMSI = 112,
 386  COM_PROP_GSM_SIM_ID = 113,
 387  COM_PROP_WLAN_SSID = 114,
 388  COM_PROP_WLAN_BSSID = 115,
 389  COM_PROP_WLAN_SITE_SURVEY = 116,
 390  COM_PROP_BT_SCAN = 117,
 391  COM_PROP_BT_PAIRING_STATUS = 118,
 392  COM_PROP_BT_CONNECTION_STATUS = 119,
 393  COM_PROP_BT_IBEACON_ON = 120,
 397  COM_PROP_GSM_SCAN = 121,
 398  COM_PROP_BT_LOCAL_NAME = 122,
 399  COM_PROP_BT_SERVICE_DISCOVERY = 123,
 400  COM_PROP_INTERNAL_LOG = 124,
 401  COM_PROP_3GPP_ERRORS = 125,
 402  COM_PROP_BT_PAIRING_LIST = 126,
 404  COM_PROP_BT_SERVICE_EXT_SPP = 127,
 405  COM_PROP_WLAN_COUNTRY_REG_DOM = 128,
 406  COM_PROP_BT_PAIRED_SERVICE_EXT_SPP = 129,
 407  COM_PROP_BT_PAIRED_SERVICE_DISCOVERY = 130,
 408  COM_PROP_GSM_PREFERRED_OPERATOR_LIST = 131,
 409  COM_PROP_BT_OWN_ADDR = 132,
 410  COM_PROP_BT_OWN_NAME = 133,
 411  COM_PROP_GSM_CONNECTED_APN = 134,
 412  COM_PROP_NEIGHBOR_TABLE = 135,
 413  COM_PROP_GSM_PROVIDER_NAME_SHORT = 136,
 414  COM_PROP_GSM_MODULE_INFO = 137,
 415  COM_PROP_GSM_SERVICE_PROVIDER_NAME = 138,
 416  COM_PROP_ETH_LINK_SPEED_EXT = 139,
 417  COM_PROP_WLAN_LINK_INFO = 140,
 418  COM_PROP_ORANGE_DONGLE_INFO = 141,
 424  COM_PROP_ORANGE_DONGLE_ETHERNET_INFO = 142,
 425  COM_PROP_ORANGE_DONGLE_ETHERNET_PORT_ACTIVATION = 143,
 426  COM_PROP_ORANGE_DONGLE_ETHERNET_PORT_STATCOUNT = 144,
 427  COM_PROP_WLAN_LIST = 145,
 428 };
 429 
 431 enum com_ConnectionType {
 432  COM_CONNECTION_TYPE_NONE = 0,
 433  COM_CONNECTION_TYPE_TCP = 1,
 434  COM_CONNECTION_TYPE_UDP = 2,
 435  COM_CONNECTION_TYPE_SSL = 3,
 436  COM_CONNECTION_TYPE_RAW_MODEM = 4,
 437  COM_CONNECTION_TYPE_RAW_GSM = 5,
 438  COM_CONNECTION_TYPE_RAW_CSD = 5,
 439  COM_CONNECTION_TYPE_RAW_ISDN = 6,
 440  COM_CONNECTION_TYPE_RAW_SERIAL = 7,
 441  COM_CONNECTION_TYPE_WS = 8,
 442  COM_CONNECTION_TYPE_WSS = 9
 443 };
 444 
 446 enum com_NetworkType {
 447  COM_NETWORK_TYPE_NONE = 0,
 448  COM_NETWORK_TYPE_LAN = 1,
 449  COM_NETWORK_TYPE_PPP_MODEM = 2,
 450  COM_NETWORK_TYPE_PPP_GPRS = 3,
 451  COM_NETWORK_TYPE_WLAN = 4,
 452  COM_NETWORK_TYPE_PPP_SERIAL = 5,
 453  COM_NETWORK_TYPE_PPP_CSD = 6,
 454  COM_NETWORK_TYPE_LOOP_LOCAL = 7
 455 };
 456 
 458 enum com_ErrorCodes {
 459  COM_ERR_NONE = 0,
 461  COM_ERR_INVALID_HANDLE = 1,
 462  COM_ERR_INVALID_PARAM = 2,
 463  COM_ERR_ALREADY_INIT = 3,
 464  COM_ERR_NO_INIT = 4,
 465  COM_ERR_ALREADY_EST = 5,
 466  COM_ERR_DAEMON_COM = 6,
 467  COM_ERR_DAEMON_INVALID = 7,
 468  COM_ERR_DAEMON_INVALID_REQUEST = 8,
 469  COM_ERR_DAEMON_INTERNAL = 9,
 470  COM_ERR_CON_NOFILE = 10,
 471  COM_ERR_CON_NOINFOSVC = 11,
 472  COM_ERR_CON_CORRUPT = 12,
 473  COM_ERR_CON_INVALID = 13,
 474  COM_ERR_CON_SOCKET = 14,
 475  COM_ERR_CON_USED = 15,
 476  COM_ERR_CON_NOTREADY = 16,
 477  COM_ERR_CON_AGAIN = 17,
 478  COM_ERR_CON_SEVERED = 18,
 479  COM_ERR_CON_CANCEL = 19,
 480  COM_ERR_CON_INVALIDHOST = 20,
 481  COM_ERR_CON_TIMEOUT = 21,
 482  COM_ERR_CON_SSL = 22,
 483  COM_ERR_CON_SSL_VERIFY = 23,
 484  COM_ERR_CON_SSL_CERT = 24,
 485  COM_ERR_CON_SSL_KEY = 25,
 486  COM_ERR_CON_SSL_INTERUPT = 26,
 487  COM_ERR_CON_SSL_CIPHERSET = 27,
 488  COM_ERR_CON_SSL_BUSY = 28,
 489  COM_ERR_CON_SSL_PROTOCOL = 29,
 490  COM_ERR_CON_SSL_PASSWORD = 30,
 491  COM_ERR_NET_NOFILE = 31,
 492  COM_ERR_NET_CORRUPT = 32,
 493  COM_ERR_NET_INVALID = 33,
 494  COM_ERR_NET_NOATTACH = 34,
 495  COM_ERR_NET_NOEXIST = 35,
 496  COM_ERR_NET_DENY = 36,
 497  COM_ERR_NET_NOSUPPORT = 37,
 498  COM_ERR_NET_TIMEOUT = 38,
 499  COM_ERR_NET_SIM_VERIFY = 39,
 500  COM_ERR_NET_ALREADY_UP = 40,
 501  COM_ERR_NET_DOWN = 41,
 502  COM_ERR_NET_PPP_AUTH_FAIL = 42,
 503  COM_ERR_NET_PPP_FAIL = 43,
 504  COM_ERR_PROP_NOEXIST = 44,
 505  COM_ERR_PROP_DENY = 45,
 506  COM_ERR_PROP_RDONLY = 46,
 507  COM_ERR_PROP_WRONLY = 47,
 508  COM_ERR_PROP_BUF = 48,
 509  COM_ERR_DEV_INTERNAL = 49,
 510  COM_ERR_DEV_NOSIM = 50,
 511  COM_ERR_DEV_GSM_PWR = 51,
 512  COM_ERR_DEV_PIN_PUK_VERIFY = 52,
 513  COM_ERR_DEV_IN_USE = 53,
 514  COM_ERR_DEV_BATTERY = 54,
 515  COM_ERR_DEV_DETACHED = 55,
 516  COM_ERR_DEV_NO_CARRIER = 56,
 517  COM_ERR_DEV_NO_DIAL_TONE = 57,
 518  COM_ERR_DEV_NO_ANSWER = 58,
 519  COM_ERR_DEV_SDLC_FAIL = 59,
 520  COM_ERR_DEV_LINE_IN_USE = 60,
 521  COM_ERR_DEV_BUSY = 61,
 522  COM_ERR_NO_RESOURCES = 62,
 523  COM_ERR_DEV_NO_CABLE = 63,
 524  COM_ERR_NO_PROFILE_NODE = 64,
 525  COM_ERR_DEV_OPEN = 65,
 526  COM_ERR_DEV_POWER = 66,
 527  COM_ERR_OP_AMBIGUOUS = 67,
 528  COM_ERR_NET_BT_PAIR_PENDING = 68,
 529  COM_ERR_NET_BT_PAIR_FAILED = 69,
 530  COM_ERR_NET_BT_PAN_NOCONN = 70,
 531  COM_ERR_NET_BT_OUTOFRANGE = 71,
 532  COM_ERR_DEV_PIN_REQUIRED = 72,
 533  COM_ERR_DEV_NO_MODEM_PROFILE = 73,
 534  COM_ERR_OS_OPERATION_FAILED = 74,
 535  COM_ERR_NOT_DOCKED = 75,
 536  COM_ERR_TRY_AGAIN = 76,
 537  COM_ERR_NET_NOT_CONNECTED = 77,
 538  COM_ERR_NET_WRONG_CREDENTIALS = 78,
 539  COM_ERR_NET_BIND = 79,
 540  COM_ERR_PING_MSG_TOO_LONG = 80,
 541  COM_ERR_NET_SIM_ERROR = 81,
 542  COM_ERR_CON_PROXY = 82,
 543  COM_ERR_DHCP = 83,
 544  COM_ERR_DEV_SIM_MEMORY_FULL = 84,
 545  COM_SYSTEM_ERRNO_BASE = 1000
 548 };
 549 
 551 enum com_Interfaces {
 552  COM_INTERFACE_NONE = 0,
 553  COM_INTERFACE_ETH0 = 1,
 554  COM_INTERFACE_ETH1 = 2,
 555  COM_INTERFACE_GPRS0 = 3,
 557  COM_INTERFACE_DIAL = 4,
 558  COM_INTERFACE_PPP_DIAL = 5,
 560  COM_INTERFACE_CSD = 41,
 562  COM_INTERFACE_SERIAL_COM1 = 6,
 563  COM_INTERFACE_SERIAL_COM2 = 7,
 564  COM_INTERFACE_SERIAL_COM3 = 8,
 565  COM_INTERFACE_SERIAL_COM4 = 9,
 566  COM_INTERFACE_SERIAL_COM5 = 10,
 567  COM_INTERFACE_SERIAL_COM6 = 11,
 568  COM_INTERFACE_SERIAL_USBD = 12,
 569  COM_INTERFACE_SERIAL_USBD2 = 48,
 570  COM_INTERFACE_SERIAL_USB_DYN = 35,
 571  COM_INTERFACE_SERIAL_BC_READER = 37,
 572  COM_INTERFACE_SERIAL_USBSER = 40,
 573  COM_INTERFACE_SERIAL_GATT = 43,
 575  COM_INTERFACE_WLAN0 = 13,
 577  COM_INTERFACE_BT = 14,
 578  COM_INTERFACE_ETH_BT = 15,
 579  COM_INTERFACE_PPP_BT = 16,
 580  COM_INTERFACE_DIAL_BT = 17,
 581  COM_INTERFACE_SERIAL_BT_SPP0 = 18,
 582  COM_INTERFACE_SERIAL_BT_SPP1 = 19,
 583  COM_INTERFACE_SERIAL_BT_SPP2 = 20,
 584  COM_INTERFACE_SERIAL_BT_SPP = 45,
 585  COM_INTERFACE_SERIAL_BT_SPP_SERVER = 49,
 587  COM_INTERFACE_ETH_USB_GADGET = 21,
 588  COM_INTERFACE_ETH_USB1_GADGET = 38,
 589  COM_INTERFACE_ETH_USB2_GADGET = 46,
 590  COM_INTERFACE_ETH_USB3_GADGET = 47,
 592  COM_INTERFACE_SERIAL_COM1A = 22,
 593  COM_INTERFACE_SERIAL_COM1B = 23,
 594  COM_INTERFACE_SERIAL_COM1C = 24,
 595  COM_INTERFACE_SERIAL_COM1D = 25,
 596  COM_INTERFACE_SERIAL_COM1E = 26,
 598  COM_INTERFACE_PPP_COM1 = 27,
 599  COM_INTERFACE_PPP_COM2 = 28,
 600  COM_INTERFACE_PPP_COM3 = 29,
 601  COM_INTERFACE_PPP_COM4 = 30,
 602  COM_INTERFACE_PPP_COM5 = 31,
 603  COM_INTERFACE_PPP_COM6 = 32,
 604  COM_INTERFACE_PPP_USBD = 33,
 605  COM_INTERFACE_PPP_USB_DYN = 36,
 606  COM_INTERFACE_PPP_CSD = 42,
 608  COM_INTERFACE_ETH_USB_HOST_GADGET = 34,
 610  /* 35 occupied by COM_INTERFACE_SERIAL_USB_DYN, see above */
 611  /* 36 occupied by COM_INTERFACE_PPP_USB_DYN, see above */
 612  /* 37 occupied by COM_INTERFACE_SERIAL_BC_READER, see above */
 613  /* 38 occupied by COM_INTERFACE_ETH_USB1_GADGET, see above */
 614 
 615  COM_INTERFACE_BRIDGE = 39,
 617  /* 40 occupied by COM_INTERFACE_SERIAL_USBSER, see above */
 618  /* 41 occupied by COM_INTERFACE_CSD, see above */
 619  /* 42 occupied by COM_INTERFACE_PPP_CSD, see above */
 620  /* 43 occupied by COM_INTERFACE_SERIAL_GATT, see above */
 621 
 622  COM_INTERFACE_LOOP_LOCAL = 44,
 623 
 624  /* 45 occupied by COM_INTERFACE_SERIAL_BT_SPP, see above */
 625  /* 46 occupied by COM_INTERFACE_ETH_USB2_GADGET, see above */
 626  /* 47 occupied by COM_INTERFACE_ETH_USB3_GADGET, see above */
 627  /* 48 occupied by COM_INTERFACE_SERIAL_USBD2, see above */
 628  /* 49 occupied by COM_INTERFACE_SERIAL_BT_SPP_SERVER, see above */
 629 
 630  COM_INTERFACE_PPP_BT_SPP = 50,
 632  COM_INTERFACE_ANY = 200
 633 };
 634 
 636 enum com_EthernetSpeed {
 637  COM_ETH_SPEED_AUTO = 0,
 638  COM_ETH_SPEED_100M_FD = 1,
 639  COM_ETH_SPEED_100M_HD = 2,
 640  COM_ETH_SPEED_10M_FD = 3,
 641  COM_ETH_SPEED_10M_HD = 4
 642 };
 643 
 645 enum com_WLANBSSType {
 646  COM_WLAN_BSS_TYPE_INFRA = 0,
 647 #ifndef ADKCOM_3_0
 648  COM_WLAN_BSS_TYPE_ADHOC = 1
 649 #endif
 650 };
 651 
 653 enum com_WLANAuthAlg {
 654  COM_WLAN_AUTH_NONE = 0,
 655  COM_WLAN_AUTH_OPEN = 1,
 656 #ifndef ADKCOM_3_0
 657  COM_WLAN_AUTH_SHARED = 2
 658 #endif
 659 };
 660 
 662 enum com_WLANProto {
 663  COM_WLAN_PROTO_AUTO = 0,
 664  COM_WLAN_PROTO_WPA_WPA2 = COM_WLAN_PROTO_AUTO,
 665  COM_WLAN_PROTO_WPA = 1,
 666  COM_WLAN_PROTO_RSN = 2,
 667  COM_WLAN_PROTO_WPA2 = COM_WLAN_PROTO_RSN,
 668 #ifndef ADKCOM_3_0
 669  COM_WLAN_PROTO_WEP = 3
 670 #endif
 671 };
 672 
 674 enum com_WLANStandard {
 675  COM_WLAN_STANDARD_WPA = 0,
 676  COM_WLAN_STANDARD_WPA2 = 1,
 677  COM_WLAN_STANDARD_WPA_WPA2 = 2,
 678  COM_WLAN_STANDARD_WPA3 = 3,
 679  COM_WLAN_STANDARD_WPA2_WPA3 = 4
 680 };
 681 
 683 enum com_WLANKeyMgmt {
 684  COM_WLAN_KEY_MGMT_PSK = 0,
 685  COM_WLAN_KEY_MGMT_EAP = 1,
 686 #ifndef ADKCOM_3_0
 687  COM_WLAN_KEY_MGMT_NONE = 2,
 688 #endif
 689  COM_WLAN_KEY_MGMT_SAE = 3,
 690  COM_WLAN_KEY_MGMT_EAP_SHA256 = 4,
 691 };
 692 
 694 enum com_WLANCipherTypes {
 695  COM_WLAN_CIPHER_CCMP_TKIP = 0,
 696  COM_WLAN_CIPHER_AUTO = COM_WLAN_CIPHER_CCMP_TKIP,
 697  COM_WLAN_CIPHER_TKIP = 1,
 698  COM_WLAN_CIPHER_CCMP = 2,
 699 #ifndef ADKCOM_3_0
 700  COM_WLAN_CIPHER_WEP = 3,
 701 #endif
 702  COM_WLAN_CIPHER_NONE = 4
 703 };
 704 
 706 enum com_WLANEAPType {
 707  COM_WLAN_EAP_TYPE_NONE = 0,
 708  COM_WLAN_EAP_TYPE_TLS = 1,
 709  COM_WLAN_EAP_TYPE_PEAP = 2,
 710  COM_WLAN_EAP_TYPE_FAST = 3,
 711  COM_WLAN_EAP_TYPE_TTLS = 4,
 712  COM_WLAN_EAP_TYPE_PWD = 5,
 713  COM_WLAN_EAP_TYPE_PSK = 6,
 714  COM_WLAN_EAP_TYPE_GPSK = 7
 715 };
 716 
 718 enum com_LANEAPType {
 719  COM_LAN_EAP_TYPE_NONE = COM_WLAN_EAP_TYPE_NONE,
 720  COM_LAN_EAP_TYPE_TLS = COM_WLAN_EAP_TYPE_TLS,
 721  COM_LAN_EAP_TYPE_PEAP = COM_WLAN_EAP_TYPE_PEAP,
 722  COM_LAN_EAP_TYPE_FAST = COM_WLAN_EAP_TYPE_FAST,
 723  COM_LAN_EAP_TYPE_TTLS = COM_WLAN_EAP_TYPE_TTLS,
 724  COM_LAN_EAP_TYPE_PWD = COM_WLAN_EAP_TYPE_PWD,
 725  COM_LAN_EAP_TYPE_PSK = COM_WLAN_EAP_TYPE_PSK,
 726  COM_LAN_EAP_TYPE_GPSK = COM_WLAN_EAP_TYPE_GPSK
 727 };
 728 
 730 enum com_WLANVisibility {
 731  COM_WLAN_SSID_VISIBLE = 0,
 732  COM_WLAN_SSID_HIDDEN = 1
 733 };
 734 
 736 enum com_RadioACT {
 737  COM_GPRS_ACT_2G = 0,
 738  COM_GPRS_ACT_3G = 1,
 739  COM_GPRS_ACT_4G = 2,
 741  COM_RADIO_ACCESS_TECHNOLOGY_2G = COM_GPRS_ACT_2G,
 742  COM_RADIO_ACCESS_TECHNOLOGY_3G = COM_GPRS_ACT_3G,
 743  COM_RADIO_ACCESS_TECHNOLOGY_4G = COM_GPRS_ACT_4G,
 744  COM_RADIO_ACCESS_TECHNOLOGY_AUTO = 3,
 745  COM_RADIO_ACCESS_TECHNOLOGY_LTE_CAT_M1 = 4
 746 };
 747 
 749 enum com_RadioFreq {
 750  COM_GSM_FREQ_UNKNOWN = 0,
 751  COM_GSM_FREQ_500 = 500,
 752  COM_GSM_FREQ_700 = 700,
 753  COM_GSM_FREQ_850 = 850,
 754  COM_GSM_FREQ_900 = 900,
 755  COM_GSM_FREQ_1800 = 1800,
 756  COM_GSM_FREQ_1900 = 1900,
 757  COM_GSM_FREQ_2100 = 2100
 758 };
 759 
 761 enum com_DialType {
 762  COM_DIAL_TONE = 0,
 763  COM_DIAL_PULSE = 1
 764 };
 765 
 767 enum com_DialMode {
 768  COM_DIAL_ASYNC = 0,
 769  COM_DIAL_SYNC = 1
 770 };
 771 
 773 enum com_Modulation {
 774  COM_MOD_V92 = 0,
 775  COM_MOD_BELL103 = 1,
 776  COM_MOD_BELL212 = 2,
 777  COM_MOD_V21 = 3,
 778  COM_MOD_V22 = 4,
 779  COM_MOD_V22bis = 5,
 780  COM_MOD_V32 = 6,
 781  COM_MOD_V32bis = 7,
 782  COM_MOD_V34 = 8,
 783  COM_MOD_V90 = 9,
 784  COM_MOD_AUTO = 10,
 785  COM_MOD_V23 = 11
 786 };
 787 
 788 enum com_ModulationCSD {
 789  COM_MOD_CSD_AUTO = 0,
 790  COM_MOD_CSD_V22BIS_2400 = 1,
 791  COM_MOD_CSD_V32_4800 = 2,
 792  COM_MOD_CSD_V32_9600 = 3,
 793  COM_MOD_CSD_V34_14400 = 4,
 794  COM_MOD_CSD_V110_2400 = 5,
 795  COM_MOD_CSD_V110_4800 = 6,
 796  COM_MOD_CSD_V110_9600 = 7,
 797  COM_MOD_CSD_V110_14400 = 8
 798 };
 799 
 801 enum com_ISDNProt {
 802  COM_ISDN_X31B = 0,
 803  COM_ISDN_X75 = 1,
 804  COM_ISDN_TRANSP = 2,
 805  COM_ISDN_HDLC = 3
 806 };
 807 
 809 enum com_ErrorCorrection {
 810  COM_ERRCOR_V42_MNP = 0,
 811  COM_ERRCOR_NONE = 1,
 812  COM_ERRCOR_V42_MNP_ONLY = 2,
 813  COM_ERRCOR_V42_ONLY = 3,
 814  COM_ERRCOR_MNP_ONLY = 4,
 815  COM_ERRCOR_AUTO = 5
 816 };
 817 
 819 enum com_FastConnect {
 820  COM_FASTCONNECT_DISABLE = 0,
 821  COM_FASTCONNECT_ENABLE = 1
 822 };
 823 
 825 enum com_Compression {
 826  COM_COMPR_NONE = 0,
 827  COM_COMPR_V42_MNP = 1,
 828  COM_COMPR_AUTO = 2
 829 };
 830 
 832 enum com_PPPAuth {
 833  COM_PPP_PAP = 0,
 834  COM_PPP_NONE = 1,
 835  COM_PPP_CHAP = 2,
 836  COM_PPP_CHAP_PAP = 3
 837 };
 838 
 840 enum com_StartupMode {
 841  COM_STARTUP_AUTO = 0,
 842  COM_STARTUP_ONDEMAND = 1
 843 };
 844 
 846 enum com_SSLVersion {
 847  COM_SSL_NOVERSION = 0,
 848  COM_SSL_TLS1_2 = 1,
 849  COM_SSL_TLS1_1 = 2,
 850  COM_SSL_TLS1_0 = 3,
 851  COM_SSL_SSL23 = 4,
 852  COM_SSL_SSL3 = 5,
 853  COM_SSL_TLS1_3 = 6
 854 };
 855 
 857 enum com_SSL23MinVersion {
 858  COM_SSL23MIN_ALL = 0,
 859  COM_SSL23MIN_TLS1_2 = 1,
 860  COM_SSL23MIN_TLS1_1 = 2,
 861  COM_SSL23MIN_TLS1_0 = 3,
 862  COM_SSL23MIN_SSL3 = 4,
 863  COM_SSL23MIN_TLS1_3 = 5,
 864 };
 865 
 867 #define COM_SSL_POLICY_IGNORE_NONE ((int) 0) 
 868 #define COM_SSL_POLICY_IGNORE_ALL (1 << 0) 
 869 #define COM_SSL_POLICY_IGNORE_CERT_SELF_SIGNED (1 << 1) 
 870 #define COM_SSL_POLICY_IGNORE_CERT_HAS_EXPIRED (1 << 2) 
 871 #define COM_SSL_POLICY_IGNORE_CERT_NOT_YET_VALID (1 << 3) 
 872 #define COM_SSL_POLICY_IGNORE_HOSTNAME_CHECK (1 << 4) 
 873 #define COM_SSL_POLICY_IGNORE_CA_KEY_TOO_SMALL (1 << 5) 
 874 #define COM_SSL_POLICY_IGNORE_CA_MD_TOO_WEAK (1 << 6) 
 877 enum com_SerialBaudrate {
 878  COM_SERIAL_BAUD_INVALID = 0,
 879  COM_SERIAL_BAUD_300 = 300,
 880  COM_SERIAL_BAUD_600 = 600,
 881  COM_SERIAL_BAUD_1200 = 1200,
 882  COM_SERIAL_BAUD_2400 = 2400,
 883  COM_SERIAL_BAUD_4800 = 4800,
 884  COM_SERIAL_BAUD_9600 = 9600,
 885  COM_SERIAL_BAUD_19200 = 19200,
 886  COM_SERIAL_BAUD_38400 = 38400,
 887  COM_SERIAL_BAUD_57600 = 57600,
 888  COM_SERIAL_BAUD_115200 = 115200,
 889  COM_SERIAL_BAUD_460800 = 460800,
 890  COM_SERIAL_BAUD_921600 = 921600,
 891  COM_SERIAL_BAUD_1000000 = 1000000,
 892  COM_SERIAL_BAUD_1152000 = 1152000,
 893  COM_SERIAL_BAUD_1500000 = 1500000,
 894  COM_SERIAL_BAUD_2000000 = 2000000,
 895  COM_SERIAL_BAUD_2500000 = 2500000,
 896  COM_SERIAL_BAUD_3000000 = 3000000,
 897  COM_SERIAL_BAUD_3500000 = 3500000,
 898  COM_SERIAL_BAUD_4000000 = 4000000
 899 };
 900 
 902 enum com_SerialParity {
 903  COM_SERIAL_PAR_INVALID = 0,
 904  COM_SERIAL_PAR_NONE = 1,
 905  COM_SERIAL_PAR_ODD = 2,
 906  COM_SERIAL_PAR_EVEN = 3
 907 };
 908 
 910 enum com_SerialDatabits {
 911  COM_SERIAL_DATAB_INVALID = 0,
 912  COM_SERIAL_DATAB_5 = 5,
 913  COM_SERIAL_DATAB_6 = 6,
 914  COM_SERIAL_DATAB_7 = 7,
 915  COM_SERIAL_DATAB_8 = 8
 916 };
 917 
 919 enum com_SerialStopbits {
 920  COM_SERIAL_STOPB_INVALID = 0,
 921  COM_SERIAL_STOPB_ONE = 1,
 922  COM_SERIAL_STOPB_TWO = 2
 923 };
 924 
 926 enum com_SerialFlowcontrol {
 927  COM_SERIAL_FLOW_INVALID = 0,
 928  COM_SERIAL_FLOW_NONE = 1,
 929  COM_SERIAL_FLOW_HARDWARE = 2,
 930  COM_SERIAL_FLOW_SOFTWARE = 3
 931 };
 932 
 934 enum com_IPV6Mode {
 935  COM_IPV6_MODE_INVALID = 0,
 936  COM_IPV6_MODE_STATIC = 1,
 937  COM_IPV6_MODE_AUTO = 2
 938 };
 939 
 940 enum com_IPV6Config {
 941  COM_IPV6_CONFIG_GENERAL = 0,
 942  COM_IPV6_CONFIG_MALAYSIA = 1
 943 };
 944 
 946 enum com_ProfilePropertyInt {
 947  COM_PROFILE_PROP_INT_PORT = 0,
 948  COM_PROFILE_PROP_INT_CONNECTION_TIMEOUT = 1,
 949  COM_PROFILE_PROP_INT_IP_CON_TIMEOUT = 69,
 950  COM_PROFILE_PROP_INT_NETWORK_TIMEOUT = 2,
 951  COM_PROFILE_PROP_INT_SSL_VERSION = 3,
 952  COM_PROFILE_PROP_INT_SSL_CHECK_EXPIRATION = 4,
 953  COM_PROFILE_PROP_INT_INTERFACE = 5,
 954  COM_PROFILE_PROP_INT_STARTUP_MODE = 6,
 958  COM_PROFILE_PROP_INT_MODEM_DIAL_MODE = 7,
 959  COM_PROFILE_PROP_INT_MODEM_DIAL_TYPE = 8,
 960  COM_PROFILE_PROP_INT_MODEM_DIAL_MODULATION = 9,
 961  COM_PROFILE_PROP_INT_MODEM_DIAL_COMPRESSION = 10,
 962  COM_PROFILE_PROP_INT_MODEM_DIAL_BLIND_DIAL = 11,
 963  COM_PROFILE_PROP_INT_MODEM_DIAL_ERR_CORR = 12,
 965 #ifndef ADKCOM_3_0
 966  COM_PROFILE_PROP_INT_RAW_PSTN_DIAL_MODE = 7,
 967  COM_PROFILE_PROP_INT_RAW_PSTN_DIAL_TYPE = 8,
 968  COM_PROFILE_PROP_INT_RAW_PSTN_DIAL_MODULATION = 9,
 969  COM_PROFILE_PROP_INT_RAW_PSTN_DIAL_COMPRESSION = 10,
 970  COM_PROFILE_PROP_INT_RAW_PSTN_DIAL_BLIND_DIAL = 11,
 971  COM_PROFILE_PROP_INT_RAW_PSTN_DIAL_ERR_CORR = 12,
 973  COM_PROFILE_PROP_INT_RAW_ISDN_DIAL_MODE = 14,
 974  COM_PROFILE_PROP_INT_RAW_ISDN_DIAL_TYPE = 15,
 975  COM_PROFILE_PROP_INT_RAW_ISDN_DIAL_MODULATION = 16,
 976  COM_PROFILE_PROP_INT_RAW_ISDN_DIAL_COMPRESSION = 17,
 977  COM_PROFILE_PROP_INT_RAW_ISDN_DIAL_BLIND_DIAL = 18,
 978  COM_PROFILE_PROP_INT_RAW_ISDN_DIAL_ERR_CORR = 19,
 979 #endif
 980 
 981  COM_PROFILE_PROP_INT_DHCP = 21,
 983  COM_PROFILE_PROP_INT_PPP_IDLE_TIMEOUT_SEC = 22,
 984  COM_PROFILE_PROP_INT_PPP_AUTH = 23,
 985 #ifndef ADKCOM_3_0
 986  COM_PROFILE_PROP_INT_PPPGPRS_IDLE_TIMEOUT_SEC = 22,
 987  COM_PROFILE_PROP_INT_PPPGPRS_AUTH = 23,
 989  COM_PROFILE_PROP_INT_PPPMODEM_IDLE_TIMEOUT_SEC = 24,
 990  COM_PROFILE_PROP_INT_PPPMODEM_AUTH = 25,
 992  COM_PROFILE_PROP_INT_PPPMODEM_DIAL_MODE = 26,
 993  COM_PROFILE_PROP_INT_PPPMODEM_DIAL_TYPE = 27,
 994  COM_PROFILE_PROP_INT_PPPMODEM_DIAL_MODULATION = 28,
 995  COM_PROFILE_PROP_INT_PPPMODEM_DIAL_COMPRESSION = 29,
 996  COM_PROFILE_PROP_INT_PPPMODEM_DIAL_BLIND_DIAL = 30,
 997  COM_PROFILE_PROP_INT_PPPMODEM_DIAL_ERR_CORR = 31,
 998 #endif
 999 
 1000  COM_PROFILE_PROP_INT_NETWORK_TYPE = 32,
 1002  COM_PROFILE_PROP_INT_WLAN_AUTH_ALG = 33,
 1003  COM_PROFILE_PROP_INT_WLAN_BSS_TYPE = 34,
 1004  COM_PROFILE_PROP_INT_WLAN_CHANNEL = 35,
 1005  COM_PROFILE_PROP_INT_WLAN_CIPHER_GROUP = 36,
 1006 #ifndef ADKCOM_3_0
 1007  COM_PROFILE_PROP_INT_WLAN_CIPHER_GROUPWISE = COM_PROFILE_PROP_INT_WLAN_CIPHER_GROUP,
 1008 #endif
 1009  COM_PROFILE_PROP_INT_WLAN_CIPHER_PAIRWISE = 37,
 1010 #ifndef ADKCOM_3_0
 1011  COM_PROFILE_PROP_INT_WLAN_WEP_INDEX = 38,
 1012 #endif
 1013  COM_PROFILE_PROP_INT_WLAN_EAP_TYPE = 39,
 1014  COM_PROFILE_PROP_INT_WLAN_KEY_MGMT = 45,
 1015  COM_PROFILE_PROP_INT_WLAN_PROTO = 46,
 1016  COM_PROFILE_PROP_INT_WLAN_VISIBILITY = 61,
 1018  COM_PROFILE_PROP_INT_RAW_SERIAL_BAUDRATE = 40,
 1019  COM_PROFILE_PROP_INT_RAW_SERIAL_PARITY = 41,
 1020  COM_PROFILE_PROP_INT_RAW_SERIAL_DATABITS = 42,
 1021  COM_PROFILE_PROP_INT_RAW_SERIAL_STOPBITS = 43,
 1022  COM_PROFILE_PROP_INT_RAW_SERIAL_FLOWCONTROL = 44,
 1024  COM_PROFILE_PROP_INT_SERVER = 45,
 1025  COM_PROFILE_PROP_INT_SSL_MUTUAL = 46,
 1026  COM_PROFILE_PROP_INT_SSL_POLICY = 47,
 1027  COM_PROFILE_PROP_INT_BAUDRATE = COM_PROFILE_PROP_INT_RAW_SERIAL_BAUDRATE,
 1028  COM_PROFILE_PROP_INT_PARITY = COM_PROFILE_PROP_INT_RAW_SERIAL_PARITY,
 1029  COM_PROFILE_PROP_INT_DATABITS = COM_PROFILE_PROP_INT_RAW_SERIAL_DATABITS,
 1030  COM_PROFILE_PROP_INT_STOPBITS = COM_PROFILE_PROP_INT_RAW_SERIAL_STOPBITS,
 1031  COM_PROFILE_PROP_INT_TCP_MAXSEG = 48,
 1032  COM_PROFILE_PROP_INT_TCP_FIN_TIMEOUT = 49,
 1033  COM_PROFILE_PROP_INT_MODEM_FAST_CONNECT = 50,
 1034  COM_PROFILE_PROP_INT_IPV6_ENABLED = 51,
 1035  COM_PROFILE_PROP_INT_IPV6_MODE = 52,
 1036  COM_PROFILE_PROP_INT_IPV6_GLOBAL_PREFIX = 53,
 1037  COM_PROFILE_PROP_INT_IPV6_UNIQUE_LOCAL_PREFIX = 54,
 1038  COM_PROFILE_PROP_INT_IPV4_ENABLED = 55,
 1039  COM_PROFILE_PROP_INT_SSL23_MINVERSION = 56,
 1040  COM_PROFILE_PROP_INT_BIND = 57,
 1041  COM_PROFILE_PROP_INT_SIM_SLOT = 58,
 1042  COM_PROFILE_PROP_INT_CSD_MODULATION = 59,
 1043  COM_PROFILE_PROP_INT_SO_REUSEADDR = 60,
 1044  // 61 is used by COM_PROFILE_PROP_INT_WLAN_VISIBILITY above*/
 1045  COM_PROFILE_PROP_INT_SO_LINGER = 62,
 1046  COM_PROFILE_PROP_INT_SO_LINGER_TIMEOUT = 63,
 1047  COM_PROFILE_PROP_INT_SHARED_CONNECTION = 64,
 1048  COM_PROFILE_PROP_INT_RESTRICT_LOCAL = 65,
 1049  COM_PROFILE_PROP_INT_LCP_RESTART = 66,
 1050  COM_PROFILE_PROP_INT_DNS_TIMEOUT = 67,
 1051  COM_PROFILE_PROP_INT_PORT_SERVER = 68,
 1054  // 69 Used by COM_PROFILE_PROP_INT_IP_CON_TIMEOUT
 1055 
 1056  COM_PROFILE_PROP_LAST_SOCKET_ERROR = 70,
 1057  COM_PROFILE_PROP_DHCP_IPV4_TIMEOUT = 71,
 1058  COM_PROFILE_PROP_DHCP_IPV4_RETRY_COUNT = 72,
 1059  COM_PROFILE_PROP_DHCP_IPV4_RETRY_WAIT = 73,
 1060  COM_PROFILE_PROP_INT_SSL_POLICY_EXT = 74,
 1061  COM_PROFILE_PROP_INT_WLAN_EAP_ALLOW_WEAK_KEY = 75,
 1062  COM_PROFILE_PROP_INT_MOBILE_RECONF_LEVEL = 76,
 1063  COM_PROFILE_PROP_INT_MOBILE_PDP_RETRIES = 77,
 1064  COM_PROFILE_PROP_INT_WLAN_EAP_ALLOW_TLSV1 = 78,
 1065  COM_PROFILE_PROP_INT_LAN_EAP_ALLOW_WEAK_KEY = 79,
 1066  COM_PROFILE_PROP_INT_LAN_EAP_ALLOW_TLSV1 = 80,
 1067  COM_PROFILE_PROP_INT_LAN_EAP_TYPE = 81,
 1068  COM_PROFILE_PROP_INT_MIN_SIGNAL_PERCENT = 82,
 1069  COM_PROFILE_PROP_INT_SPP_CHANNEL = 83,
 1070  COM_PROFILE_PROP_INT_DISABLE_COMPRESSION = 84,
 1071  COM_PROFILE_PROP_INT_MTU = 85,
 1072  COM_PROFILE_PROP_INT_TCP_USER_TIMEOUT = 86,
 1074  COM_PROFILE_PROP_INT_MANUAL_DNS = 87,
 1075  COM_PROFILE_PROP_INT_WLAN_FT_MODE = 88,
 1076  COM_PROFILE_PROP_INT_MANUAL_DNS6 = 89,
 1078 };
 1079 
 1081 enum com_ProfilePropertyString {
 1082  COM_PROFILE_PROP_STRING_NETWORKNAME = 0,
 1083  COM_PROFILE_PROP_STRING_NETWORKNAME_FULL = 1,
 1085  COM_PROFILE_PROP_STRING_ADDRESS = 2,
 1086  COM_PROFILE_PROP_STRING_IPADDRESS = 40,
 1088  COM_PROFILE_PROP_STRING_SSL_CA_CERT_FILE = 3,
 1089  COM_PROFILE_PROP_STRING_SSL_CA_CERT_DIR = 4,
 1090  COM_PROFILE_PROP_STRING_SSL_OWN_CERT_FILE = 5,
 1091  COM_PROFILE_PROP_STRING_SSL_OWN_PKEY_FILE = 6,
 1092  COM_PROFILE_PROP_STRING_SSL_PKCS12_FILE = 7,
 1093  COM_PROFILE_PROP_STRING_SSL_CIPHER_LIST = 8,
 1095  COM_PROFILE_PROP_STRING_RAW_PSTN_PABX = 9,
 1096  COM_PROFILE_PROP_STRING_RAW_PSTN_ADDR = 10,
 1097  COM_PROFILE_PROP_STRING_RAW_ISDN_PABX = 11,
 1098  COM_PROFILE_PROP_STRING_RAW_ISDN_ADDR = 12,
 1099  COM_PROFILE_PROP_STRING_RAW_ISDN_X25_NUMBER = 13,
 1100  COM_PROFILE_PROP_STRING_RAW_ISDN_USER_DATA = 14,
 1102  COM_PROFILE_PROP_STRING_OWN_IP_ADDR = 15,
 1103  COM_PROFILE_PROP_STRING_OWN_NETMASK = 16,
 1104  COM_PROFILE_PROP_STRING_OWN_GATEWAY = 17,
 1105  COM_PROFILE_PROP_STRING_OWN_DNS1 = 18,
 1106  COM_PROFILE_PROP_STRING_OWN_DNS2 = 19,
 1107 #ifndef ADKCOM_3_0
 1108  COM_PROFILE_PROP_STRING_LAN_OWN_IP_ADDR = 15,
 1109  COM_PROFILE_PROP_STRING_LAN_OWN_NETMASK = 16,
 1110  COM_PROFILE_PROP_STRING_LAN_OWN_GATEWAY = 17,
 1111  COM_PROFILE_PROP_STRING_LAN_OWN_DNS1 = 18,
 1112  COM_PROFILE_PROP_STRING_LAN_OWN_DNS2 = 19,
 1113 #endif
 1114 
 1115  COM_PROFILE_PROP_STRING_PPPGPRS_APN = 20,
 1117  COM_PROFILE_PROP_STRING_PPP_USERNAME = 21,
 1118  COM_PROFILE_PROP_STRING_PPP_PASSWORD = 22,
 1120  COM_PROFILE_PROP_STRING_PPPGPRS_USERNAME = 21,
 1121  COM_PROFILE_PROP_STRING_PPPGPRS_PASSWORD = 22,
 1123  COM_PROFILE_PROP_STRING_PPPGPRS_DIALSTRING = 23,
 1125  COM_PROFILE_PROP_STRING_PPPMODEM_PABX = 24,
 1126  COM_PROFILE_PROP_STRING_PPPMODEM_DIAL_NUMBER = 25,
 1127  COM_PROFILE_PROP_STRING_PPPMODEM_USERNAME = 26,
 1128  COM_PROFILE_PROP_STRING_PPPMODEM_PASSWORD = 27,
 1130  COM_PROFILE_PROP_STRING_WLAN_SSID = 28,
 1131  COM_PROFILE_PROP_STRING_WLAN_PSK = 29,
 1132 #ifndef ADKCOM_3_0
 1133  COM_PROFILE_PROP_STRING_WLAN_WEP_0 = 30,
 1134  COM_PROFILE_PROP_STRING_WLAN_WEP_1 = 31,
 1135  COM_PROFILE_PROP_STRING_WLAN_WEP_2 = 32,
 1136  COM_PROFILE_PROP_STRING_WLAN_WEP_3 = 33,
 1137 #endif
 1138  COM_PROFILE_PROP_STRING_WLAN_EAP_IDENTITY = 34,
 1139  COM_PROFILE_PROP_STRING_WLAN_EAP_ANONYMOUS_IDENTITY = 71,
 1140  COM_PROFILE_PROP_STRING_WLAN_EAP_PASSWORD = 35,
 1141  COM_PROFILE_PROP_STRING_WLAN_EAP_CACERT = 36,
 1142  COM_PROFILE_PROP_STRING_WLAN_EAP_CLIENTCERT = 37,
 1143  COM_PROFILE_PROP_STRING_WLAN_EAP_PRIVKEY = 38,
 1144  COM_PROFILE_PROP_STRING_WLAN_EAP_PRIVKEY_PWD = 39,
 1145  // 40 is COM_PROFILE_PROP_STRING_IPADDRESS
 1146  COM_PROFILE_PROP_STRING_COUNTRY_CODE = 41,
 1148  COM_PROFILE_PROP_STRING_OWN_IPV6_GLOBAL_ADDR = 44,
 1149  COM_PROFILE_PROP_STRING_OWN_IPV6_UNIQUE_LOCAL_ADDR = 45,
 1150  COM_PROFILE_PROP_STRING_OWN_IPV6_GATEWAY = 46,
 1151  COM_PROFILE_PROP_STRING_OWN_IPV6_DNS1 = 47,
 1152  COM_PROFILE_PROP_STRING_OWN_IPV6_DNS2 = 48,
 1153  COM_PROFILE_PROP_STRING_BIND_GW = 49,
 1154  COM_PROFILE_PROP_STRING_BIND_GW_V6 = 50,
 1155  COM_PROFILE_PROP_STRING_ADDR_FAMILY = 51,
 1156  COM_PROFILE_PROP_STRING_WLAN_EAP_PAC_FILE = 52,
 1157  COM_PROFILE_PROP_STRING_PPPCSD_DIAL_NUMBER = 53,
 1159  COM_PROFILE_PROP_STRING_OWN_DHCP_HOSTNAME = 54,
 1160  COM_PROFILE_PROP_STRING_WEBSOCK_HOST = 55,
 1161  COM_PROFILE_PROP_STRING_WEBSOCK_ORIGIN = 56,
 1162  COM_PROFILE_PROP_STRING_WEBSOCK_PATH = 57,
 1163  COM_PROFILE_PROP_STRING_WEBSOCK_PROTOCOL = 58,
 1164  COM_PROFILE_PROP_STRING_SSL_SNI_SERVERNAME = 59,
 1165  COM_PROFILE_PROP_STRING_WLAN_BAND = 60,
 1166  COM_PROFILE_PROP_STRING_OWN_DHCP_CLIENTID = 61,
 1167  COM_PROFILE_PROP_STRING_IPADDRESS_SERVER = 62,
 1169  COM_PROFILE_PROP_STRING_LAN_EAP_IDENTITY = 63,
 1170  COM_PROFILE_PROP_STRING_LAN_EAP_PASSWORD = 64,
 1171  COM_PROFILE_PROP_STRING_LAN_EAP_CACERT = 65,
 1172  COM_PROFILE_PROP_STRING_LAN_EAP_CLIENTCERT = 66,
 1173  COM_PROFILE_PROP_STRING_LAN_EAP_PRIVKEY = 67,
 1174  COM_PROFILE_PROP_STRING_LAN_EAP_PRIVKEY_PWD = 68,
 1175  COM_PROFILE_PROP_STRING_LAN_EAP_PAC_FILE = 69,
 1176  COM_PROFILE_PROP_STRING_LAN_EAP_ANONYMOUS_IDENTITY = 70,
 1177  /*71 taken by COM_PROFILE_PROP_STRING_WLAN_EAP_ANONYMOUS_IDENTITY*/
 1178  COM_PROFILE_PROP_STRING_SPP_BT_ADDR = 72,
 1179  COM_PROFILE_PROP_STRING_SPP_SVC_NAME = 73,
 1180 };
 1181 
 1183 struct com_networkEventData {
 1184  enum com_Interfaces network;
 1185  char *data1;
 1186 };
 1187 
 1189 enum com_BTProfileMask {
 1190  COM_BT_DUN = 1 << 0,
 1191  COM_BT_PAN = 1 << 1,
 1192  COM_BT_SPP = 1 << 2,
 1193  COM_BT_SPP1 = 1 << 3,
 1194  COM_BT_SPP2 = 1 << 4,
 1195  COM_BT_ERROR = 1 << 30
 1196 };
 1197 
 1199 enum com_BTConfigSPPPort {
 1200  COM_BT_CONFIG_SPP0 = 0,
 1201  COM_BT_CONFIG_SPP2 = 1
 1202 };
 1203 
 1204 #define COM_IPV4_ADDR_LENGTH (15 + 1) 
 1205 #define COM_IPV6_ADDR_LENGTH (47 + 1) 
 1206 #define COM_MAC_ADDR_LENGTH (17 + 1) 
 1207 #define COM_ETH_MAC_ADDR_LENGTH COM_MAC_ADDR_LENGTH 
 1210 struct com_IPConfig {
 1211  unsigned int dhcp;
 1212  char ip_addr[COM_IPV4_ADDR_LENGTH];
 1213  char netmask[COM_IPV4_ADDR_LENGTH];
 1214  char gateway[COM_IPV4_ADDR_LENGTH];
 1215  char dns1[COM_IPV4_ADDR_LENGTH];
 1216  char dns2[COM_IPV4_ADDR_LENGTH];
 1217  char mac[COM_ETH_MAC_ADDR_LENGTH];
 1218 };
 1219 
 1220 enum com_LinkType {
 1221  COM_LINK_ETHERNET = 0,
 1222  COM_LINK_POINT_TO_POINT = 1,
 1223  COM_LINK_LOCAL_LOOP = 2
 1224 };
 1225 
 1226 /* deprecated - will always be set to COM_IPV6_SCOPE_UNSPECIFIED */
 1227 enum com_IPv6_AddrScope {
 1228  COM_IPV6_SCOPE_UNSPECIFIED = 0,
 1229  COM_IPV6_SCOPE_GLOBAL = 1,
 1230  COM_IPV6_SCOPE_LINK_LOCAL = 2,
 1231  COM_IPV6_SCOPE_SITE_LOCAL = 3,
 1232  COM_IPV6_SCOPE_V4MAPPED = 4,
 1233  COM_IPV6_SCOPE_V4COMPAT = 5,
 1234  COM_IPV6_SCOPE_LOOPBACK = 6
 1235 };
 1236 
 1237 struct com_IPv6_Data {
 1238  struct com_IPv6_Data *next; // next chain element or NULL if end reached
 1239 
 1240  char IPV6_Addr[COM_IPV6_ADDR_LENGTH];
 1241  unsigned char IPV6_Addr_Prefixlen;
 1242  enum com_IPv6_AddrScope IPV6_Addr_Scope; /* deprecated - will always be set to COM_IPV6_SCOPE_UNSPECIFIED */
 1243 };
 1244 
 1246 struct com_NetworkInterfaceInfo {
 1247  enum com_NetworkStatus status;
 1248 
 1249  char IPV4_Addr[COM_IPV4_ADDR_LENGTH];
 1250  char IPV4_Netmask[COM_IPV4_ADDR_LENGTH];
 1251  char IPV4_Broadcast[COM_IPV4_ADDR_LENGTH];
 1252  char IPV4_Destination[COM_IPV4_ADDR_LENGTH];
 1253  char IPV4_Gateway[COM_IPV4_ADDR_LENGTH];
 1254  char IPV4_DNS1[COM_IPV4_ADDR_LENGTH];
 1255  char IPV4_DNS2[COM_IPV4_ADDR_LENGTH];
 1256  int IPV4_DHCP_Enabled;
 1257 
 1258  int IPV6_Supported;
 1259  int IPV6_Enabled;
 1260  struct com_IPv6_Data *IPV6_Address_List;
 1261  char IPV6_Gateway[COM_IPV6_ADDR_LENGTH];
 1262  char IPV6_DNS1[COM_IPV6_ADDR_LENGTH];
 1263  char IPV6_DNS2[COM_IPV6_ADDR_LENGTH];
 1264  int IPV6_DHCP_Enabled;
 1265 
 1266  unsigned int RX_Packets;
 1267  unsigned int RX_Errors;
 1268  unsigned int RX_Bytes;
 1269 
 1270  unsigned int TX_Packets;
 1271  unsigned int TX_Errors;
 1272  unsigned int TX_Bytes;
 1273 
 1274  char HW_Addr[COM_ETH_MAC_ADDR_LENGTH];
 1275  int MTU_Size;
 1276  int Link_Speed;
 1277  enum com_LinkType Link_Type;
 1278 };
 1279 
 1280 enum com_NetworkRouteProtocol {
 1281  COM_RTPROT_UNSPEC = 0,
 1282  COM_RTPROT_REDIRECT = 1,
 1283  COM_RTPROT_KERNEL = 2,
 1284  COM_RTPROT_BOOT = 3,
 1285  COM_RTPROT_STATIC = 4
 1286 };
 1287 
 1288 enum com_NetworkRouteScope {
 1289  COM_RT_SCOPE_UNIVERSE = 0,
 1290  COM_RT_SCOPE_SITE = 200,
 1291  COM_RT_SCOPE_LINK = 253,
 1292  COM_RT_SCOPE_HOST = 254,
 1293  COM_RT_SCOPE_NOWHERE = 255
 1294 };
 1295 
 1297 struct com_NetworkRouteInfo_IPv4 {
 1298  struct com_NetworkRouteInfo_IPv4 *next;
 1300  char ifName[16];
 1301  char dstAddr[COM_IPV4_ADDR_LENGTH];
 1302  char srcAddr[COM_IPV4_ADDR_LENGTH];
 1303  char gateWay[COM_IPV4_ADDR_LENGTH];
 1304  char dstNetmask[COM_IPV4_ADDR_LENGTH];
 1305  unsigned char dstPrefixlen;
 1306  unsigned int metric;
 1307  enum com_NetworkRouteScope scope;
 1308  enum com_NetworkRouteProtocol protocol;
 1309  int isDefaultRoute;
 1310 };
 1311 
 1313 struct com_NetworkRouteInfo_IPv6 {
 1314  struct com_NetworkRouteInfo_IPv6 *next;
 1316  char ifName[16];
 1317  char dstAddr[COM_IPV6_ADDR_LENGTH];
 1318  char srcAddr[COM_IPV6_ADDR_LENGTH];
 1319  char gateWay[COM_IPV6_ADDR_LENGTH];
 1320  unsigned char dstPrefixlen;
 1321  unsigned int metric;
 1322  enum com_NetworkRouteScope scope;
 1323  enum com_NetworkRouteProtocol protocol;
 1324  int isDefaultRoute;
 1325 };
 1326 
 1328 enum com_AddressFamily {
 1329  COM_AF_UNSPEC = 0,
 1330  COM_AF_INET = 1,
 1331  COM_AF_INET6 = 2
 1332 };
 1333 
 1335 enum com_PowerMgmtMask {
 1336  COM_GPRC_URC_OFF = 0x0000,
 1337  COM_GPRS_URC_RSSI = 0x0001,
 1338  COM_GPRS_URC_PACKET_SWITCH = 0x0002,
 1339  COM_ALL_NETWORK_STATUS_ON = 0x0004,
 1340  COM_ALL_NETWORK_STATUS_OFF = 0x0008
 1341 };
 1342 
 1344 enum com_PasswordType {
 1345  COM_PASSWORD_SSL = 0,
 1346  COM_PASSWORD_SSL_PKCS12 = COM_PASSWORD_SSL,
 1347  COM_PASSWORD_SSL_POLICY_ACCEPT = 1,
 1348  COM_PASSWORD_SSL_PKEY = 2
 1349 };
 1350 
 1352 enum com_BTPairMethod {
 1353  COM_BT_PAIR_AUTO = 0,
 1354  COM_BT_PAIR_LEGACY = 1,
 1355  COM_BT_PAIR_SSP_JUSTWORKS = 2,
 1356  COM_BT_PAIR_SSP_PASSKEY = 3
 1357 };
 1358 
 1360 enum com_WirelessNetworkType {
 1361  COM_WIRELESS_TYPE_BT = 0,
 1362  COM_WIRELESS_TYPE_WLAN = 1,
 1363  COM_WIRELESS_TYPE_GSM = 2,
 1364  COM_WIRELESS_TYPE_BT_SERVICES = 3,
 1365  COM_WIRELESS_TYPE_BT_SERVICES_EXT_SPP = 4,
 1366  COM_WIRELESS_TYPE_BT_PAIRED_SERVICES = 5,
 1367  COM_WIRELESS_TYPE_BT_PAIRED_SERVICES_EXT_SPP = 6
 1368 };
 1369 
 1370 enum com_SIMStatus {
 1371  COM_GPRS_SIM_READY = 0, /* SIM is ready and is "unlocked" */
 1372  COM_GPRS_SIM_NEEDS_PIN = 1, /* PIN is needed, SIM is not ready */
 1373  COM_GPRS_SIM_NEEDS_PUK = 2, /* PUK is needed, SIM is locked */
 1374  COM_GPRS_SIM_BUSY = 3, /* Currently the status cannot be obtained, try again later */
 1375  COM_GPRS_SIM_NOT_PRESENT = 4, /* There is currently no SIM present */
 1376  COM_GPRS_SIM_FAILURE = 5, /* SIM Failure */
 1377  COM_GPRS_SIM_WRONG = 6 /* SIM wrong */
 1378 };
 1379 
 1380 struct com_PingInfo {
 1381  unsigned int ntransmitted;
 1382  unsigned int nreceived;
 1383  unsigned long tavg;
 1384  unsigned long tmin;
 1385  unsigned long tmax;
 1386 };
 1387 
 1389 #define COM_SELECT_READ (1 << 0)
 1390 
 1391 #define COM_SELECT_WRITE (1 << 1)
 1392 
 1393 #define COM_SELECT_INTERRUPT (1 << 2)
 1394 
 1395 #define MAX_WLAN_SURVEY_COUNT 25 
 1396 #define COM_BT_COUNT "BT_COUNT" 
 1397 #define COM_WLAN_COUNT "WLAN_COUNT" 
 1398 #define COM_GSM_COUNT "GSM_COUNT" 
 1399 #define COM_LOG_COUNT "LOG_COUNT" 
 1402 #define COM_LINK_SPEED_EXT_INTERFACE "interface"
 1403 #define COM_LINK_SPEED_EXT_CONFIGURED "configured"
 1404 #define COM_LINK_SPEED_EXT_ACTIVE "active"
 1405 
 1407 enum com_USBGadgetMode {
 1408  COM_USBGADGET_DEFAULT = 0,
 1409  COM_USBGADGET_SERIAL = 1,
 1410  COM_USBGADGET_ETH_RNDIS = 2,
 1411  COM_USBGADGET_SERIAL_RNDIS = 3,
 1412  COM_USBGADGET_SERIAL_ECM = 4,
 1413  COM_USBGADGET_ETH_ECM = 5,
 1414  COM_USBGADGET_ETH_ECMx2 = 6,
 1415  COM_USBGADGET_SERIAL_ECMx2 = 7,
 1416  COM_USBGADGET_IAP2 = 8,
 1417  COM_USBGADGET_ETH_NCM = 9,
 1418  COM_USBGADGET_SERIAL_NCM = 10,
 1419  COM_USBGADGET_ETH_EEM = 11,
 1420  COM_USBGADGET_SERIAL_EEM = 12
 1421 };
 1422 
 1423 struct com_USBInfo {
 1424  struct com_USBInfo *next;
 1425  char manufacturer[256 + 1];
 1426  char product[256 + 1];
 1427  char serial[256 + 1];
 1428  char idVendor[4 + 1];
 1429  char idProduct[4 + 1];
 1430  char bcddevice[4 + 1];
 1431  char ttyDevice[16 + 1];
 1432 };
 1433 
 1434 enum com_USB_Mode {
 1435  COM_USB_MODE_DEFAULT = 1,
 1436  COM_USB_MODE_HOST = 2,
 1437  COM_USB_MODE_DEVICE = 3
 1438 };
 1439 
 1440 enum com_SimSlot {
 1441  COM_SIM_SLOT_CURRENT = 0,
 1442  COM_SIM_SLOT_1 = 1,
 1443  COM_SIM_SLOT_2 = 2
 1444 };
 1445 
 1446 struct com_MAC {
 1447  char MAC[COM_MAC_ADDR_LENGTH];
 1448 };
 1449 
 1450 enum com_BeaconPowerLevel {
 1451  COM_BEACON_POWER_LEVEL_ULTRA_LOW = 0,
 1452  COM_BEACON_POWER_LEVEL_LOW = 1,
 1453  COM_BEACON_POWER_LEVEL_MEDIUM = 2,
 1454  COM_BEACON_POWER_LEVEL_HIGH = 3
 1455 };
 1456 
 1457 enum com_BeaconURLPrefix {
 1458  COM_BEACON_URL_PREFIX_HTTP_WWW = 0,
 1459  COM_BEACON_URL_PREFIX_HTTPS_WWW = 1,
 1460  COM_BEACON_URL_PREFIX_HTTP = 2,
 1461  COM_BEACON_URL_PREFIX_HTTPS = 3
 1462 };
 1463 
 1464 struct com_EddystoneUID {
 1465  enum com_BeaconPowerLevel powerLevel;
 1466  unsigned int interval;
 1467  unsigned char namesp[10];
 1468  unsigned char instance[6];
 1469 };
 1470 
 1471 struct com_EddystoneURL {
 1472  enum com_BeaconPowerLevel powerLevel;
 1473  int interval;
 1474  enum com_BeaconURLPrefix url_prefix;
 1475  char url[18];
 1476 };
 1477 
 1478 struct com_EddystoneURLExt {
 1479  enum com_BeaconPowerLevel powerLevel;
 1480  int interval;
 1481  enum com_BeaconURLPrefix url_prefix;
 1482  char url[17];
 1483  size_t sz;
 1484 };
 1485 
 1486 struct com_IBeacon {
 1487  enum com_BeaconPowerLevel powerLevel;
 1488  int interval;
 1489  char uuid[16];
 1490  u_int16_t major;
 1491  u_int16_t minor;
 1492 };
 1493 
 1494 struct com_BLEAttribute {
 1495  short id; /* handle ID of the characteristic which is read or to be written (See "handle" attribute in GATT-Server XML)*/
 1496  size_t size; /* Size of the data which is read or is to be written or was read*/
 1497  unsigned char data[512]; /* Data. The data from 0 to 512 bytes. 512 bytes is the maximum length of one attribute. The amount of data used depends on size*/
 1498  void *ext; /* May be used in future for additional information. Reserved. Must be set by the application to 0*/
 1499 };
 1500 
 1501 enum com_BLEAttributeEvent {
 1502  COM_BLE_ATTR_EVENT_NOTIFY = 0,
 1503  COM_BLE_ATTR_EVENT_INDICATE = 1,
 1504  COM_BLE_ATTR_EVENT_CONNECT = 2,
 1505  COM_BLE_ATTR_EVENT_DISCONNECT = 3
 1506 };
 1507 
 1508 enum com_BLEStatusEvent {
 1509  COM_BLE_STATUS_EVENT_CONNECT = 2,
 1510  COM_BLE_STATUS_EVENT_DISCONNECT = 3
 1511 };
 1512 
 1514 enum com_Device {
 1515  COM_DEVICE_NONE = 0,
 1516  COM_DEVICE_WIFI = 1,
 1517  COM_DEVICE_BT = 2,
 1518  COM_DEVICE_MOBILE = 3
 1519 };
 1520 
 1522 enum com_DevicePowerMode {
 1523  COM_DEVICE_POWER_OFF = 0,
 1524  COM_DEVICE_POWER_ON = 1,
 1525  COM_DEVICE_POWER_HW_OFF = 2
 1526 };
 1527 
 1529 enum com_BaseNetworkMode {
 1530  COM_BASE_NET_ROUTER,
 1531  COM_BASE_NET_BRIDGE
 1532 };
 1533 
 1535 struct com_WirelessSignalQuality {
 1536  int percentage;
 1537  int rssi;
 1538  int dbm;
 1539 };
 1540 
 1542 enum com_WLANBand {
 1543  COM_WLAN_BAND_AUTO_SELECT,
 1544  COM_WLAN_BAND_2_4_GHZ,
 1545  COM_WLAN_BAND_5_GHZ
 1546 };
 1547 
 1548 enum com_RadioReconfigurationLevel {
 1549  COM_RECONFIGURE_MOBILE_OLD = -1, /* Use old API */
 1550  COM_RECONFIGURE_MOBILE_REGISTER = 0, /* Operator re-register / Re-Attach to PD / Set PDP Context / PPP Layer */
 1551  COM_RECONFIGURE_MOBILE_ATTACH = 1, /* Re-Attach to PD / Set PDP Context / PPP Layer */
 1552  COM_RECONFIGURE_MOBILE_PDP = 2, /* Set PDP Context / PPP Layer*/
 1553  COM_RECONFIGURE_MOBILE_PPP = 3, /* PPP Layer*/
 1554 };
 1555 
 1556 enum com_MobileOperatorRegistrationEvent {
 1557  COM_MOBILE_OP_EVENT_REG_NOT_REGISTERED = 0,
 1558  COM_MOBILE_OP_EVENT_REG_DENIED = 1,
 1559  COM_MOBILE_OP_EVENT_REG_SEARCHING_FOR_A_NEW_OPERATOR = 2,
 1560  COM_MOBILE_OP_EVENT_REG_FOREIGN_NETWORK = 3,
 1561  COM_MOBILE_OP_EVENT_REG_HOME_NETWORK = 4,
 1562  COM_MOBILE_OP_EVENT_REG_UNKNOWN = 5
 1563 };
 1564 
 1565 enum com_MobilePacketDomainRegistration {
 1566  COM_MOBILE_PD_EVENT_ATTACH_NOT_REGISTERED = 0,
 1567  COM_MOBILE_PD_EVENT_ATTACH_FOREIGN_NETWORK = 3,
 1568  COM_MOBILE_PD_EVENT_ATTACH_HOME_NETWORK = 4
 1569 };
 1570 
 1571 enum com_MobilePacketDomainEvent {
 1572  COM_MOBILE_PD_EVENT_NW_DEACT = 1,
 1573  COM_MOBILE_PD_EVENT_NW_ACT = 2,
 1574  COM_MOBILE_PD_EVENT_ME_ACT = 3,
 1575  COM_MOBILE_PD_EVENT_ME_DEACT = 4,
 1576  COM_MOBILE_PD_EVENT_PDN_ACT = 5,
 1577  COM_MOBILE_PD_EVENT_PDN_DEACT = 6,
 1578  COM_MOBILE_PD_EVENT_NW_DETACH = 7,
 1579  COM_MOBILE_PD_EVENT_ME_DETACH = 8,
 1580  COM_MOBILE_PD_EVENT_UNKNOWN = 9
 1581 };
 1582 
 1584 typedef void (*comCallbackConnectionType)(enum com_ConnectionEvent event, enum com_ConnectionType type, const void *data, void *priv, enum com_ErrorCodes com_errno);
 1585 
 1587 typedef void (*comCallbackNetworkType)(enum com_NetworkEvent event, enum com_NetworkType type, const void *data, void *priv, enum com_ErrorCodes com_errno);
 1588 
 1590 typedef void (*comCallbackWirelessScanType)(enum com_WirelessScanEvent event, enum com_WirelessNetworkType type, enum com_DataFormat format, const void *data, void *priv, enum com_ErrorCodes com_errno);
 1591 
 1593 typedef void (*comCallbackGATTCharacteristicChanged)(enum com_BLEAttributeEvent eventType, struct com_BLEAttribute *attribute, void *priv, enum com_ErrorCodes com_errno);
 1594 
 1596 typedef void (*comCallbackGATTStatus)(enum com_BLEStatusEvent eventType, struct com_MAC mac, void *priv, enum com_ErrorCodes com_errno);
 1597 
 1598 struct com_ConnectHandle;
 1599 typedef struct com_ConnectHandle com_NetworkHandle;
 1600 
 1605 DllSpec int com_Init(enum com_ErrorCodes *com_errno);
 1606 
 1611 DllSpec int com_Destroy(enum com_ErrorCodes *com_errno);
 1612 
 1621 DllSpec struct com_ConnectHandle *com_Connect(const char *connectionProfile, comCallbackConnectionType callback, void *priv, int timeout_msec, enum com_ErrorCodes *com_errno);
 1622 
 1630 DllSpec struct com_ConnectHandle *com_ConnectAsync(const char *connectionProfile, comCallbackConnectionType callback, void *priv, enum com_ErrorCodes *com_errno);
 1631 
 1638 DllSpec enum com_WaitStatus com_ConnectWait(struct com_ConnectHandle *handle, unsigned int timeout_msec, enum com_ErrorCodes *com_errno);
 1639 
 1648 DllSpec enum com_WaitNetStatus com_NetworkWait(com_NetworkHandle *handle, unsigned int timeout_msec, enum com_ErrorCodes *com_errno);
 1649 
 1656 DllSpec int com_ConnectGetFD(struct com_ConnectHandle *handle, enum com_ErrorCodes *com_errno);
 1657 
 1664 DllSpec int com_ConnectGetSslFD(struct com_ConnectHandle *handle, enum com_ErrorCodes *com_errno);
 1665 
 1672 DllSpec void *com_ConnectGetSslObj(struct com_ConnectHandle *handle, enum com_ErrorCodes *com_errno);
 1673 
 1680 DllSpec int com_ConnectClose(struct com_ConnectHandle *handle, enum com_ErrorCodes *com_errno);
 1681 
 1688 DllSpec int com_CloseNetworkHandle(com_NetworkHandle *handle, enum com_ErrorCodes *com_errno);
 1689 
 1695 DllSpec enum com_ConnectionType com_GetConnectionType(struct com_ConnectHandle *handle, enum com_ErrorCodes *com_errno);
 1696 
 1702 DllSpec int com_AttachNetwork(const char *networkProfile, enum com_ErrorCodes *com_errno);
 1703 
 1709 DllSpec com_NetworkHandle *com_AttachNetworkAsync(const char *networkProfile, enum com_ErrorCodes *com_errno);
 1710 
 1716 DllSpec int com_DetachNetwork(const char *networkProfile, enum com_ErrorCodes *com_errno);
 1717 
 1723 DllSpec com_NetworkHandle *com_DetachNetworkAsync(const char *networkProfile, enum com_ErrorCodes *com_errno);
 1724 
 1731 DllSpec enum com_NetworkStatus com_GetNetworkStatus(const char *networkProfile, enum com_ErrorCodes *com_errno);
 1732 
 1739 DllSpec int com_GetNetworkInfo(const char *networkProfile, struct com_IPConfig *ipconfig, enum com_ErrorCodes *com_errno);
 1740 
 1748 DllSpec int com_GetNetworkInterfaceInfo(enum com_Interfaces interface, struct com_NetworkInterfaceInfo **netinfo, enum com_ErrorCodes *com_errno);
 1749 
 1764 DllSpec int com_GetBaseNetworkInterfaceInfo(enum com_Interfaces interface, struct com_NetworkInterfaceInfo **netinfo, enum com_ErrorCodes *com_errno);
 1765 
 1769 DllSpec void com_NetworkInterfaceInfo_Free(struct com_NetworkInterfaceInfo *netinfo);
 1770 
 1774 DllSpec void com_NetworkInterfaceInfo_Free(struct com_NetworkInterfaceInfo *netinfo);
 1775 
 1782 DllSpec int com_GetDevicePropertyInt(enum com_DevicePropertyInt intProperty, int *value, enum com_ErrorCodes *com_errno);
 1783 
 1791 DllSpec int com_GetDevicePropertyString(enum com_DevicePropertyString stringProperty, char *buf, int len, enum com_ErrorCodes *com_errno);
 1792 
 1799 DllSpec int com_SetDevicePropertyInt(enum com_DevicePropertyInt intProperty, int value, enum com_ErrorCodes *com_errno);
 1800 
 1807 DllSpec int com_SetDevicePropertyString(enum com_DevicePropertyString stringProperty, const char *buf, enum com_ErrorCodes *com_errno);
 1808 
 1817 DllSpec int com_GetProfilePropertyInt(const void *data, enum com_ConnectionType type, enum com_ProfilePropertyInt intProperty, int *result, enum com_ErrorCodes *com_errno);
 1818 
 1829 DllSpec int com_GetProfilePropertyString(const void *data, enum com_ConnectionType type, enum com_ProfilePropertyString stringProperty, const char **result, enum com_ErrorCodes *com_errno);
 1830 
 1840 DllSpec int com_GetProfileNodePropertyInt(const void *data, enum com_ConnectionType type, enum com_ProfilePropertyInt intProperty, unsigned int which, int *result, enum com_ErrorCodes *com_errno);
 1841 
 1853 DllSpec int com_GetProfileNodePropertyString(const void *data, enum com_ConnectionType type, enum com_ProfilePropertyString stringProperty, unsigned int which, const char **result, enum com_ErrorCodes *com_errno);
 1854 
 1860 DllSpec int com_NetworkRestart(const char *networkProfile, enum com_ErrorCodes *com_errno);
 1861 
 1869 DllSpec int com_BaseNetworkRestart(const char *networkProfile, enum com_ErrorCodes *com_errno);
 1870 
 1877 DllSpec com_NetworkHandle *com_RestartNetworkAsync(const char *networkProfile, enum com_ErrorCodes *com_errno);
 1878 
 1900 DllSpec ssize_t com_Receive(struct com_ConnectHandle *handle, void *buffer, size_t size, enum com_ErrorCodes *com_errno);
 1901 
 1918 DllSpec ssize_t com_ReceiveFrom(struct com_ConnectHandle *handle, void *message, size_t length, enum com_AddressFamily *addr_type, char *addr, size_t addr_length, unsigned short *port, enum com_ErrorCodes *com_errno);
 1919 
 1939 DllSpec ssize_t com_Send(struct com_ConnectHandle *handle, const void *buffer, size_t size, enum com_ErrorCodes *com_errno);
 1940 
 1958 DllSpec ssize_t com_SendTo(struct com_ConnectHandle *handle, const void *message, size_t length, const char *dest_addr, unsigned short dest_port, enum com_ErrorCodes *com_errno);
 1959 
 1964 DllSpec enum com_ConnectionState com_GetConnectionState(struct com_ConnectHandle *handle);
 1965 
 1972 DllSpec int com_NetworkSetCallback(comCallbackNetworkType callback, void *priv, enum com_ErrorCodes *com_errno);
 1973 
 1977 DllSpec const char *com_GetErrorString(enum com_ErrorCodes com_errno_in);
 1978 
 1985 DllSpec int com_purgeCache(enum com_ErrorCodes *com_errno) ADKCOM_MARK_DEPRECATED("Cache is no longer necessary");
 1986 
 1990 DllSpec const char *com_GetVersion(void);
 1991 
 1995 DllSpec const char *com_GetSvcVersion(void);
 1996 
 2004 DllSpec int com_SetPassword(enum com_PasswordType pwtype, const void *data, const char *password, enum com_ErrorCodes *com_errno);
 2005 
 2014 DllSpec int com_BTPair(const char *bt_addr, enum com_BTPairMethod method, const char *PIN, enum com_ErrorCodes *com_errno);
 2015 
 2021 DllSpec int com_BTUnPair(const char *bt_addr, enum com_ErrorCodes *com_errno);
 2022 
 2066 DllSpec int com_WirelessScan(enum com_WirelessNetworkType type, char *buf, unsigned int len, enum com_ErrorCodes *com_errno);
 2067 
 2076 DllSpec int com_WirelessScanAsync(enum com_WirelessNetworkType type, comCallbackWirelessScanType callback, enum com_DataFormat format, void *priv, enum com_ErrorCodes *com_errno);
 2077 
 2087 DllSpec int com_Ping(const char *addr, enum com_Interfaces interface, unsigned int count, unsigned int timeout, struct com_PingInfo *result, enum com_ErrorCodes *com_errno);
 2088 
 2098 DllSpec int com_AddNetworkRoute(const char *destination, const char *netmask, const char *gateway, enum com_Interfaces interface, enum com_ErrorCodes *com_errno);
 2099 
 2110 DllSpec int com_DeleteNetworkRoute(const char *destination, const char *netmask, const char *gateway, enum com_Interfaces interface, enum com_ErrorCodes *com_errno);
 2111 
 2122 DllSpec int com_GetNetworkRouteInfo(struct com_NetworkRouteInfo_IPv4 **rtinfo4, struct com_NetworkRouteInfo_IPv6 **rtinfo6, enum com_ErrorCodes *com_errno);
 2123 
 2128 DllSpec void com_NetworkRouteInfo_Free(struct com_NetworkRouteInfo_IPv4 *rtinfo4, struct com_NetworkRouteInfo_IPv6 *rtinfo6);
 2129 
 2146 DllSpec int com_Select(struct com_ConnectHandle *handle, unsigned int flags_in, int timeout, unsigned int *flags_out, enum com_ErrorCodes *com_errno);
 2147 
 2156 DllSpec int com_SelectInterrupt(struct com_ConnectHandle *handle, enum com_ErrorCodes *com_errno);
 2157 
 2163 DllSpec int com_SelectInterruptReset(struct com_ConnectHandle *handle, enum com_ErrorCodes *com_errno);
 2164 
 2171 DllSpec int com_SetMultiThreadingMode(struct com_ConnectHandle *handle, enum com_ErrorCodes *com_errno) ADKCOM_MARK_DEPRECATED("The OS, for which this was necessary, is no longer supported");
 2172 
 2179 DllSpec int com_SetBTSPPPort(enum com_BTConfigSPPPort sppPort, int portSetting, enum com_ErrorCodes *com_errno) ADKCOM_MARK_DEPRECATED("The OS, for which this was necessary, is no longer supported");
 2180 
 2189 DllSpec int com_GetUSBInfo(struct com_USBInfo **usbinfo, enum com_ErrorCodes *com_errno);
 2190 
 2194 DllSpec void com_USBInfo_Free(struct com_USBInfo *usbinfo);
 2195 
 2206 DllSpec int com_NetworkAddCallback(comCallbackNetworkType callback, enum com_NetworkEvent eventsArr[], size_t count, void *priv, enum com_ErrorCodes *com_errno);
 2207 
 2213 DllSpec int com_NetworkRemoveCallback(comCallbackNetworkType callback, enum com_ErrorCodes *com_errno);
 2214 
 2222 DllSpec int com_NetworkRemoveCallbackSync(comCallbackNetworkType callback, enum com_ErrorCodes *com_errno);
 2223 
 2230 DllSpec int com_SetStunnelConfig(const char *stunnel_cfg_file, int run_now, enum com_ErrorCodes *com_errno);
 2231 
 2238 DllSpec int com_AddInterfaceBridge(enum com_Interfaces iface1, enum com_Interfaces iface2, enum com_ErrorCodes *com_errno);
 2239 
 2246 DllSpec int com_RemoveInterfaceBridge(enum com_Interfaces iface1, enum com_Interfaces iface2, enum com_ErrorCodes *com_errno);
 2247 
 2254 DllSpec int com_PairDockedBase(struct com_MAC *mac, enum com_ErrorCodes *com_errno);
 2255 
 2260 DllSpec int com_BaseUnpairAll(enum com_ErrorCodes *com_errno);
 2261 
 2270 DllSpec int com_SetInterfacePriority(enum com_Interfaces interfaces[], size_t count, enum com_ErrorCodes *com_errno);
 2271 
 2278 DllSpec int com_EddystoneUIDSetAdvertisement(struct com_EddystoneUID eddystoneUID, enum com_StartupMode startupMode, enum com_ErrorCodes *com_errno);
 2279 
 2286 DllSpec int com_EddystoneURLSetAdvertisement(struct com_EddystoneURL eddystoneURL, enum com_StartupMode startupMode, enum com_ErrorCodes *com_errno);
 2287 
 2294 DllSpec int com_EddystoneURLSetAdvertisementExt(struct com_EddystoneURLExt eddystoneURLExt, enum com_StartupMode startupMode, enum com_ErrorCodes *com_errno);
 2295 
 2302 DllSpec int com_IBeaconSetAdvertisement(struct com_IBeacon iBeacon, enum com_StartupMode startupMode, enum com_ErrorCodes *com_errno);
 2303 
 2308 DllSpec int com_EddystoneUIDStartAdvertisement(enum com_ErrorCodes *com_errno);
 2309 
 2314 DllSpec int com_EddystoneURLStartAdvertisement(enum com_ErrorCodes *com_errno);
 2315 
 2320 DllSpec int com_IBeaconStartAdvertisement(enum com_ErrorCodes *com_errno);
 2321 
 2329 DllSpec int com_EddystoneUIDGetAdvertisement(struct com_EddystoneUID *eddystoneUID, enum com_StartupMode *startupMode, int *isRunning, enum com_ErrorCodes *com_errno);
 2330 
 2338 DllSpec int com_EddystoneURLGetAdvertisement(struct com_EddystoneURL *eddystoneURL, enum com_StartupMode *startupMode, int *isRunning, enum com_ErrorCodes *com_errno);
 2339 
 2347 DllSpec int com_EddystoneURLGetAdvertisementExt(struct com_EddystoneURLExt *eddystoneURLExt, enum com_StartupMode *startupMode, int *isRunning, enum com_ErrorCodes *com_errno);
 2348 
 2356 DllSpec int com_IBeaconGetAdvertisement(struct com_IBeacon *iBeacon, enum com_StartupMode *startupMode, int *isRunning, enum com_ErrorCodes *com_errno);
 2357 
 2362 DllSpec int com_EddystoneUIDStopAdvertisement(enum com_ErrorCodes *com_errno);
 2363 
 2368 DllSpec int com_EddystoneURLStopAdvertisement(enum com_ErrorCodes *com_errno);
 2369 
 2374 DllSpec int com_IBeaconStopAdvertisement(enum com_ErrorCodes *com_errno);
 2375 
 2385 DllSpec int com_BTExtStartDiscovery(unsigned int discovery_timeout_seconds, enum com_ErrorCodes *com_errno);
 2386 
 2395 DllSpec int com_BTExtStopDiscovery(enum com_ErrorCodes *com_errno);
 2396 
 2403 DllSpec int com_BTExtPair(const char *bt_addr, enum com_ErrorCodes *com_errno);
 2404 
 2412 DllSpec int com_BTExtConfirm(unsigned int yesOrNo, enum com_ErrorCodes *com_errno);
 2413 
 2421 DllSpec int com_BTExtSetPIN(const char *pin, enum com_ErrorCodes *com_errno);
 2422 
 2429 DllSpec int com_BTGATTStart(const char *xmlfile_path, enum com_ErrorCodes *com_errno);
 2430 
 2437 DllSpec int com_BTGATTSetup(const char *xmlfile_path, enum com_ErrorCodes *com_errno);
 2438 
 2443 DllSpec int com_BTGATTStartBeaconing(enum com_ErrorCodes *com_errno);
 2444 
 2449 DllSpec int com_BTGATTStopBeaconing(enum com_ErrorCodes *com_errno);
 2450 
 2455 DllSpec int com_BTGATTStop(enum com_ErrorCodes *com_errno);
 2456 
 2463 DllSpec int com_BTGATTReadCharacteristic(struct com_BLEAttribute *attribute, enum com_ErrorCodes *com_errno);
 2464 
 2470 DllSpec int com_BTGATTWriteCharacteristic(struct com_BLEAttribute *attribute, enum com_ErrorCodes *com_errno);
 2471 
 2478 DllSpec int com_BTGATTAddCharacteristicCallback(comCallbackGATTCharacteristicChanged callback, void *priv, enum com_ErrorCodes *com_errno);
 2479 
 2485 DllSpec int com_BTGATTRemoveCharacteristicCallback(comCallbackGATTCharacteristicChanged callback, enum com_ErrorCodes *com_errno);
 2486 
 2493 DllSpec int com_BTGATTAddStatusCallback(comCallbackGATTStatus callback, void *priv, enum com_ErrorCodes *com_errno);
 2494 
 2500 DllSpec int com_BTGATTRemoveStatusCallback(comCallbackGATTStatus callback, enum com_ErrorCodes *com_errno);
 2501 
 2509 DllSpec int com_BTGATTDisconnect(const char *bt_address, enum com_ErrorCodes *com_errno);
 2510 
 2518 DllSpec int com_BTEnableVirtualChannels(const char *bt_address, enum com_ErrorCodes *com_errno);
 2519 
 2524 DllSpec int com_BTDisableVirtualChannels(enum com_ErrorCodes *com_errno);
 2525 
 2532 DllSpec int com_GetBaseNetworkMode(enum com_BaseNetworkMode *mode, enum com_ErrorCodes *com_errno);
 2533 
 2541 DllSpec int com_SetBaseNetworkMode(const enum com_BaseNetworkMode mode, enum com_ErrorCodes *com_errno);
 2542 
 2548 DllSpec int com_GetBaseEthernetLinkState(const char *bt_addr, enum com_ErrorCodes *com_errno);
 2549 
 2556 DllSpec int com_PowerModeSet(enum com_Device device, enum com_DevicePowerMode power_mode, enum com_ErrorCodes *com_errno);
 2557 
 2564 DllSpec int com_PowerModeStatus(enum com_Device device, enum com_DevicePowerMode *power_mode, enum com_ErrorCodes *com_errno);
 2565 
 2574 DllSpec int com_GetWirelessSignalQuality(enum com_Interfaces interface, const char *input, struct com_WirelessSignalQuality *signal, enum com_ErrorCodes *com_errno);
 2575 
 2586 DllSpec int com_DNSResolveHostname(const char *hostname, enum com_Interfaces interface, enum com_AddressFamily af, unsigned int timeout_ms, char *buffer, const size_t size, enum com_ErrorCodes *com_errno);
 2587 
 2595 DllSpec int com_TetheringEnable(enum com_Interfaces interface, enum com_ErrorCodes *com_errno);
 2596 
 2604 DllSpec int com_TetheringDisable(enum com_Interfaces interface, enum com_ErrorCodes *com_errno);
 2605 
 2611 DllSpec int com_TetheringState(enum com_Interfaces interface, enum com_ErrorCodes *com_errno);
 2612 
 2613 #ifdef __cplusplus
 2614 } // extern C
 2615 #endif
 2616 
 2617 #undef ADKCOM_MARK_DEPRECATED
 2618 #undef DllSpec
 2619 
 2620 #endif //_LIBCOM_H_
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sandbox-docs.verifone.com/s-adk-5.1-programmers-guide/libcom_8h_source.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
