/*===========================================================================
                    IMPORTANT NOTICE

            Not to be distributed in source format.

FILE:  bridle_GSM1XSIG.h

SERVICES:  Bridle'd GSM1XSIG calls. 

GENERAL DESCRIPTION:
   Contains inlined code that does swi into Supervisor mode and invokes
   appropriate routine.

        Copyright © 2003 QUALCOMM Incorporated.
               All Rights Reserved.
            QUALCOMM Proprietary/GTDR
===========================================================================*/

#ifndef __BRIDLE_GSM1XSIG_H__
#define __BRIDLE_GSM1XSIG_H__

#include "OEMGSM1xSIG_SVC.h"
#include "AEEBridle.h"

/* Subroutine Id to map different functions invoked in Supervisor mode. */
enum {
    BRIDLE_GSM1XSIG_INIT,
    BRIDLE_GSM1XSIG_GETSIGMESSAGE,
    BRIDLE_GSM1XSIG_SENDSIGNALINGSMS,
    BRIDLE_GSM1XSIG_MAX
};

extern uint32 bridle_oemGSM1xSig_swi;

/* inlined functions packbridle_* and unpackbridle_* */

BRIDLE0_VOID(
    OEMGSM1xSig_SVC_Init,
    bridle_oemGSM1xSig_swi, 
    BRIDLE_GSM1XSIG_INIT
    )

BRIDLE1_RET(
    boolean, // return value type
    OEMGSM1xSig_SVC_GetSIGMessage,
    AEEGSM1xSig_NotifyMessageType*, BRIDLE_CHECK_WRITEACCESS, sizeof(AEEGSM1xSig_NotifyMessageType),
    bridle_oemGSM1xSig_swi,
    BRIDLE_GSM1XSIG_GETSIGMESSAGE
    )

BRIDLE1_RET(
    int, // return value type
    OEMGSM1xSig_SVC_SendSignalingSMS,
    const AEEGSM1xSig_SignalingMessageType*, BRIDLE_CHECK_READACCESS, sizeof(AEEGSM1xSig_SignalingMessageType),
    bridle_oemGSM1xSig_swi,
    BRIDLE_GSM1XSIG_SENDSIGNALINGSMS
    )

#endif // __BRIDLE_GSM1XSIG_H__
