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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rvtypes.h

?? 基于h323協(xié)議的軟phone
?? H
字號:
/***********************************************************************
Filename   : rvtypes.h
Description: type definitions for all RADVISION modules
************************************************************************
        Copyright (c) 2001 RADVISION Inc. and RADVISION Ltd.
************************************************************************
NOTICE:
This document contains information that is confidential and proprietary
to RADVISION Inc. and RADVISION Ltd.. No part of this document may be
reproduced in any form whatsoever without written prior approval by
RADVISION Inc. or RADVISION Ltd..

RADVISION Inc. and RADVISION Ltd. reserve the right to revise this
publication and make changes without obligation to notify any person of
such revisions or changes.
***********************************************************************/
#ifndef RV_TYPES_H
#define RV_TYPES_H

#include <stddef.h>
#include "rvconfig.h"

/* A number of constants need to be defined in the configuration headers
   in order for this file to work properly. The values should be set
   properly for the architecture, os, compiler, memory model, etc. The
   definitions required are:

   RV_SIZET_TYPE          size_t type (should always be size_t)
   RV_PTRDIFFT_TYPE       ptrdiff_t type (should always be ptrdiff_t)
   RV_CHAR_TYPE           standard character type (for char and char * only)

   RV_VAR_INT_TYPE        standard variable (non-fixed) size signed variable
   RV_VAR_UINT_TYPE       standard variable (non-fixed) size unsigned variable
   RV_SIGNED_INT8_TYPE    8 bit signed variable
   RV_UNSIGNED_INT8_TYPE  8 bit unsigned variable
   RV_SIGNED_INT16_TYPE   16 bit signed variable
   RV_UNSIGNED_INT16_TYPE 16 bit unsigned variable
   RV_SIGNED_INT32_TYPE   32 bit signed variable
   RV_UNSIGNED_INT32_TYPE 32 bit unsigned variable
   RV_SIGNED_INT64_TYPE   64 bit signed variable
   RV_UNSIGNED_INT64_TYPE 64 bit unsigned variable

   RV_VAR_INT_SUFFIX(n)        standard variable (non-fixed) size signed constant suffix
   RV_VAR_UINT_SUFFIX(n)       standard variable (non-fixed) size unsigned constant suffix
   RV_SIGNED_INT8_SUFFIX(n)    8 bit signed constant suffix
   RV_UNSIGNED_INT8_SUFFIX(n)  8 bit ubsigned constant suffix
   RV_SIGNED_INT16_SUFFIX(n)   16 bit signed constant suffix
   RV_UNSIGNED_INT16_SUFFIX(n) 16 bit unsigned constant suffix
   RV_SIGNED_INT32_SUFFIX(n)   32 bit signed constant suffix
   RV_UNSIGNED_INT32_SUFFIX(n) 32 bit unsigned constant suffix
   RV_SIGNED_INT64_SUFFIX(n)   64 bit signed constant suffix
   RV_UNSIGNED_INT64_SUFFIX(n) 64 bit unsigned constant suffix

   RV_VAR_INT_MAX  maximum value of the standard variable (non-fixed) size signed variable
   RV_VAR_INT_MIN  minimum value of the standard variable (non-fixed) size signed variable
   RV_VAR_UINT_MAX maximum value of the standard variable (non-fixed) size unsigned variable
*/

#if defined(__cplusplus)
extern "C" {
#endif

/* Our types for size_t and ptrdiff_t, should never be anything */
/* different than ANSI standard but we define it just in case. */
typedef RV_SIZET_TYPE RvSize_t;
typedef RV_PTRDIFFT_TYPE RvPtrdiff_t;

/* Character type specifically for characters, not values */
typedef RV_CHAR_TYPE RvChar;

/* Variable size types, set to optimum variable size */
typedef RV_VAR_INT_TYPE RvInt;
#define RvIntConst(_n) (RV_VAR_INT_SUFFIX(_n))
#define RV_INT_MAX RV_VAR_INT_MAX
#define RV_INT_MIN RV_VAR_INT_MIN

typedef RV_VAR_UINT_TYPE RvUint;
#define RvUintConst(_n) (RV_VAR_UINT_SUFFIX(_n))
#define RV_UINT_MAX RV_VAR_UINT_MAX
#define RV_UINT_MIN RvUintConst(0)

/* Fixed size types */
typedef RV_SIGNED_INT8_TYPE RvInt8;
#define RvInt8Const(_n) (RV_SIGNED_INT8_SUFFIX(_n))
#define RV_INT8_MAX RvInt8Const(127)
#define RV_INT8_MIN (RvInt8Const(-127) - RvInt8Const(1))

typedef RV_UNSIGNED_INT8_TYPE RvUint8;
#define RvUint8Const(_n) (RV_UNSIGNED_INT8_SUFFIX(_n))
#define RV_UINT8_MAX RvUint8Const(255)
#define RV_UINT8_MIN RvUint8Const(0)

typedef RV_SIGNED_INT16_TYPE RvInt16;
#define RvInt16Const(_n) (RV_SIGNED_INT16_SUFFIX(_n))
#define RV_INT16_MAX RvInt16Const(32767)
#define RV_INT16_MIN (RvInt16Const(-32767) - RvInt16Const(1))

typedef RV_UNSIGNED_INT16_TYPE RvUint16;
#define RvUint16Const(_n) (RV_UNSIGNED_INT16_SUFFIX(_n))
#define RV_UINT16_MAX RvUint16Const(65535)
#define RV_UINT16_MIN RvUint16Const(0)

typedef RV_SIGNED_INT32_TYPE RvInt32;
#define RvInt32Const(_n) (RV_SIGNED_INT32_SUFFIX(_n))
#define RV_INT32_MAX RvInt32Const(2147483647)
#define RV_INT32_MIN (RvInt32Const(-2147483647) - RvInt32Const(-1))

typedef RV_UNSIGNED_INT32_TYPE RvUint32;
#define RvUint32Const(_n) (RV_UNSIGNED_INT32_SUFFIX(_n))
#define RV_UINT32_MAX RvUint32Const(4294967295)
#define RV_UINT32_MIN RvUint32Const(0)

typedef RV_SIGNED_INT64_TYPE RvInt64;
#define RvInt64Const(_n) (RV_SIGNED_INT64_SUFFIX(_n))
#define RV_INT64_MAX RvInt64Const(9223372036854775807)
#define RV_INT64_MIN (RvInt64Const(-9223372036854775807) - RvInt64Const(-1))

typedef RV_UNSIGNED_INT64_TYPE RvUint64;
#define RvUint64Const(_n) (RV_UNSIGNED_INT64_SUFFIX(_n))
#define RV_UINT64_MAX RvUint64Const(18446744073709551615)
#define RV_UINT64_MIN RvUint64Const(0)

/* Other standard types */
typedef RvUint RvBool;
#define RV_FALSE  RvUintConst(0)
#define RV_TRUE RvUintConst(1)

/* Misc Macros. Perhaps these should go elsewhere. */
#define RvMin(_a, _b) (((_a) < (_b)) ? (_a) : (_b))
#define RvMax(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))

/* Alignment macros. Perhaps these should go elsewhere. */
struct RvAlign_s { /* used only for natural data alignment macro */
    char x;
    double y;
};

/* Not pretty, but allows numbytes to be any valid size_t value which is */
/* a power of 2 and works no matter what the relationship between pointer */
/* and data sizes. */
#define RvAlignTo(_ptr, _numbytes) ((RvInt8 *)(_ptr) + (((size_t)(_numbytes) - ((size_t)(_ptr) & (size_t)((_numbytes) - 1))) & (size_t)((_numbytes) - 1)))

/* Natural alignment sizes and macros */
#define RV_ALIGN_DATASIZE (offsetof(struct RvAlign_s, y))
#define RV_ALIGN_PTRSIZE (sizeof(void *))
#define RV_ALIGN_SIZE (RvMax(RV_ALIGN_DATASIZE, RV_ALIGN_PTRSIZE))
#define RvAlignPtr(_x) (RvAlignTo((_x), RV_ALIGN_PTRSIZE))
#define RvAlignData(_x) (RvAlignTo((_x), RV_ALIGN_DATASIZE))
#define RvAlign(_x) (RvAlignTo((_x), RV_ALIGN_SIZE))

/* Fixed width alignment macros */
#define RvAlign16(_x) (RvAlignTo((_x), 2))
#define RvAlign32(_x) (RvAlignTo((_x), 4))
#define RvAlign64(_x) (RvAlignTo((_x), 8))

/* Round up size_t size to a multiple of size_t numbytes (size must be > 0 and <= maxsize - numbytes) */
#define RvRoundToSize(_size, _numbytes) ((size_t)((_size) + (_numbytes) - 1 - (((_size) - 1) % (_numbytes))))


/*******************/
/* Unused arguments macro */
#define RV_UNUSED_ARG(_arg) if (_arg);


/* Some "empty" definitons that we can use for readability of the code */
#define IN
#define OUT
#define INOUT

/************************************************************************
 * RV_DECLARE_HANDLE
 * Definition used to create a general purpose handle. It is declared
 * in this weird way to allow better type checking with C compilers.
 ************************************************************************/
#define RV_DECLARE_HANDLE(_handleName) \
                                      typedef struct { int unused; } _handleName##__ ; \
                                      typedef const _handleName##__ * _handleName; \
                                      typedef _handleName*  LP##_handleName


/* Macro used to calculate the pointer position of a struct, given one of its
   internal fields */
#define RV_GET_STRUCT(_structTypedef, _fieldName, _fieldPtr) \
    ((_structTypedef *)( ((char *)(_fieldPtr)) - offsetof(_structTypedef, _fieldName) ))


/* Macros for conversion of byte ordering */
#if (RV_ARCH_ENDIAN == RV_ARCH_LITTLE_ENDIAN)

/* Always use these macros with a variable - never pass an argument or a function call as a
   parameter of these macros! */
#define RvConvertHostToNetwork32(_host) \
    ( (RvUint32) (                                          \
       ((RvUint32)(((RvUint8*)(&(_host)))[3])) |            \
      (((RvUint32)(((RvUint8*)(&(_host)))[2])) << 8) |      \
      (((RvUint32)(((RvUint8*)(&(_host)))[1])) << 16) |     \
      (((RvUint32)(((RvUint8*)(&(_host)))[0])) << 24)) )
#define RvConvertHostToNetwork16(_host) \
    ( (RvUint16) (                                          \
       ((RvUint16)(((RvUint8*)(&(_host)))[1])) |            \
      (((RvUint16)(((RvUint8*)(&(_host)))[0])) << 8)) )

#define RvConvertNetworkToHost32(_network) RvConvertHostToNetwork32(_network)
#define RvConvertNetworkToHost16(_network) RvConvertHostToNetwork16(_network)

#elif (RV_ARCH_ENDIAN == RV_ARCH_BIG_ENDIAN)

#define RvConvertHostToNetwork32(_host) (_host)
#define RvConvertNetworkToHost32(_network) (_network)
#define RvConvertHostToNetwork16(_host) (_host)
#define RvConvertNetworkToHost16(_network) (_network)

#endif


#if defined(__cplusplus)
}
#endif

#endif /* RV_TYPES_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩aaa| 亚洲综合免费观看高清在线观看| 天堂成人国产精品一区| 欧美日韩免费视频| 亚洲国产精品一区二区久久| 欧美日韩综合在线| 麻豆中文一区二区| 精品国产99国产精品| 国产91精品入口| 国产精品日产欧美久久久久| 99久久国产免费看| 亚洲成人自拍偷拍| 久久综合色之久久综合| 成人av电影在线播放| 亚洲一二三区不卡| 精品日韩一区二区| 成人av小说网| 亚洲国产精品久久艾草纯爱| 欧美成人福利视频| 福利91精品一区二区三区| 亚洲乱码国产乱码精品精小说| 欧美美女激情18p| 韩国v欧美v亚洲v日本v| 一区在线观看视频| 91精品久久久久久久久99蜜臂| 国产麻豆午夜三级精品| 国产精品久久久久久久久免费樱桃| 91九色最新地址| 狠狠狠色丁香婷婷综合久久五月| 亚洲欧洲另类国产综合| 欧美高清你懂得| 国产福利精品一区二区| 亚洲成av人片观看| 日本一区二区三区四区| 欧美久久久久久久久久| 国产99久久久久| 日韩av在线免费观看不卡| 亚洲国产成人午夜在线一区| 91精品国产综合久久久久久漫画| 成人教育av在线| 丁香桃色午夜亚洲一区二区三区| 亚洲综合一区在线| 久久精品免视看| 91精品久久久久久蜜臀| 色综合天天综合在线视频| 激情六月婷婷综合| 偷拍亚洲欧洲综合| 亚洲日本电影在线| 久久久久久久久99精品| 91精品国产一区二区三区| 一本色道久久加勒比精品 | 免费久久精品视频| 亚洲三级在线观看| 国产人成一区二区三区影院| 欧美肥妇毛茸茸| 91亚洲精品乱码久久久久久蜜桃| 国产乱妇无码大片在线观看| 日本女人一区二区三区| 亚洲午夜av在线| 亚洲色图第一区| 国产精品国产三级国产aⅴ中文 | 国产精品资源网| 日韩高清不卡一区二区三区| 亚洲精品水蜜桃| 国产精品精品国产色婷婷| 久久久亚洲国产美女国产盗摄| 欧美人与禽zozo性伦| 在线视频综合导航| 色伊人久久综合中文字幕| a美女胸又www黄视频久久| 国产凹凸在线观看一区二区| 国内精品国产三级国产a久久| 免费日韩伦理电影| 五月婷婷综合在线| 丝袜国产日韩另类美女| 午夜精品aaa| 日韩激情视频在线观看| 五月激情综合色| 偷窥少妇高潮呻吟av久久免费| 香蕉久久夜色精品国产使用方法 | 亚洲午夜av在线| 亚洲国产裸拍裸体视频在线观看乱了| 一区二区三区美女| 亚洲成人激情自拍| 青青草精品视频| 极品尤物av久久免费看| 国产老肥熟一区二区三区| 国产不卡视频一区二区三区| jlzzjlzz亚洲日本少妇| 91视频一区二区三区| 欧美午夜电影在线播放| 欧美日韩在线不卡| 日韩欧美卡一卡二| 久久精品网站免费观看| 国产精品伦一区| 一区二区三区成人在线视频| 日韩精品久久理论片| 久久精品国产99| 成人爱爱电影网址| 91国产丝袜在线播放| 91精品国产色综合久久久蜜香臀| 精品国产乱码久久久久久图片| 国产欧美综合在线观看第十页| 亚洲天堂a在线| 三级在线观看一区二区| 国精品**一区二区三区在线蜜桃| 国产a精品视频| 欧美日韩在线观看一区二区| 欧美不卡123| 最近中文字幕一区二区三区| 亚洲va天堂va国产va久| 国内久久精品视频| 色综合久久久久网| 欧美电视剧在线观看完整版| 亚洲国产精品av| 天天综合色天天综合| 国产成人精品影视| 欧美日韩一区二区三区视频| 久久久久久久久久久99999| 一区二区三区av电影| 国内精品第一页| 色综合一区二区三区| 日韩视频在线永久播放| 亚洲欧美影音先锋| 看电影不卡的网站| 91官网在线免费观看| 久久美女艺术照精彩视频福利播放| 亚洲男同1069视频| 国产麻豆91精品| 678五月天丁香亚洲综合网| 国产精品乱人伦| 免费在线观看一区| 一本大道综合伊人精品热热 | 国产欧美综合在线观看第十页| 亚洲一区二区三区不卡国产欧美 | 成人福利视频在线| 日韩欧美一区中文| 亚洲制服欧美中文字幕中文字幕| 国产剧情av麻豆香蕉精品| 精品视频999| 亚洲免费观看高清完整| 国产 欧美在线| 欧美大片在线观看一区| 香蕉影视欧美成人| 色综合久久久久网| 欧美激情在线一区二区| 国产一区二区三区免费播放| 欧美精品久久久久久久多人混战 | 亚洲午夜av在线| www.欧美.com| 337p日本欧洲亚洲大胆精品| 日本成人在线电影网| 欧美性猛片xxxx免费看久爱| 国产精品理伦片| 成人丝袜18视频在线观看| 26uuu国产电影一区二区| 日韩av一区二区在线影视| 欧美性猛片aaaaaaa做受| 一区二区三区四区中文字幕| 99vv1com这只有精品| 国产精品卡一卡二| 99视频超级精品| 中文字幕精品三区| 成人手机在线视频| 国产精品久久久久久妇女6080 | 亚洲日本中文字幕区| 成人午夜在线视频| 亚洲国产成人自拍| 成人在线视频一区二区| 欧美激情一区三区| www.亚洲免费av| 亚洲少妇30p| 在线观看日韩精品| 午夜av一区二区| 日韩三区在线观看| 激情文学综合丁香| 国产丝袜在线精品| 不卡在线观看av| 一区二区三区精密机械公司| 欧美三级乱人伦电影| 日韩精品亚洲专区| 久久综合色播五月| 高清不卡一二三区| 亚洲欧美怡红院| 欧美在线|欧美| 蜜芽一区二区三区| 久久精品视频在线看| 成人av在线资源网站| 一区二区欧美视频| 欧美一区三区二区| 国产精品影音先锋| 亚洲免费观看高清| 日韩欧美中文一区| 成人视屏免费看| 亚洲一二三四在线| 精品美女在线观看| 99精品久久99久久久久| 五月综合激情婷婷六月色窝| 久久―日本道色综合久久| caoporm超碰国产精品|