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

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

?? datatype.h

?? 用c/c++實現的一個CMPP API
?? H
字號:
/***************************************************************************  Copyright    : 2001-2002, ASPIRE TECHNOLOGIES (SHENZHEN) LTD.  Program ID   : datatype.h  Description  : 公用數據說明文件  Version      : CMPP API 1.5a  Functions    : 內部函數  Modification Log:       DATE         AUTHOR          DESCRIPTION --------------------------------------------------------------------------       11/25/2002   sunjun            Create***************************************************************************/#ifndef _DATATYPE_H#define _DATATYPE_H#include "os.h"#include "cmppapi.h"#include "cmpplowapi.h" //  底層接口submit結構定義#include "cmppmutex.h"    #include "cmppthread.h"#define MacShortLen         sizeof(short)#define MacIntLen           sizeof(int)#define MacCharLen          sizeof(char)/*  Macro of CMPP Command Id */#define MacC_ConnectRqst        0x00000001#define MacC_ConnectRep         0x80000001#define MacC_TerminateRqst      0x00000002#define MacC_TerminateRep       0x80000002#define MacC_DeliverRqst        0x00000005#define MacC_DeliverRep         0x80000005#define MacC_SubmitRqst         0x00000004#define MacC_SubmitRep          0x80000004#define MacC_QueryRqst          0x00000006#define MacC_QueryRep           0x80000006#define MacC_CancelRqst         0x00000007#define MacC_CancelRep          0x80000007#define MacC_ActiveRqst         0x00000008#define MacC_ActiveRep          0x80000008/* CMPP package body definition */#define MacHeadLen             (MacIntLen + \                                MacIntLen + \                                MacIntLen)typedef struct _tagCmppHead {        unsigned int        unTotalLength;  /* 消息總長度 */        unsigned int        unCommandId;    /* 消息命令 */        unsigned int        unSequenceId;   /* 消息流水號 */} recCmppHead;/* CMPP package body definition *//*CMPP Connect pack definition */#define MacSourceAddress    6#define MacAuthSource       16#define MacConnectLen       (MacSourceAddress + \                             MacAuthSource    + \                             MacCharLen       + \                             MacIntLen)                                typedef struct _tagCmppConnect {                                    char chSourceAddr[MacSourceAddress+1];  /* 源地址 */        char chAuthSource[MacAuthSource+1];     /* 用于鑒別源地址(MD5)*/        unsigned char   ucVersion;              /* 版本號 */        unsigned int    unTimestamp;            /* 時間明文 */} recCmppConnect;/* CMPP Submit Resp pack definition */#define MacSubmitResLen      (MacMsgId + \                              MacIntLen)                              #define MacReceiptBodyLen     (MacMsgId   + \                               MacRecStat + \                               MacSubmitTime + \                               MacDoneTime + \                               MacDesTermId   + \                               MacIntLen)                               /* CMPP Deliver Resp pack definition */#define MacDeliverResLen    (MacMsgId + MacIntLen)                               /* CMPP Connect resp pack definition */#define MacAuthIsmg        16#define MacConnectResLen   (MacIntLen+ \                            MacAuthIsmg + \                            MacCharLen)                            typedef struct _tagCmppConnectResp {        unsigned int unStatus;                              /* 狀態 */        char          chAuthIsmg[MacAuthIsmg+1]; /* ISMG認證碼 */        unsigned char ucVersion;                 /* 版本號 */} recCmppConnectResp;/* CMPP Query pack definition */#define  MacQueryTime     8#define  MacQueryCode     10#define  MacQueryLen          (MacQueryTime + \                               MacCharLen   + \                               MacQueryCode + \                               MacReserve)                               typedef struct _tagCmppQuery {        char                chTime[MacQueryTime+1];     /* 時間 */        unsigned char       ucQueryType;                /* 查詢類別 */        char                chQueryCode[MacQueryCode+1];/* 查詢代碼 */        char                chReserve[MacReserve+1];    /* 保留 */} recCmppQuery;/* CMPP Query Resp pack definition */#define MacQueryResLen        (MacQueryTime  + \                               MacCharLen    + \                               MacQueryCode  + \                               MacIntLen     + \                               MacIntLen     + \                               MacIntLen     + \                               MacIntLen     + \                               MacIntLen     + \                               MacIntLen     + \                               MacIntLen     + \                               MacIntLen)                               typedef struct _tagCmppQueryResp {        char                chTime[MacQueryTime+1];     /* 時間 */        unsigned char       ucQueryType;                /* 查詢類別 */        char                chQueryCode[MacQueryCode+1]; /* 查詢代碼 */        unsigned int        unMtTlMsg;                  /* 從SP接收的信息總數 */        unsigned int        unMtTlUsr;                  /* 從SP接收的用戶總數 */        unsigned int        unMtScs;                    /* 成功數量 */        unsigned int        unMtWt;                     /* 待轉發數量 */        unsigned int        unMtFl;                     /* 轉發失敗數量 */        unsigned int        unMoScs;                    /* 向SP發送成功數量 */        unsigned int        unMoWt;                     /* 向SP待發送數量 */        unsigned int        unMoFl;                     /* 向SP發送失敗數量 */} recCmppQueryResp;/* CMPP Cancel pack definition */#define MacCancelLen         MacMsgIdtypedef struct _tagCmppCancel {        unsigned char       uchMsgId[MacMsgId+1];       /* 信息標識 */} recCmppCancel;/* CMPP Cancel Resp pack definition */#define MacCancelResLen     MacIntLentypedef struct _tagCmppCancelResp {        unsigned int      unSuccessId;                          /* 成功標識 */} recCmppCancelResp;/* CMPP Active pack definition */#define MacActiveTestLen     0typedef struct _tagCmppActiveTest {      /* 因為cc編譯器不支持空結構,該字段不影響編解碼 */      unsigned char  uReserver;} recCmppActiveTest;/* CMPP Active Resp pack definition */#define MacActiveTestResLen   MacCharLentypedef struct _tagCmppActiveTestResp {        unsigned char       ucReserver;         /* 保留 */} recCmppActiveTestResp;/*CMPP Pack struct */typedef struct _tagCmppPck {        recCmppHead             rHead;        union {        recCmppConnect          rCmppConnect;        recCmppConnectResp      rCmppConnectResp;        recCmppSubmit           rCmppSubmit;        recCmppSubmitResp       rCmppSubmitResp;        recCmppQuery            rCmppQuery;        recCmppQueryResp        rCmppQueryResp;        recCmppDeliver          rCmppDeliver;        recCmppDeliverResp      rCmppDeliverResp;        recCmppCancel           rCmppCancel;        recCmppCancelResp       rCmppCancelResp;        recCmppActiveTest       rCmppActiveTest;        recCmppActiveTestResp   rCmppActiveTestResp;        } body;} recCmppPck;/* Submit pack Len */#define MacMaxSubmitLen   (MacMsgId   + \                           MacCharLen + \                           MacCharLen + \                           MacCharLen + \                           MacCharLen + \                           MacServiceId + \                           MacCharLen + \                           MacFeeTermId + \                           MacCharLen + \                           MacCharLen + \                           MacCharLen + \                           MacCharLen + \                           MacMsgSrc  + \                           MacFeeType + \                           MacFeeCode + \                           MacValidTime + \                           MacAtTime  + \                           MacSrcId   + \                           MacCharLen + \                           MacDesTermId + \                           MacCharLen + \                           MacCharLen + \                           MacMsgLen  + \                           MacLinkId)                           #define MacMinSubmitLen    (MacMaxSubmitLen - MacMsgLen)#define MacBasSubmitLen    (MacMaxSubmitLen  - MacMsgLen - MacLinkId)    /* CMPP Deliver pack Len */#define MacMaxDeliverLen    (MacMsgId     + \                             MacDstId     + \                             MacServiceId + \                             MacCharLen   + \                             MacCharLen   + \                             MacCharLen   + \                             MacSrcTermId + \                             MacCharLen   + \                             MacCharLen   + \                             MacCharLen   + \                             MacMsgLen    + \                             MacLinkId)                             #define MacMinDeliverLen     (MacMaxDeliverLen - MacMsgLen)#define MacBasDeliverLen     (MacMaxDeliverLen - MacMsgLen - MacLinkId)    #define     MAC_LEN_OF_SPID     6#define     MAC_LEN_OF_SPPWD    32#define     MAC_LEN_OF_IPADDR   40typedef enum _ESocketState            /* 連接狀態 */{    ConnectClose = 0,           /* 連接關閉 */    ConnectOpen                /* 連接OK */}ESocketState;typedef enum _ELoginState{    NoLogined = 0,             /* 沒有連接到服務器 */    Logined ,                  /* LOGIN 上服務器 */    ReLogining,                /* 在重新LOGIN */    ReLoginRequest,            /* 要求重新LOGIN */    ReLoginFail                /* 重新LOGIN失敗 */}ELoginState;typedef enum _EBool{    True  = 1,    False = 0,#ifndef WIN32    TRUE  = 1,    FALSE = 0#endif}EBool;typedef struct _ConfigPara{    char    sHostAddr[MAC_LEN_OF_IPADDR+1];    int     nHostPort;    char    sSpID[MAC_LEN_OF_SPID+1];    char    sSpPasswod[MAC_LEN_OF_SPPWD+1];    EBool   bAutoDeliveryResponse;  /* 是否自動回復delivery response */    int     nSubmitTimeOut;         /* submit的超時等待時間 */    recCmppSubmit rDefaultSubmitValue;    int     nVersion;    int     nActiveTimeval;}recCfgPara;#ifdef WIN32typedef struct _tagThreadEvent {    RecMutex        	mutex_h;  /* 鎖 */    HANDLE              cond_h;    int*				pbSended; /* 是否已經發送了事件 */}recEvent;#endif#if defined(_HPUX_SOURCE) || defined(_LINUX_SOURCE)typedef struct _tagThreadEvent {    pthread_mutex_t            mutex_h;    pthread_cond_t      cond_h;    int*                pbSended;    // 是否已經發送了事件}recEvent;#endiftypedef struct _BufFd{    void*           pvBufPtr;         /* 緩沖指針 */    RecMutex        BufLock;  /* 緩沖鎖 */    EBool           bBlock;   /* 是否BLOCK */    recEvent        BufEvent; /* 緩沖事件 */}recBufFd;    #define NO_INIT     0           // 沒有初始化#define YES_INIT    1           // 已經初始化    typedef struct _tagConnDesc {    int         nInitFlag;      /* 是否初始化的標志 */    int         nConnFd;        /* 連接句柄 */    int         nSequence;      /* 請求包的序列號 */    RecMutex    rMutex;         /* 用于對序列號的多線程安全*/    int         nTimeout;       /* 超時時間 */    ESocketState  eSocketStatus;        /* 連接狀態 */    ELoginState   eLoginStatus;         /* 登陸狀態 */        recBufFd    rSendBufFd;     /* 發送緩沖隊列句柄 */    recBufFd    rDeliverBufFd;  /* 回執、普通MO緩沖隊列句柄 */    recBufFd    rSeqBufFd;      /* 接收的SEUQNCE表句柄 */        API_THREAD_HANDLE  SendThreadHandle;   /* 發送線程句柄 */    API_THREAD_HANDLE  RecvThreadHandle;   /* 接收線程句柄 */    EBool       bThreadExit;            recCfgPara  rCfgPara;       /* 配置參數  */    }recConnDesc;/*---------------------------------------------------------------------------*//*---------------------------------------------------------------------------*//* * 描述:打印詳細錯誤描述  *      (到標準輸出和錯誤輸出) * 輸入:無 * 輸出:無 * 返回值:無 */void    vPrintErrorDetail( );/* *描述:設置Query包結構 *輸入:const char          *sTime        const unsigned char     ucQueryType        const char          *sQueryCode        const char          *sReserve *輸出:recCmppQuery        *srCmppQuery *返回值:API_OK 成功 *        其它 失敗 */int nSetQueryValue(recCmppQuery *prCmppQuery,                    const char *sTime,                    const unsigned char ucQueryType,                    const char *sQueryCode,                    const char *sReserve );/* *描述:(1) 發送Query請求        (2) 接收Query響應 *輸入:CONNFD connDesc 連接句柄          recCmppQuery * prCmppQuery, *輸出:recCmppQueryResp * prCmppQueryResp *返回值:API_OK 成功 *        其它 失敗 */                                              int nQuery( CONNFD connDesc,             recCmppQuery * prCmppQuery,            recCmppQueryResp * prCmppQueryResp );/* *描述:設置Cancel包結構 *輸入:const unsigned char     *pMsgId         *輸出:recCmppCancel *prCmppCancel *返回值:API_OK 成功 *        其它 失敗 */int nSetCancelValue( recCmppCancel *prCmppCancel,                         const unsigned char *pMsgId );/* *描述:(1) 發送Cancel請求        (2) 接收Cancel響應 *輸入:CONNFD connDesc 連接句柄          recCmppCancel * prCmppCancel, *輸出:recCmppCancelResp *prCmppCancelResp *返回值:API_OK 成功 *        其它 失敗 */int nCancel( CONNFD connDesc,              recCmppCancel * prCmppCancel,             recCmppCancelResp *prCmppCancelResp );/*---------------------------------------------------------------------------*/ #endif      //end of _DATATYPE_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人电影天堂| 色综合天天狠狠| 91在线云播放| 欧美成人免费网站| 一区二区三区精品在线| 岛国一区二区三区| 精品国产免费视频| 日精品一区二区| 色综合天天综合色综合av| 精品国产一区二区三区四区四 | 欧美三级电影在线看| 久久久久久久性| 激情小说欧美图片| 666欧美在线视频| 亚洲一区二区三区四区在线| 成人av电影免费在线播放| 精品久久久久一区| 美女在线一区二区| 欧美日韩国产在线观看| 一区二区三区精品在线观看| 色乱码一区二区三区88| 国产精品全国免费观看高清| 国产麻豆成人传媒免费观看| 国产欧美一区二区精品秋霞影院| 日本一道高清亚洲日美韩| 欧美亚一区二区| 亚洲一区二区3| 欧美性大战xxxxx久久久| 亚洲高清三级视频| 欧美少妇xxx| 视频在线观看91| 欧美精品tushy高清| 婷婷夜色潮精品综合在线| 欧美日韩精品欧美日韩精品| 亚洲电影第三页| 666欧美在线视频| 六月丁香综合在线视频| 久久久久久久综合色一本| 福利一区福利二区| 亚洲欧美日韩成人高清在线一区| 91论坛在线播放| 婷婷亚洲久悠悠色悠在线播放 | 国产午夜精品一区二区三区四区| 国内精品伊人久久久久影院对白| 久久精品免费在线观看| 99精品国产视频| 亚洲综合自拍偷拍| 欧美一区二区三区不卡| 国产美女久久久久| 中文字幕佐山爱一区二区免费| 欧美亚洲精品一区| 精品一区二区三区香蕉蜜桃| 欧美韩国日本综合| 欧亚一区二区三区| 激情av综合网| 亚洲精品国产精华液| 欧美一区二区在线看| 国产精品一区二区在线观看网站| 亚洲视频免费在线| 欧美一二三四在线| 成人av在线资源| 久久九九国产精品| 亚洲成人动漫精品| 在线观看91精品国产麻豆| 日本在线播放一区二区三区| 久久综合色播五月| 91成人免费在线| 久久国内精品视频| 亚洲精品成人在线| 久久丝袜美腿综合| 欧美日免费三级在线| 国产精品一区免费在线观看| 亚洲综合久久av| 国产日韩欧美一区二区三区综合| 在线观看国产精品网站| 国内精品写真在线观看| 五月天亚洲精品| 中文字幕不卡在线播放| 69堂亚洲精品首页| 欧美最猛黑人xxxxx猛交| 国产在线国偷精品免费看| 亚洲成a人片在线观看中文| 国产精品色一区二区三区| 91麻豆精品国产91久久久资源速度 | 欧美va亚洲va| 不卡av免费在线观看| 久久er99热精品一区二区| 亚洲国产成人精品视频| 国产精品久久久久毛片软件| 2021中文字幕一区亚洲| 91精品国产综合久久香蕉麻豆| 色天天综合久久久久综合片| 国产成人免费av在线| 激情国产一区二区| 日本美女一区二区| 婷婷国产v国产偷v亚洲高清| 亚洲区小说区图片区qvod| 日本一区二区三区视频视频| 欧美精品一区二区高清在线观看 | 一区二区三区精密机械公司| 国产视频一区二区在线观看| 日韩美女视频在线| 日韩视频免费观看高清完整版 | 一区二区三区视频在线看| 国产精品福利在线播放| 国产日产欧美一区二区视频| 精品国产一区二区精华| 91精品国产高清一区二区三区| 欧美日韩亚洲另类| 欧美在线高清视频| 一本大道久久a久久综合婷婷| 成人激情视频网站| 99精品黄色片免费大全| 色婷婷香蕉在线一区二区| 色婷婷精品久久二区二区蜜臂av | 成人美女在线观看| 国产精品99久久久久久宅男| 国产一区二区三区高清播放| 国产另类ts人妖一区二区| 国产91在线|亚洲| 欧美日韩免费观看一区三区| 91精彩视频在线| 欧美日韩一区国产| 欧美一级视频精品观看| 欧美精品一区二区三区四区 | 香蕉加勒比综合久久| 欧美aa在线视频| 国产乱码精品一品二品| 99久久精品99国产精品| 一本色道久久综合狠狠躁的推荐| 精品视频一区三区九区| 日韩一区二区精品| 国产精品午夜免费| 亚洲chinese男男1069| 精品午夜久久福利影院| 成人精品国产一区二区4080| 色婷婷久久久综合中文字幕| 欧美一区二区日韩| 国产精品亲子伦对白| 亚洲午夜久久久久久久久电影网| 五月开心婷婷久久| 国产成人在线观看免费网站| 一本一本大道香蕉久在线精品 | 国产中文字幕精品| 99精品视频中文字幕| 51久久夜色精品国产麻豆| 久久久久久影视| 亚洲国产精品嫩草影院| 精品一区二区三区视频| 91网站最新地址| 91免费视频网| 欧美性videosxxxxx| 精品日韩99亚洲| 亚洲精品国产一区二区三区四区在线| 日韩av电影天堂| 成人激情小说乱人伦| 欧美一卡2卡3卡4卡| 亚洲欧美日韩国产一区二区三区| 日本va欧美va欧美va精品| 91在线免费看| 久久久久久亚洲综合影院红桃| 亚洲精品中文字幕在线观看| 国内精品免费**视频| 欧美日韩综合在线免费观看| 国产欧美日韩综合| 蜜臀精品久久久久久蜜臀| 一本一道综合狠狠老| 国产亚洲精品资源在线26u| 日本美女视频一区二区| 日本精品一区二区三区四区的功能| 欧美变态tickling挠脚心| 性做久久久久久久久| 99精品欧美一区二区三区小说| 精品久久久久一区二区国产| 亚洲.国产.中文慕字在线| 一本到不卡精品视频在线观看| 久久精品亚洲乱码伦伦中文| 美女网站色91| 91精品免费在线观看| 亚洲一区在线播放| 91女神在线视频| 亚洲欧洲国产专区| 成人黄色小视频在线观看| 久久久噜噜噜久噜久久综合| 久久成人免费网| 欧美一级日韩免费不卡| 日韩不卡手机在线v区| 色综合激情久久| 一区二区三区日韩在线观看| eeuss鲁片一区二区三区在线看| 久久久五月婷婷| 国产成人鲁色资源国产91色综| 久久综合九色综合97婷婷女人 | 99精品久久久久久| 日韩毛片视频在线看| 94-欧美-setu| 亚洲精品成人少妇| 欧美色图激情小说| 三级欧美在线一区| 国产日韩亚洲欧美综合|