/*
 * Copyright 2010 Trident Microsystems (Far East) Ltd. All rights reserved.
 * All prior copyright rights in this work and the accompanying software
 * products transferred to Trident Microsystems (Far East) Ltd. by written
 * agreement.
 */
/*****************************************************************************/
/* Copyright (c) 2010 NXP B.V.  All rights are reserved.                     */
/*                                                                           */
/* Redistribution and use in source and binary forms, with or without        */
/* modification, are permitted provided that the following conditions        */
/* are met:                                                                  */
/*                                                                           */
/* Redistributions of source code must retain the above copyright            */
/* notice, this list of conditions and the following disclaimer.             */
/*                                                                           */
/* Redistributions in binary form must reproduce the above copyright         */
/* notice, this list of conditions and the following disclaimer in the       */
/* documentation and/or other materials provided with the distribution.      */
/*                                                                           */
/* Neither the name of NXP nor the names of its                              */
/* contributors may be used to endorse or promote products derived from      */
/* this software without specific prior written permission.                  */
/*                                                                           */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS       */
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT         */
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR     */
/* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT      */
/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,     */
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT          */
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,     */
/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY     */
/* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT       */
/* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE         */
/* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH          */
/* DAMAGE.                                                                   */
/*                                                                           */
/*****************************************************************************/
/**
    @file   phStbStreamingSystem_Errors.h
    @brief  Errors that may be returned from Streaming System interfaces

@b  Component:  phStbStreamingSystem.

*//*

Rev Date        Author      Comments
--------------------------------------------------------------------------------
  1 20050621    burningh    Original
111 20060622    burningh    Add errors for ResourceServer interface
112 20050623    burningh    Add errors for TSSASourcePin and TSSASinkPin
113 20050623    burningh    Add errors for StreamGraph and use allocated CID
  2 20050622    J Grant     Connect, Disconnect and Commit implementation
  3 20050623    J Grant     Merge
  4 20050623    J Grant     Merge
  5 20050701    J Grant     Merge
  6 20050812    batelaan    Remove CID_STBSTREAMINGSYSTEM (now defined in tmNxCompId.h)
  7 20060124    batelaan    Add extern "C" for use with C++
  8 20060718    G.Lawrance  Add SBM specific error codes
  9 20060807    G.Lawrance  Rework
 10 20061016    G.Lawrance  Add FRM specific error codes
 11 20080110    barnish     Add MSP specific error codes
 12 20080204    F.Raiyat    FLPT -> MSP renaming
 13 20080625    burningh    Update license text
 14 20090120    batelaan    Update file copyright/license text
--------------------------------------------------------------------------------
    For consistency and standardisation retain the Section Separators.
*/

#ifndef PHSTBSTREAMINGSYSTEM_ERRORS_H
#define PHSTBSTREAMINGSYSTEM_ERRORS_H

/*******************
* INCLUDE FILES    *
********************/

#ifdef __cplusplus
extern "C"
{
#endif

/**************************************************************************
* EXPORTED MACROS         PH[<LNX|TM|NONE>]_STBSTREAMINGSYSTEM_STREAMINGCOMPONENT_<_WORD>+        *
***************************************************************************/

//! Base error number
#define PH_STBSTREAMINGSYSTEM_ERR_BASE    CID_STBSTREAMINGSYSTEM

//! Base unique error number
#define PH_STBSTREAMINGSYSTEM_UNIQUE_BASE (PH_STBSTREAMINGSYSTEM_ERR_BASE | TM_ERR_COMP_UNIQUE_START)

//! Error: The provided resource was not valid
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_RESOURCE           (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 1L)

//! Error: More than the supported number of pins were requested
#define PH_STBSTREAMINGSYSTEM_ERR_TOO_MANY_PINS          (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 2L)

//! Error: An invalid client was provided
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_CLIENT             (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 3L)

//! Error: No more space was available for resources
#define PH_STBSTREAMINGSYSTEM_ERR_RESOURCES_FULL         (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 4L)

//! Error: The resource is connected
#define PH_STBSTREAMINGSYSTEM_ERR_RESOURCE_CONNECTED     (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 5L)

//! Error: The resource is not connected
#define PH_STBSTREAMINGSYSTEM_ERR_RESOURCE_NOT_CONNECTED (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 6L)

//! Error: The provided name was bad
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_NAME               (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 7L)

//! Error: The name was already in use
#define PH_STBSTREAMINGSYSTEM_ERR_NAME_IN_USE            (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 8L)

//! Error: The provided pin was bad
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_PIN                (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 9L)

//! Error: The provided capabilities were bad
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_CAPABILITIES       (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 10L)

//! Error: No more space was available for pins
#define PH_STBSTREAMINGSYSTEM_ERR_PINS_FULL              (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 11L)

//! Error: The pin is in use
#define PH_STBSTREAMINGSYSTEM_ERR_PIN_IN_USE             (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 12L)

//! Error: The provided IO Descriptor was bad
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_IOD                (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 13L)

//! Error: No more space was available for stream graphs
#define PH_STBSTREAMINGSYSTEM_ERR_GRAPHS_FULL            (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 14L)

//! Error: The provided stream graph was bad
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_GRAPH              (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 15L)

//! Error: The stream graph is in use
#define PH_STBSTREAMINGSYSTEM_ERR_GRAPH_IN_USE           (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 16L)

//! Error: The resource is already present in this stream graph
#define PH_STBSTREAMINGSYSTEM_ERR_RESOURCE_PRESENT       (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 17L)

//! Error: The resource is not present in this stream graph
#define PH_STBSTREAMINGSYSTEM_ERR_RESOURCE_NOT_PRESENT   (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 18L)

//! Error: The provided interface is invalid
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_INTERFACE          (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 19L)

//! Error: The requested connection is invalid
#define PH_STBSTREAMINGSYSTEM_ERR_BAD_CONNECTION         (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 20L)

//! Error: Null pointer given as return address
#define PH_STBSTREAMINGSYSTEM_ERR_NULL_RETURN_ADDRESS    (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 21L)

//! Error: Invalid or Null SBM Buffer used
#define PH_STBSTREAMINGSYSTEM_ERR_INVALID_SBM_BUFFER     (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 22L)

//! Error: Illegal operation performed on a SBM hardware buffer
#define PH_STBSTREAMINGSYSTEM_ERR_ILLEGAL_HW_BUFFER_OP   (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 23L)

//! Error: Cannot connect SBM h/w buffer to h/w buffer
#define PH_STBSTREAMINGSYSTEM_ERR_SBM_HWTOHW_CONNECTION  (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 24L)

//! Error: The requested SBM connection is invalid
#define PH_STBSTREAMINGSYSTEM_ERR_INVALID_SBM_CONNECTION (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 25L)

//! Error: The requested TSSA connection is invalid
#define PH_STBSTREAMINGSYSTEM_ERR_INVALID_TSSA_CONNECTION (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 26L)

//! Error: The requested FRM connection is invalid
#define PH_STBSTREAMINGSYSTEM_ERR_INVALID_FRM_CONNECTION (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 27L)

//! Error: The requested FRM source pin has invalid GSL event settings
#define PH_STBSTREAMINGSYSTEM_ERR_INVALID_FRM_GSLEVENT   (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 28L)

//! Error: Invalid or null MSP PUtPacket() function pointer used
#define PH_STBSTREAMINGSYSTEM_ERR_INVALID_MSP_FUNC         (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 29L)

//!Error: The requested MSP connection is invalid
#define PH_STBSTREAMINGSYSTEM_ERR_INVALID_MSP_CONNECTION   (PH_STBSTREAMINGSYSTEM_UNIQUE_BASE | 30L)

/* Note: Maximum error number is 127, higher numbers are reserved for internal errors */


/*********************************************************************
* EXPORTED TYPEDEFS       [p]phStbStreamingSystem_StreamingComponent_<Word>+_t  *
**********************************************************************/

/**************************************************************************
* EXPORTED DATA      g[k|p|kp|pk|kpk]ph[<lnx|tm|NONE>]StbStreamingSystem_StreamingComponent_<Word>+ *
***************************************************************************/

/****************************************************************************
* EXPORTED FUNCTION PROTOTYPES     ph[<lnx|tm|NONE>]StbStreamingSystem_StreamingComponent[_<Word>+]   *
*****************************************************************************/

#ifdef __cplusplus
}
#endif

#endif /* PHSTBSTREAMINGSYSTEM_ERRORS_H      Do not add any thing below this line */

