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

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

?? cliproto.h

?? FastDb是高效的內存數據庫系統
?? H
字號:
//-< CLIPROTO.H >----------------------------------------------------*--------*// FastDB                    Version 1.0         (c) 1999  GARRET    *     ?  *// (Main Memory Database Management System)                          *   /\|  *//                                                                   *  /  \  *//                          Created:     13-Jan-2000  K.A. Knizhnik  * / [] \ *//                          Last update: 13-Jan-2000  K.A. Knizhnik  * GARRET *//-------------------------------------------------------------------*--------*// Client-server communication protocol//-------------------------------------------------------------------*--------*#ifndef __CLIPROTO_H__#define __CLIPROTO_H__BEGIN_FASTDB_NAMESPACEenum cli_commands {     cli_cmd_close_session,     cli_cmd_prepare_and_execute,    cli_cmd_execute,    cli_cmd_get_first,     cli_cmd_get_last,     cli_cmd_get_next,    cli_cmd_get_prev,    cli_cmd_free_statement,    cli_cmd_abort,    cli_cmd_commit,    cli_cmd_update,    cli_cmd_remove,    cli_cmd_remove_current,    cli_cmd_insert,    cli_cmd_prepare_and_insert,    cli_cmd_describe_table,    cli_cmd_show_tables,    cli_cmd_precommit,    cli_cmd_skip,    cli_cmd_create_table,    cli_cmd_drop_table,    cli_cmd_alter_index,    cli_cmd_freeze,    cli_cmd_unfreeze,    cli_cmd_seek,    cli_cmd_alter_table,    cli_cmd_last};static const int sizeof_type[] = {     sizeof(cli_oid_t),     sizeof(cli_bool_t),     sizeof(cli_int1_t),     sizeof(cli_int2_t),     sizeof(cli_int4_t),     sizeof(cli_int8_t),     sizeof(cli_real4_t),     sizeof(cli_real8_t),    sizeof(cli_real8_t), // cli_decimal    sizeof(char*), // cli_asciiz,     sizeof(char*), // cli_pasciiz,    sizeof(char*), // cli_cstring,    sizeof(cli_array_t), // cli_array_of_oid,    sizeof(cli_array_t), // cli_array_of_bool,    sizeof(cli_array_t), // cli_array_of_int1,    sizeof(cli_array_t), // cli_array_of_int2,    sizeof(cli_array_t), // cli_array_of_int4,    sizeof(cli_array_t), // cli_array_of_int8,    sizeof(cli_array_t), // cli_array_of_real4,    sizeof(cli_array_t), // cli_array_of_real8,     sizeof(cli_array_t), // cli_array_of_decimal,     sizeof(cli_array_t), // cli_array_of_string,    0, // cli_any,    sizeof(cli_int8_t), // cli_datetime,    sizeof(cli_int4_t), // cli_autoincrement,    sizeof(cli_rectangle_t), // cli_rectangle,    0  // cli_unknown};union cli_field_alignment {    struct { char n; cli_oid_t v;  }  _cli_oid_t;    struct { char n; cli_bool_t v;  } _cli_bool_t;    struct { char n; cli_int1_t v;  } _cli_int1_t;    struct { char n; cli_int2_t v;  } _cli_int2_t;    struct { char n; cli_int4_t v;  } _cli_int4_t;    struct { char n; cli_int8_t v;  } _cli_int8_t;    struct { char n; cli_real4_t v; } _cli_real4_t;    struct { char n; cli_real8_t v; } _cli_real8_t;    struct { char n; cli_array_t v; } _cli_array_t;    struct { char n; char*       v; } _cli_asciiz_t;    struct { char n; cli_rectangle_t v; } _cli_rectangle_t;};#define CLI_ALIGNMENT(type) \        (((char *)&(((union cli_field_alignment*)0)->_##type.v)) - ((char *)&(((union cli_field_alignment*)0)->_##type.n)))static const int alignof_type[] = {     CLI_ALIGNMENT(cli_oid_t),     CLI_ALIGNMENT(cli_bool_t),     CLI_ALIGNMENT(cli_int1_t),     CLI_ALIGNMENT(cli_int2_t),     CLI_ALIGNMENT(cli_int4_t),     CLI_ALIGNMENT(cli_int8_t),     CLI_ALIGNMENT(cli_real4_t),     CLI_ALIGNMENT(cli_real8_t),    CLI_ALIGNMENT(cli_real8_t),    CLI_ALIGNMENT(cli_asciiz_t),    CLI_ALIGNMENT(cli_asciiz_t),    CLI_ALIGNMENT(cli_asciiz_t),    CLI_ALIGNMENT(cli_array_t), // cli_array_of_oid,    CLI_ALIGNMENT(cli_array_t), // cli_array_of_bool,    CLI_ALIGNMENT(cli_array_t), // cli_array_of_int1,    CLI_ALIGNMENT(cli_array_t), // cli_array_of_int2,    CLI_ALIGNMENT(cli_array_t), // cli_array_of_int4,    CLI_ALIGNMENT(cli_array_t), // cli_array_of_int8,    CLI_ALIGNMENT(cli_array_t), // cli_array_of_real4,    CLI_ALIGNMENT(cli_array_t), // cli_array_of_real8,     CLI_ALIGNMENT(cli_array_t), // cli_array_of_decimal,     CLI_ALIGNMENT(cli_array_t), // cli_array_of_string,    0, // cli_any,    CLI_ALIGNMENT(cli_int8_t), // cli_datetime,    CLI_ALIGNMENT(cli_int4_t), // cli_autoincrement,    CLI_ALIGNMENT(cli_rectangle_t), // cli_rectangle,    0  // cli_unknown};static const int fd2cli_type_mapping[] = {    cli_bool,    cli_int1,    cli_int2,    cli_int4,    cli_int8,    cli_real4,    cli_real8,    cli_asciiz,    cli_oid};#if defined(__FreeBSD__)END_FASTDB_NAMESPACE#include <sys/param.h>#include <netinet/in.h>BEGIN_FASTDB_NAMESPACE#define USE_HTON_NTOH#elif defined(__linux__)//// At Linux inline assembly declarations of ntohl, htonl... are available//END_FASTDB_NAMESPACE#include <netinet/in.h>BEGIN_FASTDB_NAMESPACE#define USE_HTON_NTOH#else#if defined(_WIN32) && _M_IX86 >= 400#pragma warning(disable:4035) // disable "no return" warning#ifdef __BORLANDC__static#elseinline #endifint swap_bytes_in_dword(int val) {    __asm {          mov eax, val          bswap eax    }}#ifdef __BORLANDC__static#elseinline #endifshort swap_bytes_in_word(short val) {    __asm {          mov ax, val          xchg al,ah    }}#pragma warning(default:4035)#define ntohl(w) swap_bytes_in_dword(w)#define htonl(w) swap_bytes_in_dword(w)#define ntohs(w) swap_bytes_in_word(w)#define htons(w) swap_bytes_in_word(w)#define USE_HTON_NTOH#endif#endifinline char* pack2(char* dst, int2 val) {     *dst++ = char(val >> 8);    *dst++ = char(val);         return dst;}inline char* pack2(char* dst, char* src) {     return pack2(dst, *(int2*)src); }inline void pack2(int2& val) { #if BYTE_ORDER != BIG_ENDIAN#ifdef USE_HTON_NTOH    val = htons(val);#else    pack2((char*)&val, val); #endif#endif}inline char* pack4(char* dst, int4 val) {     *dst++ = char(val >> 24);    *dst++ = char(val >> 16);         *dst++ = char(val >> 8);     *dst++ = char(val);    return dst;}inline char* pack4(char* dst, char* src) {     return pack4(dst, *(int4*)src); }inline void pack4(int4& val) { #if BYTE_ORDER != BIG_ENDIAN#ifdef USE_HTON_NTOH    val = htonl(val);#else    pack4((char*)&val, val); #endif#endif}inline char* pack8(char* dst, char* src) { #if BYTE_ORDER == BIG_ENDIAN    return pack4( pack4(dst, src), src + 4);#else    return pack4( pack4(dst, src + 4), src);#endif}inline char* pack8(char* dst, db_int8 val) {     return pack8(dst, (char*)&val);}inline char* pack_oid(char* dst, cli_oid_t oid){    return (sizeof(oid) == 4) ? pack4(dst, oid) : pack8(dst, (char*)&oid);}inline char* pack_rectangle(char* dst, cli_rectangle_t* rect){    if (sizeof(cli_coord_t) == 4) {         for (int i = 0; i < CLI_RECTANGLE_DIMENSION*2; i++) {             dst = pack4(dst, (char*)&rect->boundary[i]);        }    } else {         for (int i = 0; i < CLI_RECTANGLE_DIMENSION*2; i++) {             dst = pack8(dst, (char*)&rect->boundary[i]);        }    }    return dst;}inline int2 unpack2(char* src) {     nat1* s = (nat1*)src;    return (s[0] << 8) + s[1]; }inline char* unpack2(char* dst, char* src) {     *(int2*)dst = unpack2(src);    return src + 2;}inline void  unpack2(int2& val) { #if BYTE_ORDER != BIG_ENDIAN#ifdef USE_HTON_NTOH    val = ntohs(val);#else    val = unpack2((char*)&val); #endif#endif}inline int4  unpack4(char* src) {     nat1* s = (nat1*)src;    return (((((s[0] << 8) + s[1]) << 8) + s[2]) << 8) + s[3];} inline char* unpack4(char* dst, char* src) {     *(int4*)dst = unpack4(src);    return src + 4;}inline void unpack4(int4& val) { #if BYTE_ORDER != BIG_ENDIAN#ifdef USE_HTON_NTOH    val = ntohl(val);#else    val = unpack4((char*)&val); #endif#endif}inline char* unpack8(char* dst, char* src) { #if BYTE_ORDER == BIG_ENDIAN    *(int4*)dst = unpack4(src);    *((int4*)dst+1) = unpack4(src+4);#else    *(int4*)dst = unpack4(src+4);    *((int4*)dst+1) = unpack4(src);#endif    return src + 8;}inline db_int8 unpack8(char* src) {     db_int8 val;    unpack8((char*)&val, src);    return val;}inline cli_oid_t unpack_oid(char* src){    cli_oid_t oid;    if (sizeof(oid) == 4) {        oid = unpack4(src);    } else {         unpack8((char*)&oid, src);    }    return oid;}inline char* unpack_rectangle(cli_rectangle_t* rect, char* src){    if (sizeof(cli_coord_t) == 4) {         for (int i = 0; i < CLI_RECTANGLE_DIMENSION*2; i++) {             src = unpack4((char*)&rect->boundary[i], src);        }    } else {         for (int i = 0; i < CLI_RECTANGLE_DIMENSION*2; i++) {             src = unpack8((char*)&rect->boundary[i], src);        }    }    return src;}struct cli_request {     int4 length;    int4 cmd;    int4 stmt_id;        void pack() {         pack4(length);        pack4(cmd);        pack4(stmt_id);    }    void unpack() {         unpack4(length);        unpack4(cmd);        unpack4(stmt_id);    }};END_FASTDB_NAMESPACE#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级理论片| 亚洲摸摸操操av| 日韩码欧中文字| 奇米精品一区二区三区在线观看一| 国产一区二区三区蝌蚪| 欧美日韩美少妇| 国产精品欧美一区二区三区| 另类欧美日韩国产在线| 色欧美片视频在线观看| 国产欧美精品一区| 六月婷婷色综合| 欧美日韩美少妇| 一区二区三区蜜桃| 成人精品鲁一区一区二区| www精品美女久久久tv| 亚洲国产精品久久不卡毛片| 91色视频在线| 亚洲欧美一区二区在线观看| 国产不卡免费视频| 久久这里只有精品视频网| 青娱乐精品视频在线| 欧美人与z0zoxxxx视频| 一区二区三区免费看视频| 99麻豆久久久国产精品免费| 国产女主播视频一区二区| 国产成人综合在线| 久久婷婷色综合| 国产一二精品视频| 久久久久青草大香线综合精品| 精品一区二区三区久久| 欧美成人免费网站| 看国产成人h片视频| 欧美电视剧在线观看完整版| 青青草91视频| 日韩欧美一级二级三级久久久| 日韩精品乱码av一区二区| 欧美日韩国产一区二区三区地区| 亚洲国产综合色| 欧美日本国产视频| 久久99精品国产麻豆婷婷| 欧美电影免费观看完整版| 国产一区二区三区蝌蚪| 国产精品色婷婷久久58| 在线观看亚洲成人| 午夜视频在线观看一区二区三区| 69av一区二区三区| 免费成人在线视频观看| 精品理论电影在线| 国产成人av福利| 亚洲人成网站色在线观看| 欧洲一区二区三区免费视频| 午夜精品福利一区二区蜜股av| 日韩色视频在线观看| 国产精品一品视频| 中文字幕一区二区三区不卡在线 | 一区二区三区四区在线| 欧美手机在线视频| 激情综合五月天| 欧美国产欧美综合| 欧美性色综合网| 九九国产精品视频| 日韩美女视频一区二区| 欧美乱妇23p| 国产91在线观看| 亚洲午夜影视影院在线观看| 精品裸体舞一区二区三区| 色综合天天综合网国产成人综合天| 亚洲第一av色| 国产亚洲欧美在线| 欧美在线视频日韩| 久久精品国产99| 亚洲黄色免费网站| 久久无码av三级| 欧美丰满美乳xxx高潮www| 国产不卡在线一区| 日本美女一区二区| 亚洲欧美综合在线精品| 精品噜噜噜噜久久久久久久久试看| 91无套直看片红桃| 国产在线精品免费av| 亚洲国产一区二区三区青草影视| 久久久久久97三级| 欧美精品久久天天躁| 粉嫩嫩av羞羞动漫久久久| 蜜臀av性久久久久蜜臀aⅴ| 国产精品蜜臀av| 精品美女在线观看| 在线不卡免费av| 在线观看亚洲精品视频| 成人av在线资源网| 国产一区亚洲一区| 日本麻豆一区二区三区视频| 亚洲永久免费视频| 一区二区中文视频| 久久久久久久久久美女| 欧美一区二区黄| 欧美视频一区在线观看| 91麻豆精品在线观看| 国产成人免费视频网站高清观看视频| 亚洲国产成人tv| 一区二区免费在线播放| 国产精品国产三级国产| 久久久久久久久久久99999| 欧美一级免费大片| 欧美日韩国产片| 欧美这里有精品| 99久久精品免费看国产免费软件| 国产麻豆一精品一av一免费 | 一区二区三区精品视频在线| 国产区在线观看成人精品| 精品国产免费一区二区三区四区 | 亚洲最大成人综合| 国产精品国产自产拍高清av | 亚洲国产岛国毛片在线| 久久综合色天天久久综合图片| 精品国产一区二区三区忘忧草| 欧美一区二区视频在线观看2020| 欧美日韩日日夜夜| 欧美日韩激情一区二区| 欧美区视频在线观看| 欧美电影在线免费观看| 欧美一区二区三区在线视频| 日韩一级免费观看| 欧美电影精品一区二区| 久久久久久免费网| 中文字幕亚洲在| 亚洲精品五月天| 午夜激情一区二区| 狠狠色丁香久久婷婷综| 丁香六月久久综合狠狠色| 99国产欧美另类久久久精品| 欧美四级电影在线观看| 日韩欧美在线综合网| 久久精品在线观看| 亚洲视频精选在线| 亚洲高清视频的网址| 蜜臂av日日欢夜夜爽一区| 国产一区二区三区黄视频 | 亚洲一区二区三区四区在线| 天堂蜜桃一区二区三区| 久久成人av少妇免费| 成人av电影在线播放| 欧美视频自拍偷拍| 精品成人a区在线观看| 国产精品美女视频| 亚洲一区二区三区小说| 国内精品免费在线观看| av爱爱亚洲一区| 欧美一区二区三区免费视频| 国产亚洲婷婷免费| 亚洲一区二区三区三| 国产综合色视频| 欧美亚州韩日在线看免费版国语版| 日韩天堂在线观看| 亚洲日本一区二区| 蜜桃av一区二区三区电影| 一本到高清视频免费精品| 日韩精品一区二区三区视频在线观看| 国产精品盗摄一区二区三区| 日本午夜一区二区| 粉嫩aⅴ一区二区三区四区| 制服丝袜亚洲精品中文字幕| 国产精品久线在线观看| 奇米色777欧美一区二区| 色婷婷国产精品| 久久久不卡网国产精品二区| 午夜久久久久久久久久一区二区| 不卡的av电影| 精品国产乱码久久久久久免费| 一区二区不卡在线视频 午夜欧美不卡在| 麻豆成人在线观看| 欧美视频一区二区三区四区| 国产欧美一区二区精品性色超碰| 天天综合色天天| 91国偷自产一区二区三区成为亚洲经典| 精品美女被调教视频大全网站| 亚洲成精国产精品女| 97国产一区二区| 久久久久97国产精华液好用吗| 天天射综合影视| 欧美中文字幕一区| 亚洲日本丝袜连裤袜办公室| 成人aaaa免费全部观看| 国产午夜精品久久久久久久| 老司机免费视频一区二区三区| 欧美精选在线播放| 一区二区三区在线视频免费| 波多野结衣中文字幕一区二区三区| 精品久久久久久久久久久久久久久| 午夜精品久久久久影视| 欧美日韩在线免费视频| 亚洲一区二区综合| 在线欧美一区二区| 亚洲一区二区三区美女| 在线观看成人小视频| 亚洲综合一区二区三区| 欧美优质美女网站| 亚洲亚洲人成综合网络| 欧美日韩三级在线| 日韩精品成人一区二区在线|