/****************************************************************************/
/*																			*/
/*	(C) Copyright 2004 SonyEricsson Mobile Communications.					*/
/*																			*/
/*	[FileName]		ObexBrewLib.h											*/
/*																			*/
/*	[Outline]		OBEX BREW対応ライブラリヘッダ							*/
/*																			*/
/*	[Auther]		H.Ishido(CRS)											*/
/*																			*/
/*	[History]																*/
/*	PTX-634 2004.02.25 H.Ishido(CRS) 初版作成				 				*/
/*	PTX-634 2004.07.06 H.Ishido(CRS) i-share:0198 CallBack Task切替処理追加	*/
/*																			*/
/****************************************************************************/
#ifndef	OBEXBREWLIB_H
#define	OBEXBREWLIB_H

#include "ApiIrdaComp.h"

/****************************************************************************/
/*							define宣言										*/
/****************************************************************************/
/* BREW IrDAデバッグフラグ					*/
// デバッグ時以外はコメント化する。
// #define BREWIRDA_OBEX_DEBUG

#ifdef BREWIRDA_OBEX_DEBUG
#define		OBEXBREW_DBGNUM		256
#endif

/****************************************************************************/
/*							マクロ宣言										*/
/****************************************************************************/
// BREW Debug Trace用
#ifdef BREWIRDA_OBEX_DEBUG
	#define OEMIrObex_DebugDump(code, num, buf) Obex_BrewDebugDump(code, num, buf)
#else
	#define OEMIrObex_DebugDump(code, num, buf)
#endif

/****************************************************************************/
/*							構造体宣言										*/
/****************************************************************************/
#ifdef BREWIRDA_OBEX_DEBUG
typedef struct ST_BREWIRDA_DBG_DUMP{
	unsigned char			ucNum;								// 関数番号
	unsigned char			ucIdx;								// 関数内インデックス
	unsigned char			ucData[14];							// データ領域
}ST_BREWIRDA_DBG_DUMP;
#endif

/****************************************************************************/
/*							公開関数宣言									*/
/****************************************************************************/
#ifdef BREWIRDA_OBEX_DEBUG
extern void Obex_BrewDebugDump(unsigned char ucNum, unsigned char ucIdx, unsigned char *ucData);
#endif

// BREWカウンタ
// クライアントカウンタインクリメント処理
extern void LibObex_IncBrewCli(void);
// クライアントカウンタデクリメント処理
extern void LibObex_DecBrewCli(void);
// クライアントカウンタチェック処理
extern GFRESULT LibObex_ChkBrewCli(void);
// サーバーカウンタインクリメント処理
extern void LibObex_IncBrewSvr(void);
// サーバーカウンタデクリメント処理
extern void LibObex_DecBrewSvr(void);
// サーバーカウンタチェック処理
extern GFRESULT LibObex_ChkBrewSvr(void);

// クライアント強制切断カウンタ初期化処理
extern void LibObex_ClInitForceDisc(void);
// サーバー強制切断カウンタ初期化処理
extern void LibObex_SvInitForceDisc(void);
// クライアント強制切断カウンタ更新処理
extern void LibObex_ClIncForceDisc(void);
// サーバー強制切断カウンタ更新処理
extern void LibObex_SvIncForceDisc(void);

// クライアントIrLAP切断プローブ設定処理
extern void LibObex_ClSetIrLapDiscProbe(void);
// サーバーIrLAP切断プローブ設定処理
extern void LibObex_SvSetIrLapDiscProbe(void);

// PTX-634 i-share:0198 2004.07.06 Start
// BREW タスクWAIT処理
extern void LibObex_TaskWait(void);
// BREW タスク切替処理
extern void LibObex_TaskSwitch(void);
// PTX-634 i-share:0198 2004.07.06 End

/****************************************************************************/
/*							公開メモリ宣言									*/
/****************************************************************************/
#ifdef BREWIRDA_OBEX_DEBUG
extern ST_BREWIRDA_DBG_DUMP	gstObexBrewDbgDump[OBEXBREW_DBGNUM];		// デバッグ情報
extern unsigned short		gusBrNow;									// カウンタ
#endif

#endif
