| /****************************************************************************** |
| * |
| * Copyright 2009-2012 Broadcom Corporation |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at: |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| ******************************************************************************/ |
| |
| /****************************************************************************** |
| * |
| * This contains constants definitions and other information from the MCAP |
| * specification. |
| * |
| ******************************************************************************/ |
| #ifndef MCA_DEFS_H |
| #define MCA_DEFS_H |
| |
| /***************************************************************************** |
| * constants |
| ****************************************************************************/ |
| #define MCA_MIN_MTU 48 |
| |
| /* standard op codes */ |
| /* invalid opcode response */ |
| #define MCA_OP_ERROR_RSP 0x00 |
| /* create an MDL, wait for an associated data channel connection */ |
| #define MCA_OP_MDL_CREATE_REQ 0x01 |
| /* response to above request */ |
| #define MCA_OP_MDL_CREATE_RSP 0x02 |
| /* req to prepare to rvc a data channel conn associated with a prev MDL */ |
| #define MCA_OP_MDL_RECONNECT_REQ 0x03 |
| /* response to above request */ |
| #define MCA_OP_MDL_RECONNECT_RSP 0x04 |
| /* stop waiting for a data channel connection */ |
| #define MCA_OP_MDL_ABORT_REQ 0x05 |
| /* response to above request */ |
| #define MCA_OP_MDL_ABORT_RSP 0x06 |
| /* delete an MDL */ |
| #define MCA_OP_MDL_DELETE_REQ 0x07 |
| /* response to above request */ |
| #define MCA_OP_MDL_DELETE_RSP 0x08 |
| #define MCA_NUM_STANDARD_OPCODE (1 + MCA_OP_MDL_DELETE_RSP) |
| |
| /* clock synchronization op codes */ |
| /* request sync capabilities & requirements */ |
| #define MCA_OP_SYNC_CAP_REQ 0x11 |
| /* indicate completion */ |
| #define MCA_OP_SYNC_CAP_RSP 0x12 |
| /* request to set the time-stamp clock */ |
| #define MCA_OP_SYNC_SET_REQ 0x13 |
| /* indicate completion */ |
| #define MCA_OP_SYNC_SET_RSP 0x14 |
| /* update of the actual time-stamp clock instant from the sync slave */ |
| #define MCA_OP_SYNC_INFO_IND 0x15 |
| |
| #define MCA_FIRST_SYNC_OP MCA_OP_SYNC_CAP_REQ |
| #define MCA_LAST_SYNC_OP MCA_OP_SYNC_INFO_IND |
| |
| /* response code */ |
| /* The corresponding request was received and processed successfully. */ |
| #define MCA_RSP_SUCCESS 0x00 |
| /* The Op Code received is not valid (i.e. neither a Standard Op Code nor a |
| * Clock Synchronization Protocol Op Code). */ |
| #define MCA_RSP_BAD_OPCODE 0x01 |
| /* One or more of the values in the received request is invalid. */ |
| #define MCA_RSP_BAD_PARAM 0x02 |
| /* MCA_RSP_BAD_PARAM shall be used when: |
| - The request length is invalid |
| - Some of the parameters have invalid values and none of the other defined |
| Response Codes are more appropriate. |
| */ |
| /* The MDEP ID referenced does not exist on this device. */ |
| #define MCA_RSP_BAD_MDEP 0x03 |
| /* The requested MDEP currently has as many active MDLs as it can manage |
| * simultaneously. */ |
| #define MCA_RSP_MDEP_BUSY 0x04 |
| /* The MDL ID referenced is invalid. */ |
| #define MCA_RSP_BAD_MDL 0x05 |
| /* MCA_RSP_BAD_MDL shall be used when: |
| - A reserved or invalid value for MDL ID was used. |
| - The MDL ID referenced is not available (was never created, has been deleted, |
| or was otherwise lost), |
| - The MDL ID referenced in the Abort request is not the same value that was used |
| to initiate the PENDING state |
| */ |
| /* The device is temporarily unable to complete the request. This is intended |
| * for reasons not related to the physical sensor (e.g. communication resources |
| * unavailable). */ |
| #define MCA_RSP_MDL_BUSY 0x06 |
| /* The received request is invalid in the current state. */ |
| #define MCA_RSP_BAD_OP 0x07 |
| /* MCA_RSP_BAD_OP is used when |
| - Abort request was received while not in the PENDING state. |
| - Create, Reconnect, or Delete request was received while in the PENDING state. |
| - A response is received when a request is expected |
| */ |
| /* The device is temporarily unable to complete the request. This is intended |
| * for reasons relating to the physical sensor (e.g. hardware fault, low |
| * battery), or when processing resources are temporarily committed to other |
| * processes. */ |
| #define MCA_RSP_NO_RESOURCE 0x08 |
| /* An internal error other than those listed in this table was encountered while |
| * processing the request. */ |
| #define MCA_RSP_ERROR 0x09 |
| /* The Op Code that was used in this request is not supported. */ |
| #define MCA_RSP_NO_SUPPORT 0x0A |
| /* A configuration required by a MD_CREATE_MDL or MD_RECONNECT_MDL operation has |
| * been rejected. */ |
| #define MCA_RSP_CFG_REJ 0x0B |
| |
| /* the valid range for MDEP ID is 1-0x7F */ |
| #define MCA_MAX_MDEP_ID 0x7F |
| #define MCA_IS_VALID_MDL_ID(xxx) (((xxx) > 0) && ((xxx) <= 0xFEFF)) |
| #define MCA_ALL_MDL_ID 0xFFFF |
| |
| #endif /* MCA_DEFS_H */ |