/******************************************************************************/
/*                 Copyright C 1998-2002 Broadcom Corporation                 */
/*                                                                            */
/* This material is the confidential trade secret and proprietary information */
/* of Broadcom Corporation.  It may not be reproduced, used, sold or          */
/* transferred to any third party without the prior written consent of        */
/* Broadcom Corporation.   All rights reserved.                               */
/******************************************************************************/
/*   FileName        : bcm_hmiDebugServices.h                                 */
/*   Purpose         : Definition of all supported debug services             */
/*   Limitations     : None                                                   */
/*   Author          : Emmanuel Hanssens                                      */
/*   Creation Date   : 27-Jun-2002                                            */
/*   History         : Compiled by CVS                                        */
/******************************************************************************/
/*   $Id: bcm_hmiDebugServices.h,v 1.2 2003/02/20 09:48:25 hanssens Exp $  */
/******************************************************************************/
#ifndef BCM_HMI_DEBUG_SERVICE_H
# define BCM_HMI_DEBUG_SERVICE_H

# include "bcm_hmiDebugMsg.h"
# include "bcm_hmiQA.h"

# define GetLogAndDebugInfo(dev, applicationId, msgReq, msgRep, msgRepSize) \
  hmiQvarA(dev, applicationId, \
  (uint8 *) msgReq, SIZE_OF_REQ_MSG(GetLogAndDebugInfo), \
  (uint8 *) msgRep, SIZE_OF_REP_MSG(GetLogAndDebugInfo), msgRepSize, \
  &GetLogAndDebugInfoLayout)

# define GetDebugPrintLevel(dev, applicationId, msgReq, msgRep) \
  hmiQA(dev, applicationId, \
  (uint8 *) msgReq, SIZE_OF_REQ_MSG(GetDebugPrintLevel), \
  (uint8 *) msgRep, SIZE_OF_REP_MSG(GetDebugPrintLevel), \
  &GetDebugPrintLevelLayout)

# define SetDebugPrintLevel(dev, applicationId, msgReq) \
  hmiQA(dev, applicationId, \
  (uint8 *) msgReq, SIZE_OF_REQ_MSG(SetDebugPrintLevel), \
  (uint8 *) 0, 0, \
  &SetDebugPrintLevelLayout)

/* *msgRepSize must be set to available buffer size before calling the */
/* service, and the actual size read will be returned */
# define GetDebugDataDump(dev, applicationId, msgReq, msgRep, msgRepSize) \
  hmiQvarA(dev, applicationId, \
  (uint8 *) msgReq, SIZE_OF_REQ_MSG(GetDebugDataDump), \
  (uint8 *) msgRep, *msgRepSize, msgRepSize, \
  &GetDebugDataDumpLayout)

# define GetDebugDumpMask(dev, applicationId, msgReq, msgRep) \
  hmiQA(dev, applicationId, \
  (uint8 *) msgReq, SIZE_OF_REQ_MSG(GetDebugDumpMask), \
  (uint8 *) msgRep, SIZE_OF_REP_MSG(GetDebugDumpMask), \
  &GetDebugDumpMaskLayout)

# define SetDebugDumpMask(dev, applicationId, msgReq) \
  hmiQA(dev, applicationId, \
  (uint8 *) msgReq, SIZE_OF_REQ_MSG(SetDebugDumpMask), \
  (uint8 *) 0, 0, \
  &SetDebugDumpMaskLayout)

#endif
