fyf_aout.h
上传用户:sunhongbo
上传日期:2022-01-25
资源大小:3010k
文件大小:4k
源码类别:

数据库系统

开发平台:

C/C++

  1. /******************************************************************************/
  2. /*    Copyright (c) 2008 Embedded Internet Solutions, Inc                     */
  3. /*    All rights reserved. You are not allowed to copy or distribute          */
  4. /*    the code without permission.                                            */
  5. /*    This is the demo implenment of the Porting APIs needed by            */
  6. /*    MiddleWare.                                                             */
  7. /*    Maybe you should modify it accorrding to Platform.                      */
  8. /*                                                                            */
  9. /*    $author szhy 2008/09/26                                              */
  10. /******************************************************************************/
  11. #ifndef  __FYF_AOUT_H_
  12. #define __FYF_AOUT_H_
  13. typedef enum
  14. {
  15.     FYF_AOUT_SET_OUTPUT = 1,
  16.     FYF_AOUT_SET_VOLUME,
  17.     FYF_AOUT_SET_BALANCE
  18. }FYF_AOUT_IOCTL_e;
  19. typedef enum
  20. {
  21.     FYF_AOUT_DEVICE_ANALOG_STERO = 0x01, // 模拟立体声输出
  22.     FYF_AOUT_DEVICE_ANALOG_MUTI  = 0x02, // 模拟多声道输出
  23.     FYF_AOUT_DEVICE_SPDIF        = 0x04, // S/PDIF输出
  24.     FYF_AOUT_DEVICE_HDMI         = 0x08, // HDMI输出
  25.     FYF_AOUT_DEVICE_I2S          = 0x10, // I2S输出
  26.     FYF_AOUT_DEVICE_ALL          = 0xff  // 所有端口
  27. }FYF_AOUT_DEVICE_e;
  28. typedef struct
  29. {
  30. BU32 (*FYF_CPI_aout_open)(void);
  31. BS32 (*FYF_CPI_aout_close)(BU32 handle);
  32. BS32 (*FYF_CPI_aout_ioctl)(BU32 handle, FYF_AOUT_IOCTL_e op, void *arg);
  33. }FYF_AOUT_PORTING;
  34. /******************************************************************************/
  35. /*Description: register aout                                                 */
  36. /*Input      : porting       */
  37. /*Output     : no                                                             */
  38. /*Return     : no                                                             */
  39. /******************************************************************************/
  40. void FYF_API_aout_register(FYF_AOUT_PORTING *porting);
  41. /******************************************************************************/
  42. /*Description: aout open                                                      */
  43. /*Input      : no                      */
  44. /*Output     : no                                                             */
  45. /*Return     : >0 success, 0 failure                                          */
  46. /******************************************************************************/
  47. BU32 FYF_API_aout_open(void);
  48. /******************************************************************************/
  49. /*Description: aout close                                                     */
  50. /*Input      : handle                   */
  51. /*Output     : no                                                             */
  52. /*Return     : FYF_OK: success, FYF_ERR: failure                              */
  53. /******************************************************************************/
  54. BS32 FYF_API_aout_close(BU32 handle);
  55. /******************************************************************************/
  56. /*Description: aout ioctl                                                     */
  57. /*Input      : handle,op                 */
  58. /*Output     : arg                                                            */
  59. /*Return     : FYF_OK: success, FYF_ERR: failure                              */
  60. /******************************************************************************/
  61. BS32 FYF_API_aout_ioctl(BU32 handle, FYF_AOUT_IOCTL_e op, void *arg);
  62. #endif