/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * libqmi-glib -- GLib/GIO based library to control QMI devices * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * Copyright (C) 2012 Aleksander Morgado */ #ifndef _LIBQMI_GLIB_QMI_ERRORS_H_ #define _LIBQMI_GLIB_QMI_ERRORS_H_ /** * QmiCoreError: * @QMI_CORE_ERROR_FAILED: Operation failed. * @QMI_CORE_ERROR_WRONG_STATE: Operation cannot be executed in the current state. * @QMI_CORE_ERROR_TIMEOUT: Operation timed out. * @QMI_CORE_ERROR_INVALID_ARGS: Invalid arguments given. * @QMI_CORE_ERROR_INVALID_MESSAGE: QMI message is invalid. * @QMI_CORE_ERROR_TLV_NOT_FOUND: TLV not found. * @QMI_CORE_ERROR_TLV_TOO_LONG: TLV is too long. * @QMI_CORE_ERROR_UNSUPPORTED: Not supported. * * Common errors that may be reported by libqmi-glib. */ typedef enum { QMI_CORE_ERROR_FAILED, QMI_CORE_ERROR_WRONG_STATE, QMI_CORE_ERROR_TIMEOUT, QMI_CORE_ERROR_INVALID_ARGS, QMI_CORE_ERROR_INVALID_MESSAGE, QMI_CORE_ERROR_TLV_NOT_FOUND, QMI_CORE_ERROR_TLV_TOO_LONG, QMI_CORE_ERROR_UNSUPPORTED } QmiCoreError; /** * QmiProtocolError: * @QMI_PROTOCOL_ERROR_NONE: No error. * @QMI_PROTOCOL_ERROR_MALFORMED_MESSAGE: Malformed message. * @QMI_PROTOCOL_ERROR_NO_MEMORY: No memory. * @QMI_PROTOCOL_ERROR_INTERNAL: Internal. * @QMI_PROTOCOL_ERROR_ABORTED: Aborted. * @QMI_PROTOCOL_ERROR_CLIENT_IDS_EXHAUSTED: Client IDs exhausted. * @QMI_PROTOCOL_ERROR_UNABORTABLE_TRANSACTION: Unabortable transaction. * @QMI_PROTOCOL_ERROR_INVALID_CLIENT_ID: Invalid client ID. * @QMI_PROTOCOL_ERROR_NO_THRESHOLDS_PROVIDED: No thresholds provided. * @QMI_PROTOCOL_ERROR_INVALID_HANDLE: Invalid handle. * @QMI_PROTOCOL_ERROR_INVALID_PROFILE: Invalid profile. * @QMI_PROTOCOL_ERROR_INVALID_PIN_ID: Invalid PIN ID. * @QMI_PROTOCOL_ERROR_INCORRECT_PIN: Incorrect PIN. * @QMI_PROTOCOL_ERROR_NO_NETWORK_FOUND: No network found. * @QMI_PROTOCOL_ERROR_CALL_FAILED: Call failed. * @QMI_PROTOCOL_ERROR_OUT_OF_CALL: Out of call. * @QMI_PROTOCOL_ERROR_NOT_PROVISIONED: Not provisioned. * @QMI_PROTOCOL_ERROR_MISSING_ARGUMENT: Missing argument. * @QMI_PROTOCOL_ERROR_ARGUMENT_TOO_LONG: Argument too long. * @QMI_PROTOCOL_ERROR_INVALID_TRANSACTION_ID: Invalid transaction ID. * @QMI_PROTOCOL_ERROR_DEVICE_IN_USE: Device in use. * @QMI_PROTOCOL_ERROR_NETWORK_UNSUPPORTED: Network unsupported. * @QMI_PROTOCOL_ERROR_DEVICE_UNSUPPORTED Device unsupported. * @QMI_PROTOCOL_ERROR_NO_EFFECT: No effect. * @QMI_PROTOCOL_ERROR_NO_FREE_PROFILE: No free profile. * @QMI_PROTOCOL_ERROR_INVALID_PDP_TYPE: Invalid PDP type. * @QMI_PROTOCOL_ERROR_INVALID_TECHNOLOGY_PREFERENCE: Invalid technology preference. * @QMI_PROTOCOL_ERROR_INVALID_PROFILE_TYPE: Invalid profile type. * @QMI_PROTOCOL_ERROR_INVALID_SERVICE_TYPE: Invalid service type. * @QMI_PROTOCOL_ERROR_INVALID_REGISTER_ACTION: Invalid register action. * @QMI_PROTOCOL_ERROR_INVALID_PS_ATTACH_ACTION: Invalid PS attach action. * @QMI_PROTOCOL_ERROR_AUTHENTICATION_FAILED: Authentication failed. * @QMI_PROTOCOL_ERROR_PIN_BLOCKED: PIN blocked. * @QMI_PROTOCOL_ERROR_PIN_ALWAYS_BLOCKED: PIN always blocked. * @QMI_PROTOCOL_ERROR_UIM_UNINITIALIZED: UIM uninitialized. * @QMI_PROTOCOL_ERROR_MAXIMUM_QOS_REQUESTS_IN_USE: Maximum QoS requests in use. * @QMI_PROTOCOL_ERROR_INCORRECT_FLOW_FILTER: Incorrect flow filter. * @QMI_PROTOCOL_ERROR_NETWORK_QOS_UNAWARE: Network QoS unaware. * @QMI_PROTOCOL_ERROR_INVALID_QOS_ID: Invalid QoS ID. * @QMI_PROTOCOL_ERROR_QOS_UNAVAILABLE: QoS unavailable. * @QMI_PROTOCOL_ERROR_FLOW_SUSPENDED: Flow suspended. * @QMI_PROTOCOL_ERROR_GENERAL_ERROR: General error. * @QMI_PROTOCOL_ERROR_UNKNOWN_ERROR: Unknown error. * @QMI_PROTOCOL_ERROR_INVALID_ARGUMENT: Invalid argument. * @QMI_PROTOCOL_ERROR_INVALID_INDEX: Invalid index. * @QMI_PROTOCOL_ERROR_NO_ENTRY: No entry. * @QMI_PROTOCOL_ERROR_DEVICE_STORAGE_FULL: Device storage full. * @QMI_PROTOCOL_ERROR_DEVICE_NOT_READY: Device not ready. * @QMI_PROTOCOL_ERROR_NETWORK_NOT_READY: Network not ready. * @QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE: WMS cause code. * @QMI_PROTOCOL_ERROR_WMS_MESSAGE_NOT_SENT: WMS message not sent. * @QMI_PROTOCOL_ERROR_WMS_MESSAGE_DELIVERY_FAILURE: WMS message delivery failure. * @QMI_PROTOCOL_ERROR_WMS_INVALID_MESSAGE_ID: WMS invalid message ID. * @QMI_PROTOCOL_ERROR_WMS_ENCODING: WMS encoding. * @QMI_PROTOCOL_ERROR_AUTHENTICATION_LOCK: Authentication lock. * @QMI_PROTOCOL_ERROR_INVALID_TRANSITION: Invalid transition. * @QMI_PROTOCOL_ERROR_SESSION_INACTIVE: Session inactive. * @QMI_PROTOCOL_ERROR_SESSION_INVALID: Session invalid. * @QMI_PROTOCOL_ERROR_SESSION_OWNERSHIP: Session ownership. * @QMI_PROTOCOL_ERROR_INSUFFICIENT_RESOURCES: Insufficient resources. * @QMI_PROTOCOL_ERROR_DISABLED: Disabled. * @QMI_PROTOCOL_ERROR_INVALID_OPERATION: Invalid operation. * @QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND: Invalid QMI command. * @QMI_PROTOCOL_ERROR_WMS_TPDU_TYPE: WMS TPDU type. * @QMI_PROTOCOL_ERROR_WMS_SMSC_ADDRESS: WMS SMSC address. * @QMI_PROTOCOL_ERROR_INFORMATION_UNAVAILABLE: Information unavailable. * @QMI_PROTOCOL_ERROR_SEGMENT_TOO_LONG: Segment too long. * @QMI_PROTOCOL_ERROR_SEGMENT_ORDER: Segment order. * @QMI_PROTOCOL_ERROR_BUNDLING_NOT_SUPPORTED: Bundling not supported. * @QMI_PROTOCOL_ERROR_SIM_FILE_NOT_FOUND: SIM file not found. * @QMI_PROTOCOL_ERROR_ACCESS_DENIED: Access denied. * @QMI_PROTOCOL_ERROR_HARDWARE_RESTRICTED: Hardware restricted. * @QMI_PROTOCOL_ERROR_CAT_EVENT_REGISTRATION_FAILED: Event registration failed. * @QMI_PROTOCOL_ERROR_CAT_INVALID_TERMINAL_RESPONSE: Invalid terminal response. * @QMI_PROTOCOL_ERROR_CAT_INVALID_ENVELOPE_COMMAND: Invalid envelope command. * @QMI_PROTOCOL_ERROR_CAT_ENVELOPE_COMMAND_BUSY: Envelope command busy. * @QMI_PROTOCOL_ERROR_CAT_ENVELOPE_COMMAND_FAILED: Envelope command failed. * * QMI protocol errors. */ typedef enum { QMI_PROTOCOL_ERROR_NONE = 0, QMI_PROTOCOL_ERROR_MALFORMED_MESSAGE = 1, QMI_PROTOCOL_ERROR_NO_MEMORY = 2, QMI_PROTOCOL_ERROR_INTERNAL = 3, QMI_PROTOCOL_ERROR_ABORTED = 4, QMI_PROTOCOL_ERROR_CLIENT_IDS_EXHAUSTED = 5, QMI_PROTOCOL_ERROR_UNABORTABLE_TRANSACTION = 6, QMI_PROTOCOL_ERROR_INVALID_CLIENT_ID = 7, QMI_PROTOCOL_ERROR_NO_THRESHOLDS_PROVIDED = 8, QMI_PROTOCOL_ERROR_INVALID_HANDLE = 9, QMI_PROTOCOL_ERROR_INVALID_PROFILE = 10, QMI_PROTOCOL_ERROR_INVALID_PIN_ID = 11, QMI_PROTOCOL_ERROR_INCORRECT_PIN = 12, QMI_PROTOCOL_ERROR_NO_NETWORK_FOUND = 13, QMI_PROTOCOL_ERROR_CALL_FAILED = 14, QMI_PROTOCOL_ERROR_OUT_OF_CALL = 15, QMI_PROTOCOL_ERROR_NOT_PROVISIONED = 16, QMI_PROTOCOL_ERROR_MISSING_ARGUMENT = 17, QMI_PROTOCOL_ERROR_ARGUMENT_TOO_LONG = 19, QMI_PROTOCOL_ERROR_INVALID_TRANSACTION_ID = 22, QMI_PROTOCOL_ERROR_DEVICE_IN_USE = 23, QMI_PROTOCOL_ERROR_NETWORK_UNSUPPORTED = 24, QMI_PROTOCOL_ERROR_DEVICE_UNSUPPORTED = 25, QMI_PROTOCOL_ERROR_NO_EFFECT = 26, QMI_PROTOCOL_ERROR_NO_FREE_PROFILE = 27, QMI_PROTOCOL_ERROR_INVALID_PDP_TYPE = 28, QMI_PROTOCOL_ERROR_INVALID_TECHNOLOGY_PREFERENCE = 29, QMI_PROTOCOL_ERROR_INVALID_PROFILE_TYPE = 30, QMI_PROTOCOL_ERROR_INVALID_SERVICE_TYPE = 31, QMI_PROTOCOL_ERROR_INVALID_REGISTER_ACTION = 32, QMI_PROTOCOL_ERROR_INVALID_PS_ATTACH_ACTION = 33, QMI_PROTOCOL_ERROR_AUTHENTICATION_FAILED = 34, QMI_PROTOCOL_ERROR_PIN_BLOCKED = 35, QMI_PROTOCOL_ERROR_PIN_ALWAYS_BLOCKED = 36, QMI_PROTOCOL_ERROR_UIM_UNINITIALIZED = 37, QMI_PROTOCOL_ERROR_MAXIMUM_QOS_REQUESTS_IN_USE = 38, QMI_PROTOCOL_ERROR_INCORRECT_FLOW_FILTER = 39, QMI_PROTOCOL_ERROR_NETWORK_QOS_UNAWARE = 40, QMI_PROTOCOL_ERROR_INVALID_QOS_ID = 41, QMI_PROTOCOL_ERROR_QOS_UNAVAILABLE = 42, QMI_PROTOCOL_ERROR_FLOW_SUSPENDED = 43, QMI_PROTOCOL_ERROR_GENERAL_ERROR = 46, QMI_PROTOCOL_ERROR_UNKNOWN_ERROR = 47, QMI_PROTOCOL_ERROR_INVALID_ARGUMENT = 48, QMI_PROTOCOL_ERROR_INVALID_INDEX = 49, QMI_PROTOCOL_ERROR_NO_ENTRY = 50, QMI_PROTOCOL_ERROR_DEVICE_STORAGE_FULL = 51, QMI_PROTOCOL_ERROR_DEVICE_NOT_READY = 52, QMI_PROTOCOL_ERROR_NETWORK_NOT_READY = 53, QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE = 54, QMI_PROTOCOL_ERROR_WMS_MESSAGE_NOT_SENT = 55, QMI_PROTOCOL_ERROR_WMS_MESSAGE_DELIVERY_FAILURE = 56, QMI_PROTOCOL_ERROR_WMS_INVALID_MESSAGE_ID = 57, QMI_PROTOCOL_ERROR_WMS_ENCODING = 58, QMI_PROTOCOL_ERROR_AUTHENTICATION_LOCK = 59, QMI_PROTOCOL_ERROR_INVALID_TRANSITION = 60, QMI_PROTOCOL_ERROR_SESSION_INACTIVE = 65, QMI_PROTOCOL_ERROR_SESSION_INVALID = 66, QMI_PROTOCOL_ERROR_SESSION_OWNERSHIP = 67, QMI_PROTOCOL_ERROR_INSUFFICIENT_RESOURCES = 68, QMI_PROTOCOL_ERROR_DISABLED = 69, QMI_PROTOCOL_ERROR_INVALID_OPERATION = 70, QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND = 71, QMI_PROTOCOL_ERROR_WMS_T_PDU_TYPE = 72, QMI_PROTOCOL_ERROR_WMS_SMSC_ADDRESS = 73, QMI_PROTOCOL_ERROR_INFORMATION_UNAVAILABLE = 74, QMI_PROTOCOL_ERROR_SEGMENT_TOO_LONG = 75, QMI_PROTOCOL_ERROR_SEGMENT_ORDER = 76, QMI_PROTOCOL_ERROR_BUNDLING_NOT_SUPPORTED = 77, QMI_PROTOCOL_ERROR_SIM_FILE_NOT_FOUND = 80, QMI_PROTOCOL_ERROR_ACCESS_DENIED = 82, QMI_PROTOCOL_ERROR_HARDWARE_RESTRICTED = 83, QMI_PROTOCOL_ERROR_CAT_EVENT_REGISTRATION_FAILED = 61441, QMI_PROTOCOL_ERROR_CAT_INVALID_TERMINAL_RESPONSE = 61442, QMI_PROTOCOL_ERROR_CAT_INVALID_ENVELOPE_COMMAND = 61443, QMI_PROTOCOL_ERROR_CAT_ENVELOPE_COMMAND_BUSY = 61444, QMI_PROTOCOL_ERROR_CAT_ENVELOPE_COMMAND_FAILED = 61445 } QmiProtocolError; #endif /* _LIBQMI_GLIB_QMI_ERRORS_H_ */