/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\

File: OCTVC1_BASE.h

Copyright (c) 2014 Octasic Inc. All rights reserved.

Description: Contains the definition of the OCTVC1 API.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program 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 General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14)

$Octasic_Revision: $

\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#ifndef __OCTVC1_BASE_H__
#define __OCTVC1_BASE_H__


/*****************************  INCLUDE FILES  *******************************/
#include "../octdev_rc_base.h"

/****************************************************************************
	Command identifier base
 ****************************************************************************/
#define cOCTVC1_CID_BASE                        ( 0x00100000 )

/****************************************************************************
	Event identifier base
 ****************************************************************************/
#define cOCTVC1_EID_BASE                        ( 0x00200000 )

/****************************************************************************
	Supervisory identifier base
 ****************************************************************************/
#define cOCTVC1_SID_BASE                        ( 0x00300000 )

/****************************************************************************
	return code identifier base
 ****************************************************************************/
#define cOCTVC1_RC_BASE                         ( cOCTVC1_API_RC_BASE )

/****************************************************************************
	Module unique identifiers
 ****************************************************************************/
#define cOCTVC1_GENERIC_UID                     ( 0x00 )
#define cOCTVC1_MAIN_UID                        ( 0x01 )
#define cOCTVC1_PKT_API_UID                     ( 0x02 )
#define cOCTVC1_CTRL_UID                        ( 0x03 )
#define cOCTVC1_CPP_UID                         ( 0x03 )
#define cOCTVC1_LICENSING_UID                   ( 0x04 )
#define cOCTVC1_NET_UID                         ( 0x04 )
#define cOCTVC1_GSM_UID                         ( 0x0C )

/****************************************************************************
	Module identifier bases
 ****************************************************************************/

/* Module: GENERIC */
#define cOCTVC1_GENERIC_RC_BASE                 ( (cOCTVC1_GENERIC_UID << 16) + cOCTVC1_RC_BASE )

/* Module: MAIN */
#define cOCTVC1_MAIN_CID_BASE                   ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_CID_BASE )
#define cOCTVC1_MAIN_EID_BASE                   ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_EID_BASE )
#define cOCTVC1_MAIN_RC_BASE                    ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_RC_BASE )

/* Module: PKT_API */
#define cOCTVC1_PKT_API_RC_BASE                 ( (cOCTVC1_PKT_API_UID << 16) + cOCTVC1_RC_BASE )

/* Module: CTRL */
#define cOCTVC1_CTRL_SID_BASE                   ( (cOCTVC1_CTRL_UID << 16) + cOCTVC1_SID_BASE )

/* Module: CPP */
#define cOCTVC1_CPP_CID_BASE                    ( (cOCTVC1_CPP_UID << 16) + cOCTVC1_CID_BASE )
#define cOCTVC1_CPP_RC_BASE                     ( (cOCTVC1_CPP_UID << 16) + cOCTVC1_RC_BASE )

/* Module: LICENSING */
#define cOCTVC1_LICENSING_RC_BASE               ( (cOCTVC1_LICENSING_UID << 16) + cOCTVC1_RC_BASE )

/* Module: NET */
#define cOCTVC1_NET_CID_BASE                    ( (cOCTVC1_NET_UID << 16) + cOCTVC1_CID_BASE )
#define cOCTVC1_NET_EID_BASE                    ( (cOCTVC1_NET_UID << 16) + cOCTVC1_EID_BASE )
#define cOCTVC1_NET_RC_BASE                     ( (cOCTVC1_NET_UID << 16) + cOCTVC1_RC_BASE )

/* Module: GSM */
#define cOCTVC1_GSM_CID_BASE                    ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_CID_BASE )
#define cOCTVC1_GSM_EID_BASE                    ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_EID_BASE )
#define cOCTVC1_GSM_RC_BASE                     ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_RC_BASE )

#endif /* __OCTVC1_BASE_H__ */

