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

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

?? distobjlib.c

?? vxworks的完整的源代碼
?? C
字號:
/* distObjLib.c - distributed objects library (VxFusion option) *//* Copyright 1999 - 2002 Wind River Systems, Inc. *//*modification history--------------------01c,23oct01,jws  fix complier warnings (SPR 71117)01b,24may99,drm  added vxfusion prefix to VxFusion related includes01a,13oct97,ur   written.*//*DESCRIPTIONThis library contains utility functions used internally by VxFusion.AVAILABILITYThis module is distributed as a component of the unbundled distributedmessage queues option, VxFusion.*/#include "vxWorks.h"#if defined (DIST_OBJ_REPORT) || defined (DIST_DIAGNOSTIC)#include "stdio.h"#endif#include "stdlib.h"#include "semLib.h"#include "private/semLibP.h"#include "hashLib.h"#include "vxfusion/private/distObjLibP.h"#define UNUSED_ARG(x)  if(sizeof(x)) {} /* to suppress compiler warnings */#define KEY            13#define KEY_CMP        0    /* unused */LOCAL DIST_INQ_ID    distInqIdNext = 0;LOCAL SEMAPHORE      distInqLock;LOCAL HASH_ID        distInqHashId;LOCAL BOOL           distInqInstalled = FALSE;LOCAL BOOL    distInqHCmpId (DIST_INQ *pMatchNode, DIST_INQ *pHNode,                             int unused);LOCAL BOOL    distInqHFuncId (int elements, DIST_INQ *pHNode, int divisor);/***************************************************************************** distObjNodeGet - allocate space for a distributed object node (VxFusion option)** This routine allocates space for a distributed object node.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: A pointer to a node, or NULL.** NOMANUAL*/DIST_OBJ_NODE * distObjNodeGet (void)    {    return ((DIST_OBJ_NODE *) malloc (sizeof (DIST_OBJ_NODE)));    }/***************************************************************************** distObjNodeFree - free distributed object node space (VxFusion option)** This routine frees distributed object node space.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: N/A* * NOMANUAL*/void distObjNodeFree    (    DIST_OBJ_NODE * pNode  /* node to free */    )    {    free (pNode);    }/***************************************************************************** distInqInit - initialize Inq functionality (VxFusion option)** This routine initializes Inq functionality.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: OK, if successful.** NOMANUAL*/STATUS distInqInit    (    int        hashTblSzLog2   /* allocate 2^^hashTblSzLog2 entries */    )    {    if (distInqInstalled)        return (OK);        distInqHashId = hashTblCreate (hashTblSzLog2, distInqHCmpId,                                   distInqHFuncId, KEY);    if (distInqHashId == NULL)        return (ERROR);    distInqLockInit();        distInqInstalled = TRUE;    return (OK);    }/***************************************************************************** distInqRegister - register an Inq (VxFusion option)** This routine registers an Inq.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: An Inq ID.* * NOMANUAL*/DIST_INQ_ID distInqRegister    (    DIST_INQ * pInqRegister  /* Inq to register */    )    {    DIST_INQ_ID    inqIdThis;    DIST_INQ       inqMatchNode;    distInqLock();    do        {        inqMatchNode.inqId = (inqIdThis = distInqIdNext++);        }    while (hashTblFind (distInqHashId, (HASH_NODE *) &inqMatchNode, KEY_CMP));        pInqRegister->inqId = inqIdThis;    hashTblPut (distInqHashId, (HASH_NODE *) pInqRegister);    distInqUnlock();    return (inqIdThis);    }/***************************************************************************** distInqGetId - Get the Inq ID of an Inq (VxFusion option)** This routine gets the Inq ID of an Inq.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: An Inq ID.* * NOMANUAL*/DIST_INQ_ID distInqGetId    (    DIST_INQ * pInqGetIdOf   /* Inq whose ID to get */    )    {    return (pInqGetIdOf->inqId);    }/***************************************************************************** distInqFind - given an Inq ID, get the Inq (VxFusion option)** Given an Inq ID, this routine gets the Inq.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: An Inq.** NOMANUAL*/DIST_INQ * distInqFind    (    DIST_INQ_ID InqIdFind      /* Inq ID */    )    {    DIST_INQ     inqMatchNode;    DIST_INQ *   pInq;    inqMatchNode.inqId = InqIdFind;    distInqLock();    pInq = (DIST_INQ *) hashTblFind (distInqHashId,                                     (HASH_NODE *) &inqMatchNode,                                     KEY_CMP);    distInqUnlock();    return (pInq);    }/***************************************************************************** distInqCancel - cancel (unregister) an Inq (VxFusion option)** This routine cancels (unregisters) an Inq.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: N/A** NOMANUAL*/void distInqCancel    (    DIST_INQ * pInqCancel   /* Inq to cancel */    )    {    distInqLock();    hashTblRemove (distInqHashId, (HASH_NODE *) pInqCancel);    distInqUnlock();    }/***************************************************************************** distInqHCmpId - hash compare function for Inq IDs (VxFusion option)** This routine is the hash compare function for Inq IDs.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: TRUE, if the IDs match.** NOMANUAL*/LOCAL BOOL distInqHCmpId    (    DIST_INQ * pMatchNode,   /* the first Inq */    DIST_INQ * pHNode,       /* the second Inq */    int        unused    )    {        UNUSED_ARG(unused);            if (pMatchNode->inqId == pHNode->inqId)        {        return (TRUE);        }    return (FALSE);    }/***************************************************************************** distInqHFuncId - hash function for Inq IDs (VxFusion option)** This routine is the hash function for Inq IDs.** AVAILABILITY* This routine is distributed as a component of the unbundled distributed* message queues option, VxFusion.** RETURNS: A hash index.** NOMANUAL*/LOCAL int distInqHFuncId    (    int        elements,  /* size of hash table */    DIST_INQ * pHNode,    /* Inq to hash */    int        divisor    /* used by hash computation */    )    {    return ((pHNode->inqId % divisor) & (elements - 1));    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲自拍一区| 久久综合国产精品| 欧美mv日韩mv亚洲| 亚洲视频一区二区在线| 日本成人中文字幕| 99久久婷婷国产综合精品| 欧美高清一级片在线| 国产精品护士白丝一区av| 麻豆一区二区三| 色婷婷国产精品综合在线观看| 欧美成人video| 亚洲一级二级三级在线免费观看| 国产麻豆91精品| 日韩视频123| 夜夜亚洲天天久久| zzijzzij亚洲日本少妇熟睡| 精品三级在线观看| 日韩国产精品91| 在线观看成人小视频| 国产精品的网站| 国产激情视频一区二区三区欧美| 91精品国产高清一区二区三区蜜臀| 亚洲视频一区在线| www.99精品| 国产精品日日摸夜夜摸av| 韩国av一区二区三区| 日韩欧美一区二区免费| 午夜久久久久久电影| 在线观看亚洲一区| 亚洲天堂久久久久久久| 成人精品国产一区二区4080| 亚洲精品在线三区| 久久av中文字幕片| 欧美成人aa大片| 极品少妇xxxx精品少妇| 日韩精品一区二区三区在线播放| 日韩电影免费在线| 日韩欧美一区二区在线视频| 蜜臀99久久精品久久久久久软件| 91精品一区二区三区久久久久久| 日日噜噜夜夜狠狠视频欧美人| 欧美日韩成人综合在线一区二区 | 91免费精品国自产拍在线不卡| 久久久一区二区三区捆绑**| 国产一区二区调教| 亚洲国产成人午夜在线一区| va亚洲va日韩不卡在线观看| 亚洲精品老司机| 欧美日韩在线电影| 日本aⅴ免费视频一区二区三区| 欧美日韩一二区| 日本欧洲一区二区| 欧美成人在线直播| 国产mv日韩mv欧美| 亚洲免费视频成人| 欧美日韩国产大片| 九一九一国产精品| 国产精品看片你懂得| 一本久道中文字幕精品亚洲嫩| 亚洲免费观看高清完整版在线| 欧美日免费三级在线| 免费在线看成人av| 久久久久久久久免费| 9久草视频在线视频精品| 一区二区三区中文字幕电影| 日韩欧美一级精品久久| www.日韩av| 日本伊人精品一区二区三区观看方式| 久久―日本道色综合久久| 波多野结衣精品在线| 日韩专区中文字幕一区二区| 国产婷婷一区二区| 欧美主播一区二区三区美女| 精品亚洲成a人| 一区二区三区不卡视频| 精品奇米国产一区二区三区| 99久久精品情趣| 久久国产成人午夜av影院| 中文字幕在线观看不卡视频| 欧美一级专区免费大片| 99久久精品国产毛片| 老司机午夜精品| 亚洲激情成人在线| 欧美国产一区在线| 在线综合视频播放| 色综合天天综合在线视频| 精品亚洲免费视频| 日韩在线播放一区二区| 中文字幕日韩一区| 精品国产制服丝袜高跟| 欧美日韩一区二区三区在线看| 国产精品香蕉一区二区三区| 日韩高清在线一区| 亚洲精品水蜜桃| 国产精品美女久久久久久久| 欧美一区二区美女| 欧美三级电影网站| 91国产视频在线观看| av男人天堂一区| 国产成人免费xxxxxxxx| 精品在线亚洲视频| 日本强好片久久久久久aaa| 亚洲一区二区高清| 亚洲欧美电影院| 国产精品成人免费| 国产精品沙发午睡系列990531| 久久亚洲欧美国产精品乐播| 日韩亚洲欧美中文三级| 欧美麻豆精品久久久久久| 色噜噜夜夜夜综合网| 91在线视频18| 92国产精品观看| 91网上在线视频| 色狠狠综合天天综合综合| a亚洲天堂av| 不卡高清视频专区| 91在线观看视频| 91香蕉国产在线观看软件| 成人毛片老司机大片| 成人一区二区三区在线观看| 懂色av一区二区三区免费观看| 国产一区二区不卡在线| 国产乱理伦片在线观看夜一区| 国产一区二区三区久久久| 国产综合久久久久久久久久久久| 韩国v欧美v亚洲v日本v| 国产**成人网毛片九色| 波多野结衣在线aⅴ中文字幕不卡| 成人a免费在线看| 在线亚洲人成电影网站色www| 色综合天天天天做夜夜夜夜做| 91官网在线观看| 欧美精品自拍偷拍| 精品国产一区二区三区忘忧草| 久久久久国色av免费看影院| 国产精品热久久久久夜色精品三区| 欧美激情一区三区| 亚洲免费av在线| 男人的j进女人的j一区| 国产成人在线电影| 91日韩精品一区| 欧美浪妇xxxx高跟鞋交| 精品粉嫩aⅴ一区二区三区四区| 26uuu成人网一区二区三区| 中文字幕一区免费在线观看| 一区二区三区美女| 美国一区二区三区在线播放| 国产精品456露脸| 色婷婷国产精品| 欧美电影免费观看高清完整版在线 | 3atv一区二区三区| 欧美成人a在线| 亚洲老司机在线| 另类人妖一区二区av| www.欧美色图| 制服丝袜亚洲网站| 中文字幕av一区二区三区高| 亚洲一区二区综合| 国产一区视频网站| 色偷偷久久人人79超碰人人澡| 91麻豆精品91久久久久久清纯| 久久精品一区二区三区不卡牛牛 | 日韩一卡二卡三卡国产欧美| 国产日韩av一区| 亚洲一区二区三区四区在线| 国产麻豆欧美日韩一区| 日本道色综合久久| 久久免费视频一区| 亚洲第一主播视频| www.日韩精品| 欧美成人福利视频| 一区二区三区鲁丝不卡| 国产精品一区二区久久不卡 | av欧美精品.com| 欧美成人精品1314www| 亚洲综合免费观看高清完整版在线 | 亚洲人123区| 国产综合色在线视频区| 欧美日本韩国一区二区三区视频| 久久久久久久久97黄色工厂| 午夜精品福利一区二区蜜股av| jiyouzz国产精品久久| 日韩精品最新网址| 亚洲小说欧美激情另类| proumb性欧美在线观看| 久久久精品一品道一区| 青青青爽久久午夜综合久久午夜 | 国产经典欧美精品| 日韩午夜在线观看视频| 一区二区三区四区在线免费观看| 国产精品一区一区| 精品久久久三级丝袜| 天天色图综合网| 欧美三级日本三级少妇99| 亚洲欧美电影院| 97精品国产97久久久久久久久久久久| 中文在线资源观看网站视频免费不卡| 国产中文一区二区三区| 精品国产第一区二区三区观看体验| 午夜精品福利视频网站|