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

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

?? apiht.h

?? 用c/c++實現的一個CMPP API
?? H
字號:
/*---------------------------------------------------------------* * File: apiht.h                                      * Desc: 實現內存哈希表的定義 *    *                  copyright@Wenyz Aspire Co. *                  2002/11/09       *-------------------------changeLog ----------------------------* * DATE     Author      Description *       *2002/11/09    wenyz       Created *--------------------------------------------------------------- *2002/11/09    wenyz   整理代碼,用于貨架技術 *2002/11/26    wenyz   ANSIC 版本 *---------------------------------------------------------------*/ #ifndef HASH_TABLE_HPP#define HASH_TABLE_HPP#include "os.h"#define SHMHT_OK        0   /*  返回成功 */#define SHMHT_FAILED    -1  /*  失敗  */#define SHMHT_NOSPACE   -3  /*  沒有空間 */#define SHMHT_NOFOUND   -3  /*  沒有該內容包 *//**一個包的內容*包括 下一個指針,key值,包內容*/struct tagrecHashCell{    struct  tagrecHashCell* pNext;      /*下一個結點*/    struct  tagrecHashCell* pPrev;      /*前一個結點*/    time_t  tMsgTime;                   /*消息操作時間*/    int     nKeySize;                   /*key的長度*/    void*   pvKey;                      /*key的內容地址*/    int     nPckSize;                       /*包體長度*/    void*   pvPck;                      /*包體內容地址*/};typedef struct  tagrecHashCell  recHashCell;/**內存的管理在這個隊列實現, *申請空間從這個隊列讀一個包,*釋放空間往這個隊列寫一個包*在初始化時候往這個對列寫入最多的包*/typedef struct tagrecFreeQCell{    int nHead;              /*內存管理隊列的頭*/    int nTail;              /*內存管理隊列的尾*/    recHashCell**   pvAddr;         /* 地址空間數組 */}recFreeQCell;  typedef struct  tagHTCell{    int nInitFlag;  /*是否初始化標志*/    int nShmSize;   /*申請的總共內容包內存大小*/    int nMsgMaxNum; /*哈希表中包最多個數*/    int nBucket;    /*哈希表的桶數*/    int nSize;      /*哈希表中包長度*/    int nKeySize;   /*哈希表中key的長度*/                int     nIterFlag ;     /* for iterator */    recHashCell*    pMarkCell;  /* for iterator */    recHashCell*    pCurrCell;  /* for iterator */    int nCurrentBucket;     /* for iterator */        void*   pSAddr;     /*內容包的開始地址*/    void*   pEAddr;     /*內容包的結束地址*/    time_t  tMsgTime;   /*哈希表中最后一條操作消息時間*/    pid_t   nMsgPid;    /*哈希表最后一條操作消息進程ID*/        recHashCell** pBucket;  /*哈希表的桶的首指針數組*/      recFreeQCell    RecFreeQ;   /*空閑的內存管理隊列*/}recHTCell;                                                /**function 調試工具*/void    vDumpHTApi( FILE* fp, void* pAddr );/*描述: 得到HASH表內存的負載系數和包的個數輸入:  pvHLink HT表句柄, 輸出: pnCellNum 包的個數返回: 0-100負載的百分比系數*/int     nGetHTLoadApi( void* pvHTLink, int* pnCellNum );        /*描述: 得到HASH表內存的pBucket指針數組的首地址輸入:  pvHLink HT表句柄, 輸出:  recHashCell*** pppBucket, int* pnCount 指針數組個數返回: SHMHT_OK 成功       SHMHT_FAILED 錯誤,    */int     nGetHTpBucketApi( void* pvHTLink, recHashCell*** pppBucket, int* pnCount );/*描述: 通過KEY得到HASH表內存的pBucket指針的首地址輸入:  pvHLink HT表句柄, pvKeyAddr, KEY的地址, nKeySize  KEY的長度 輸出:  recHashCell** ppBucket返回: SHMHT_OK 成功       SHMHT_FAILED 錯誤,*/int     nGetHTpBucketByKeyApi( void* pvHTLink, void* pvKeyAddr,                             int nKeySize, recHashCell** ppBucket                             );/**描述: 添加一條記錄進入HASH表內存*輸入: pHLink HT表句柄, pvKeyAddr KEY值指針, nKeySize KEY長度,                    pvCellAddr 要添加的包指針,nCellSize 包的長度。 *輸出: SHMHT_OK 成功 , SHMHT_FAILED 失敗 SHMHT_NOSPACE   沒有空間*/int     nAddACellApi( void* pvHTLink, void* pvKeyAddr, int nKeySize,                             void* pvCellAddr, int nCellSize );/**描述: 添加一條記錄進入HASH表內存,                   如果已經有一條的話,就update,如果沒有就添加*輸入: pHLink HT表句柄, pvKeyAddr KEY值指針, nKeySize KEY長度,                   pvCellAddr 要添加的包指針,nCellSize 包的長度。 *輸出: SHMHT_OK, 成功, SHMHT_FAILED 失敗  SHMHT_NOSPACE  空間不夠*/int     nAddACellAndUpdateApi( void* pvHTLink, void* pvKeyAddr,                             int nKeySize, void* pvCellAddr, int nCellSize );/*描述:刪除HASH表內存一條記錄輸入:pHLink HT表句柄,pvKeyAddr KEY值指針, nKeySize KEY長度,nCellSize 包的長度。 輸出:pvCellAddr 刪除的包指針*返回:SHMHT_OK, 成功, SHMHT_FAILED 失敗  SHMHT_NOFOUND 沒有該包,*/int     nDelACellApi( void* pvHTLink, void* pvKeyAddr, int nKeySize,                           void* pvCellAddr, int nCellSize );/**描述:查找HASH表內存一條記錄*輸入:pHLink HT表句柄,pvKeyAddr KEY值指針, nKeySize KEY長度,        nCellSize 包的長度。 *輸出:pvCellAddr 查找的包指針*返回:SHMHT_OK, 成功, SHMHT_FAILED 失敗  SHMHT_NOFOUND 沒有該包,*/int     nSerACellApi( void* pvHTLink, void* pvKeyAddr, int nKeySize,                            void* pvCellAddr, int nCellSize );/**描述:更新HASH表內存一條記錄*輸入:pHLink HT表句柄,pvKeyAddr KEY值指針, nKeySize KEY長度,        pvCellAddr 更新的包指針,nCellSize 包的長度。 *輸出: 無*返回:SHMHT_OK, 成功, SHMHT_FAILED 失敗  SHMHT_NOFOUND 沒有該包,*/int     nUpdateACellApi( void* pvHTLink, void* pvKeyAddr,                       int nKeySize, void* pvCellAddr,                       int nCellSize );/**描述:通過函數指針更新HASH表一條記錄*輸入:pHLink HT表句柄,pvKeyAddr KEY值指針, nKeySize KEY長度,       int (*pfnPckFunc)( void*, size_t )更新函數的函數指針 void* 為包指針,       size_t為包的長度       注意 pfnPckFunc()為外部使用的更改內存內容的函數,       可以任意修改內存中數據*輸出: 無*返回:SHMHT_OK, 成功, SHMHT_FAILED 失敗  SHMHT_NOFOUND 沒有該包,*/int     nUpdateACellByFunc( void* pvHTLink, void* pvKeyAddr, int nKeySize,                        int (*pfnPckFunc)( void*, size_t ) );/**描述:通過函數指針更新HASH表一條記錄, *                如果沒有該KEY的包,添加進去*輸入:pHLink HT表句柄,pvKeyAddr KEY值指針, nKeySize KEY長度,       int (*pfnPckFunc)( void*, size_t )更新函數的函數指針 void* 為包指針,       size_t為包的長度       注意 pfnPckFunc()為外部使用的更改內存內容的函數,                    可以任意修改內存中數據*輸出: 無*返回:SHMHT_OK, 成功, SHMHT_FAILED 失敗  SHMHT_NOSPACE 沒有內存空間*/int     nAddOrUpdateACellByFunc( void* pvHTLink, void* pvKeyAddr, int nKeySize,                                  void* pvCellAddr, int nCellSize,                                 int (*pfnPckFunc)( void*, size_t ) );/**描述: 取出一個超時的記錄*輸入: pHLink HT表句柄, nTimeOut 超過時間間隔*輸出pvKeyAddr KEY值指針, nKeySize KEY長度,    pvCellAddr 查找的包指針,nCellSize 包的長度。 *返回:>=0 成功 , <0 失敗*/int     nGetTimeOutACellApi( void* pHTLink, int    nTimeOut, void* pvKeyAddr,                           int nKeySize, void* pvCellAddr, int nCellSize );/**描述: 刪除HASH表內存一條記錄(通過包內容)*輸入: pHLink HT表句柄    pvCellAddr 刪除的包指針,nCellSize 包的長度。 *輸出: pvKeyAddr KEY值指針, nKeySize KEY長度*返回: SHMHT_OK 成功        SHMHT_FAILED 錯誤,*/int     nDelACellByPckApi( void* pvHTLink, void* pvKeyAddr,                         int nKeySize, void* pvCellAddr,                         int nCellSize );/*描述: 復位HASH表內存輸入:  pvHLink HT表句柄,                 輸出: 返回: 0 成功,-1 輸入參數錯誤,-2 內部函數錯誤*/int     nResetShmHTApi( void* pvHLink );/*--------------------------* *內存表的三個函數定義      *    ---------------------------*//*描述: 初始化固定長度的HASH表內存輸入:  nKeySize KEY值的長度。 nPckSize 包體長度    nBucket 桶的個數, nPckCount 包的個數        *返回:HT表句柄 >0 成功 , NULL 失敗*/void*   pvInitMemHT( int nKeySize, int nPckSize, int nBucket, int nPckCount );/**描述: 釋放該HASH表的內存*輸入:  pvHLink HT表句柄*輸出: 無 返回: SHMHT_OK 成功,SHMHT_FAILED 錯誤*/int     nRemoveMemHT(  void* pvHLink );/**描述: 復位HASH表內存*輸入:  pvHLink HT表句柄,                 *輸出: *返回: SHMHT_OK 成功,SHMHT_FAILED 錯誤*/int     nResetMemHT( void* pvHLink );/**描述: 檢查輸入參數合法性*輸入: pHLink HT表句柄    nKeySize KEY 長度 nCellSize 包的長度。 *輸出: *返回: SHMHT_OK 成功       SHMHT_FAILED 錯誤,*/int     nCheckInputSize( int nKeySize, int nCellSize, const recHTCell* pHTLink );/**描述: 從一個桶中取出一個超時的記錄*輸入: pHLink HT表句柄,nBucket 桶的下標, nTimeOut 超過時間間隔    輸出pvKeyAddr KEY值指針, nKeySize KEY長度,    pvCellAddr 查找的包指針,nCellSize 包的長度。    如果pvKeyAddr, nKeySize , pvCellAddr, nCellSize 為空的話,  清除所有超時的包     *輸出:>=0 成功 清除的包的個數, SHMHT_FAILED 失敗 */int    nGetABucketTimeOutCell( void* pvHTLink, int nBucket,                                int nTimeOut,  void* pvKeyAddr,                                int nKeySize, void* pvCellAddr,                                int nCellSize );#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费一区二区三区视频 | 国产一区视频网站| 8v天堂国产在线一区二区| 亚洲综合视频网| 一本色道久久综合亚洲精品按摩| 欧美国产精品一区二区| 久久日一线二线三线suv| 丝袜美腿一区二区三区| 欧美一区二区私人影院日本| 蜜臀av性久久久久蜜臀aⅴ四虎| 色综合天天天天做夜夜夜夜做| 亚洲激情男女视频| 精油按摩中文字幕久久| 国产精品久久久久久久久果冻传媒 | 国产午夜精品一区二区三区嫩草| 中日韩免费视频中文字幕| 日韩激情一二三区| av成人动漫在线观看| 五月天欧美精品| 久久久久久久久久久电影| 在线观看国产日韩| 国产精品久久久久影视| 欧美中文字幕亚洲一区二区va在线 | 国产成人一区在线| 亚洲成av人片在线观看无码| 欧美电影免费观看完整版| 日本韩国欧美在线| 成人黄色在线网站| 久久精品99国产国产精| 色综合夜色一区| 午夜精品久久久久久久久久| 国产精品国产自产拍高清av| 777奇米四色成人影色区| 国产精一区二区三区| 亚洲动漫第一页| 国产精品久久免费看| 久草热8精品视频在线观看| 91香蕉视频黄| 国产精品一二三四区| 亚洲第一狼人社区| 99久久99久久久精品齐齐| 国产黄人亚洲片| 精品一区二区三区的国产在线播放| 亚洲视频一区二区免费在线观看| 91精品国产91久久久久久一区二区| 成人黄色一级视频| 激情文学综合网| 日本午夜一本久久久综合| 亚洲情趣在线观看| 国产午夜一区二区三区| 精品1区2区3区| 91福利小视频| 亚洲黄色av一区| 色综合久久六月婷婷中文字幕| 99久久综合国产精品| 亚洲丰满少妇videoshd| 一区二区三区精品视频| 在线观看视频一区二区欧美日韩| av亚洲精华国产精华精华| 高清不卡在线观看| 午夜精品久久久久影视| 中文字幕第一区综合| 91香蕉视频在线| 欧美四级电影网| 亚洲五月六月丁香激情| 国产欧美一区二区精品婷婷| 亚洲色图视频网| 欧美一区二区三区色| av一区二区三区四区| 麻豆成人av在线| 国产iv一区二区三区| 国产欧美精品一区aⅴ影院| 成人精品视频网站| 在线观看不卡视频| 久久精品国产99国产| 国产成人综合在线播放| 性久久久久久久久久久久| 天堂成人国产精品一区| 久久精品国产亚洲aⅴ| 国产一区激情在线| 91丝袜国产在线播放| 色屁屁一区二区| 午夜精品福利一区二区三区蜜桃| 蜜桃精品在线观看| 色一区在线观看| 亚洲国产精品成人综合| 美女视频第一区二区三区免费观看网站| 国产精品久久久久一区二区三区共| 欧美电影免费观看高清完整版| 欧美日韩国产电影| 欧美日韩一区二区欧美激情| 国产精品视频一二三区| 国产欧美日韩另类视频免费观看| 午夜精品123| 色综合久久中文字幕| 国产亚洲婷婷免费| 日韩一级片网址| 日本伊人色综合网| 91香蕉视频污| 国产午夜精品福利| 久久伊人中文字幕| 视频一区中文字幕| 国产精品嫩草久久久久| 美女一区二区视频| 成人一级片网址| 欧美aaa在线| 日韩一区二区三区在线观看| 福利91精品一区二区三区| 国产婷婷色一区二区三区| 国产精品伦一区二区三级视频| 国产成a人无v码亚洲福利| 久久久精品影视| 成人免费小视频| 日本午夜一区二区| av成人免费在线| 亚洲伦理在线精品| 亚洲成av人影院| 欧美一区永久视频免费观看| 91精品国产色综合久久不卡蜜臀| 亚洲成av人片一区二区三区| 91丨porny丨最新| 国产成人在线免费| 一本色道综合亚洲| 男女性色大片免费观看一区二区| 欧美一区二区视频观看视频| 日本在线不卡视频| 777久久久精品| 午夜伦理一区二区| 欧美色国产精品| 久久人人超碰精品| 一卡二卡欧美日韩| 黄网站免费久久| 久久久久久久久久美女| 国产精品天美传媒| www.性欧美| 亚洲国产精品一区二区www| 丰满少妇久久久久久久| 久久你懂得1024| 成人性色生活片| 日韩精品中文字幕在线不卡尤物| 一区二区高清视频在线观看| 欧美优质美女网站| 亚洲欧美色图小说| 精品国产精品网麻豆系列| 免费在线观看精品| 国产精品国模大尺度视频| 久久精工是国产品牌吗| 久久久亚洲精品石原莉奈| 午夜精品久久久久久久99水蜜桃| 2023国产精品自拍| 91麻豆自制传媒国产之光| 欧美精品一区二区三| 国产盗摄一区二区| 精品国产三级a在线观看| 亚洲国产中文字幕在线视频综合| www.在线成人| 一区二区视频在线看| 国产日韩欧美精品综合| 日韩欧美一级精品久久| 极品少妇一区二区三区精品视频| 亚洲最大的成人av| 亚洲欧美激情视频在线观看一区二区三区| 大白屁股一区二区视频| 日本一区中文字幕| 亚洲成人三级小说| 日韩一级视频免费观看在线| 欧美伊人久久久久久久久影院| 亚洲自拍偷拍网站| 欧美精品乱人伦久久久久久| 精品亚洲porn| ...av二区三区久久精品| 国产精品高潮久久久久无| 欧美经典一区二区三区| 在线亚洲一区二区| 色噜噜狠狠成人中文综合| 97久久超碰精品国产| 久久疯狂做爰流白浆xx| 国内外成人在线| 成人综合在线视频| 99久久精品免费看国产| av成人老司机| 不卡影院免费观看| 欧美综合色免费| 国产成人亚洲综合a∨婷婷 | 精品国产精品网麻豆系列| 久久久久九九视频| 亚洲日本va午夜在线电影| 国产精品亲子乱子伦xxxx裸| 在线欧美一区二区| 懂色av中文一区二区三区| 首页国产欧美久久| 国产精品污污网站在线观看| 欧美日韩一区小说| 久久久久久影视| 91精品国产高清一区二区三区| 久久午夜国产精品| 5858s免费视频成人| 久久精品男人天堂av| 亚洲成人免费影院| 不卡欧美aaaaa|