亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rasutils.h

?? 基于h323協(xié)議的軟phone
?? H
字號:

/*

NOTICE:
This document contains information that is proprietary to RADVISION LTD..
No part of this publication may be reproduced in any form whatsoever without
written prior approval by RADVISION LTD..

RADVISION LTD. reserves the right to revise this publication and make changes
without obligation to notify any person of such revisions or changes.

*/

#ifndef RASUTILS_H
#define RASUTILS_H

#ifdef __cplusplus
extern "C" {
#endif


#include "rvlog.h"
#include "cmiras.h"
#include "rasdef.h"



/************************************************************************
 * rasGetOutgoing
 * purpose: Get the outgoing RAS transaction from its handle
 * input  : hsRas   - Application handle
 * output : none
 * return : RAS outgoing transaction on success
 *          NULL on failure
 ************************************************************************/
#ifdef RV_RAS_DEBUG
rasOutTx* rasGetOutgoing(IN HRAS hsRas);
#else
#define rasGetOutgoing(hsRas)   ((rasOutTx*)hsRas)
#endif


/************************************************************************
 * rasGetIncoming
 * purpose: Get the incoming RAS transaction from its handle
 * input  : hsRas   - Application handle
 * output : none
 * return : RAS incoming transaction on success
 *          NULL on failure
 ************************************************************************/
#ifdef RV_RAS_DEBUG
rasInTx* rasGetIncoming(IN HRAS hsRas);
#else
#define rasGetIncoming(hsRas)   ((rasInTx*)hsRas)
#endif


/************************************************************************
 * rasGetParamName
 * purpose: Get the parameter's name
 * input  : param   - Parameter enumeration value
 * output : none
 * return : Parameter's name on success
 *          Empty string on failure
 ************************************************************************/
#if (RV_LOGMASK_COMPILEMASK & RV_LOGLEVEL_ENTER)
const char *rasGetParamName(IN cmRASParam param);
#else
#define rasGetParamName(_param) ""
#endif


/************************************************************************
 * rasCfgGetTimeout
 * purpose: Get the timeout of a transaction before a retry is sent from
 *          the configuration
 * input  : ras     - RAS instance handle
 * output : none
 * return : Timeout in seconds
 ************************************************************************/
int rasCfgGetTimeout(IN rasModule* ras);


/************************************************************************
 * rasCfgGetRetries
 * purpose: Get the number of retries for a transaction before a timeout
 *          from the configuration
 * input  : ras     - RAS instance handle
 * output : none
 * return : Number of retries
 ************************************************************************/
int rasCfgGetRetries(IN rasModule* ras);


/************************************************************************
 * rasRetransmit
 * purpose: Retransmit a message to the other side
 *          This function is used for both requests and responses.
 * input  : ras         - RAS instance handle
 *          rasTx       - RAS transaction of the message
 *          rpootMsg    - RPOOL message handle to retransmit
 *          destAddr    - Destination address
 *          typeStr     - Type of retransmission
 * output : none
 * return : Non-negative value on success
 *          Negative value on failure
 ************************************************************************/
int rasRetransmit(
    IN  rasModule*          ras,
    IN  HRAS                rasTx,
    IN  HRPOOLELEM          rpoolMsg,
    IN  cmTransportAddress* destAddr,
    IN  const char*         typeStr);


/************************************************************************
 * rasEncodeAndSend
 * purpose: Encode and send a message on the net
 * input  : ras         - RAS instance handle
 *          rasTx       - RAS transaction of the message
 *          stage       - Stage of the RAS transaction
 *          nodeId      - nodeId of the message to send out
 *          isMulticast - Are we sending it to a multicast address
 *          destAddr    - Destination address
 *          storeInRPOOL- Indicate if we want the message to be stored in RPOOL
 * output : rpoolHandle - RPOOL handle storing the message
 * return : Non-negative value on success
 *          Negative value on failure
 ************************************************************************/
int rasEncodeAndSend(
    IN  rasModule*          ras,
    IN  HRAS                rasTx,
    IN  cmRASTrStage        stage,
    IN  int                 nodeId,
    IN  RvBool              isMulticast,
    IN  cmTransportAddress* destAddr,
    IN  RvBool              storeInRPOOL,
    OUT HRPOOLELEM*         rpoolHandle);


/************************************************************************
 * rasDecodeAndRecv
 * purpose: Decode and receive a message from the net
 *          This function is called after we already know if its an incoming
 *          or outgoing message.
 *          It returns as parameters the sequence number and message type,
 *          allowing the caller to know if these parameters were changed in
 *          the hook function to the application
 * input  : ras             - RAS instance handle
 *          messageBuf      - Message buffer
 *          messageLength   - Length of received message
 *          isMulticast     - Are we sending it to a multicast address
 *          srcAddr         - Source address
 * output : srcAddr         - Reply address if found inside the message
 *          nodeId          - Root where we placed the message
 *          messageType     - Message type after hook
 *          requestSeqNum   - Sequence number in decoded message after hook
 * return : RV_TRUE if message should be processed
 *          RV_FALSE if message souldn't be processed
 *          Negative value on failure
 ************************************************************************/
int rasDecodeAndRecv(
    IN     rasModule*          ras,
    IN     RvUint8*            messageBuf,
    IN     RvUint32            messageLength,
    IN     RvBool              isMulticast,
    INOUT  cmTransportAddress* srcAddr,
    OUT int*                nodeId,
    OUT rasMessages*        messageType,
    OUT RvUint32*           requestSeqNum,
    OUT void**              hMsgContext);


/************************************************************************
 * rasRouteMessage
 * purpose: Route the message to the right transaction, making sure if
 *          it's incoming, outgoing or IRR.
 * input  : ras             - RAS instance handle
 *          srcAddr         - Source address
 *          chanType        - Type of channel to send through
 *          messageBuf      - Message buffer
 *          messageLength   - Length of received message
 *          messageNodeId   - Node ID of the message.
 *                            If this value is negative, the message is
 *                            decoded and checked, otherwise, the decoded
 *                            message will be processed without calling the
 *                            hook functions.
 *          messageType     - Message type after hook
 *          requestSeqNum   - Sequence number in decoded message after hook
 * output : none
 * return : Non-negative value on success
 *          Negative value on failure
 ************************************************************************/
int rasRouteMessage(
    IN  rasModule*          ras,
    IN  rasChanType         chanType,
    IN  cmTransportAddress* srcAddr,
    IN  RvUint8*            messageBuf,
    IN  RvUint32            messageLength,
    IN  int                 messageNodeId,
    IN  rasMessages         messageType,
    IN  RvUint32            requestSeqNum,
    OUT void**              hMsgContext);


/************************************************************************
 * rasCreateCatKey
 * purpose: Create the key struct for CAT from an incoming message
 *          transaction.
 * input  : ras     - RAS instance handle
 *          tx      - Incoming transaction to use
 * output : catKey  - Filled CAT key struct for this transaction
 * return : Non-negative value on success
 *          Negative value on failure
 ************************************************************************/
int rasCreateCatKey(
    IN  rasModule*  ras,
    IN  rasInTx*    tx,
    OUT catStruct*  catKey);


/************************************************************************
 * rasUpdateRegInfo
 * purpose: Update the registration information of our RAS configuration
 *          from an incoming RCF message
 * input  : ras             - RAS instance handle
 *          messageNodeId   - Incoming message that caused this call
 *                            For unregistration, this value will be negative
 * output : none
 * return : none
 ************************************************************************/
void rasUpdateRegInfo(
    IN  rasModule*  ras,
    IN  int         messageNodeId);

/************************************************************************
 * rasUpdatePartUnreg
 * purpose: Update the registration information of our RAS configuration
 *          from an outgoing partial URQ message.
 * input  : ras             - RAS instance handle
 *          messageNodeId   - Outgoing message whose approval caused this
 *                            function to be called.
 * output : none
 * return : none
 ************************************************************************/
void rasUpdatePartUnreg(
    IN  rasModule*  ras,
    IN  int         messageNodeId);



#ifdef __cplusplus
}
#endif

#endif  /* RASUTILS_H */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩理论片一区二区| 日本中文字幕一区二区视频 | 精品一区二区三区影院在线午夜| 欧美一区二区三区视频| 国产一区91精品张津瑜| 中文字幕色av一区二区三区| 在线播放/欧美激情| 国产成人av一区二区三区在线| 亚洲免费在线视频一区 二区| 日韩一级免费一区| 成人综合在线网站| 亚洲一区二区四区蜜桃| 国产婷婷色一区二区三区在线| 一本色道久久综合亚洲aⅴ蜜桃| 欧美a一区二区| 亚洲自拍另类综合| 亚洲va在线va天堂| 国产农村妇女毛片精品久久麻豆| 欧美日韩国产免费| 国产福利一区二区三区视频在线| 粉嫩在线一区二区三区视频| 免费高清成人在线| 国产制服丝袜一区| 免费国产亚洲视频| 国产精品1区二区.| 久久精品噜噜噜成人88aⅴ| 午夜欧美大尺度福利影院在线看 | 日本视频在线一区| 久久99久久99| 成人高清免费在线播放| 精品综合免费视频观看| 国产成人日日夜夜| 一本一道综合狠狠老| 在线播放欧美女士性生活| 色综合久久88色综合天天免费| 欧美日韩国产小视频在线观看| 欧美大片拔萝卜| 日韩欧美你懂的| 国产精品毛片无遮挡高清| 国产亚洲女人久久久久毛片| 亚洲日本一区二区| 蜜臀av一区二区在线免费观看| 日韩国产高清在线| 国产精品99久久久久久宅男| 色婷婷综合中文久久一本| 91精品国产福利| 国产午夜亚洲精品午夜鲁丝片| 亚洲一二三区在线观看| 一区二区三区不卡视频在线观看| 国产精品国产三级国产三级人妇 | 亚洲午夜久久久久久久久久久| 麻豆极品一区二区三区| 不卡一区二区三区四区| 欧美一卡二卡三卡四卡| 亚洲欧洲国产专区| 久久99国产精品尤物| 在线免费亚洲电影| 欧美专区亚洲专区| 国产婷婷一区二区| 免费国产亚洲视频| 色婷婷久久久久swag精品| 精品处破学生在线二十三| 欧美一区二区福利在线| 亚洲视频一区二区在线观看| 麻豆91精品视频| 在线视频国内自拍亚洲视频| 久久久久久久久久久久电影| 国产三级一区二区| 日本伊人午夜精品| 色一情一乱一乱一91av| 国产亚洲精久久久久久| 日韩成人av影视| 91视频一区二区三区| 欧美三级乱人伦电影| 欧美福利电影网| 亚洲欧美另类在线| 国产高清久久久| 日韩欧美国产午夜精品| 亚洲成av人片一区二区三区| 99久久婷婷国产| 91精品国产高清一区二区三区 | 国产日韩欧美精品电影三级在线| 午夜精品久久久久久久久久| 99精品欧美一区二区三区小说| 久久婷婷国产综合国色天香| 亚洲欧美自拍偷拍色图| 国产精品性做久久久久久| 日韩欧美在线不卡| 午夜天堂影视香蕉久久| 欧美做爰猛烈大尺度电影无法无天| 国产精品另类一区| 懂色av一区二区在线播放| 国产日韩成人精品| 国产成人免费高清| 国产视频一区不卡| 国产白丝网站精品污在线入口| 精品动漫一区二区三区在线观看| 日韩电影在线看| 8x福利精品第一导航| 日韩成人av影视| 日韩亚洲欧美在线观看| 日本欧美大码aⅴ在线播放| 欧美电影一区二区三区| 天天色天天操综合| 91精品久久久久久久91蜜桃| 日韩精品久久久久久| 菠萝蜜视频在线观看一区| 欧美国产一区二区| 日韩高清一区在线| 欧美一个色资源| 美脚の诱脚舐め脚责91| 2023国产精品视频| 国产成人亚洲综合a∨猫咪| 国产亚洲精久久久久久| 国产99一区视频免费| 国产精品久久久久久久第一福利 | 中文字幕不卡在线| eeuss鲁片一区二区三区| www欧美成人18+| 国产成人精品午夜视频免费| 亚洲国产精品99久久久久久久久 | 日韩免费高清av| 国产一区啦啦啦在线观看| 国产视频一区二区三区在线观看| 成人白浆超碰人人人人| 亚洲欧美日韩国产综合在线| 在线一区二区视频| 中文在线一区二区| 色综合久久88色综合天天免费| 亚洲国产综合色| 日韩精品中文字幕在线一区| 豆国产96在线|亚洲| 亚洲一区二区偷拍精品| 欧美一级黄色录像| 国产91精品一区二区麻豆亚洲| 亚洲精品乱码久久久久久黑人| 成人高清免费观看| 玉米视频成人免费看| 日韩免费福利电影在线观看| 高清国产午夜精品久久久久久| 亚洲日本va午夜在线影院| 欧美伦理电影网| 国产精品一区一区三区| 一区2区3区在线看| 欧美白人最猛性xxxxx69交| 日本午夜一本久久久综合| 国产欧美日韩在线视频| 欧美三日本三级三级在线播放| 老司机午夜精品| 亚洲视频一区二区在线| 6080国产精品一区二区| 国产mv日韩mv欧美| 亚洲福利电影网| 日本一区二区动态图| 欧美日韩综合色| 国产福利一区二区| 午夜精品123| 国产精品免费丝袜| 在线综合+亚洲+欧美中文字幕| 国产成人av一区二区三区在线 | 国产精品538一区二区在线| 亚洲一区二区综合| 亚洲国产精品av| 日韩欧美一卡二卡| 99re这里只有精品首页| 久久99精品国产.久久久久| 亚洲一区欧美一区| 中文字幕免费观看一区| 日韩欧美国产一区在线观看| 91捆绑美女网站| 国产成人夜色高潮福利影视| 偷拍日韩校园综合在线| 成人免费小视频| 久久久精品日韩欧美| 欧美一区二区三区四区视频| 91欧美一区二区| 国产福利一区二区三区视频在线| 丝袜美腿高跟呻吟高潮一区| 亚洲天堂av一区| 久久久久久亚洲综合影院红桃 | 久久久久国产精品免费免费搜索| 欧美猛男男办公室激情| 92精品国产成人观看免费| 久久99精品久久久| 日韩av午夜在线观看| 亚洲二区视频在线| 亚洲精品写真福利| 中文字幕一区二区日韩精品绯色 | 久久国产精品露脸对白| 午夜视频在线观看一区二区三区| 中文字幕佐山爱一区二区免费| 欧美韩日一区二区三区| 久久久噜噜噜久噜久久综合| 91精品久久久久久久99蜜桃 | 国产精品日韩成人| 久久亚洲一区二区三区四区| 日韩视频免费观看高清完整版在线观看| 91国产视频在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 91在线精品一区二区|