diff options
Diffstat (limited to 'drivers/isimodem/network.h')
-rw-r--r-- | drivers/isimodem/network.h | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/drivers/isimodem/network.h b/drivers/isimodem/network.h new file mode 100644 index 00000000..ec52321e --- /dev/null +++ b/drivers/isimodem/network.h @@ -0,0 +1,209 @@ +/* + * This file is part of oFono - Open Source Telephony + * + * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef __ISIMODEM_NETWORK_H +#define __ISIMODEM_NETWORK_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define PN_NETWORK 0x0A +#define NETWORK_TIMEOUT 5 +#define NETWORK_SCAN_TIMEOUT 180 +#define NETWORK_SET_TIMEOUT 240 + +enum net_message_id { + NET_SET_REQ = 0x07, + NET_SET_RESP = 0x08, + NET_RSSI_GET_REQ = 0x0B, + NET_RSSI_GET_RESP = 0x0C, + NET_RSSI_IND = 0x1E, + NET_RAT_IND = 0x35, + NET_RAT_REQ = 0x36, + NET_RAT_RESP = 0x37, + NET_REG_STATUS_GET_REQ = 0xE0, + NET_REG_STATUS_GET_RESP = 0xE1, + NET_REG_STATUS_IND = 0xE2, + NET_AVAILABLE_GET_REQ = 0xE3, + NET_AVAILABLE_GET_RESP = 0xE4, + NET_OPER_NAME_READ_REQ = 0xE5, + NET_OPER_NAME_READ_RESP = 0xE6, + NET_COMMON_MESSAGE = 0xF0 +}; + +enum net_subblock { + NET_REG_INFO_COMMON = 0x00, + NET_OPERATOR_INFO_COMMON = 0x02, + NET_RSSI_CURRENT = 0x04, + NET_GSM_REG_INFO = 0x09, + NET_DETAILED_NETWORK_INFO = 0x0B, + NET_GSM_OPERATOR_INFO = 0x0C, + NET_GSM_BAND_INFO = 0x11, + NET_RAT_INFO = 0x2C, + NET_AVAIL_NETWORK_INFO_COMMON = 0xE1, + NET_OPER_NAME_INFO = 0xE7 +}; + +enum net_reg_status { + NET_REG_STATUS_HOME = 0x00, + NET_REG_STATUS_ROAM = 0x01, + NET_REG_STATUS_ROAM_BLINK = 0x02, + NET_REG_STATUS_NOSERV = 0x03, + NET_REG_STATUS_NOSERV_SEARCHING = 0x04, + NET_REG_STATUS_NOSERV_NOTSEARCHING = 0x05, + NET_REG_STATUS_NOSERV_NOSIM = 0x06, + NET_REG_STATUS_POWER_OFF = 0x08, + NET_REG_STATUS_NSPS = 0x09, + NET_REG_STATUS_NSPS_NO_COVERAGE = 0x0A, + NET_REG_STATUS_NOSERV_SIM_REJECTED_BY_NW = 0x0B +}; + +enum net_network_status { + NET_OPER_STATUS_UNKNOWN = 0x00, + NET_OPER_STATUS_AVAILABLE = 0x01, + NET_OPER_STATUS_CURRENT = 0x02, + NET_OPER_STATUS_FORBIDDEN = 0x03 +}; + +enum net_network_pref { + NET_GSM_HOME_PLMN = 0x00, + NET_GSM_PREFERRED_PLMN = 0x01, + NET_GSM_FORBIDDEN_PLMN = 0x02, + NET_GSM_OTHER_PLMN = 0x03, + NET_GSM_NO_PLMN_AVAIL = 0x04 +}; + +enum net_umts_available { + NET_UMTS_NOT_AVAILABLE = 0x00, + NET_UMTS_AVAILABLE = 0x01 +}; + +enum net_band_info { + NET_GSM_BAND_900_1800 = 0x00, + NET_GSM_BAND_850_1900 = 0x01, + NET_GSM_BAND_INFO_NOT_AVAIL = 0x02, + NET_GSM_BAND_ALL_SUPPORTED_BANDS = 0x03, + NET_GSM_BAND_850_LOCKED = 0xB0, + NET_GSM_BAND_900_LOCKED = 0xA0, + NET_GSM_BAND_1800_LOCKED = 0xA1, + NET_GSM_BAND_1900_LOCKED = 0xB1, +}; + +enum net_gsm_cause { + NET_GSM_IMSI_UNKNOWN_IN_HLR = 0x02, + NET_GSM_ILLEGAL_MS = 0x03, + NET_GSM_IMSI_UNKNOWN_IN_VLR = 0x04, + NET_GSM_IMEI_NOT_ACCEPTED = 0x05, + NET_GSM_ILLEGAL_ME = 0x06, + NET_GSM_GPRS_SERVICES_NOT_ALLOWED = 0x07, + NET_GSM_GPRS_AND_NON_GPRS_NA = 0x08, + NET_GSM_MS_ID_CANNOT_BE_DERIVED = 0x09, + NET_GSM_IMPLICITLY_DETACHED = 0x0A, + NET_GSM_PLMN_NOT_ALLOWED = 0x0B, + NET_GSM_LA_NOT_ALLOWED = 0x0C, + NET_GSM_ROAMING_NOT_IN_THIS_LA = 0x0D, + NET_GSM_GPRS_SERV_NA_IN_THIS_PLMN = 0x0E, + NET_GSM_NO_SUITABLE_CELLS_IN_LA = 0x0F, + NET_GSM_MSC_TEMP_NOT_REACHABLE = 0x10, + NET_GSM_NETWORK_FAILURE = 0x11, + NET_GSM_MAC_FAILURE = 0x14, + NET_GSM_SYNCH_FAILURE = 0x15, + NET_GSM_CONGESTION = 0x16, + NET_GSM_AUTH_UNACCEPTABLE = 0x17, + NET_GSM_SERV_OPT_NOT_SUPPORTED = 0x20, + NET_GSM_SERV_OPT_NOT_SUBSCRIBED = 0x21, + NET_GSM_SERV_TEMP_OUT_OF_ORDER = 0x22, + NET_GSM_RETRY_ENTRY_NEW_CELL_LOW = 0x30, + NET_GSM_RETRY_ENTRY_NEW_CELL_HIGH = 0x3F, + NET_GSM_SEMANTICALLY_INCORRECT = 0x5F, + NET_GSM_INVALID_MANDATORY_INFO = 0x60, + NET_GSM_MSG_TYPE_NONEXISTENT = 0x61, + NET_GSM_CONDITIONAL_IE_ERROR = 0x64, + NET_GSM_MSG_TYPE_WRONG_STATE = 0x65, + NET_GSM_PROTOCOL_ERROR_UNSPECIFIED = 0x6F +}; + +enum net_cs_type { + NET_CS_GSM = 0x00 +}; + +enum net_rat_name { + NET_GSM_RAT = 0x01, + NET_UMTS_RAT = 0x02 +}; + +enum net_rat_type { + NET_CURRENT_RAT = 0x00, + NET_SUPPORTED_RATS = 0x01 +}; + +enum net_measurement_type { + NET_CURRENT_CELL_RSSI = 0x02 +}; + +enum net_search_mode { + NET_MANUAL_SEARCH = 0x00 +}; + +enum net_oper_name_type { + NET_HARDCODED_LATIN_OPER_NAME = 0x00 +}; + +enum net_select_mode { + NET_SELECT_MODE_UNKNOWN = 0x00, + NET_SELECT_MODE_MANUAL = 0x01, + NET_SELECT_MODE_AUTOMATIC = 0x02, + NET_SELECT_MODE_USER_RESELECTION = 0x03, + NET_SELECT_MODE_NO_SELECTION = 0x04 +}; + +enum net_isi_cause { + NET_CAUSE_OK = 0x00, + NET_CAUSE_COMMUNICATION_ERROR = 0x01, + NET_CAUSE_INVALID_PARAMETER = 0x02, + NET_CAUSE_NO_SIM = 0x03, + NET_CAUSE_SIM_NOT_YET_READY = 0x04, + NET_CAUSE_NET_NOT_FOUND = 0x05, + NET_CAUSE_REQUEST_NOT_ALLOWED = 0x06, + NET_CAUSE_CALL_ACTIVE = 0x07, + NET_CAUSE_SERVER_BUSY = 0x08, + NET_CAUSE_SECURITY_CODE_REQUIRED = 0x09, + NET_CAUSE_NOTHING_TO_CANCEL = 0x0A, + NET_CAUSE_UNABLE_TO_CANCEL = 0x0B, + NET_CAUSE_NETWORK_FORBIDDEN = 0x0C, + NET_CAUSE_REQUEST_REJECTED = 0x0D, + NET_CAUSE_CS_NOT_SUPPORTED = 0x0E, + NET_CAUSE_PAR_INFO_NOT_AVAILABLE = 0x0F, + NET_CAUSE_NOT_DONE = 0x10, + NET_CAUSE_NO_SELECTED_NETWORK = 0x11, + NET_CAUSE_REQUEST_INTERRUPTED = 0x12, + NET_CAUSE_TOO_BIG_INDEX = 0x14, + NET_CAUSE_MEMORY_FULL = 0x15, + NET_CAUSE_SERVICE_NOT_ALLOWED = 0x16, + NET_CAUSE_NOT_SUPPORTED_IN_TECH = 0x17 +}; + +#ifdef __cplusplus +}; +#endif + +#endif /* !__ISIMODEM_NETWORK_H */ |