亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
福利一区福利二区| 国产精品另类一区| 久久精品一区二区三区不卡| 一区二区三区成人| 国产高清亚洲一区| 日韩一区二区在线播放| 奇米精品一区二区三区四区| 欧美亚洲动漫制服丝袜| 日韩精彩视频在线观看| a4yy欧美一区二区三区| 欧美一区二区成人| 激情综合亚洲精品| 亚洲免费观看高清在线观看| 欧美视频自拍偷拍| 91蜜桃传媒精品久久久一区二区| 国产九九视频一区二区三区| 欧美三日本三级三级在线播放| 国产精品狼人久久影院观看方式| 久久国产精品99久久人人澡| 欧美在线免费观看亚洲| 一区二区三区成人| 91网站最新地址| 中文字幕一区二区不卡| 国产91精品在线观看| 国产亚洲一区二区三区四区| 男女男精品视频| 久久久精品免费网站| 日本欧美大码aⅴ在线播放| 欧美三级电影在线看| 亚洲精品亚洲人成人网在线播放| 99热国产精品| 亚洲柠檬福利资源导航| 99精品国产99久久久久久白柏| 中文字幕巨乱亚洲| 97久久精品人人做人人爽| 自拍偷自拍亚洲精品播放| 白白色 亚洲乱淫| 国产精品久线在线观看| 91在线高清观看| 亚洲一区在线视频| 欧美一卡2卡3卡4卡| 免费人成网站在线观看欧美高清| 欧美成人官网二区| 国产乱子伦视频一区二区三区 | 久久久精品免费观看| 国产精品一区一区三区| 亚洲精品一区二区三区影院| 一区二区三区在线免费观看| 亚州成人在线电影| 精品一区二区三区日韩| 久热成人在线视频| 国产宾馆实践打屁股91| av电影天堂一区二区在线观看| 成人午夜在线免费| 欧美三级中文字幕在线观看| av高清久久久| 欧美日韩亚洲另类| 国产精品电影一区二区| 亚洲自拍偷拍av| 日韩午夜在线观看视频| 国产老妇另类xxxxx| 中文字幕一区二区三区在线播放| 欧美影片第一页| 韩国一区二区三区| 亚洲一区二区视频| 精品国产1区二区| 色综合天天综合在线视频| 日本va欧美va瓶| 亚洲素人一区二区| 欧美一级日韩免费不卡| 成人免费va视频| 午夜精品久久久久| 久久精品欧美一区二区三区不卡| 91影视在线播放| 黄色资源网久久资源365| 亚洲三级小视频| 欧美精品一区二区三区蜜桃| 色av一区二区| 国产99精品国产| 天天亚洲美女在线视频| 亚洲桃色在线一区| 久久久久9999亚洲精品| 777午夜精品免费视频| 成人av在线资源网站| 精品一区二区国语对白| 亚洲午夜私人影院| 中文字幕一区二区在线观看| 久久综合久久综合久久综合| 欧美天堂亚洲电影院在线播放| 成人免费高清在线观看| 黑人巨大精品欧美一区| 免费看黄色91| 婷婷六月综合亚洲| 亚洲国产精品天堂| 亚洲欧美日韩国产一区二区三区 | 国产99精品国产| 蜜乳av一区二区三区| 国产精品乱码一区二区三区软件| 884aa四虎影成人精品一区| 91福利国产精品| 99久久国产综合精品色伊| 国产乱对白刺激视频不卡| 麻豆成人综合网| 青青草97国产精品免费观看无弹窗版| 亚洲另类在线一区| 色中色一区二区| 91麻豆国产自产在线观看| 天天色综合天天| 欧洲精品视频在线观看| 亚洲免费观看高清完整版在线观看熊 | 麻豆成人91精品二区三区| 欧美刺激午夜性久久久久久久| 久久精品久久精品| 日本一区二区三区免费乱视频 | 久久久国产午夜精品| 欧美色国产精品| 亚洲欧美在线aaa| 欧美电视剧在线看免费| 91精品国模一区二区三区| 欧美日韩国产小视频| 欧美日本在线视频| 日韩三级视频在线看| 久久先锋影音av鲁色资源| 精品久久人人做人人爱| 久久精品视频一区| 国产精品乱人伦| 一区二区三区日韩精品| 亚洲精品日韩一| 日本少妇一区二区| 青青草国产成人av片免费| 国产在线视频一区二区| 成人精品一区二区三区四区| 色婷婷久久99综合精品jk白丝| 欧美色综合影院| 欧美电影免费观看高清完整版| 国产香蕉久久精品综合网| 中文字幕日本乱码精品影院| 一区二区三区四区精品在线视频| 午夜视频一区二区| 国产一区高清在线| 一本一道综合狠狠老| 欧美日韩二区三区| 国产婷婷一区二区| 亚洲一二三区在线观看| 国产综合色视频| 91久久精品网| 久久色在线视频| 夜夜揉揉日日人人青青一国产精品| 美腿丝袜亚洲综合| 99这里只有精品| 日韩写真欧美这视频| 国产精品欧美久久久久无广告| 亚洲第一福利视频在线| 国产成人综合在线播放| 色播五月激情综合网| 亚洲精品在线观看网站| 亚洲日本va在线观看| 久久超碰97中文字幕| 色成年激情久久综合| 久久精品欧美一区二区三区麻豆 | 日韩一区二区免费高清| 国产精品视频第一区| 日韩高清欧美激情| 不卡的av中国片| 欧美精品一区二区高清在线观看| 亚洲精品日韩一| 成人免费高清视频在线观看| 欧美一级久久久久久久大片| 亚洲人成人一区二区在线观看| 韩国午夜理伦三级不卡影院| 欧美日韩1区2区| 亚洲免费观看视频| 99麻豆久久久国产精品免费| 精品乱人伦小说| 日韩va亚洲va欧美va久久| 色爱区综合激月婷婷| 中文字幕一区二区三区不卡在线| 国产久卡久卡久卡久卡视频精品| 欧美精品日韩一本| 亚洲午夜免费视频| 色综合天天狠狠| 中文字幕亚洲在| 波多野结衣中文一区| 国产午夜亚洲精品不卡| 久久99国产精品久久99果冻传媒| 在线播放欧美女士性生活| 亚洲午夜久久久久久久久电影网 | 亚洲一区二区在线观看视频| 欧美日韩精品一区二区三区四区| 亚洲国产精品成人综合色在线婷婷| 精品无人区卡一卡二卡三乱码免费卡 | 久久免费午夜影院| 精品亚洲国产成人av制服丝袜| 欧美一级视频精品观看| 日本色综合中文字幕| 日韩一级大片在线观看| 日韩 欧美一区二区三区| 91精品欧美一区二区三区综合在| 日韩精品乱码av一区二区| 日韩小视频在线观看专区|