?? jb.x
字號:
//typedef struct jbSap
//{
// SpId spId; /* service provider id */
// SuId suId; /* service user SAP id */
// State state; /* state of this SAP */
//#ifndef HI_REL_1_3
// U32 currTxQSiz; /* current size (in bytes) of all the
// * pending transmission queues in all the
// * connection blocks in this SAP
// */
// U8 flcIssued; /* transmit queue congestion is on */
// Bool flc;
//#endif /* HI_REL_1_3 */
// Bool resCongStrt; /* resource congestion hit on the SAP */
// Bool resCongDrop; /* sever resource congestion on the SAP */
// UConnId lstSpConId; /* used to generate the next spConnId */
// HiSapCfg cfg; /* configuration for this SAP */
// JbTxSts genTxSts; /* Stores general transmit statistics */
// JbTxSts txSts; /* Stores sap transmit statistics */
// DateTime dt; /* date and time */
// Bool trc; /* trace enabled flag */
// S16 trcLen; /* trace length */
// CmHashListCp sapHlCp; /* connection block hash list
// * control point */
// Pst uiPst; /* upper interface(HI user) post structure */
//
// Ent contEnt; /* controlling entity */
//
//#ifdef HI_MULTI_THREADED
// Pst uiConCfmPst; /* upper interface(HI user) post structure */
// Pst uiConIndPst; /* upper interface(HI user) post structure */
// Pst uiFlcIndPst; /* upper interface(HI user) post structure */
// Pst uiDatIndPst; /* upper interface(HI user) post structure */
// Pst uiUDatIndPst; /* upper interface(HI user) post structure */
// Pst uiDiscIndPst; /* upper interface(HI user) post structure */
// Pst uiDiscCfmPst; /* upper interface(HI user) post structure */
// SLockId spConIdLock; /* Lock to hold to access the spConId HL */
// CmHashListCp spConIdHlCp; /* connection block hash list */
// HiPendOp pendOp; /* Control request pending operation */
// U16 numRecvThrCfmsExptd;
// /* Number of receive threads to respond */
//#endif /* HI_MULTI_THREADED */
// /* hi009.104 - addition - remIntfValid and verContEnt */
//#ifdef HI_RUG
// Bool remIntfValid; /* version number valid? */
// Ent verContEnt; /* interface version info control block list */
//#endif /* HI_RUG */
//} JbSap;
/* Connection control block */
/* ejg - newer version - based on hiConCb */
/* This struct MUST match HiConCb structure */
//typedef struct jbConCb
//{
// CmLList llEnt; /* Entry into hiCmFdGrpList */
// CmHashListEnt sapHlEnt; /* sap hash list entry */
// CmHashListEnt rdFdHlEnt; /* fdset block hash list entry */
// CmHashListEnt wrFdHlEnt; /* fdset block hash list entry */
//#ifdef HI_MULTI_THREADED
// CmHashListEnt spConIdHlEnt; /* spConId hash list entry */
//#endif /* HI_MULTI_THREADED */
//#ifdef HI_REL_1_3
// CmHashListEnt icmpHlEnt; /* Icmp connection hash list entry */
//#endif /* HI_REL_1_3 */
//#ifdef HI_LPBK
// CmHashListEnt locAddrHlEnt; /* hash list entry */
// CmTptAddr locAddr; /* local transport address */
//#endif /* HI_LPBK */
// U8 srvcType; /* service type */
// State conState; /* state of this connection */
// UConnId suConId; /* HI service user connection id */
// UConnId spConId; /* hi service provider connection id */
// CmInetFd conFd; /* socket descriptor for this connection */
// JbSap *sap; /* SAP pointer */
// CmTptAddr peerAddr; /* address of the peer entity */
//#ifdef HI_MULTI_THREADED
// SLockId txQLockId; /* transmit queue lock id */
//#endif /* HI_MULTI_THREADED */
// Queue txQ; /* queue for pending transmit buffers */
// U32 txQSiz; /* current size (in bytes) of txQ */
// Bool awaitHdr; /* Flag to indicate header arrival */
// U32 rxLen; /* length of received TCP data */
// U32 pendLen; /* length of pending TCP data */
// Buffer *rxBuf; /* receive buffer */
// U8 toBeDel; /* marked for deletion flag */
// U32 flag; /* flag - used bitwise
// * type of service:
// * TCP UDP TCP-TPKT UDP-TPKT
// * RAW ICMP SCTP
// */
// Action action; /* action received in HitDiscReq */
//#ifdef HI_MULTI_THREADED
// U8 choice; /* Choice */
// Bool sendConCfm; /* Send con confirm */
//#endif /* HI_MULTI_THREADED */
// Reason reason; /* Reason to use to issue a disconnect
// * indication to the upper user */
// U16 fdBlkIdx; /* index in the fdGrp in which this
// * socket is set in */
// U16 isInList; /* indicates which list the block is in */
//#ifdef HI_REL_1_3
// Bool flc; /* flag for flow control */
// Bool hdrIncldFlag; /* IP Header Include Option */
// U8 filterProtocol; /* filtering on protocol */
// U16 icmpMask; /* mask for distribution of ICMP msgs */
//
// /* hi009.104 - added to know if user needs IPv6 extnsion headers */
//#ifdef IPV6_SUPPORTED
//#ifdef IPV6_OPTS_SUPPORTED
// Bool ipv6OptsReq; /* set it to TRUE in ServOpenReq/ConReq
// * if user wants to recv IPV6 options */
//#endif /* IPV6_OPTS_SUPPORTED */
//
// U16 icmp6Mask; /* mask for distribution of ICMPV6 msgs */
//#endif /* IPV6_SUPPORTED */
// U8 protocol; /* protocol value */
// U8 numFilters; /* number of Filters */
// CmIcmpError *icmpError; /* pointer to ICMP filter array */
// U8 ipParamMask; /* mask of DF & TOS bits */
// /* hi004.104 - TOS parameter added for TOS value */
// U8 ipTos; /* IP TOS value */
// U8 ipTtl; /* IP time to live value */
// /* Flag to indicate transmit queue congestion has started */
// U8 flcIssued; /* flow control is issued */
//#ifdef HI_REL_1_4
// U8 mCastTtl; /* Multicast TTL */
//#endif /* HI_REL_1_4 */
//#endif /* HI_REL_1_3 */
// Bool mBufInQ; /* indicates atleast one mBuf is in Q */
// CmTptAddr locTptAddr; /* local transport address */
//
// /* hi009.104 - added to know if user needs IPv4 options */
//#ifdef IPV4_OPTS_SUPPORTED
// Bool ipv4OptionSet; /* IP Options is set on the socket */
//#endif /* IPV4_OPTS_SUPPORTED */
//} JbConCb;
#ifdef DEBUG_JB
#define MAX_JBDBG 1024
typedef struct jbDebug_d
{
U32 op;
U32 timestamp;
U32 pkttimestamp;
U32 curtimestamp;
U32 seq;
U32 state;
U32 p;
U32 q;
U32 frames;
U32 length;
S32 numPackets;
S32 jitterBufferSize;
} JbDebug_d;
typedef struct jbDebug_e
{
U32 timestamp;
U32 pkttimestamp;
U32 frames;
U32 length;
} JbDebug_e;
#endif
typedef S16 (*PFJBFSM) ARGS((JbConnCb *connCb, Data *mBuf, HrRtpHdr *rtpHdr));
EXTERN PFJBFSM JbFSM[NMB_JB_EVNT][NMB_JB_ST];
/***************************************************************************
External References
****************************************************************************/
/*--------------------------------------------------------------------
Global variables
---------------------------------------------------------------------*/
EXTERN JbCb jbCb; /* H.323 global control block */
EXTERN Data getBuf[JB_MAX_BUF_SIZE];
EXTERN JbConnCb connCb;
/*--------------------------------------------------------------------
system services interface functions
---------------------------------------------------------------------*/
EXTERN S16 jbActvInit ARGS ((void));
//EXTERN S16 jbActvTsk ARGS((Pst *pst, Buffer *mBuf));
//EXTERN S16 jbActvTmr ARGS ((void));
EXTERN VOID jbDspGetManager ARGS ((/*JbConnKey **connCb, */S8 num, U8 connIndex));
EXTERN VOID jbDspPutManager ARGS ((/*JbConnKey **connCb,*/U8 connIndex));
EXTERN VOID jbReadSocket ARGS ((HRTPSESSION hRTP, void *connId));
/*--------------------------------------------------------------------
public functions used internally by JB module
---------------------------------------------------------------------*/
EXTERN S16 JbStartTimer ARGS((JbConnCb *connCb));
EXTERN S16 JbStopTimer ARGS((JbConnCb *connCb));
EXTERN S16 JbUpdateJitter ARGS((JbConnCb *connCb, JbEvent event));
EXTERN S16 JbInsertPacket ARGS((JbConnCb *connCb,
Data *mBuf,
HrRtpHdr *rtpHdr));
EXTERN S16 JbRemovePacket ARGS((JbConnCb *connCb));
/*--------------------------------------------------------------------
public functions exported by JB module
---------------------------------------------------------------------*/
EXTERN S16 JbCfgReq ARGS((JbCfg *cfg));
EXTERN S16 JbStaReq ARGS((S32 sessionId,
JbSts *sts));
EXTERN S16 JbCntrlReq ARGS((S32 sessionId));
EXTERN S16 JbConReq ARGS((S32 sessionId,
U8 txCodec,
U8 rxCodec,
U16 maxALSduFrames,
U16 payload,
U16 encodeRate));
EXTERN S16 JbDiscReq ARGS((S32 sessionId,
U16 maxALSduFrames));
EXTERN S16 JbDatInd ARGS((S32 sessionId,
HrRtpHdr *rtpHdr,
Data *mBuf));
EXTERN S16 JbUpdateConCb ARGS((S32 sessionId,
U32 h245Msg2));
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __JBX__ */
/********************************************************************30**
End of file: jb.x 1.1 - 01/19/2000
*********************************************************************31*/
/********************************************************************40**
Notes:
*********************************************************************41*/
/********************************************************************50**
*********************************************************************51*/
/********************************************************************60**
Revision history:
*********************************************************************61*/
/********************************************************************90**
*********************************************************************91*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -