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

File: OCTVC1_MAIN_RC.h

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

Description: Contains the return codes for the MAIN 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_MAIN_RC_H__
#define OCTVC1_MAIN_RC_H__


/*****************************  INCLUDE FILES  *******************************/
#include "../octvc1_base.h"
#include "../octvc1_generic_rc.h"

/****************************************************************************
	MAIN return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_RC_PROCESS_IMAGE_LOAD_FILE_NOT_FOUND	 ( 0x0000 + cOCTVC1_MAIN_RC_BASE )
#define cOCTVC1_MAIN_RC_CORE_NOT_FOUND						 ( 0x0004 + cOCTVC1_MAIN_RC_BASE )
#define cOCTVC1_MAIN_RC_EVENT_MASK_INVALID					 ( 0x0005 + cOCTVC1_MAIN_RC_BASE )
#define cOCTVC1_MAIN_RC_ETH_PORT_RESTRICTED_API_DENIED		 ( 0x0006 + cOCTVC1_MAIN_RC_BASE )
#define cOCTVC1_MAIN_RC_PROCESS_NOT_FOUND					 ( 0x0007 + cOCTVC1_MAIN_RC_BASE )
#define cOCTVC1_MAIN_RC_TDM_BUFFER_TX_TSST_INVALID			 ( 0x0001 + cOCTVC1_MAIN_RC_BASE )
#define cOCTVC1_MAIN_RC_TDM_MODIFY_STATUS_INVALID			 ( 0x0009 + cOCTVC1_MAIN_RC_BASE )

/****************************************************************************
	FILE return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_FILE_RC_BASE							 ( 0x0200 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_FILE_OPEN							 ( 0x0002 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_HANDLE							 ( 0x0004 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_INVALID_ACCESS_RIGHTS			 ( 0x0005 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_WRITE							 ( 0x0006 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_SEEK_UNKOWN_ORIGIN				 ( 0x0008 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_SEEK_INVALID_OFFSET			 ( 0x0009 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_SEEK							 ( 0x000A + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_NOT_FOUND						 ( 0x000C + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_MAX_READ_BYTE_SIZE				 ( 0x000D + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_MAX_WRITE_BYTE_SIZE			 ( 0x000E + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_NAME							 ( 0x000F + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_ALREADY_OPENED					 ( 0x0010 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_BUSY							 ( 0x0011 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_ALREADY_CLOSED					 ( 0x0012 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_NOT_OPEN						 ( 0x0013 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_FLASH_CMD_NOT_AVAILABLE		 ( 0x0014 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_GET_MODE_INVALID				 ( 0x0015 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_OCT1010ID_EXT_MEM				 ( 0x0016 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_OCT1010ID_CHECKSUM				 ( 0x0017 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_OCT1010ID_FILE_SIZE			 ( 0x0018 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_OCT1010ID_TYPE					 ( 0x0019 + cOCTVC1_MAIN_FILE_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_ACCESS_DENIED					 ( 0x001A + cOCTVC1_MAIN_FILE_RC_BASE )

/****************************************************************************
	FILE_SYSTEM return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE					 ( 0x0300 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO					 ( 0x0002 + cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE )
#define cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO_NO_MORE_FILE		 ( 0x0004 + cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE )

/****************************************************************************
	GPIO return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_GPIO_RC_BASE							 ( 0x0400 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_GPIO_BANK_INVALID					 ( 0x0000 + cOCTVC1_MAIN_GPIO_RC_BASE )

/****************************************************************************
	FLASH return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_FLASH_RC_BASE							 ( 0x0500 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_FLASH_INVALID_ADDRESS				 ( 0x0000 + cOCTVC1_MAIN_FLASH_RC_BASE )
#define cOCTVC1_MAIN_RC_FLASH_ACCESS_OUT_OF_RANGE			 ( 0x0001 + cOCTVC1_MAIN_FLASH_RC_BASE )
#define cOCTVC1_MAIN_RC_FLASH_APP_SPACE						 ( 0x0002 + cOCTVC1_MAIN_FLASH_RC_BASE )
#define cOCTVC1_MAIN_RC_FLASH_NOT_PRESENT					 ( 0x0003 + cOCTVC1_MAIN_FLASH_RC_BASE )
#define cOCTVC1_MAIN_RC_FLASH_TYPE_UNKNOWN					 ( 0x0004 + cOCTVC1_MAIN_FLASH_RC_BASE )
#define cOCTVC1_MAIN_RC_FLASH_ERROR							 ( 0x0005 + cOCTVC1_MAIN_FLASH_RC_BASE )

/****************************************************************************
	SPI return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_SPI_RC_BASE							 ( 0x0600 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_SPI_CHIP_SELECT_INVALID				 ( 0x0000 + cOCTVC1_MAIN_SPI_RC_BASE )
#define cOCTVC1_MAIN_RC_SPI_CLOCK_FREQUENCY_INVALID			 ( 0x0001 + cOCTVC1_MAIN_SPI_RC_BASE )
#define cOCTVC1_MAIN_RC_SPI_CLOCK_POLARITY_INVALID			 ( 0x0002 + cOCTVC1_MAIN_SPI_RC_BASE )
#define cOCTVC1_MAIN_RC_SPI_CLOCK_PHASE_INVALID				 ( 0x0003 + cOCTVC1_MAIN_SPI_RC_BASE )
#define cOCTVC1_MAIN_RC_SPI_TRANSFER_SIZE_INVALID			 ( 0x0004 + cOCTVC1_MAIN_SPI_RC_BASE )

/****************************************************************************
	CPU_USAGE return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_CPU_USAGE_RC_BASE						 ( 0x0A00 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_CPU_USAGE_HANDLE_INVALID			 ( 0x0000 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE )
#define cOCTVC1_MAIN_RC_CPU_USAGE_THRESHOLD_INVALID			 ( 0x0001 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE )
#define cOCTVC1_MAIN_RC_CPU_USAGE_NOT_ACCESSIBLE			 ( 0x0002 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE )

/****************************************************************************
	DMA_TRACE return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_DMA_TRACE_RC_BASE						 ( 0x0B00 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_DMA_TRACE_PARAMETER_INVALID			 ( 0x0000 + cOCTVC1_MAIN_DMA_TRACE_RC_BASE )
#define cOCTVC1_MAIN_RC_DMA_TRACE_OCTSYS_FUNC_ERROR			 ( 0x0001 + cOCTVC1_MAIN_DMA_TRACE_RC_BASE )
#define cOCTVC1_MAIN_RC_DMA_TRACE_PASSWORD_ERROR			 ( 0x0002 + cOCTVC1_MAIN_DMA_TRACE_RC_BASE )
#define cOCTVC1_MAIN_RC_DMA_TRACE_ENGINE_STATE				 ( 0x0003 + cOCTVC1_MAIN_DMA_TRACE_RC_BASE )

/****************************************************************************
	BUFFER return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_BUFFER_RC_BASE							 ( 0x0C00 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_BUFFER_FORMAT						 ( 0x0000 + cOCTVC1_MAIN_BUFFER_RC_BASE )
#define cOCTVC1_MAIN_RC_BUFFER_MAX_REACHED					 ( 0x0001 + cOCTVC1_MAIN_BUFFER_RC_BASE )
#define cOCTVC1_MAIN_RC_BUFFER_FILE_NOT_FOUND				 ( 0x0002 + cOCTVC1_MAIN_BUFFER_RC_BASE )
#define cOCTVC1_MAIN_RC_BUFFER_READ							 ( 0x0003 + cOCTVC1_MAIN_BUFFER_RC_BASE )
#define cOCTVC1_MAIN_RC_BUFFER_WRITE_LENGTH					 ( 0x0004 + cOCTVC1_MAIN_BUFFER_RC_BASE )
#define cOCTVC1_MAIN_RC_BUFFER_WRITE_OFFSET					 ( 0x0005 + cOCTVC1_MAIN_BUFFER_RC_BASE )
#define cOCTVC1_MAIN_RC_BUFFER_MODIFY						 ( 0x0006 + cOCTVC1_MAIN_BUFFER_RC_BASE )
#define cOCTVC1_MAIN_RC_BUFFER_LOCK							 ( 0x0007 + cOCTVC1_MAIN_BUFFER_RC_BASE )
#define cOCTVC1_MAIN_RC_BUFFER_INTERNAL_ERROR				 ( 0x0008 + cOCTVC1_MAIN_BUFFER_RC_BASE )

/****************************************************************************
	TRACING return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_TRACING_RC_BASE						 ( 0x0D00 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_TRACING_MODE						 ( 0x0000 + cOCTVC1_MAIN_TRACING_RC_BASE )
#define cOCTVC1_MAIN_RC_TRACING_TYPE						 ( 0x0001 + cOCTVC1_MAIN_TRACING_RC_BASE )
#define cOCTVC1_MAIN_RC_TRACING_NUM_BUFFER					 ( 0x0002 + cOCTVC1_MAIN_TRACING_RC_BASE )
#define cOCTVC1_MAIN_RC_TRACING_BUFFER_SIZE					 ( 0x0003 + cOCTVC1_MAIN_TRACING_RC_BASE )
#define cOCTVC1_MAIN_RC_TRACING_ALREADY_ACTIVE				 ( 0x0004 + cOCTVC1_MAIN_TRACING_RC_BASE )

/****************************************************************************
	DEBUG_FORWARD return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_DEBUG_FORWARD_RC_BASE					 ( 0x0E00 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_DEBUG_FORWARD_ALREADY_OPENED		 ( 0x0000 + cOCTVC1_MAIN_DEBUG_FORWARD_RC_BASE )
#define cOCTVC1_MAIN_RC_DEBUG_FORWARD_SOURCE_MAC_ADDRESS	 ( 0x0001 + cOCTVC1_MAIN_DEBUG_FORWARD_RC_BASE )

/****************************************************************************
	REDUNDANCY_SERVER return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE								 ( 0x0F00 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_ALREADY_STARTED					 ( 0x0000 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )
#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_NOT_STARTED						 ( 0x0001 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )
#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INVALID_REDUNDANT_MGW_CNT			 ( 0x0002 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )
#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_API_RESOURCE_OPENED_ON_ACTIVE_MGW	 ( 0x0003 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )
#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_MGW_MAX_REACHED					 ( 0x0004 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )
#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INVALID_MGW_HANDLE				 ( 0x0005 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )
#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INTERNAL_ERROR					 ( 0x0006 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )
#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_UNSUPPORTED_API_CMD				 ( 0x0007 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )
#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_FAILOVER_ALREADY_EXECUTED			 ( 0x0008 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE )

/****************************************************************************
	Validate return codes
 ****************************************************************************/
#define cOCTVC1_MAIN_AUTO_VALIDATE_RC_BASE							 ( 0xF000 + cOCTVC1_MAIN_RC_BASE )

#define cOCTVC1_MAIN_RC_BUFFER_OPEN_INVALID_ALLOCATED_BYTE_LENGTH	 ( 0x1 + cOCTVC1_MAIN_AUTO_VALIDATE_RC_BASE )

#endif /* OCTVC1_MAIN_RC_H__ */

