⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jb.x

📁 基于h323协议的软phone
💻 X
📖 第 1 页 / 共 2 页
字号:
//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 + -