blob: a442471b38070af1085c3eeb7519adf269836344 [file] [log] [blame]
/******************************************************************************
*
* Copyright (C) 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 */