| # Copyright (c) 2015 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """ |
| This module defines the constants which are used in different components |
| within the MBIM compliance suite. |
| All the constants should match the values and names specified in MBIM |
| Specification[1]. |
| |
| Reference: |
| [1] Universal Serial Bus Communications Class Subclass Specification for |
| Mobile Broadband Interface Model |
| http://www.usb.org/developers/docs/devclass_docs/ |
| MBIM10Errata1_073013.zip |
| """ |
| import uuid |
| |
| |
| # The following type values are defined for the MBIM control messages sent from |
| # the host to the device. |
| MBIM_OPEN_MSG = 0x00000001 |
| MBIM_CLOSE_MSG = 0x00000002 |
| MBIM_COMMAND_MSG = 0x00000003 |
| MBIM_HOST_ERROR_MSG = 0x00000004 |
| |
| # The following type values are defined for the MBIM control messages sent from |
| # the device to the host. |
| MBIM_OPEN_DONE = 0x80000001 |
| MBIM_CLOSE_DONE = 0x80000002 |
| MBIM_COMMAND_DONE = 0x80000003 |
| MBIM_FUNCTION_ERROR_MSG = 0x80000004 |
| MBIM_INDICATE_STATUS_MSG = 0x80000007 |
| |
| # The following type values are defined for the MBIM status codes. |
| MBIM_STATUS_SUCCESS = 0x00000000 |
| MBIM_STATUS_NO_DEVICE_SUPPORT = 0x00000009 |
| MBIM_STATUS_CONTEXT_NOT_ACTIVATED = 0x00000010 |
| MBIM_STATUS_INVALID_PARAMETERS = 0x00000015 |
| |
| # The following type values are defined for both MBIM_HOST_ERROR_MSG and |
| # MBIM_FUNCTION_ERROR_MSG. |
| MBIM_ERROR_TIMEOUT_FRAGMENT = 0x00000001 |
| MBIM_ERROR_FRAGMENT_OUT_OF_SEQUENCE = 0x00000002 |
| MBIM_ERROR_LENGTH_MISMATCH = 0x00000003 |
| MBIM_ERROR_DUPLICATED_TID = 0x00000004 |
| MBIM_ERROR_NOT_OPENED = 0x00000005 |
| MBIM_ERROR_UNKNOWN = 0x00000006 |
| MBIM_ERROR_CANCEL = 0x00000007 |
| MBIM_ERROR_MAX_TRANSFER = 0x00000008 |
| |
| # The following command codes are defined for the MBIM command identifiers. |
| MBIM_CID_DEVICE_CAPS = 0x00000001 |
| MBIM_CID_SUBSCRIBER_READY_STATUS = 0x00000002 |
| MBIM_CID_RADIO_STATE = 0x00000003 |
| MBIM_CID_PIN = 0x00000004 |
| MBIM_CID_HOME_PROVIDER = 0x00000006 |
| MBIM_CID_REGISTER_STATE = 0x00000009 |
| MBIM_CID_PACKET_SERVICE = 0x0000000A |
| MBIM_CID_SIGNAL_STATE = 0x0000000B |
| MBIM_CID_CONNECT = 0x0000000C |
| MBIM_CID_SERVICE_ACTIVATION = 0x0000000E |
| MBIM_CID_IP_CONFIGURATION = 0x0000000F |
| MBIM_CID_DEVICE_SERVICES = 0x00000010 |
| |
| # The following command types are defined for the MBIM command message. |
| COMMAND_TYPE_QUERY = 0 |
| COMMAND_TYPE_SET = 1 |
| |
| # The following UUID values are defined for the device service identifiers. |
| UUID_BASIC_CONNECT = uuid.UUID('A289CC33-BCBB-8B4F-B6B0-133EC2AAE6DF') |
| |
| # The following UUID values are defined for the MBIM_CONTEXT_TYPES which are |
| # used in the |context_type| field of information structures. |
| MBIM_CONTEXT_TYPE_NONE = uuid.UUID('B43F758C-A560-4B46-B35E-C5869641FB54') |
| MBIM_CONTEXT_TYPE_INTERNET = uuid.UUID('7E5E2A7E-4E6F-7272-736B-656E7E5E2A7E') |
| |
| # NTB formats |
| NTB_FORMAT_16 = 0 |
| NTB_FORMAT_32 = 1 |
| |
| # MBIM Device Caps Cellular classes |
| CELLULAR_CLASS_MASK_GSM = 0x01 |
| CELLULAR_CLASS_MASK_CDMA = 0x02 |
| |
| # MBIM CTRL Caps |
| CTRL_CAPS_MASK_NONE = 0x0000 |
| CTRL_CAPS_MASK_REG_MANUAL = 0x0001 |
| CTRL_CAPS_MASK_HW_RADIO_SWITCH = 0x0002 |
| CTRL_CAPS_MASK_CDMA_MOBILE_IP = 0x0004 |
| CTRL_CAPS_MASK_CDMA_SIMPLE_IP = 0x0008 |
| CTRL_CAPS_MASK_MULTI_CARRIER = 0x0010 |