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

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

?? smsc9118.h

?? wince 6.0下SMSC9118 100M網卡驅動
?? H
字號:
/*****************************************************************************
   
	Copyright (c) 2004-2006 SMSC. All rights reserved.

	Use of this source code is subject to the terms of the SMSC Software
	License Agreement (SLA) under which you licensed this software product.	 
	If you did not accept the terms of the SLA, you are not authorized to use
	this source code. 

	This code and information is provided as is without warranty of any kind,
	either expressed or implied, including but not limited to the implied
	warranties of merchantability and/or fitness for a particular purpose.
	 
	File name   : smsc9118.h 
	Description : smsc9118 driver header file

	History	    :
		03-16-05 WH			First Release
		08-12-05 MDG		ver 1.01 
			- add LED1 inversion, add PHY work around
		11-07-05 WH			ver 1.02
			- Fixed middle buffer handling bug
			  (Driver didn't handle middle buffers correctly if it is less than 
               4bytes size)
			- workaround for Multicast bug
			- Workaround for MAC RXEN bug
		11-17-05 WH			ver 1.03
			- 1.02 didn't have 1.01 patches
			- 1.03 is 1.02 + 1.01
		12-06-05 WH			ver 1.04
			- Fixed RX doesn't work on Silicon A1 (REV_ID = 0x011x0002)
			- Support SMSC9118x/117x/116x/115x family
		02-27-06 WH			ver 1.05
			- Fixing External Phy bug that doesn't work with 117x/115x
		03-23-06 WH			ver 1.06
			- Put the variable to avoid PHY_WORKAROUND for External PHY
			- Change product name to 9118x->9218, 9115x->9215
		07-26-06 WH, MDG, NL		ver 1.07
			- Add RXE and TXE interrupt handlers
			- Workaround Code for direct GPIO connection from 9118 family 
			  Interrupt (Level Interrupt -> Edge Interrupt)
			- Change GPT interrupt interval to 200mSec from 50mSec
			- clean up un-used SH3 code
		08-25-06  WH, MDG, NL       ver 1.08
		    - Fixed RXE and TXE interrupt handlers bug
			- support for direct and nondirect Interrupt
		02-15-07   NL               ver 1.09
			- First version of WinCE 6.0 driver
			- Removed Support for LAN9112
			- Added AutoMdix as modifiable parameter in the Registry
		    - Fixed DMA Xmit Bug
		04-17-07   NL               ver 1.10
			- Added Support LAN9211 Chip
			- Changed Register Name ENDIAN to WORD_SWAP According to the Menual
			- Merged CE6.0 & 5.0 Drivers Together
*****************************************************************************/

#ifndef _SMSC9118_H_
#define _SMSC9118_H_

#include "lan9118.h"
#include "platform.h"

// CETK may fail at Multicast Test because of imperfect filtering.
// To do Perform Perfect Multicast Filtering enables following define
// But, enabling Perfect Filtering will reduce performance
#define	FOR_CETK

#define DRIVER_VERSION          0x110
#define	BUILD_NUMBER			"041707"

#define ETHER_HEADER_SIZE               14U

#define ETHER_LENGTH_OF_ADDRESS         6U

#define MAX_PACKET                      1518U

#define MAX_LOOKAHEAD                   (MAX_PACKET - ETHER_HEADER_SIZE)

#define MAX_IRQ                         (SYSINTR_MAXIMUM - SYSINTR_FIRMWARE)

#define DEFAULT_MULTICASTLISTMAX        32U

#define MAX_RXPACKETS_PER_INDICATION    4

#define MAX_NUM_PACKETS_PER_SEND        3UL

#define MAX_RXPACKETS_IN_QUEUE          0x100U

#define RX_WATERMARK_HI                 (MAX_RXPACKETS_IN_QUEUE*3/4)
#define RX_WATERMARK_LO                 (MAX_RXPACKETS_IN_QUEUE/4)

// Use 2K as Packet Buffer size because CE uses 4K PAGE
// It allocates more memory than it needs but it is good for DMA allocation
//#define MAX_PACKET_IN_DWORD             ((MAX_PACKET+(2U*RX_END_ALIGNMENT)-1U)>>2)  //DMA
#define MAX_PACKET_IN_DWORD             ((0x800)>>2)  //DMA (2Kbyte)

#define MAX_NUM_SEGMENTS                3U

#define REGISTER_PAGE_SIZE              256

#define PROTOCOL_RESERVED_LENGTH        16U

#define MMU_WAIT_LOOP 1000000

#define TX_STS_ES                       (0x8000UL)

#define TX_DATA_FIFO_SIZE               4608UL

#define RX_DATA_FIFO_SIZE               10560UL

#define TX_DMA_THRESHOLD                128U

#define	GPT_INT_INTERVAL				2000UL		/* 200mSec */

#define	NDIS_ALLOC_FLAG					(0U)		// Flag for NdisAllocMemory and NdisFreeMemory

typedef struct _DRIVER_BLOCK
{
    NDIS_HANDLE NdisWrapperHandle;
    struct _SMSC9118_ADAPTER *AdapterQueue;
} DRIVER_BLOCK, *PDRIVER_BLOCK;


typedef struct _SMSC9118_WUFF
{
    DWORD FilterByteMask[4];
    DWORD FilterCommands;   //"Enable" bit is also used as flag for availability.
    UCHAR FilterOffsets[4];
    WORD  FilterCRC16[4];

    BYTE FilterBufferToCRC16[4][31];
    DWORD FilterBufferLength[4];

}SMSC9118_WUFF, *PSMSC9118_WUFF;

#define	MAX_RXPACKET_IN_LIST	(MAX_RXPACKETS_IN_QUEUE+1U)
typedef struct _PKT_LIST {
	PNDIS_PACKET	dwPktArray[MAX_RXPACKET_IN_LIST];
	volatile DWORD	dwRdPtr;
	volatile DWORD	dwWrPtr;
} PKT_LIST, *PPKT_LIST;

#define	INC_PTR(x)			((x) = ((x+1UL)) % (DWORD)(MAX_RXPACKET_IN_LIST))
#define	IS_ARRAY_EMPTY(x)	((x##.dwRdPtr == x##.dwWrPtr)? TRUE : FALSE)
#define	IS_ARRAY_FULL(x)	((x##.dwRdPtr == ((x##.dwWrPtr+1UL)%(DWORD)(MAX_RXPACKET_IN_LIST)))? TRUE : FALSE)
#define	AdapterGetCSR(CSR)	GetRegDW(pAdapter->lan9118_data.dwLanBase, (CSR))
#define	AdapterSetCSR(CSR, value)	\
			SetRegDW(pAdapter->lan9118_data.dwLanBase, (CSR), (value))

typedef	struct _ALLOCATE_BUFFER_MEM
{
	PUCHAR					pUnAlignedVAddr;
	DWORD					dwDummy1;
	NDIS_PHYSICAL_ADDRESS	UnAlignedPAddr;			
	PUCHAR					pVAddr;					// virtual address
	DWORD					dwDummy2;
	NDIS_PHYSICAL_ADDRESS	PAddr;					// physical address
} ALLOCATE_BUFFER_MEM, *PALLOCATE_BUFFER_MEM;

typedef struct _SMSC9118_ADAPTER
{
    NDIS_HANDLE     hMiniportAdapterHandle;
    struct _SMSC9118_ADAPTER *NextAdapter;
    LAN9118_DATA    lan9118_data;
    NDIS_MINIPORT_INTERRUPT Interrupt;
    ULONG   		ulIoBaseAddress;

    ULONG   		ulFramesXmitGood;         // Good Frames Transmitted
    ULONG   		ulFramesRcvGood;          // Good Frames Received
    ULONG   		ulFramesXmitBad;          // Bad Frames Transmitted
    ULONG   		ulFramesXmitOneCollision; // Frames Transmitted with one collision
    ULONG   		ulFramesXmitManyCollisions;// Frames Transmitted with > 1 collision
    ULONG   		ulFrameAlignmentErrors;    // FAE errors count
    ULONG   		ulCrcErrors;               // CRC errors count
    ULONG   		ulMissedPackets;           // Missed packets count (because of running out of driver Rx buffers)
    ULONG   		ulFramesRcvBad;            // Bad packets received count

    ULONG   		ulPacketFilter;
    ULONG   		ulMaxLookAhead;
    DWORD   		ucNicMulticastRegs[2];     // Contents of multicast registers

    Queue_t 		TxRdyToComplete;
    Queue_t 		TxWaitToSend;
    Queue_t 		TxDeferedPkt;

    // Data structures for Rx
    NDIS_HANDLE 	hPacketPool, hBufferPool;
    PNDIS_PACKET 	RxPacketArray[MAX_RXPACKETS_IN_QUEUE];
    PNDIS_BUFFER 	RxBufferArray[MAX_RXPACKETS_IN_QUEUE];

	PKT_LIST		EmptyPkt;					// Empty Packet Array
	PKT_LIST		FullPkt;					// Full(Received) Packet Array

    DWORD 			fRxDMAMode;  	//DMA
    DWORD 			fTxDMAMode;  	//DMA
    DWORD 			DMABaseVA;  	//DMA
    PVOID 			pSharedMemVA; 	//DMA
    ULONG 			pSharedMemPA; 	//DMA

    DWORD 			LinkMode;
	DWORD           dwAutoMdix;

    BYTE 			TxPktBuffer[2048]; 			// Temp buffer for highly fragmented packet
    DWORD 			TDFALevel;

    // Data structures for Tx
    WORD 			PacketTag;

    BOOLEAN			RxDPCNeeded, TxDPCNeeded;
    BOOLEAN			PhyDPCNeeded;
	BOOLEAN			SWDPCNeeded;
	BOOLEAN			RxStopDPCNeeded;
	BOOLEAN			RxOverRun;

    //Flow control
    BOOLEAN 		fSwFlowControlEnabled;
    BOOLEAN 		fSwFlowControlStarted;

    UCHAR   		ucInterruptNumber;
    UCHAR   		ucAddresses[DEFAULT_MULTICASTLISTMAX][ETHER_LENGTH_OF_ADDRESS];
    UCHAR   		ucStationAddress[ETHER_LENGTH_OF_ADDRESS];
    BYTE    		PhyAddress;

	BYTE			bPadding[6];				// for Lint
	ALLOCATE_BUFFER_MEM	TxTempPktBuf;

	HANDLE			hSWIntEvt;
	volatile LONG	MacCrRxTimeout;
	volatile LONG	SWIntTimeout;
	volatile LONG	f100RxEnWorkaroundDone;

    DWORD 			dwWakeUpSource;
    SMSC9118_WUFF 	Wuff;
    //Power management
    NDIS_DEVICE_POWER_STATE CurrentPowerState;
	DWORD			dwDummy;					// for Lint
} SMSC9118_ADAPTER, *PSMSC9118_ADAPTER;
typedef	const SMSC9118_ADAPTER * const CPCSMSC9118_ADAPTER;


typedef struct _SMSC9118_SHAREDMEM
{
    DWORD RxBuffer[MAX_RXPACKETS_IN_QUEUE][MAX_PACKET_IN_DWORD];
} SMSC9118_SHAREDMEM, *PSMSC9118_SHAREDMEM;


typedef enum _DPC_STATUS { DPC_STATUS_DONE, DPC_STATUS_PENDING } DPC_STATUS;

typedef struct _REG_VALUE_DESCR 
{
    LPWSTR val_name;
    DWORD  val_type;
    PBYTE  val_data;
} REG_VALUE_DESCR, *PREG_VALUE_DESCR;


#define IOADDRESS  	NDIS_STRING_CONST("IoBaseAddress")
#define PHYADDRESS  NDIS_STRING_CONST("PhyAddress")
#define INTERRUPT  	NDIS_STRING_CONST("InterruptNumber")
#define RXDMAMODE  	NDIS_STRING_CONST("RxDMAMode")
#define TXDMAMODE  	NDIS_STRING_CONST("TxDMAMode")
#define SPEED  		NDIS_STRING_CONST("Speed")
#define LINKMODE  	NDIS_STRING_CONST("LinkMode")
#define FLOWCONTROL	NDIS_STRING_CONST("FlowControl")
#define BUS_TYPE  	NDIS_STRING_CONST("BusType")
#define AMDIX       NDIS_STRING_CONST("AutoMdix")

BOOL AddKeyValues(LPWSTR KeyName, PREG_VALUE_DESCR Vals);
LPWSTR Install_Driver(LPWSTR lpPnpId, LPWSTR lpRegPath, DWORD  cRegPathSize);

VOID BlockInterrupts(IN PSMSC9118_ADAPTER Adapter);
VOID UnblockInterrupts(IN PSMSC9118_ADAPTER Adapter);
VOID ChipStart(IN PSMSC9118_ADAPTER pAdapter);

DWORD ComputeCrc(IN const CPUCHAR pBuffer, IN const UINT uiLength);
VOID GetMulticastBit(IN const UCHAR * const ucAddress, OUT PUCHAR const pTable, OUT PULONG const pValue);

BOOLEAN ChipReset(IN SMSC9118_ADAPTER * const pAdapter);
BOOLEAN ChipIdentify(IN PSMSC9118_ADAPTER pAdapter);
BOOLEAN ChipSetup(IN PSMSC9118_ADAPTER pAdapter);

VOID Smsc9118Isr(OUT PBOOLEAN pbInterruptRecognized, OUT PBOOLEAN pbQueueDpc, IN PVOID pContext);
VOID Smsc9118HandleInterrupt(IN NDIS_HANDLE hMiniportAdapterContext);
VOID Smsc9118Halt(IN NDIS_HANDLE MiniportAdapterContext);
VOID Smsc9118Shutdown(IN NDIS_HANDLE MiniportAdapterContext);

NDIS_STATUS Smsc9118Initialize (OUT PNDIS_STATUS OpenErrorStatus, OUT PUINT puiSelectedMediumIndex, IN NDIS_MEDIUM * MediumArray, IN UINT uiMediumArraySize, IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE ConfigurationHandle);
NDIS_STATUS RegisterAdapter (IN PSMSC9118_ADAPTER pAdapter, IN NDIS_HANDLE ConfigurationHandle);
NDIS_STATUS Smsc9118Reset (OUT PBOOLEAN pbAddressingReset, IN NDIS_HANDLE MiniportAdapterContext);
NDIS_STATUS Smsc9118QueryInformation (IN NDIS_HANDLE MiniportAdapterContext, IN NDIS_OID Oid, IN PVOID pInformationBuffer, IN ULONG ulInformationBufferLength, OUT PULONG pulBytesWritten, OUT PULONG pulBytesNeeded);
NDIS_STATUS Smsc9118SetInformation (IN NDIS_HANDLE hMiniportAdapterContext, IN NDIS_OID Oid, IN PVOID pInformationBuffer, IN ULONG ulInformationBufferLength, OUT PULONG pulBytesRead, OUT PULONG pulBytesNeeded);
VOID Smsc9118SendPackets (IN NDIS_HANDLE hMiniportAdapterContext, IN PPNDIS_PACKET ppPacketArray, IN UINT uiNumberOfPackets);
BOOLEAN Smsc9118CheckForHang(IN NDIS_HANDLE hMiniportAdapterContext);
VOID Smsc9118GetReturnedPackets(IN NDIS_HANDLE hMiniportAdapterContext, IN NDIS_PACKET * Packet);

NDIS_STATUS SetPacketFilter (IN PSMSC9118_ADAPTER pAdapter);
NDIS_STATUS SetMulticastAddressList (IN PSMSC9118_ADAPTER pAdapter);

VOID EnableSwFlowControlFD(IN CPCSMSC9118_ADAPTER pAdapter);
VOID EnableSwFlowControlHD(IN CPCSMSC9118_ADAPTER pAdapter);
VOID DisableSwFlowControlFD(IN CPCSMSC9118_ADAPTER pAdapter);
VOID DisableSwFlowControlHD(IN CPCSMSC9118_ADAPTER pAdapter);

VOID E2PROMExecCmd(IN CPCSMSC9118_ADAPTER pAdapter, const DWORD Cmd);
VOID E2PROMWriteDefaultAddr(IN CPCSMSC9118_ADAPTER pAdapter);

WORD CalculateCrc16(const BYTE * bpData, const DWORD dwLen, const BOOL fBitReverse);
VOID SetWakeUpFrameFilter(IN PSMSC9118_ADAPTER pAdapter, const NDIS_PM_PACKET_PATTERN * const pPattern, const DWORD FilterNo);
VOID ResetWakeUpFrameFilter(IN PSMSC9118_ADAPTER pAdapter, const NDIS_PM_PACKET_PATTERN * const pPattern);
VOID ConfigWUFFReg(IN CPCSMSC9118_ADAPTER pAdapter);
VOID SetPowerState(IN PSMSC9118_ADAPTER pAdapter, const NDIS_DEVICE_POWER_STATE DevicePowerState);
BOOL Wakeup9118(IN CPCSMSC9118_ADAPTER pAdapter);

NDIS_STATUS InitializeQueues(IN PSMSC9118_ADAPTER pAdapter);

DPC_STATUS HandlerTxDPC(PSMSC9118_ADAPTER pAdapter);
DPC_STATUS HandlerRxDPC(PSMSC9118_ADAPTER pAdapter);
DPC_STATUS HandlerPhyDPC(PSMSC9118_ADAPTER pAdapter);
inline void HandlerRxISR(PSMSC9118_ADAPTER pAdapter);
inline VOID HandlerTxISR(PSMSC9118_ADAPTER pAdapter);
VOID HandlerPhyISR(PSMSC9118_ADAPTER pAdapter);
VOID HandlerGptISR(PSMSC9118_ADAPTER pAdapter);
VOID HandlerPmeISR(CPCSMSC9118_ADAPTER pAdapter);
static inline VOID Smsc9118TransmitPackets(IN  PSMSC9118_ADAPTER pAdapter, IN  PPNDIS_PACKET ppPacket, IN UINT uiNumOfPkts);
BOOLEAN SyncSetTDFALevel(const void * const SynchronizeContext);
void RxFastForward(IN CPCSMSC9118_ADAPTER pAdapter, IN DWORD dwDWCount);

BOOL __stdcall DllEntry (HANDLE hDLL, DWORD dwReason, LPVOID lpReserved);
NDIS_STATUS DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath);
PNDIS_PACKET GetPktFromEmptyArray(PSMSC9118_ADAPTER pAdapter);
PNDIS_PACKET GetPktFromFullArray(PSMSC9118_ADAPTER pAdapter);
VOID CheckPhyStatus(PSMSC9118_ADAPTER pAdapter);
DWORD LinkIndicate(PSMSC9118_ADAPTER pAdapter);
inline BOOL PutPktToEmptyArray(PSMSC9118_ADAPTER pAdapter, PNDIS_PACKET pPkt);
inline BOOL PutPktToFullArray(PSMSC9118_ADAPTER pAdapter, PNDIS_PACKET pPkt);
static inline BOOL Smsc9118XmitOnePacket(IN NDIS_HANDLE hMiniportAdapterContext, IN PNDIS_PACKET pPacket);
void DelayUsingFreeRun(CPCSMSC9118_ADAPTER pAdapter, const LONG uSec);
void EnableCPUInt(void);
void DisableCPUInt(void);
static void Smsc9118SetMacFilter(CPCSMSC9118_ADAPTER pAdapter);
void UpdateFilterAndMacReg(CPCSMSC9118_ADAPTER pAdapter);
void DisableMacRxEn(CPCSMSC9118_ADAPTER pAdapter);
void EnableMacRxEn(CPCSMSC9118_ADAPTER pAdapter);
NDIS_STATUS SetMulticastAddressListForRev1(PSMSC9118_ADAPTER pAdapter);
NDIS_STATUS SetPacketFilterForRev1(IN PSMSC9118_ADAPTER pAdapter);
void HandlerRxStopISR(PSMSC9118_ADAPTER pAdapter);
void MacRxEnWorkaround(PSMSC9118_ADAPTER pAdapter);
#endif // _SMSC9118_H_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
aaa国产一区| 中文字幕亚洲成人| 亚洲国产精品高清| 亚洲成人黄色影院| 国产成人在线观看| 日韩女优av电影在线观看| 中文字幕日韩av资源站| 黄一区二区三区| 91福利精品视频| 亚洲国产电影在线观看| 久久精品久久99精品久久| 色欧美88888久久久久久影院| 久久免费电影网| 日产欧产美韩系列久久99| av在线综合网| 中日韩免费视频中文字幕| 韩国一区二区视频| 日韩欧美精品在线| 亚洲大片精品永久免费| 色素色在线综合| 中文字幕一区二区日韩精品绯色 | 久久久综合网站| 欧美a级理论片| 精品视频在线视频| 亚洲影院免费观看| 色综合久久久久| 亚洲美女淫视频| 91网站视频在线观看| 综合久久国产九一剧情麻豆| 国产suv精品一区二区883| 久久久国产精品不卡| 国产一区二区91| 国产日产欧美精品一区二区三区| 国产一级精品在线| 国产偷国产偷精品高清尤物| 国产精品18久久久久久久久| 久久久久久久久久久电影| 国产精品一区二区三区四区| 久久综合久久久久88| 国产麻豆9l精品三级站| 国产欧美一区二区在线观看| 国产一区二区美女| 中文字幕欧美日韩一区| a级高清视频欧美日韩| 亚洲欧美日韩一区二区| 欧美中文字幕不卡| 丝袜亚洲另类欧美综合| 日韩一区二区免费视频| 国产精一品亚洲二区在线视频| 国产亚洲精品超碰| 91网页版在线| 日韩综合一区二区| 日韩免费观看高清完整版在线观看| 极品瑜伽女神91| 欧美经典一区二区| 色综合 综合色| 天天爽夜夜爽夜夜爽精品视频| 日韩美女在线视频| 成a人片亚洲日本久久| 一区二区三区产品免费精品久久75| 欧美视频一区二区三区在线观看 | 亚洲日本一区二区| 9191成人精品久久| 国产精品一区二区视频| 亚洲在线免费播放| 精品国产一区二区三区av性色 | 欧美日韩成人一区二区| 国内欧美视频一区二区 | 色素色在线综合| 麻豆精品国产传媒mv男同| 国产精品久久看| 91.麻豆视频| 99视频一区二区| 日韩中文字幕亚洲一区二区va在线| 久久久综合网站| 欧美色涩在线第一页| 国产老妇另类xxxxx| 午夜精品福利一区二区蜜股av| 国产日韩欧美精品一区| 欧美一区二区三区思思人| 99热在这里有精品免费| 天天色 色综合| 1024成人网| 久久亚洲精品小早川怜子| 欧美日韩精品一区二区三区| 成人丝袜高跟foot| 美女爽到高潮91| 亚洲最新视频在线观看| 亚洲国产电影在线观看| 精品国产乱码久久久久久久久| 日本精品裸体写真集在线观看| 国产麻豆9l精品三级站| 麻豆一区二区在线| 亚洲一卡二卡三卡四卡| 国产精品二区一区二区aⅴ污介绍| 日韩三级在线观看| 欧美日韩在线播| 色哟哟日韩精品| 成人精品在线视频观看| 国产高清不卡二三区| 免费成人结看片| 日韩不卡一区二区| 亚洲一区自拍偷拍| 一区二区三区四区乱视频| 最好看的中文字幕久久| 久久久精品日韩欧美| 欧美本精品男人aⅴ天堂| 欧美乱熟臀69xxxxxx| 欧美日韩三级一区二区| 欧美私人免费视频| 欧美系列日韩一区| 欧美综合一区二区三区| 欧美亚洲禁片免费| 在线视频国内自拍亚洲视频| 色哟哟一区二区在线观看| 91久久人澡人人添人人爽欧美| 国产成人午夜高潮毛片| 激情综合色综合久久综合| 狠狠色2019综合网| 国内国产精品久久| 国产成人精品综合在线观看| 国产99久久久久久免费看农村| 国产激情精品久久久第一区二区| 国产在线视频不卡二| 国产麻豆精品久久一二三| 国产成人在线观看| av一本久道久久综合久久鬼色| 不卡一区在线观看| 91精品91久久久中77777| 欧美丝袜丝交足nylons图片| 7777精品伊人久久久大香线蕉完整版 | 欧美tk—视频vk| 亚洲精品一区在线观看| 国产女同性恋一区二区| 中文字幕一区二区三区色视频 | 国产成人鲁色资源国产91色综| 懂色av一区二区三区免费看| 99热在这里有精品免费| 欧美午夜影院一区| 日韩免费观看2025年上映的电影| 精品久久国产老人久久综合| 欧美国产精品一区二区| 亚洲欧美在线aaa| 午夜视频一区在线观看| 激情深爱一区二区| 色综合天天综合网国产成人综合天| 色屁屁一区二区| 欧美一级高清片在线观看| 国产三级欧美三级| 一区二区三区欧美日| 免费看欧美美女黄的网站| 成人午夜大片免费观看| 在线不卡的av| 国产午夜亚洲精品午夜鲁丝片| 一二三区精品福利视频| 久久精品99国产精品| aaa国产一区| 精品欧美一区二区久久| 亚洲品质自拍视频网站| 麻豆91精品视频| 99精品视频在线观看| 欧美一区二区性放荡片| 国产精品超碰97尤物18| 九一久久久久久| 欧美体内she精高潮| 欧美韩日一区二区三区四区| 日韩国产精品久久久久久亚洲| 成人一级片在线观看| 这里只有精品免费| 亚洲三级理论片| 国产精品99久久久| 欧美一区二区视频观看视频 | 99视频在线精品| 精品国产一区二区精华| 香蕉影视欧美成人| 色综合天天在线| 久久久激情视频| 麻豆精品视频在线观看免费| 欧洲生活片亚洲生活在线观看| 日本一区二区三区高清不卡| 另类小说综合欧美亚洲| 欧美一a一片一级一片| 国产精品国产三级国产aⅴ无密码| 蜜臀av一级做a爰片久久| 欧美日韩精品一区二区天天拍小说| 亚洲欧美中日韩| 成人国产精品免费观看动漫| 久久久蜜臀国产一区二区| 欧美a级一区二区| 欧美久久一二三四区| 亚洲一区在线免费观看| 色哦色哦哦色天天综合| 1000部国产精品成人观看| 成人黄色在线网站| 国产日韩av一区二区| 国产一区欧美二区| 欧美精品一区二区三区一线天视频| 免费人成黄页网站在线一区二区| 久久久久久久久久电影| 五月婷婷综合在线|