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

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

?? dbserv.c

?? TUXEDO連接數據庫的例子
?? C
字號:

/* Result Sets Interface */
#ifndef SQL_CRSR
#  define SQL_CRSR
  struct sql_cursor
  {
    unsigned int curocn;
    void *ptr1;
    void *ptr2;
    unsigned int magic;
  };
  typedef struct sql_cursor sql_cursor;
  typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */

/* Thread Safety */
typedef void * sql_context;
typedef void * SQL_CONTEXT;

/* Object support */
struct sqltvn
{
  unsigned char *tvnvsn; 
  unsigned short tvnvsnl; 
  unsigned char *tvnnm;
  unsigned short tvnnml; 
  unsigned char *tvnsnm;
  unsigned short tvnsnml;
};
typedef struct sqltvn sqltvn;

struct sqladts
{
  unsigned int adtvsn; 
  unsigned short adtmode; 
  unsigned short adtnum;  
  sqltvn adttvn[1];       
};
typedef struct sqladts sqladts;

static struct sqladts sqladt = {
  1,1,0,
};

/* Binding to PL/SQL Records */
struct sqltdss
{
  unsigned int tdsvsn; 
  unsigned short tdsnum; 
  unsigned char *tdsval[1]; 
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
  1,
  0,
};

/* File name & Package Name */
struct sqlcxp
{
  unsigned short fillen;
           char  filnam[10];
};
static const struct sqlcxp sqlfpn =
{
    9,
    "dbserv.pc"
};


static unsigned int sqlctx = 35787;


static struct sqlexd {
   unsigned int   sqlvsn;
   unsigned int   arrsiz;
   unsigned int   iters;
   unsigned int   offset;
   unsigned short selerr;
   unsigned short sqlety;
   unsigned int   occurs;
      const short *cud;
   unsigned char  *sqlest;
      const char  *stmt;
   sqladts *sqladtp;
   sqltdss *sqltdsp;
            void  **sqphsv;
   unsigned int   *sqphsl;
            int   *sqphss;
            void  **sqpind;
            int   *sqpins;
   unsigned int   *sqparm;
   unsigned int   **sqparc;
   unsigned short  *sqpadto;
   unsigned short  *sqptdso;
   unsigned int   sqlcmax;
   unsigned int   sqlcmin;
   unsigned int   sqlcincr;
   unsigned int   sqlctimeout;
   unsigned int   sqlcnowait;
              int   sqfoff;
   unsigned int   sqcmod;
   unsigned int   sqfmod;
            void  *sqhstv[5];
   unsigned int   sqhstl[5];
            int   sqhsts[5];
            void  *sqindv[5];
            int   sqinds[5];
   unsigned int   sqharm[5];
   unsigned int   *sqharc[5];
   unsigned short  sqadto[5];
   unsigned short  sqtdso[5];
} sqlstm = {12,5};

/* SQLLIB Prototypes */
extern void sqlcxt (void **, unsigned int *,
                    struct sqlexd *, const struct sqlcxp *);
extern void sqlcx2t(void **, unsigned int *,
                    struct sqlexd *, const struct sqlcxp *);
extern void sqlbuft(void **, char *);
extern void sqlgs2t(void **, char *);
extern void sqlorat(void **, unsigned int *, void *);

/* Forms Interface */
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL  = 535;
extern void sqliem(char *, int *);

typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;

/* cud (compilation unit data) array */
static const short sqlcud0[] =
{12,4130,852,0,0,
5,0,0,1,0,0,1051,32,0,0,4,4,0,0,128,1,9,0,0,1,9,0,0,1,9,0,0,1,10,0,0,1,97,0,0,
40,0,0,2,0,0,30,42,0,0,0,0,0,1,0,
55,0,0,3,46,0,3,66,0,0,2,2,0,1,0,1,3,0,0,1,5,0,0,
78,0,0,4,0,0,29,68,0,0,0,0,0,1,0,
};


#include <stdio.h>
#include <stdlib.h>
#include <atmi.h>
#include <userlog.h>

/* EXEC SQL INCLUDE sqlca;
 */ 
/*
 * $Header: sqlca.h,v 1.3 1994/12/12 19:27:27 jbasu Exp $ sqlca.h 
 */

/* Copyright (c) 1985,1986, 1998 by Oracle Corporation. */
 
/*
NAME
  SQLCA : SQL Communications Area.
FUNCTION
  Contains no code. Oracle fills in the SQLCA with status info
  during the execution of a SQL stmt.
NOTES
  **************************************************************
  ***                                                        ***
  *** This file is SOSD.  Porters must change the data types ***
  *** appropriately on their platform.  See notes/pcport.doc ***
  *** for more information.                                  ***
  ***                                                        ***
  **************************************************************

  If the symbol SQLCA_STORAGE_CLASS is defined, then the SQLCA
  will be defined to have this storage class. For example:
 
    #define SQLCA_STORAGE_CLASS extern
 
  will define the SQLCA as an extern.
 
  If the symbol SQLCA_INIT is defined, then the SQLCA will be
  statically initialized. Although this is not necessary in order
  to use the SQLCA, it is a good pgming practice not to have
  unitialized variables. However, some C compilers/OS's don't
  allow automatic variables to be init'd in this manner. Therefore,
  if you are INCLUDE'ing the SQLCA in a place where it would be
  an automatic AND your C compiler/OS doesn't allow this style
  of initialization, then SQLCA_INIT should be left undefined --
  all others can define SQLCA_INIT if they wish.

  If the symbol SQLCA_NONE is defined, then the SQLCA variable will
  not be defined at all.  The symbol SQLCA_NONE should not be defined
  in source modules that have embedded SQL.  However, source modules
  that have no embedded SQL, but need to manipulate a sqlca struct
  passed in as a parameter, can set the SQLCA_NONE symbol to avoid
  creation of an extraneous sqlca variable.
 
MODIFIED
    lvbcheng   07/31/98 -  long to int
    jbasu      12/12/94 -  Bug 217878: note this is an SOSD file
    losborne   08/11/92 -  No sqlca var if SQLCA_NONE macro set 
  Clare      12/06/84 - Ch SQLCA to not be an extern.
  Clare      10/21/85 - Add initialization.
  Bradbury   01/05/86 - Only initialize when SQLCA_INIT set
  Clare      06/12/86 - Add SQLCA_STORAGE_CLASS option.
*/
 
#ifndef SQLCA
#define SQLCA 1
 
struct   sqlca
         {
         /* ub1 */ char    sqlcaid[8];
         /* b4  */ int     sqlabc;
         /* b4  */ int     sqlcode;
         struct
           {
           /* ub2 */ unsigned short sqlerrml;
           /* ub1 */ char           sqlerrmc[70];
           } sqlerrm;
         /* ub1 */ char    sqlerrp[8];
         /* b4  */ int     sqlerrd[6];
         /* ub1 */ char    sqlwarn[8];
         /* ub1 */ char    sqlext[8];
         };

#ifndef SQLCA_NONE 
#ifdef   SQLCA_STORAGE_CLASS
SQLCA_STORAGE_CLASS struct sqlca sqlca
#else
         struct sqlca sqlca
#endif
 
#ifdef  SQLCA_INIT
         = {
         {'S', 'Q', 'L', 'C', 'A', ' ', ' ', ' '},
         sizeof(struct sqlca),
         0,
         { 0, {0}},
         {'N', 'O', 'T', ' ', 'S', 'E', 'T', ' '},
         {0, 0, 0, 0, 0, 0},
         {0, 0, 0, 0, 0, 0, 0, 0},
         {0, 0, 0, 0, 0, 0, 0, 0}
         }
#endif
         ;
#endif
 
#endif
 
/* end SQLCA */


/* EXEC SQL BEGIN DECLARE SECTION; */ 

	long al_empno=0;
	char ac_ename[11]="";	
	/* EXEC SQL VAR  ac_ename 		IS STRING(11); */ 
	
/* EXEC SQL END DECLARE SECTION; */ 


int tpsvrinit(int argc,char** argv)
{
    /* EXEC SQL BEGIN DECLARE SECTION; */ 

        /* VARCHAR username[20]; */ 
struct { unsigned short len; unsigned char arr[20]; } username;

        /* VARCHAR password[20]; */ 
struct { unsigned short len; unsigned char arr[20]; } password;

	char db_link_name[20];
	/* VARCHAR db_name[20]; */ 
struct { unsigned short len; unsigned char arr[20]; } db_name;

    /* EXEC SQL END DECLARE SECTION; */ 

  
    strcpy(username.arr,"cncnms");
    username.len = strlne(username.arr);
    strcpy(password.arr,"cncnms");
    password.len = strlen(password.arr);
    strcpy(db_name.arr, "cncnms");
    db_name.len=strlen(db_name.arr);
    strcpy (db_link_name,"cncnms.irwin");

    /* EXEC SQL WHENEVER SQLERROR GOTO sqlerror; */ 

    /* EXEC SQL CONNECT :username IDENTIFIED BY :password AT :db_link_name USING :db_name; */ 

{
    struct sqlexd sqlstm;
    sqlstm.sqlvsn = 12;
    sqlstm.arrsiz = 5;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.iters = (unsigned int  )10;
    sqlstm.offset = (unsigned int  )5;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)256;
    sqlstm.occurs = (unsigned int  )0;
    sqlstm.sqhstv[0] = (         void  *)&username;
    sqlstm.sqhstl[0] = (unsigned int  )22;
    sqlstm.sqhsts[0] = (         int  )22;
    sqlstm.sqindv[0] = (         void  *)0;
    sqlstm.sqinds[0] = (         int  )0;
    sqlstm.sqharm[0] = (unsigned int  )0;
    sqlstm.sqadto[0] = (unsigned short )0;
    sqlstm.sqtdso[0] = (unsigned short )0;
    sqlstm.sqhstv[1] = (         void  *)&password;
    sqlstm.sqhstl[1] = (unsigned int  )22;
    sqlstm.sqhsts[1] = (         int  )22;
    sqlstm.sqindv[1] = (         void  *)0;
    sqlstm.sqinds[1] = (         int  )0;
    sqlstm.sqharm[1] = (unsigned int  )0;
    sqlstm.sqadto[1] = (unsigned short )0;
    sqlstm.sqtdso[1] = (unsigned short )0;
    sqlstm.sqhstv[2] = (         void  *)&db_name;
    sqlstm.sqhstl[2] = (unsigned int  )22;
    sqlstm.sqhsts[2] = (         int  )22;
    sqlstm.sqindv[2] = (         void  *)0;
    sqlstm.sqinds[2] = (         int  )0;
    sqlstm.sqharm[2] = (unsigned int  )0;
    sqlstm.sqadto[2] = (unsigned short )0;
    sqlstm.sqtdso[2] = (unsigned short )0;
    sqlstm.sqhstv[4] = (         void  *)db_link_name;
    sqlstm.sqhstl[4] = (unsigned int  )20;
    sqlstm.sqhsts[4] = (         int  )20;
    sqlstm.sqindv[4] = (         void  *)0;
    sqlstm.sqinds[4] = (         int  )0;
    sqlstm.sqharm[4] = (unsigned int  )0;
    sqlstm.sqadto[4] = (unsigned short )0;
    sqlstm.sqtdso[4] = (unsigned short )0;
    sqlstm.sqphsv = sqlstm.sqhstv;
    sqlstm.sqphsl = sqlstm.sqhstl;
    sqlstm.sqphss = sqlstm.sqhsts;
    sqlstm.sqpind = sqlstm.sqindv;
    sqlstm.sqpins = sqlstm.sqinds;
    sqlstm.sqparm = sqlstm.sqharm;
    sqlstm.sqparc = sqlstm.sqharc;
    sqlstm.sqpadto = sqlstm.sqadto;
    sqlstm.sqptdso = sqlstm.sqtdso;
    sqlstm.sqlcmax = (unsigned int )100;
    sqlstm.sqlcmin = (unsigned int )2;
    sqlstm.sqlcincr = (unsigned int )1;
    sqlstm.sqlctimeout = (unsigned int )0;
    sqlstm.sqlcnowait = (unsigned int )0;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
    if (sqlca.sqlcode < 0) goto sqlerror;
}



sqlerror:
    /* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
 
    userlog("tpsvrinit connect db sqlcode=[%d] err=[%s]",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
    return(0);
}

void tpsvrdone()
{
    /* EXEC SQL COMMIT WORK RELEASE; */ 

{
    struct sqlexd sqlstm;
    sqlstm.sqlvsn = 12;
    sqlstm.arrsiz = 5;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )40;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)256;
    sqlstm.occurs = (unsigned int  )0;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


    if(sqlca.sqlcode)
       userlog( " Close database failed sqlcode=[%d]",sqlca.sqlcode);
    else
       userlog( "tpsvrdone(): Shutdown server successful!" );
}

DBCONNECT(TPSVCINFO *rqst)
{
	char temp[100]="";
	char *pos;

	/*接收客戶端來的數據*/
	strcpy(temp,rqst->data);
	pos=strchr(temp,'&');
	strcpy(ac_ename,pos+1);
	*pos=0;
	al_empno = atol(temp);
	
	userlog("al_empno:%d",al_empno);
	userlog("ac_ename:%s",ac_ename);
	
	strcpy(temp,"111,'abcd'");
	
	/* EXEC SQL INSERT INTO XU_TEST(ID,NAME) VALUES(:al_empno,:ac_ename); */ 

{
 struct sqlexd sqlstm;
 sqlstm.sqlvsn = 12;
 sqlstm.arrsiz = 5;
 sqlstm.sqladtp = &sqladt;
 sqlstm.sqltdsp = &sqltds;
 sqlstm.stmt = "insert into XU_TEST (ID,NAME) values (:b0,:b1)";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )55;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)256;
 sqlstm.occurs = (unsigned int  )0;
 sqlstm.sqhstv[0] = (         void  *)&al_empno;
 sqlstm.sqhstl[0] = (unsigned int  )sizeof(long);
 sqlstm.sqhsts[0] = (         int  )0;
 sqlstm.sqindv[0] = (         void  *)0;
 sqlstm.sqinds[0] = (         int  )0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqadto[0] = (unsigned short )0;
 sqlstm.sqtdso[0] = (unsigned short )0;
 sqlstm.sqhstv[1] = (         void  *)ac_ename;
 sqlstm.sqhstl[1] = (unsigned int  )11;
 sqlstm.sqhsts[1] = (         int  )0;
 sqlstm.sqindv[1] = (         void  *)0;
 sqlstm.sqinds[1] = (         int  )0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqadto[1] = (unsigned short )0;
 sqlstm.sqtdso[1] = (unsigned short )0;
 sqlstm.sqphsv = sqlstm.sqhstv;
 sqlstm.sqphsl = sqlstm.sqhstl;
 sqlstm.sqphss = sqlstm.sqhsts;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqpins = sqlstm.sqinds;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlstm.sqpadto = sqlstm.sqadto;
 sqlstm.sqptdso = sqlstm.sqtdso;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


	/*EXEC SQL INSERT INTO XU_TEST(ID,NAME) VALUES(temp);*/
	/* EXEC SQL COMMIT; */ 

{
 struct sqlexd sqlstm;
 sqlstm.sqlvsn = 12;
 sqlstm.arrsiz = 5;
 sqlstm.sqladtp = &sqladt;
 sqlstm.sqltdsp = &sqltds;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )78;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)256;
 sqlstm.occurs = (unsigned int  )0;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


	if(sqlca.sqlcode!=0)
	{ 
		userlog("select from XU_TEST failu re,sqlcode=%ld, sqlerr=%s\n",
		                              sqlca.sqlcode,(char *)sqlca.sqlerrm.sqlerrmc);
		strcpy(rqst->data,sqlca.sqlerrm.sqlerrmc);
		tpreturn( TPFAIL, 0, rqst->data, 0, 0 );
	}
	/*把取出的結果返回給客戶端*/
	tpreturn( TPSUCCESS, 0, rqst->data, 0, 0 );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人晚上爱看视频| 欧美性生活影院| 一区二区三区在线视频观看| 欧美日韩一区二区在线观看视频| 日本不卡123| 亚洲欧洲在线观看av| 欧美日韩高清一区二区| 国产成人精品免费网站| 香蕉成人伊视频在线观看| 中文av一区二区| 欧美aaaaaa午夜精品| 国产精品欧美一区喷水| 欧美日韩二区三区| www.亚洲在线| 国产日韩精品久久久| 成人福利视频在线看| 日韩欧美一区二区三区在线| 另类欧美日韩国产在线| 高清不卡在线观看| 亚洲天堂免费看| 国产91精品露脸国语对白| 欧美日韩精品久久久| 免费观看30秒视频久久| 日韩一区二区中文字幕| 欧美肥妇bbw| 国产suv一区二区三区88区| 成人h精品动漫一区二区三区| 亚洲午夜影视影院在线观看| 一区在线观看视频| 欧美影院午夜播放| 日本一区二区三区免费乱视频| 色综合中文字幕国产| 蜜臀av亚洲一区中文字幕| 亚洲资源中文字幕| 亚洲免费av在线| 亚洲欧美日韩中文播放 | 精品88久久久久88久久久| 欧美影院午夜播放| 欧美亚洲自拍偷拍| 91国产免费看| 在线视频你懂得一区二区三区| 成人精品国产一区二区4080| 国产激情精品久久久第一区二区| 日日摸夜夜添夜夜添亚洲女人| 亚洲午夜电影网| 国产肉丝袜一区二区| 欧美精品一区二区三区在线播放 | 亚洲精品国产无套在线观| 久久久久久久久久久久电影 | 成人高清免费在线播放| 国产一区二区三区精品欧美日韩一区二区三区 | 色88888久久久久久影院按摩 | 日韩和欧美一区二区三区| 亚洲成人激情av| 亚洲综合激情小说| 亚洲国产精品视频| 日韩激情视频在线观看| 蜜桃视频第一区免费观看| 精品影视av免费| 精品乱人伦一区二区三区| 69堂精品视频| 精品成人a区在线观看| 久久久影视传媒| 国产精品护士白丝一区av| 中文字幕中文字幕在线一区 | 国产精品视频一区二区三区不卡| 国产亚洲一区二区三区四区| 中文字幕不卡在线| 亚洲日本青草视频在线怡红院| 亚洲激情av在线| 日产精品久久久久久久性色| 久国产精品韩国三级视频| 国产成人夜色高潮福利影视| 99热精品国产| 精品视频999| 日韩视频一区在线观看| 欧美极品aⅴ影院| 亚洲乱码国产乱码精品精小说 | 国产伦理精品不卡| 成人动漫一区二区在线| 欧美曰成人黄网| 日韩区在线观看| 国产精品盗摄一区二区三区| 亚洲午夜在线观看视频在线| 精品视频一区二区不卡| 国产成人aaa| 欧洲av在线精品| 91精品国产91久久综合桃花| 2020日本不卡一区二区视频| 成人欧美一区二区三区白人| 天天操天天色综合| 国产精品综合网| 欧美色大人视频| 国产免费久久精品| 天天综合色天天综合| 成人h动漫精品| 欧美变态tickling挠脚心| 亚洲日本一区二区三区| 毛片av一区二区| 在线一区二区三区四区| 久久久综合激的五月天| 日韩精品一二三| 91麻豆视频网站| 欧美一二区视频| 99久久精品国产导航| 色婷婷狠狠综合| 5月丁香婷婷综合| 日韩精品一区二| 亚洲精品免费电影| 丁香婷婷综合激情五月色| 欧美高清视频在线高清观看mv色露露十八 | 伊人婷婷欧美激情| 东方欧美亚洲色图在线| 欧美一级片在线| 亚洲激情五月婷婷| 不卡视频在线观看| 日韩一级成人av| 亚洲国产一区视频| 91丝袜高跟美女视频| 久久久五月婷婷| 青青草国产精品97视觉盛宴| 亚洲一线二线三线久久久| 成人一级视频在线观看| 精品久久久久香蕉网| 亚洲超碰精品一区二区| 欧美午夜片在线观看| 中文字幕字幕中文在线中不卡视频| 国产美女娇喘av呻吟久久| 日韩欧美激情在线| 日本一区中文字幕| 这里只有精品免费| 亚洲二区视频在线| 精品一区二区免费在线观看| 91麻豆精品国产| 亚洲6080在线| 欧美优质美女网站| 亚洲电影中文字幕在线观看| 欧美亚洲国产怡红院影院| 日韩伦理免费电影| 91麻豆蜜桃一区二区三区| 中文字幕中文乱码欧美一区二区| 成人免费视频视频| 中文字幕一区三区| 色综合天天综合狠狠| 亚洲另类在线制服丝袜| 色噜噜久久综合| 亚洲一区二区三区三| 欧美日韩欧美一区二区| 天天综合日日夜夜精品| 精品欧美乱码久久久久久| 韩国视频一区二区| 中文字幕欧美日韩一区| 99精品视频在线播放观看| 亚洲精品亚洲人成人网| 欧洲精品在线观看| 午夜不卡av免费| 日韩精品一区二区三区四区| 精一区二区三区| 久久你懂得1024| 波多野结衣亚洲| 亚洲美女淫视频| 欧美日韩国产成人在线91| 欧美另类z0zxhd电影| 日韩精品在线看片z| 免费亚洲电影在线| 精品美女一区二区| 国产一区二区三区视频在线播放| 久久久久国产一区二区三区四区| 国产福利一区二区三区视频 | 色综合天天天天做夜夜夜夜做| 亚洲精品成人a在线观看| 欧美撒尿777hd撒尿| 青青草原综合久久大伊人精品优势| 日韩欧美一区二区不卡| 国产精品情趣视频| 日本中文在线一区| av在线这里只有精品| 7799精品视频| 亚洲精品亚洲人成人网| 久久电影网电视剧免费观看| 一本色道a无线码一区v| 精品美女被调教视频大全网站| 久久综合九色综合欧美就去吻| 久久蜜桃一区二区| 久久黄色级2电影| 欧美成人综合网站| 99久久精品一区二区| 午夜久久久久久电影| 国产69精品久久99不卡| 亚洲视频一二区| 91精品国产综合久久久久久| 免费高清在线一区| 欧美一区二区三区视频免费| 亚洲一区二区三区小说| 国产.欧美.日韩| 久久先锋资源网| 久久9热精品视频| 久久蜜桃香蕉精品一区二区三区| 亚洲综合精品自拍| 色综合天天综合色综合av |