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

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

?? tcbtest.c

?? Tokyo Cabinet的Tokyo Cabinet 是一個DBM的實現。這里的數據庫由一系列key-value對的記錄構成。key和value都可以是任意長度的字節序列,既可以是二進制也可以是字符
?? C
?? 第 1 頁 / 共 5 頁
字號:
/************************************************************************************************* * The test cases of the B+ tree database API *                                                      Copyright (C) 2006-2009 Mikio Hirabayashi * This file is part of Tokyo Cabinet. * Tokyo Cabinet is free software; you can redistribute it and/or modify it under the terms of * the GNU Lesser General Public License as published by the Free Software Foundation; either * version 2.1 of the License or any later version.  Tokyo Cabinet is distributed in the hope * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public * License for more details. * You should have received a copy of the GNU Lesser General Public License along with Tokyo * Cabinet; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307 USA. *************************************************************************************************/#include <tcutil.h>#include <tcbdb.h>#include "myconf.h"#define RECBUFSIZ      48                // buffer for records/* global variables */const char *g_progname;                  // program nameunsigned int g_randseed;                 // random seedint g_dbgfd;                             // debugging output/* function prototypes */int main(int argc, char **argv);static void usage(void);static void iprintf(const char *format, ...);static void iputchar(int c);static void eprint(TCBDB *bdb, const char *func);static void mprint(TCBDB *bdb);static void sysprint(void);static int myrand(int range);static void *pdprocfunc(const void *vbuf, int vsiz, int *sp, void *op);static bool iterfunc(const void *kbuf, int ksiz, const void *vbuf, int vsiz, void *op);static int runwrite(int argc, char **argv);static int runread(int argc, char **argv);static int runremove(int argc, char **argv);static int runrcat(int argc, char **argv);static int runqueue(int argc, char **argv);static int runmisc(int argc, char **argv);static int runwicked(int argc, char **argv);static int procwrite(const char *path, int rnum, int lmemb, int nmemb, int bnum,                     int apow, int fpow, bool mt, TCCMP cmp, int opts, int lcnum, int ncnum,                     int xmsiz, int lsmax, int capnum, int omode, bool rnd);static int procread(const char *path, bool mt, TCCMP cmp, int lcnum, int ncnum, int xmsiz,                    int omode, bool wb, bool rnd);static int procremove(const char *path, bool mt, TCCMP cmp, int lcnum, int ncnum, int xmsiz,                      int omode, bool rnd);static int procrcat(const char *path, int rnum,                    int lmemb, int nmemb, int bnum, int apow, int fpow,                    bool mt, TCCMP cmp, int opts, int lcnum, int ncnum, int xmsiz, int lsmax,                    int capnum, int omode, int pnum, bool dai, bool dad, bool rl, bool ru);static int procqueue(const char *path, int rnum, int lmemb, int nmemb, int bnum,                     int apow, int fpow, bool mt, TCCMP cmp, int opts,                     int lcnum, int ncnum, int xmsiz, int lsmax, int capnum, int omode);static int procmisc(const char *path, int rnum, bool mt, int opts, int omode);static int procwicked(const char *path, int rnum, bool mt, int opts, int omode);/* main routine */int main(int argc, char **argv){  g_progname = argv[0];  const char *ebuf = getenv("TCRNDSEED");  g_randseed = ebuf ? tcatoix(ebuf) : tctime() * 1000;  srand(g_randseed);  ebuf = getenv("TCDBGFD");  g_dbgfd = ebuf ? tcatoix(ebuf) : UINT16_MAX;  if(argc < 2) usage();  int rv = 0;  if(!strcmp(argv[1], "write")){    rv = runwrite(argc, argv);  } else if(!strcmp(argv[1], "read")){    rv = runread(argc, argv);  } else if(!strcmp(argv[1], "remove")){    rv = runremove(argc, argv);  } else if(!strcmp(argv[1], "rcat")){    rv = runrcat(argc, argv);  } else if(!strcmp(argv[1], "queue")){    rv = runqueue(argc, argv);  } else if(!strcmp(argv[1], "misc")){    rv = runmisc(argc, argv);  } else if(!strcmp(argv[1], "wicked")){    rv = runwicked(argc, argv);  } else {    usage();  }  return rv;}/* print the usage and exit */static void usage(void){  fprintf(stderr, "%s: test cases of the B+ tree database API of Tokyo Cabinet\n", g_progname);  fprintf(stderr, "\n");  fprintf(stderr, "usage:\n");  fprintf(stderr, "  %s write [-mt] [-cd|-ci|-cj] [-tl] [-td|-tb|-tt|-tx] [-lc num] [-nc num]"          " [-xm num] [-ls num] [-ca num] [-nl|-nb] [-rnd] path rnum"          " [lmemb [nmemb [bnum [apow [fpow]]]]]\n", g_progname);  fprintf(stderr, "  %s read [-mt] [-cd|-ci|-cj] [-lc num] [-nc num] [-xm num] [-nl|-nb]"          " [-wb] [-rnd] path\n", g_progname);  fprintf(stderr, "  %s remove [-mt] [-cd|-ci|-cj] [-lc num] [-nc num] [-xm num] [-nl|-nb] [-rnd]"          " path\n", g_progname);  fprintf(stderr, "  %s rcat [-mt] [-cd|-ci|-cj] [-tl] [-td|-tb|-tt|-tx] [-lc num] [-nc num]"          " [-xm num] [-ls num] [-ca num] [-nl|-nb] [-pn num] [-dai|-dad|-rl|-ru] path rnum"          " [lmemb [nmemb [bnum [apow [fpow]]]]]\n", g_progname);  fprintf(stderr, "  %s queue [-mt] [-cd|-ci|-cj] [-tl] [-td|-tb|-tt|-tx] [-lc num] [-nc num]"          " [-xm num] [-ls num] [-ca num] [-nl|-nb] path rnum"          " [lmemb [nmemb [bnum [apow [fpow]]]]]\n", g_progname);  fprintf(stderr, "  %s misc [-mt] [-tl] [-td|-tb|-tt|-tx] [-nl|-nb] path rnum\n", g_progname);  fprintf(stderr, "  %s wicked [-mt] [-tl] [-td|-tb|-tt|-tx] [-nl|-nb] path rnum\n", g_progname);  fprintf(stderr, "\n");  exit(1);}/* print formatted information string and flush the buffer */static void iprintf(const char *format, ...){  va_list ap;  va_start(ap, format);  vprintf(format, ap);  fflush(stdout);  va_end(ap);}/* print a character and flush the buffer */static void iputchar(int c){  putchar(c);  fflush(stdout);}/* print error message of hash database */static void eprint(TCBDB *bdb, const char *func){  const char *path = tcbdbpath(bdb);  int ecode = tcbdbecode(bdb);  fprintf(stderr, "%s: %s: %s: error: %d: %s\n",          g_progname, path ? path : "-", func, ecode, tcbdberrmsg(ecode));}/* print members of B+ tree database */static void mprint(TCBDB *bdb){  if(bdb->hdb->cnt_writerec < 0) return;  iprintf("max leaf member: %d\n", tcbdblmemb(bdb));  iprintf("max node member: %d\n", tcbdbnmemb(bdb));  iprintf("leaf number: %d\n", tcbdblnum(bdb));  iprintf("node number: %d\n", tcbdbnnum(bdb));  iprintf("bucket number: %lld\n", (long long)tcbdbbnum(bdb));  iprintf("used bucket number: %lld\n", (long long)tcbdbbnumused(bdb));  iprintf("cnt_saveleaf: %lld\n", (long long)bdb->cnt_saveleaf);  iprintf("cnt_loadleaf: %lld\n", (long long)bdb->cnt_loadleaf);  iprintf("cnt_killleaf: %lld\n", (long long)bdb->cnt_killleaf);  iprintf("cnt_adjleafc: %lld\n", (long long)bdb->cnt_adjleafc);  iprintf("cnt_savenode: %lld\n", (long long)bdb->cnt_savenode);  iprintf("cnt_loadnode: %lld\n", (long long)bdb->cnt_loadnode);  iprintf("cnt_adjnodec: %lld\n", (long long)bdb->cnt_adjnodec);  iprintf("cnt_writerec: %lld\n", (long long)bdb->hdb->cnt_writerec);  iprintf("cnt_reuserec: %lld\n", (long long)bdb->hdb->cnt_reuserec);  iprintf("cnt_moverec: %lld\n", (long long)bdb->hdb->cnt_moverec);  iprintf("cnt_readrec: %lld\n", (long long)bdb->hdb->cnt_readrec);  iprintf("cnt_searchfbp: %lld\n", (long long)bdb->hdb->cnt_searchfbp);  iprintf("cnt_insertfbp: %lld\n", (long long)bdb->hdb->cnt_insertfbp);  iprintf("cnt_splicefbp: %lld\n", (long long)bdb->hdb->cnt_splicefbp);  iprintf("cnt_dividefbp: %lld\n", (long long)bdb->hdb->cnt_dividefbp);  iprintf("cnt_mergefbp: %lld\n", (long long)bdb->hdb->cnt_mergefbp);  iprintf("cnt_reducefbp: %lld\n", (long long)bdb->hdb->cnt_reducefbp);  iprintf("cnt_appenddrp: %lld\n", (long long)bdb->hdb->cnt_appenddrp);  iprintf("cnt_deferdrp: %lld\n", (long long)bdb->hdb->cnt_deferdrp);  iprintf("cnt_flushdrp: %lld\n", (long long)bdb->hdb->cnt_flushdrp);  iprintf("cnt_adjrecc: %lld\n", (long long)bdb->hdb->cnt_adjrecc);}/* print system information */static void sysprint(void){  TCMAP *info = tcsysinfo();  if(info){    tcmapiterinit(info);    const char *kbuf;    while((kbuf = tcmapiternext2(info)) != NULL){      iprintf("sys_%s: %s\n", kbuf, tcmapiterval2(kbuf));    }    tcmapdel(info);  }}/* get a random number */static int myrand(int range){  if(range < 2) return 0;  int high = (unsigned int)rand() >> 4;  int low = range * (rand() / (RAND_MAX + 1.0));  low &= (unsigned int)INT_MAX >> 4;  return (high + low) % range;}/* duplication callback function */static void *pdprocfunc(const void *vbuf, int vsiz, int *sp, void *op){  if(op){    char *buf = NULL;    int len = 0;    switch((int)(intptr_t)op){    case 1:      len = vsiz + 1;      buf = tcmalloc(len + 1);      memset(buf, '*', len);      break;    case 2:      buf = (void *)-1;      break;    }    *sp = len;    return buf;  }  if(myrand(4) == 0) return (void *)-1;  if(myrand(2) == 0) return NULL;  int len = myrand(RECBUFSIZ);  char buf[RECBUFSIZ];  memset(buf, '*', len);  *sp = len;  return tcmemdup(buf, len);}/* iterator function */static bool iterfunc(const void *kbuf, int ksiz, const void *vbuf, int vsiz, void *op){  unsigned int sum = 0;  while(--ksiz >= 0){    sum += ((char *)kbuf)[ksiz];  }  while(--vsiz >= 0){    sum += ((char *)vbuf)[vsiz];  }  return myrand(100 + (sum & 0xff)) > 0;}/* parse arguments of write command */static int runwrite(int argc, char **argv){  char *path = NULL;  char *rstr = NULL;  char *lmstr = NULL;  char *nmstr = NULL;  char *bstr = NULL;  char *astr = NULL;  char *fstr = NULL;  bool mt = false;  TCCMP cmp = NULL;  int opts = 0;  int lcnum = 0;  int ncnum = 0;  int xmsiz = 0;  int lsmax = 0;  int capnum = 0;  int omode = 0;  bool rnd = false;  for(int i = 2; i < argc; i++){    if(!path && argv[i][0] == '-'){      if(!strcmp(argv[i], "-mt")){        mt = true;      } else if(!strcmp(argv[i], "-cd")){        cmp = tccmpdecimal;      } else if(!strcmp(argv[i], "-ci")){        cmp = tccmpint32;      } else if(!strcmp(argv[i], "-cj")){        cmp = tccmpint64;      } else if(!strcmp(argv[i], "-tl")){        opts |= BDBTLARGE;      } else if(!strcmp(argv[i], "-td")){        opts |= BDBTDEFLATE;      } else if(!strcmp(argv[i], "-tb")){        opts |= BDBTBZIP;      } else if(!strcmp(argv[i], "-tt")){        opts |= BDBTTCBS;      } else if(!strcmp(argv[i], "-tx")){        opts |= BDBTEXCODEC;      } else if(!strcmp(argv[i], "-lc")){        if(++i >= argc) usage();        lcnum = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-nc")){        if(++i >= argc) usage();        ncnum = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-xm")){        if(++i >= argc) usage();        xmsiz = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-ls")){        if(++i >= argc) usage();        lsmax = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-ca")){        if(++i >= argc) usage();        capnum = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-nl")){        omode |= BDBONOLCK;      } else if(!strcmp(argv[i], "-nb")){        omode |= BDBOLCKNB;      } else if(!strcmp(argv[i], "-rnd")){        rnd = true;      } else {        usage();      }    } else if(!path){      path = argv[i];    } else if(!rstr){      rstr = argv[i];    } else if(!lmstr){      lmstr = argv[i];    } else if(!nmstr){      nmstr = argv[i];    } else if(!bstr){      bstr = argv[i];    } else if(!astr){      astr = argv[i];    } else if(!fstr){      fstr = argv[i];    } else {      usage();    }  }  if(!path || !rstr) usage();  int rnum = tcatoix(rstr);  if(rnum < 1) usage();  int lmemb = lmstr ? tcatoix(lmstr) : -1;  int nmemb = nmstr ? tcatoix(nmstr) : -1;  int bnum = bstr ? tcatoix(bstr) : -1;  int apow = astr ? tcatoix(astr) : -1;  int fpow = fstr ? tcatoix(fstr) : -1;  int rv = procwrite(path, rnum, lmemb, nmemb, bnum, apow, fpow,                     mt, cmp, opts, lcnum, ncnum, xmsiz, lsmax, capnum, omode, rnd);  return rv;}/* parse arguments of read command */static int runread(int argc, char **argv){  char *path = NULL;  bool mt = false;  TCCMP cmp = NULL;  int lcnum = 0;  int ncnum = 0;  int xmsiz = 0;  int omode = 0;  bool wb = false;  bool rnd = false;  for(int i = 2; i < argc; i++){    if(!path && argv[i][0] == '-'){      if(!strcmp(argv[i], "-mt")){        mt = true;      } else if(!strcmp(argv[i], "-cd")){        cmp = tccmpdecimal;      } else if(!strcmp(argv[i], "-ci")){        cmp = tccmpint32;      } else if(!strcmp(argv[i], "-cj")){        cmp = tccmpint64;      } else if(!strcmp(argv[i], "-lc")){        if(++i >= argc) usage();        lcnum = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-nc")){        if(++i >= argc) usage();        ncnum = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-xm")){        if(++i >= argc) usage();        xmsiz = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-nl")){        omode |= BDBONOLCK;      } else if(!strcmp(argv[i], "-nb")){        omode |= BDBOLCKNB;      } else if(!strcmp(argv[i], "-wb")){        wb = true;      } else if(!strcmp(argv[i], "-rnd")){        rnd = true;      } else {        usage();      }    } else if(!path){      path = argv[i];    } else {      usage();    }  }  if(!path) usage();  int rv = procread(path, mt, cmp, lcnum, ncnum, xmsiz, omode, wb, rnd);  return rv;}/* parse arguments of remove command */static int runremove(int argc, char **argv){  char *path = NULL;  bool mt = false;  TCCMP cmp = NULL;  int lcnum = 0;  int ncnum = 0;  int xmsiz = 0;  int omode = 0;  bool rnd = false;  for(int i = 2; i < argc; i++){    if(!path && argv[i][0] == '-'){      if(!strcmp(argv[i], "-mt")){        mt = true;      } else if(!strcmp(argv[i], "-cd")){        cmp = tccmpdecimal;      } else if(!strcmp(argv[i], "-ci")){        cmp = tccmpint32;      } else if(!strcmp(argv[i], "-cj")){        cmp = tccmpint64;      } else if(!strcmp(argv[i], "-lc")){        if(++i >= argc) usage();        lcnum = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-nc")){        if(++i >= argc) usage();        ncnum = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-xm")){        if(++i >= argc) usage();        xmsiz = tcatoix(argv[i]);      } else if(!strcmp(argv[i], "-nl")){        omode |= BDBONOLCK;      } else if(!strcmp(argv[i], "-nb")){        omode |= BDBOLCKNB;      } else if(!strcmp(argv[i], "-rnd")){        rnd = true;      } else {        usage();      }    } else if(!path){      path = argv[i];    } else {      usage();    }  }  if(!path) usage();  int rv = procremove(path, mt, cmp, lcnum, ncnum, xmsiz, omode, rnd);  return rv;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区精品葵司在线| 在线观看区一区二| 青娱乐精品在线视频| 亚洲精品国产成人久久av盗摄| 国产精品女主播av| 中文字幕日韩精品一区| 中文字幕在线一区二区三区| 中文字幕一区二区三区色视频| 国产精品免费网站在线观看| 日韩精品每日更新| 日韩欧美久久一区| 日韩欧美国产高清| 久久久久久久久99精品| 国产精品女同互慰在线看| 亚洲免费色视频| 亚洲成在线观看| 老司机免费视频一区二区| 国产一区二区在线视频| 成人网在线免费视频| 日本福利一区二区| 7777精品伊人久久久大香线蕉经典版下载| 911精品国产一区二区在线| 精品国产伦理网| 国产精品午夜电影| 亚洲高清在线视频| 国产在线一区二区综合免费视频| 成人午夜在线视频| 欧美精品xxxxbbbb| 国产片一区二区| 日韩主播视频在线| 成人高清免费观看| 欧美一区午夜视频在线观看| 久久欧美一区二区| 亚洲午夜视频在线观看| 国产精品 日产精品 欧美精品| 在线观看免费亚洲| 国产亚洲一二三区| 日韩在线一二三区| 一本久道中文字幕精品亚洲嫩| 精品国产髙清在线看国产毛片| 中文字幕一区二区三区不卡在线| 看电影不卡的网站| 91久久国产综合久久| 国产欧美精品一区二区色综合朱莉 | 亚洲午夜激情av| 国产精品99久| 欧美一级欧美三级在线观看| 国产精品久久久久久久久久免费看 | 99久久精品久久久久久清纯| 欧美一区二区性放荡片| 亚洲乱码中文字幕| 国产精品91xxx| 欧美人与禽zozo性伦| 日韩一区欧美一区| 成人免费视频一区| 精品国产91洋老外米糕| 亚洲一区二区三区中文字幕在线| 国产99久久精品| 欧美va日韩va| 奇米综合一区二区三区精品视频| 欧美亚洲国产一区二区三区va | 亚洲成a人片在线不卡一二三区| 成人黄色在线视频| 国产三级一区二区| 国内外精品视频| 欧美成人女星排名| 蜜桃久久精品一区二区| 欧美一区二区三区视频在线观看| 亚洲最快最全在线视频| 93久久精品日日躁夜夜躁欧美| 国产亚洲综合av| 国产精品1区二区.| 欧美激情艳妇裸体舞| 国产精品自拍毛片| 日本一区二区不卡视频| 国产99久久久国产精品潘金| 欧美国产欧美亚州国产日韩mv天天看完整| 国产一区二区三区久久悠悠色av| 欧美刺激午夜性久久久久久久| 日本在线不卡一区| 久久综合丝袜日本网| 成人黄色小视频在线观看| 国产农村妇女毛片精品久久麻豆 | 国产欧美视频一区二区| 国产.欧美.日韩| 国产精品久久久久久久蜜臀| 成人久久18免费网站麻豆 | 盗摄精品av一区二区三区| 中文字幕二三区不卡| 成人精品视频.| 一区二区三区免费在线观看| 欧美精品亚洲二区| 国内成人免费视频| 国产精品人妖ts系列视频| 色综合久久88色综合天天免费| 亚洲午夜在线视频| 精品卡一卡二卡三卡四在线| 成人av在线播放网址| 亚洲综合小说图片| 精品福利在线导航| aaa欧美日韩| 免费亚洲电影在线| 国产精品福利电影一区二区三区四区| 在线亚洲人成电影网站色www| 午夜精品久久久久久久99水蜜桃| 精品国产免费一区二区三区香蕉| 99久久伊人久久99| 视频一区二区三区在线| 久久精品水蜜桃av综合天堂| 欧美亚洲高清一区| 国产999精品久久久久久绿帽| 一区二区三区四区高清精品免费观看| 日韩网站在线看片你懂的| 成人黄色网址在线观看| 日本伊人色综合网| **网站欧美大片在线观看| 在线成人av网站| 99精品视频免费在线观看| 麻豆视频观看网址久久| 亚洲免费观看高清完整| 2023国产精品自拍| 欧美疯狂性受xxxxx喷水图片| 东方欧美亚洲色图在线| 日本欧美大码aⅴ在线播放| 最近日韩中文字幕| 精品国产免费一区二区三区四区| 欧美探花视频资源| 99久久精品国产导航| 国产一区二区三区香蕉| 天堂精品中文字幕在线| 亚洲精品福利视频网站| 中文字幕va一区二区三区| 精品国产伦一区二区三区免费| 777久久久精品| 欧美性生活久久| 色94色欧美sute亚洲线路一ni| 国产精品夜夜嗨| 开心九九激情九九欧美日韩精美视频电影| 亚洲一级二级三级在线免费观看| 久久精品欧美一区二区三区不卡| 欧美一区二区三区视频免费播放| 91蜜桃视频在线| 97精品久久久午夜一区二区三区| 国产成人免费视频精品含羞草妖精| 免费观看一级特黄欧美大片| 天天综合日日夜夜精品| 亚洲午夜一区二区三区| 亚洲国产日韩一区二区| 依依成人综合视频| 亚洲在线免费播放| 亚洲第一综合色| 日本亚洲天堂网| 久久精品国产**网站演员| 久久99在线观看| 国产一区二区福利| 成人ar影院免费观看视频| 97久久久精品综合88久久| 91蝌蚪porny成人天涯| 色悠悠久久综合| 欧美性猛交一区二区三区精品| 日本精品视频一区二区| 色欧美日韩亚洲| 3atv在线一区二区三区| 精品国精品自拍自在线| 国产亚洲精品aa午夜观看| 国产精品国产自产拍在线| 一区二区三区四区五区视频在线观看| 亚洲一线二线三线视频| 蜜桃av一区二区| 成人av在线资源网站| 一本久久综合亚洲鲁鲁五月天| 欧美日韩国产乱码电影| 欧美成人一区二区三区片免费 | 国产精品白丝jk白祙喷水网站| 国产高清在线观看免费不卡| av亚洲产国偷v产偷v自拍| 欧美丝袜自拍制服另类| 337p日本欧洲亚洲大胆色噜噜| 久久精品人人做人人爽人人| 亚洲精品中文在线观看| 日韩av成人高清| 成人福利视频在线| 欧美一级在线视频| 国产精品成人免费| 日韩av不卡在线观看| 成人av午夜影院| 欧美日韩成人激情| 中文字幕第一页久久| 五月综合激情婷婷六月色窝| 国产成人亚洲综合a∨猫咪| 欧美视频一区二区| 国产欧美日韩综合| 蜜臀久久99精品久久久久久9| 欧美三级日韩在线| 久久网站最新地址| 亚洲国产综合视频在线观看| 国产成人亚洲综合色影视| 7777精品伊人久久久大香线蕉 | 久久一二三国产| 亚洲成av人综合在线观看|