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

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

?? db_server_proc.c

?? MySQL數據庫開發源碼 值得一看哦
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2000-2002 *      Sleepycat Software.  All rights reserved. */#include "db_config.h"#ifdef HAVE_RPC#ifndef lintstatic const char revid[] = "$Id: db_server_proc.c,v 1.92 2002/07/29 15:21:20 sue Exp $";#endif /* not lint */#ifndef NO_SYSTEM_INCLUDES#include <sys/types.h>#include <rpc/rpc.h>#include <string.h>#endif#include "dbinc_auto/db_server.h"#include "db_int.h"#include "dbinc/db_server_int.h"#include "dbinc_auto/rpc_server_ext.h"/* BEGIN __env_cachesize_proc *//* * PUBLIC: void __env_cachesize_proc __P((long, u_int32_t, u_int32_t, * PUBLIC:      u_int32_t, __env_cachesize_reply *)); */void__env_cachesize_proc(dbenvcl_id, gbytes, bytes,		ncache, replyp)	long dbenvcl_id;	u_int32_t gbytes;	u_int32_t bytes;	u_int32_t ncache;	__env_cachesize_reply *replyp;/* END __env_cachesize_proc */{	DB_ENV *dbenv;	ct_entry *dbenv_ctp;	int ret;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	ret = dbenv->set_cachesize(dbenv, gbytes, bytes, ncache);	replyp->status = ret;	return;}/* BEGIN __env_close_proc *//* * PUBLIC: void __env_close_proc __P((long, u_int32_t, __env_close_reply *)); */void__env_close_proc(dbenvcl_id, flags, replyp)	long dbenvcl_id;	u_int32_t flags;	__env_close_reply *replyp;/* END __env_close_proc */{	ct_entry *dbenv_ctp;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	replyp->status = __dbenv_close_int(dbenvcl_id, flags, 0);	return;}/* BEGIN __env_create_proc *//* * PUBLIC: void __env_create_proc __P((u_int32_t, __env_create_reply *)); */void__env_create_proc(timeout, replyp)	u_int32_t timeout;	__env_create_reply *replyp;/* END __env_create_proc */{	DB_ENV *dbenv;	ct_entry *ctp;	int ret;	ctp = new_ct_ent(&replyp->status);	if (ctp == NULL)		return;	if ((ret = db_env_create(&dbenv, 0)) == 0) {		ctp->ct_envp = dbenv;		ctp->ct_type = CT_ENV;		ctp->ct_parent = NULL;		ctp->ct_envparent = ctp;		__dbsrv_settimeout(ctp, timeout);		__dbsrv_active(ctp);		replyp->envcl_id = ctp->ct_id;	} else		__dbclear_ctp(ctp);	replyp->status = ret;	return;}/* BEGIN __env_dbremove_proc *//* * PUBLIC: void __env_dbremove_proc __P((long, long, char *, char *, u_int32_t, * PUBLIC:      __env_dbremove_reply *)); */void__env_dbremove_proc(dbenvcl_id, txnpcl_id, name,		subdb, flags, replyp)	long dbenvcl_id;	long txnpcl_id;	char *name;	char *subdb;	u_int32_t flags;	__env_dbremove_reply *replyp;/* END __env_dbremove_proc */{	int ret;	DB_ENV * dbenv;	ct_entry *dbenv_ctp;	DB_TXN * txnp;	ct_entry *txnp_ctp;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	if (txnpcl_id != 0) {		ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);		txnp = (DB_TXN *)txnp_ctp->ct_anyp;	} else		txnp = NULL;	ret = dbenv->dbremove(dbenv, txnp, name, subdb, flags);	replyp->status = ret;	return;}/* BEGIN __env_dbrename_proc *//* * PUBLIC: void __env_dbrename_proc __P((long, long, char *, char *, char *, * PUBLIC:      u_int32_t, __env_dbrename_reply *)); */void__env_dbrename_proc(dbenvcl_id, txnpcl_id, name,		subdb, newname, flags, replyp)	long dbenvcl_id;	long txnpcl_id;	char *name;	char *subdb;	char *newname;	u_int32_t flags;	__env_dbrename_reply *replyp;/* END __env_dbrename_proc */{	int ret;	DB_ENV * dbenv;	ct_entry *dbenv_ctp;	DB_TXN * txnp;	ct_entry *txnp_ctp;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	if (txnpcl_id != 0) {		ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);		txnp = (DB_TXN *)txnp_ctp->ct_anyp;	} else		txnp = NULL;	ret = dbenv->dbrename(dbenv, txnp, name, subdb, newname, flags);	replyp->status = ret;	return;}/* BEGIN __env_encrypt_proc *//* * PUBLIC: void __env_encrypt_proc __P((long, char *, u_int32_t, * PUBLIC:      __env_encrypt_reply *)); */void__env_encrypt_proc(dbenvcl_id, passwd, flags, replyp)	long dbenvcl_id;	char *passwd;	u_int32_t flags;	__env_encrypt_reply *replyp;/* END __env_encrypt_proc */{	int ret;	DB_ENV * dbenv;	ct_entry *dbenv_ctp;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	ret = dbenv->set_encrypt(dbenv, passwd, flags);	replyp->status = ret;	return;}/* BEGIN __env_flags_proc *//* * PUBLIC: void __env_flags_proc __P((long, u_int32_t, u_int32_t, * PUBLIC:      __env_flags_reply *)); */void__env_flags_proc(dbenvcl_id, flags, onoff, replyp)	long dbenvcl_id;	u_int32_t flags;	u_int32_t onoff;	__env_flags_reply *replyp;/* END __env_flags_proc */{	DB_ENV *dbenv;	ct_entry *dbenv_ctp;	int ret;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	ret = dbenv->set_flags(dbenv, flags, onoff);	if (onoff)		dbenv_ctp->ct_envdp.onflags = flags;	else		dbenv_ctp->ct_envdp.offflags = flags;	replyp->status = ret;	return;}/* BEGIN __env_open_proc *//* * PUBLIC: void __env_open_proc __P((long, char *, u_int32_t, u_int32_t, * PUBLIC:      __env_open_reply *)); */void__env_open_proc(dbenvcl_id, home, flags,		mode, replyp)	long dbenvcl_id;	char *home;	u_int32_t flags;	u_int32_t mode;	__env_open_reply *replyp;/* END __env_open_proc */{	DB_ENV *dbenv;	ct_entry *dbenv_ctp, *new_ctp;	u_int32_t newflags, shareflags;	int ret;	home_entry *fullhome;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	fullhome = get_home(home);	if (fullhome == NULL) {		ret = DB_NOSERVER_HOME;		goto out;	}	/*	 * If they are using locking do deadlock detection for them,	 * internally.	 */	if ((flags & DB_INIT_LOCK) &&	    (ret = dbenv->set_lk_detect(dbenv, DB_LOCK_DEFAULT)) != 0)		goto out;	if (__dbsrv_verbose) {		dbenv->set_errfile(dbenv, stderr);		dbenv->set_errpfx(dbenv, fullhome->home);	}	/*	 * Mask off flags we ignore	 */	newflags = (flags & ~DB_SERVER_FLAGMASK);	shareflags = (newflags & DB_SERVER_ENVFLAGS);	/*	 * Check now whether we can share a handle for this env.	 */	replyp->envcl_id = dbenvcl_id;	if ((new_ctp = __dbsrv_shareenv(dbenv_ctp, fullhome, shareflags))	    != NULL) {		/*		 * We can share, clean up old  ID, set new one.		 */		if (__dbsrv_verbose)			printf("Sharing env ID %ld\n", new_ctp->ct_id);		replyp->envcl_id = new_ctp->ct_id;		ret = __dbenv_close_int(dbenvcl_id, 0, 0);	} else {		ret = dbenv->open(dbenv, fullhome->home, newflags, mode);		dbenv_ctp->ct_envdp.home = fullhome;		dbenv_ctp->ct_envdp.envflags = shareflags;	}out:	replyp->status = ret;	return;}/* BEGIN __env_remove_proc *//* * PUBLIC: void __env_remove_proc __P((long, char *, u_int32_t, * PUBLIC:      __env_remove_reply *)); */void__env_remove_proc(dbenvcl_id, home, flags, replyp)	long dbenvcl_id;	char *home;	u_int32_t flags;	__env_remove_reply *replyp;/* END __env_remove_proc */{	DB_ENV *dbenv;	ct_entry *dbenv_ctp;	int ret;	home_entry *fullhome;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	fullhome = get_home(home);	if (fullhome == NULL) {		replyp->status = DB_NOSERVER_HOME;		return;	}	ret = dbenv->remove(dbenv, fullhome->home, flags);	__dbdel_ctp(dbenv_ctp);	replyp->status = ret;	return;}/* BEGIN __txn_abort_proc *//* * PUBLIC: void __txn_abort_proc __P((long, __txn_abort_reply *)); */void__txn_abort_proc(txnpcl_id, replyp)	long txnpcl_id;	__txn_abort_reply *replyp;/* END __txn_abort_proc */{	DB_TXN *txnp;	ct_entry *txnp_ctp;	int ret;	ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);	txnp = (DB_TXN *)txnp_ctp->ct_anyp;	ret = txnp->abort(txnp);	__dbdel_ctp(txnp_ctp);	replyp->status = ret;	return;}/* BEGIN __txn_begin_proc *//* * PUBLIC: void __txn_begin_proc __P((long, long, u_int32_t, * PUBLIC:      __txn_begin_reply *)); */void__txn_begin_proc(dbenvcl_id, parentcl_id,		flags, replyp)	long dbenvcl_id;	long parentcl_id;	u_int32_t flags;	__txn_begin_reply *replyp;/* END __txn_begin_proc */{	DB_ENV *dbenv;	DB_TXN *parent, *txnp;	ct_entry *ctp, *dbenv_ctp, *parent_ctp;	int ret;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	parent_ctp = NULL;	ctp = new_ct_ent(&replyp->status);	if (ctp == NULL)		return;	if (parentcl_id != 0) {		ACTIVATE_CTP(parent_ctp, parentcl_id, CT_TXN);		parent = (DB_TXN *)parent_ctp->ct_anyp;		ctp->ct_activep = parent_ctp->ct_activep;	} else		parent = NULL;	ret = dbenv->txn_begin(dbenv, parent, &txnp, flags);	if (ret == 0) {		ctp->ct_txnp = txnp;		ctp->ct_type = CT_TXN;		ctp->ct_parent = parent_ctp;		ctp->ct_envparent = dbenv_ctp;		replyp->txnidcl_id = ctp->ct_id;		__dbsrv_settimeout(ctp, dbenv_ctp->ct_timeout);		__dbsrv_active(ctp);	} else		__dbclear_ctp(ctp);	replyp->status = ret;	return;}/* BEGIN __txn_commit_proc *//* * PUBLIC: void __txn_commit_proc __P((long, u_int32_t, * PUBLIC:      __txn_commit_reply *)); */void__txn_commit_proc(txnpcl_id, flags, replyp)	long txnpcl_id;	u_int32_t flags;	__txn_commit_reply *replyp;/* END __txn_commit_proc */{	DB_TXN *txnp;	ct_entry *txnp_ctp;	int ret;	ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);	txnp = (DB_TXN *)txnp_ctp->ct_anyp;	ret = txnp->commit(txnp, flags);	__dbdel_ctp(txnp_ctp);	replyp->status = ret;	return;}/* BEGIN __txn_discard_proc *//* * PUBLIC: void __txn_discard_proc __P((long, u_int32_t, * PUBLIC:      __txn_discard_reply *)); */void__txn_discard_proc(txnpcl_id, flags, replyp)	long txnpcl_id;	u_int32_t flags;	__txn_discard_reply *replyp;/* END __txn_discard_proc */{	DB_TXN *txnp;	ct_entry *txnp_ctp;	int ret;	ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);	txnp = (DB_TXN *)txnp_ctp->ct_anyp;	ret = txnp->discard(txnp, flags);	__dbdel_ctp(txnp_ctp);	replyp->status = ret;	return;}/* BEGIN __txn_prepare_proc *//* * PUBLIC: void __txn_prepare_proc __P((long, u_int8_t *, * PUBLIC:      __txn_prepare_reply *)); */void__txn_prepare_proc(txnpcl_id, gid, replyp)	long txnpcl_id;	u_int8_t *gid;	__txn_prepare_reply *replyp;/* END __txn_prepare_proc */{	DB_TXN *txnp;	ct_entry *txnp_ctp;	int ret;	ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);	txnp = (DB_TXN *)txnp_ctp->ct_anyp;	ret = txnp->prepare(txnp, gid);	replyp->status = ret;	return;}/* BEGIN __txn_recover_proc *//* * PUBLIC: void __txn_recover_proc __P((long, u_int32_t, u_int32_t, * PUBLIC:      __txn_recover_reply *, int *)); */void__txn_recover_proc(dbenvcl_id, count,		flags, replyp, freep)	long dbenvcl_id;	u_int32_t count;	u_int32_t flags;	__txn_recover_reply *replyp;	int * freep;/* END __txn_recover_proc */{	DB_ENV *dbenv;	DB_PREPLIST *dbprep, *p;	ct_entry *dbenv_ctp, *ctp;	long erri, i, retcount;	u_int32_t *txnidp;	int ret;	u_int8_t *gid;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;	dbprep = NULL;	*freep = 0;	if ((ret =	    __os_malloc(dbenv, count * sizeof(DB_PREPLIST), &dbprep)) != 0)		goto out;	if ((ret =	    dbenv->txn_recover(dbenv, dbprep, count, &retcount, flags)) != 0)		goto out;	/*	 * If there is nothing, success, but it's easy.	 */	replyp->retcount = retcount;	if (retcount == 0) {		replyp->txn.txn_val = NULL;		replyp->txn.txn_len = 0;		replyp->gid.gid_val = NULL;		replyp->gid.gid_len = 0;	}	/*	 * We have our txn list.  Now we need to allocate the space for	 * the txn ID array and the GID array and set them up.	 */	if ((ret = __os_calloc(dbenv, retcount, sizeof(u_int32_t),	    &replyp->txn.txn_val)) != 0)		goto out;	replyp->txn.txn_len = retcount * sizeof(u_int32_t);	if ((ret = __os_calloc(dbenv, retcount, DB_XIDDATASIZE,	    &replyp->gid.gid_val)) != 0) {		__os_free(dbenv, replyp->txn.txn_val);		goto out;	}	replyp->gid.gid_len = retcount * DB_XIDDATASIZE;	/*	 * Now walk through our results, creating parallel arrays	 * to send back.  For each entry we need to create a new	 * txn ctp and then fill in the array info.	 */	i = 0;	p = dbprep;	gid = replyp->gid.gid_val;	txnidp = replyp->txn.txn_val;	while (i++ < retcount) {		ctp = new_ct_ent(&ret);		if (ret != 0) {			i--;			goto out2;		}		ctp->ct_txnp = p->txn;		ctp->ct_type = CT_TXN;		ctp->ct_parent = NULL;		ctp->ct_envparent = dbenv_ctp;		__dbsrv_settimeout(ctp, dbenv_ctp->ct_timeout);		__dbsrv_active(ctp);		*txnidp = ctp->ct_id;		memcpy(gid, p->gid, DB_XIDDATASIZE);		p++;		txnidp++;		gid += DB_XIDDATASIZE;	}	/*	 * If we get here, we have success and we have to set freep	 * so it'll get properly freed next time.	 */	*freep = 1;out:	if (dbprep != NULL)		__os_free(dbenv, dbprep);	replyp->status = ret;	return;out2:	/*	 * We had an error in the middle of creating our new txn	 * ct entries.  We have to unwind all that we have done.  Ugh.	 */	for (txnidp = replyp->txn.txn_val, erri = 0;	    erri < i; erri++, txnidp++) {		ctp = get_tableent(*txnidp);		__dbclear_ctp(ctp);	}	__os_free(dbenv, replyp->txn.txn_val);	__os_free(dbenv, replyp->gid.gid_val);	__os_free(dbenv, dbprep);	replyp->status = ret;	return;}/* BEGIN __db_bt_maxkey_proc *//* * PUBLIC: void __db_bt_maxkey_proc __P((long, u_int32_t, * PUBLIC:      __db_bt_maxkey_reply *)); */void__db_bt_maxkey_proc(dbpcl_id, maxkey, replyp)	long dbpcl_id;	u_int32_t maxkey;	__db_bt_maxkey_reply *replyp;/* END __db_bt_maxkey_proc */{	DB *dbp;	ct_entry *dbp_ctp;	int ret;	ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);	dbp = (DB *)dbp_ctp->ct_anyp;	ret = dbp->set_bt_maxkey(dbp, maxkey);	replyp->status = ret;	return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美综合色| 国产精品白丝av| 国产一区不卡视频| 91成人在线观看喷潮| 亚洲精品在线三区| 午夜精品福利在线| 成熟亚洲日本毛茸茸凸凹| 91精品国产综合久久国产大片| 国产精品人人做人人爽人人添 | 免费看日韩精品| av不卡免费在线观看| 日韩精品一区二区三区四区视频| 亚洲精品高清在线观看| www.久久久久久久久| 精品国产乱码久久久久久久| 午夜av一区二区| 日本黄色一区二区| 亚洲视频一区二区免费在线观看| 国产麻豆成人传媒免费观看| 日韩精品专区在线影院观看| 丝袜亚洲另类欧美| 欧美日韩不卡在线| 一区二区三区不卡在线观看 | 亚洲午夜精品在线| 99精品在线观看视频| 国产午夜三级一区二区三| 裸体一区二区三区| 日韩欧美一区电影| 精品一区二区三区免费| 日韩三级在线观看| 麻豆成人av在线| 欧美大片一区二区| 久久99久久99精品免视看婷婷| 91精品国产色综合久久不卡蜜臀| 午夜影院在线观看欧美| 欧美日韩三级在线| 日韩国产欧美在线视频| 欧美一区二区日韩| 国产综合色精品一区二区三区| 欧美成人精品1314www| 九九国产精品视频| 久久久精品国产免大香伊| 国产99久久久精品| 亚洲人成网站在线| 欧美日韩久久一区二区| 日本欧美在线观看| 久久久久久久久久久久久夜| 国产999精品久久| 日韩理论片网站| 欧美日韩一区成人| 免费成人在线观看| 国产午夜精品一区二区| 成人av电影在线网| 卡一卡二国产精品| 日韩一卡二卡三卡四卡| 国产iv一区二区三区| 亚洲丝袜自拍清纯另类| 欧美精品 国产精品| 极品美女销魂一区二区三区| 中文字幕欧美日韩一区| 欧美午夜精品一区二区三区| 麻豆国产一区二区| 国产精品国产成人国产三级| 欧美日韩三级一区| 国产电影一区在线| 亚洲小少妇裸体bbw| 精品久久久久香蕉网| 成人精品一区二区三区四区| 亚洲一区二区三区视频在线| 欧美一区二区三区四区视频| 成人美女在线视频| 日韩在线a电影| 欧美国产日韩亚洲一区| 7777精品伊人久久久大香线蕉| 国产美女精品人人做人人爽| 亚洲精品久久7777| 久久伊人中文字幕| 欧美日韩大陆在线| 不卡一区二区中文字幕| 久久福利视频一区二区| 亚洲精品少妇30p| 精品国产一区二区国模嫣然| 在线视频欧美精品| 成人h版在线观看| 久久av老司机精品网站导航| 洋洋av久久久久久久一区| 久久久久久电影| 欧美日韩中文一区| 成人高清在线视频| 国产自产v一区二区三区c| 亚洲bdsm女犯bdsm网站| 亚洲欧美怡红院| 欧美激情一二三区| 精品国产网站在线观看| 在线综合亚洲欧美在线视频| 色八戒一区二区三区| 成人一区二区视频| 国模套图日韩精品一区二区| 日韩二区三区四区| 亚洲国产一区二区在线播放| 亚洲精品免费播放| 自拍偷拍亚洲欧美日韩| 中文字幕国产一区二区| 337p日本欧洲亚洲大胆精品| 日韩视频一区二区三区在线播放| 欧洲精品视频在线观看| 91麻豆国产自产在线观看| 成人午夜短视频| 国产成人免费av在线| 国内精品久久久久影院色| 蜜臀av性久久久久av蜜臀妖精| 午夜在线电影亚洲一区| 图片区小说区区亚洲影院| 亚洲主播在线观看| 一区二区理论电影在线观看| 亚洲免费观看高清完整版在线观看| 中文字幕精品三区| 亚洲视频在线一区观看| 成人免费在线视频观看| 亚洲伦理在线免费看| 一区二区久久久| 亚洲一区二区av电影| 亚洲一区二区在线视频| 亚洲成人1区2区| 婷婷中文字幕综合| 免费在线成人网| 麻豆91精品91久久久的内涵| 久久99精品久久久久婷婷| 精品夜夜嗨av一区二区三区| 韩国欧美国产一区| 成人午夜在线视频| 一本色道久久加勒比精品| 欧美少妇xxx| 欧美一级一区二区| 久久婷婷久久一区二区三区| 国产欧美一区二区三区网站| 国产精品成人在线观看| 一区二区三区在线视频观看| 图片区小说区国产精品视频| 国产在线精品一区二区三区不卡| 国产乱码字幕精品高清av| youjizz国产精品| 欧美日韩精品系列| 日韩一级精品视频在线观看| 国产欧美一区二区三区鸳鸯浴| 亚洲日本中文字幕区| 日日夜夜免费精品| 国产精品99久久久久久似苏梦涵| av不卡免费电影| 91精品国产一区二区三区蜜臀| 欧美精品一区二区在线播放 | 成人免费看片app下载| 欧美性受xxxx黑人xyx| 精品日韩在线观看| 亚洲视频一二区| 麻豆精品蜜桃视频网站| 99re8在线精品视频免费播放| 欧美日韩精品一区二区三区蜜桃 | 亚洲444eee在线观看| 国产一区二区不卡在线 | 777午夜精品免费视频| 国产亚洲人成网站| 亚洲国产成人高清精品| 成人一区二区视频| 欧美一级夜夜爽| 亚洲一区在线观看视频| 国产成人无遮挡在线视频| 在线播放/欧美激情| 国产精品你懂的在线欣赏| 日本aⅴ精品一区二区三区 | 亚洲精品国产一区二区精华液| 久久精品国产一区二区三| 在线国产电影不卡| 国产欧美一二三区| 蜜臀av性久久久久av蜜臀妖精| 91国偷自产一区二区使用方法| 国产亚洲精品精华液| 蜜臀av一区二区在线观看| 色999日韩国产欧美一区二区| 久久色视频免费观看| 精品综合久久久久久8888| 欧美日本国产视频| 亚洲一二三四区不卡| 99精品久久只有精品| 久久久亚洲国产美女国产盗摄| 日本中文在线一区| 欧美午夜电影在线播放| 亚洲三级在线播放| 99久久久国产精品免费蜜臀| 久久久久久免费网| 韩国午夜理伦三级不卡影院| 欧美一级二级三级乱码| 日韩精品91亚洲二区在线观看| 欧美亚一区二区| 亚洲不卡一区二区三区| 欧美丝袜自拍制服另类| 夜夜爽夜夜爽精品视频| 色婷婷久久久综合中文字幕| 一区二区三区在线视频观看58 | 国产电影一区二区三区|