/*****************************************************************************/
/* Copyright (c) 2009 NXP B.V.                                               */
/*                                                                           */
/* This program is free software; you can redistribute it and/or modify      */
/* it under the terms of the GNU General Public License as published by      */
/* the Free Software Foundation, using version 2 of the License.             */
/*                                                                           */
/* 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 General Public License         */
/* along with this program; if not, write to the Free Software               */
/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307       */
/* USA.                                                                      */
/*                                                                           */
/*****************************************************************************/
/**
    @file   phStbScartSwitchApi.h
    @brief  This file contains the prototypes of API to use scart switch
            without linux driver interface.

    @b  Module:  UDA3000 (AV Scart switch) driver.

*//*

Rev Date        Author      Comments
--------------------------------------------------------------------------------
  1 20073001    frq06781    Creation
    20081015    frq06751    Import component into stb225 database
  2 20090121    batelaan    Update license header
  3 20090226    boudy       Add Get/Set IOCTL to control slow blanking and video format
                            with one IOCTL and one associated data structure
  4 20090406    ocourson    Compiling issue
--------------------------------------------------------------------------------
    For consistency and standardisation retain the Section Separators.
*/

#ifndef __PHSTBSCARTSWITCHAPI_H__
#define __PHSTBSCARTSWITCHAPI_H__


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

#if defined(__cplusplus)
extern "C" {
#endif


/*============================================================================*/
/*                       MACRO DEFINITION                                     */
/*============================================================================*/

/*============================================================================*/
/*                       ENUM OR TYPE DEFINITION                              */
/*============================================================================*/

/*============================================================================*/
/*                       EXTERN DATA DEFINITION                               */
/*============================================================================*/

/*============================================================================*/
/*                       EXTERN FUNCTION PROTOTYPES                           */
/*============================================================================*/
extern int32_t phStbScartSwitchSetVolume(            phStbScartSwitchScartId_t kScartNumber , uint8_t kVolume                           );
extern int32_t phStbScartSwitchGetVolume(            phStbScartSwitchScartId_t kScartNumber , uint8_t *pVolume                          );
extern int32_t phStbScartSwitchSetOutputMode(        phStbScartSwitchScartId_t kScartNumber , phStbScartSwitchOutputMode_t kMode        );
extern int32_t phStbScartSwitchSetVideoFormat(       phStbScartSwitchScartId_t kScartNumber , phStbScartSwitchVideoFormat_t kFormat     );
extern int32_t phStbScartSwitchSetSBMode(            phStbScartSwitchScartId_t kScartNumber , phStbScartSwitchSBMode_t kMode            );
extern int32_t phStbScartSwitchSetSBValue(           phStbScartSwitchScartId_t kScartNumber , phStbScartSwitchSBValue_t kValue          );
extern int32_t phStbScartSwitchGetSBValue(           phStbScartSwitchScartId_t kScartNumber , phStbScartSwitchSBValue_t *pValue         );
extern int32_t phStbScartSwitchInstallSBCallback(    phStbScartSwitchScartId_t kScartNumber , pScartSwitchCallback_t pFunc              );
extern int32_t phStbScartSwitchSetFBMode(            phStbScartSwitchScartId_t kScartNumber , phStbScartSwitchFBMode_t kFBMode          );
extern int32_t phStbScartSwitchSetAudioSource(       phStbScartSwitchScartId_t kScartNumber,  phStbScartSwitchAudioSource_t kAudioSource);
extern int32_t phStbScartSwitchSetAudioCommonMute(   phStbScartSwitchAudioCommonMute_t kMute                                            );
extern int32_t phStbScartSwitchGetSwitchSettings(    phStbScartSwitch_data_t *pScartSwitchData                                          );
extern int32_t phStbScartSwitchSetSwitchSettings(    phStbScartSwitch_data_t *pScartSwitchData                                          );
extern int32_t phStbScartSwitchGetDeviceId(          uint8_t *pDeviceId                                                                 );

#if defined(__cplusplus)
}
#endif

#endif /* __PHSTBSCARTSWITCHAPI_H__ */

