/*****************************************************************************
 * Copyright (C) Gemalto M2M GmbH
 *****************************************************************************
 * Project: IMC-RIL-Driver
 *****************************************************************************
 * Author : Wireless Modules RD SW A2
 *****************************************************************************
 * $Workfile: Y:/z_ms-d/src/working/Quinn/RilDrv/gprs.h $
 * $Revision: /main/ms-d/8 $
 *     $Date: 2010-09-03 10:57:01 $
 *   $Author: ctna0256 $
 *****************************************************************************
 * Target:
 *  Microsoft Windows Mobile 5.0
 *****************************************************************************
 * Description:
 *  Gemalto IMC RIL
 *****************************************************************************
 *
 * $Log: Y:/z_ms-d/src/working/Quinn/RilDrv/gprs.h$ 
 * 
 * /main/ms-d/8   2010-09-03 10:57:01   ctna0256 
 * Add GPRS activation notification for CE7
 *
 * /main/ms-d/7   2010-02-03 10:50:55   ctna0256
 * Introduction of WinCE6 support
 *
 * /main/ms-d/6   2008-08-22 10:23:51   ctna0256
 * Set Cinterion copyright text
 *
 * /main/ms-d/5   2008-08-21 09:34:30   ctna0256
 * Prepared for new disclaimer handling
 *
 * /main/ms-d/4   2008-06-20 11:05:44   mp49210
 * Remove unused SIEMENS_MAGNETO define
 *
 * /main/ms-d/3   2007-09-11 15:51:28   mp49210
 * Additional notifications at end of PPP packet data connections
 *
 * /main/ms-d/2   2006-12-21 17:21:54   mp49210
 * Use new GPRS Auto Attach method
 *
 * /main/ms-d/1   2006-10-25 16:53:34   wm36264
 * First transformation from classic RIL
 *
*/

//////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2008 Gemalto M2M GmbH
// Copyright (C) 2006-2008 Siemens AG
// Copyright (C) 2003 Intrinsyc Europe Ltd.
//
// Version: 1.0
// Date:    dummy
//
//////////////////////////////////////////////////////////////////////////////

/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995-1999  Microsoft Corporation
--*/

#pragma once

HRESULT RILDrv_GetSystemTime                     (DWORD dwParam);
HRESULT RILDrv_GetGPRSContextList                (DWORD dwParam);
HRESULT RILDrv_SetGPRSContext                    (DWORD dwParam, const RILGPRSCONTEXT* lpGprsContext);
HRESULT RILDrv_DeleteGPRSContext                 (DWORD dwParam, DWORD dwContextID);
HRESULT RILDrv_GetRequestedQualityOfServiceList  (DWORD dwParam);
HRESULT RILDrv_SetRequestedQualityOfService      (DWORD dwParam, const RILGPRSQOSPROFILE* lpGprsQosProfile);
HRESULT RILDrv_DeleteRequestedQualityOfService   (DWORD dwParam, DWORD dwContextID);
HRESULT RILDrv_GetMinimumQualityOfServiceList    (DWORD dwParam);
HRESULT RILDrv_SetMinimumQualityOfService        (DWORD dwParam, const RILGPRSQOSPROFILE* lpGprsQosProfile);
HRESULT RILDrv_DeleteMinimumQualityOfService     (DWORD dwParam, DWORD dwContextID);
HRESULT RILDrv_SetGPRSAttached                   (DWORD dwParam, BOOL fAttached);
HRESULT RILDrv_GetGPRSAttached                   (DWORD dwParam);
HRESULT RILDrv_SetGPRSContextActivated           (DWORD dwParam, DWORD dwContextID, BOOL fContextActivation);
HRESULT RILDrv_GetGPRSContextActivatedList       (DWORD dwParam);
HRESULT RILDrv_EnterGPRSDataMode                 (DWORD dwParam, const RILENTERGPRSDATAMODE * lpEnterGprsDataMode);
HRESULT RILDrv_GetGPRSAddress                    (DWORD dwParam, DWORD dwContextID);
HRESULT RILDrv_SetGPRSAutoAnswer                 (DWORD dwParam, BOOL fAutoAnswer);
HRESULT RILDrv_GetGPRSAttachState                (DWORD dwParam);
HRESULT RILDrv_GPRSAnswer                        (DWORD dwParam, const RILGPRSANSWER *lpGprsAnswer);
HRESULT RILDrv_GetGPRSRegistrationStatus         (DWORD dwParam);
HRESULT RILDrv_GetGPRSClass                      (DWORD dwParam);
HRESULT RILDrv_SetGPRSClass                      (DWORD dwParam, DWORD dwClass);
HRESULT RILDrv_GetMOSMSService                   (DWORD dwParam);
HRESULT RILDrv_SetMOSMSService                   (DWORD dwParam, DWORD dwMoSmsService);

HRESULT RILDrv_NdisSetGPRSContextActivated       (DWORD dwParam, const RILNDISSETGPRSCONTEXTACTIVATED *lpNdisSetGprsContextActivated );
#ifndef RILDRV_CE6
HRESULT RILDrv_NdisReceivePacketDone             (DWORD dwParam, RILNDISPACKET* lpNdisPacket);
HRESULT RILDrv_NdisSendPacket                    (DWORD dwParam, RILNDISPACKET* lpNdisPacket);
#endif

HRESULT ParseGetGprsCapsClass(LPCSTR szRsp, void*& pBlob, UINT& cbBlob, LPVOID pParam);
HRESULT ParseGetGprsCapsContext(LPCSTR szRsp, void*& pBlob, UINT& cbBlob, LPVOID pParam);
HRESULT ParseGetGprsCapsQOS(LPCSTR szRsp, void*& pBlob, UINT& cbBlob, LPVOID pParam);
HRESULT ParseGetGprsCapsQOSMin(LPCSTR szRsp, void*& pBlob, UINT& cbBlob, LPVOID pParam);
HRESULT ParseGetGprsCapsSMOSMS(LPCSTR szRsp, void*& pBlob, UINT& cbBlob, LPVOID pParam);
HRESULT ParseForceFailureResponse(LPCSTR, void*&, UINT&, LPVOID pParam);

void ClearGPRSParamCache(void);
void SendGPRSDeactivatedNotification(CRilHandle* pRilDevice, DWORD dwContextID);
#ifdef RILDRV_CE7
void SendGPRSActivatedNotification(CRilHandle* pRilDevice, DWORD dwContextID);
#endif

extern DWORD g_dwCurrentContextID;

