/****************************************************************************** * * 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 */