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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ethernet.inc

?? MenuetOS是一個(gè)用匯編開發(fā)的32/64位PC操作系統(tǒng)
?? INC
?? 第 1 頁 / 共 4 頁
字號(hào):
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                                 ;;
;;  ETHERNET.INC                                                   ;;
;;                                                                 ;;
;;  Ethernet network layer for Menuet OS                           ;;
;;                                                                 ;;
;;  Version 0.4  22 September 2003                                 ;;
;;                                                                 ;;
;;  This file contains the following:                              ;;
;;      PCI bus scanning for valid devices                         ;;
;;      Table of supported ethernet drivers                        ;;
;;      Code to identify and activate a supported driver           ;;
;;      ARP handler                                                ;;
;;      Driver interface to the IP layer                           ;;
;;      Gateway support                                            ;;
;;                                                                 ;;
;;  Individual driver files are included here                      ;;
;;                                                                 ;;
;;  The PCI bus scanning code was ported from the etherboot        ;;
;;  5.0.6 project. The copyright statement for that code is        ;;
;;                                                                 ;;
;;          GNU GENERAL PUBLIC LICENSE                             ;;
;;             Version 2, June 1991                                ;;
;;                                                                 ;;
;;  remaining parts Copyright 2002 Mike Hibbett                    ;;
;;   mikeh@oceanfree.net                                           ;;
;;                                                                 ;;
;;  See file COPYING for details                                   ;;
;;                                                                 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;********************************************************************
;   Interface
;      ethernet_driver   called by stack_handler in stack.inc
;      eth_probe         called by app_stack_handler in stack.inc
;
;********************************************************************

; Some useful information on data structures

;     Ethernet Packet - ARP Request example
;
;   0                   1                   2                   3
;   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
;
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   |       Dest   H/W Address                                      |
;   |                    ( 14 byte header )                         |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   |                               |     Source     H/W Address    |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   |                                                               |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   |    Protocol - ARP 08  06      |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   |  H/W Type  00           01    |  Protocol Type   08 00        |
;   |                   ( ARP Request packet )                      |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   | HLen    0x06  | PLen    0x04  |    OpCode        00   01      |
;   |               ( 0001 for request, 0002 for reply )            |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   | Source Hardware Address ( MAC Address )                       |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   |                               |  Source IP Address            |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   |                               | Destination Hardware Address  |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   |                                                               |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
;   | Destination IP Address                                        |
;   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

; Include individual drivers source files at this point.
; If you create a new driver, include it below.

include "RTL8029.INC"
include "I8255X.INC"
include "RTL8139.INC"
include "3C59X.INC"
include "SIS900.INC"
include "PCNET32.INC"

; DEBUGGING_STATE enables or disables output of received and transmitted
; data over the serial port
DEBUGGING_ENABLED           equ     1
DEBUGGING_DISABLED          equ     0
DEBUGGING_STATE             equ     DEBUGGING_DISABLED

; PCICards
; ========
; PCI vendor and hardware types for hardware supported by the above drivers
; If you add a driver, ensure you update this datastructure, otherwise the
; card will not be probed.
; Each driver is defined by 4 double words. These are
;   PCIVendorDevice  probeFunction ResetFunction PollFunction transmitFunction
; The last entry must be kept at all zeros, to indicate the end of the list
; As a PCI driver may support more than one hardware implementation, there may
; be several lines which refer to the same functions.
; The first driver found on the PCI bus will be the one used.

PCICARDS_ENTRY_SIZE         equ     20    ; Size of each PCICARDS entry

PCICards:
dd  0x12098086, I8255x_probe, I8255x_reset, I8255x_poll, I8255x_transmit
dd  0x10298086, I8255x_probe, I8255x_reset, I8255x_poll, I8255x_transmit
dd  0x12298086, I8255x_probe, I8255x_reset, I8255x_poll, I8255x_transmit
dd  0x10308086, I8255x_probe, I8255x_reset, I8255x_poll, I8255x_transmit
dd  0x24498086, I8255x_probe, I8255x_reset, I8255x_poll, I8255x_transmit
dd  0x802910ec, rtl8029_probe, rtl8029_reset, rtl8029_poll, rtl8029_transmit
dd  0x12111113, rtl8029_probe, rtl8029_reset, rtl8029_poll, rtl8029_transmit
dd  0x813910ec, rtl8139_probe, rtl8139_reset, rtl8139_poll, rtl8139_transmit
dd  0x590010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x592010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x597010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x595010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x595110b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x595210b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x900010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x900110b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x900410b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x900510b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x900610b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x900A10b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x905010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x905110b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x905510b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x905810b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x905A10b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x920010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x980010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x980510b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x764610b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x505510b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x605510b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x605610b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x5b5710b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x505710b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x515710b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x525710b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x656010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x656210b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x656410b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x450010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit
dd  0x09001039, SIS900_probe, SIS900_reset, SIS900_poll, SIS900_transmit
dd  0x20001022, pcnet32_probe, pcnet32_reset, pcnet32_poll, pcnet32_xmit
dd  0x26251022, pcnet32_probe, pcnet32_reset, pcnet32_poll, pcnet32_xmit
dd  0x20011022, pcnet32_probe, pcnet32_reset, pcnet32_poll, pcnet32_xmit
; following card is untested
dd  0x70161039, SIS900_probe, SIS900_reset, SIS900_poll, SIS900_transmit 
dd  0,0,0,0,0  ; end of list marker, do not remove

; PCI Bus defines
PCI_HEADER_TYPE             equ     0x0e  ;8 bit
PCI_BASE_ADDRESS_0          equ     0x10  ;32 bit
PCI_BASE_ADDRESS_5          equ     0x24  ;32 bits
PCI_BASE_ADDRESS_SPACE_IO   equ     0x01
PCI_VENDOR_ID               equ     0x00  ;16 bit
PCI_BASE_ADDRESS_IO_MASK    equ     0xFFFFFFFC

ETHER_IP                    equ     0x0008      ; Reversed from 0800 for intel
ETHER_ARP                   equ     0x0608      ; Reversed from 0806 for intel
ETHER_RARP                  equ     0x3580
ARP_REQ_OPCODE              equ     0x0100
ARP_REP_OPCODE              equ     0x0200

arp_rx_count:       dd  0
ip_rx_count:        dd  0
dumped_rx_count:    dd  0
ip_tx_count:        dd  0
node_addr:          db  0,0,0,0,0,0
eth_rx_data_len:    dw  0
eth_status:         dd  0
io_addr:            dd  0
hdrtype:            db  0
vendor_device:      dd  0
pci_data:           dd  0
pci_dev:            dd  0
pci_bus:            dd  0

; These will hold pointers to the selected driver functions
drvr_probe:         dd  0
drvr_reset:         dd  0
drvr_poll:          dd  0
drvr_transmit:      dd  0

; These hold the destination Host identity for ARP responses
remote_ip_add:      dd  0
remote_hw_add:      db  0, 0, 0, 0, 0, 0
broadcast_add:      db  0xff,0xff,0xff,0xff,0xff,0xff

; This is used by getMACfromIP
MACAddress:         db  0,0,0,0,0,0
gateway_ip:         db  0, 0, 0, 0
subnet_mask:        dd  0x00ffffff
dns_ip:             dd  0

; The follow is the ARP Table.
; This table must be manually updated and the kernel recompilied if
; changes are made to it.
; ARP_TABLE_SIZE defines the size of the table
; ARP_TABLE_ENTRIES defines the number of entries in the table
; Each entry is 10 bytes: 4 Byte IP address, 6 byte MAC Address,
;                         2 bytes status, 2 bytes TTL ( in seconds )
; Empty entries are filled with zeros
; The TTL field is decremented every second, and is deleted when it
; reaches 0. It is refreshed every time a packet is received
; If the TTL field is 0xFFFF it is a permanent entry and is never deleted
; The status field can be the following values
; 0x0000  entry not used
; 0x0001  entry holds a valid mapping
; 0x0002  entry contains an IP address, awaiting ARP response
; 0x0003  No response received to ARP request.
; The last status value is provided to allow the network layer to delete
; a packet that is queued awaiting an ARP response

ARP_NO_ENTRY                equ 0
ARP_VALID_MAPPING           equ 1
ARP_AWAITING_RESPONSE       equ 2
ARP_RESPONSE_TIMEOUT        equ 3

ARP_ENTRY_SIZE              equ     14          ; Number of bytes per entry
ARP_TABLE_SIZE              equ     20          ; Size of table
ARP_TABLE_ENTRIES           equ     0           ; Inital, hardcoded entries

ARPTable:
times ( ARP_TABLE_SIZE - ARP_TABLE_ENTRIES ) * ARP_ENTRY_SIZE  db 0

NumARP:        db    ARP_TABLE_ENTRIES

;***************************************************************************
;   Function
;      eth_probe
;   Description
;      Searches for an ethernet card. If found, the card is enabled and
;      the ethernet -> IP link established
;
;      This function scans the PCI bus looking for a supported device.
;      ISA bus is currently not supported.
;
;        eax is 0 if no hardware found
;***************************************************************************
eth_probe:
    ; Find a card on the PCI bus, and get it's address
    call    scan_bus                    ; Find the ethernet cards PIC address
    xor     eax, eax
    cmp     [io_addr], eax
    je      ep_00x                      ; Return 0 in eax if no cards found

    call    dword [drvr_probe]          ; Call the drivers probe function

    mov     eax, [io_addr]              ; return a non zero value

ep_00x:
    ret

;***************************************************************************
;   Function
;      ethernet_driver
;
;   Description
;       The ethernet RX and TX handler
;       This is a kernel function, called by stack_handler
;
;***************************************************************************
ethernet_driver:
    ; Do nothing if the driver is inactive
    cmp     [ethernet_active], byte 0
    je      eth_exit

    call    eth_rx
    call    eth_tx

eth_exit:
    ret

;***************************************************************************
;   Function
;      eth_rx
;
;   Description
;      Polls the ethernet card for received data. Extracts if present
;       Depending on the Protocol within the packet:
;         ARP : Pass to ARP_handler. This may result in an ARP reply
;               being tx'ed
;         IP  : Store in an IP buffer
;
;***************************************************************************
eth_rx:
    xor     ax, ax
    mov     [eth_rx_data_len], ax
    call    dword [drvr_poll]       ; Call the drivers poll function

    mov     ax, [eth_rx_data_len]
    cmp     ax, 0
    je      erx_exit

if DEBUGGING_STATE = DEBUGGING_ENABLED
    pusha
    mov     eax, 0                    ;Indicate that this is a received packet
    mov     cx, [eth_rx_data_len]
    mov     esi, Ether_buffer
    cmp     word [esi + 12], ETHER_IP
    jnz     erxd_done
;    cmp     byte [esi + 14 + 9], 0x06  ; TCP
;    jnz     erxd_done
    call    eth_dump
erxd_done:
    popa
end if

    ; Check the protocol. Call appropriate handler
    mov     eax, Ether_buffer
    add     eax, 12                  ; The address of the protocol word

    mov     ax, [eax]

    cmp     ax, ETHER_ARP
    je      erx_001                  ; It is ARP

    cmp     ax, ETHER_IP
    je      erx_002                  ; It's IP

;    inc     dword [dumped_rx_count]

    jmp     erx_exit               ; If not IP or ARP, ignore

erx_001:
    mov     eax, [arp_rx_count]
    inc     eax
    mov     [arp_rx_count], eax

    ; At this point, the packet is still in the Ether_buffer
    call    arp_handler

    jmp     erx_exit

erx_002:
    mov     eax, [ip_rx_count]
    inc     eax
    mov     [ip_rx_count], eax

    ; Check to see if the MAC address is in our arp table
    ; refresh the arp ttl if so

    mov     esi, Ether_buffer
    add     esi, 6

    call    refreshARP

    call    ether_IP_handler

    jmp     erx_exit

erx_exit:
    ret

;***************************************************************************
;   Function
;      eth_tx
;
;   Description
;      Looks at the NET1OUT_QUEUE for data to send.
;      Stores that destination IP in a location used by the tx routine
;      Looks up the MAC address in the ARP table; stores that where
;      the tx routine can get it
;      Get the length of the data. Store that where the tx routine wants it
;      Call tx
;      Places buffer on empty queue when the tx routine finished
;
;***************************************************************************
eth_tx:
    ; Look for a buffer to tx
    mov     eax, NET1OUT_QUEUE
    call    dequeue
    cmp     ax, NO_BUFFER
    je      eth_exit            ; Exit if no buffer available

    push    eax

    ; convert buffer pointer eax to the absolute address
    mov     ecx, IPBUFFSIZE
    mul     ecx
    add     eax, IPbuffs

    ; Extract the destination IP
    ; find the destination IP in the ARP table, get MAC
    ; store this MAC in 'MACAddress'
    mov     ebx, eax               ; Save buffer address
    mov     edx, [ebx + 16]        ; get destination address

    ; If the destination address is 255.255.255.255,
    ; set the MACAddress to all ones ( broadcast )
    mov     [MACAddress], dword 0xffffffff
    mov     [MACAddress + 4], word 0xffff
    cmp     edx, 0xffffffff
    je      etx_send                ; If it is broadcast, just send

    call    getMACfromIP           ; Get the MAC address.

    cmp     eax, ARP_VALID_MAPPING
    jz      etx_send

    ; No valid entry. Are we waiting for a response?
    cmp     eax, ARP_AWAITING_RESPONSE
    jne     etx_001

    ; Re-queue the packet, and exit
    pop     ebx
    mov     eax, NET1OUT_QUEUE
    call    queue
    jmp     etx_exit

etx_001:
    ; HAs the request been sent, but timed out?
    cmp     eax, ARP_RESPONSE_TIMEOUT

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91色乱码一区二区三区| 成人99免费视频| 中日韩免费视频中文字幕| 欧美亚洲禁片免费| 国产aⅴ精品一区二区三区色成熟| 亚洲资源中文字幕| 国产精品久久久久一区| 日韩免费视频一区| 色爱区综合激月婷婷| 国产一区激情在线| 日韩1区2区日韩1区2区| 亚洲制服欧美中文字幕中文字幕| 国产亚洲一区二区三区在线观看| 欧美日韩精品专区| 91美女在线观看| 成人一区二区视频| 精一区二区三区| 日韩国产欧美在线视频| 一区二区在线观看视频 | 丁香一区二区三区| 日本va欧美va瓶| 午夜精品久久久久久久99樱桃 | 中文字幕日韩欧美一区二区三区| 欧美成人一区二区三区片免费| 欧美色精品天天在线观看视频| 99久久久久免费精品国产 | 国产一区二区不卡| 日本人妖一区二区| 视频一区二区三区在线| 亚洲一区二区三区精品在线| 成人欧美一区二区三区| 国产精品高潮呻吟久久| 亚洲国产高清aⅴ视频| 久久婷婷色综合| 精品日韩在线观看| 久久综合九色综合久久久精品综合 | 国产精品网站在线观看| 久久精品网站免费观看| 久久久激情视频| 国产亚洲综合色| 国产精品亲子伦对白| 国产欧美日韩亚州综合| 国产精品视频免费| 中文字幕一区免费在线观看| 国产精品国产三级国产aⅴ入口| 日本一区二区三区国色天香| 国产精品三级视频| 中文字幕在线一区免费| 尤物av一区二区| 亚洲va在线va天堂| 青青草伊人久久| 激情小说亚洲一区| 国产成人久久精品77777最新版本| 国产美女主播视频一区| 成人午夜视频在线观看| 91网站最新地址| 欧美系列亚洲系列| 欧美电影免费观看高清完整版在线观看| 日韩女优制服丝袜电影| 久久亚洲精华国产精华液| 亚洲国产精品传媒在线观看| 亚洲视频中文字幕| 亚洲国产精品久久久久秋霞影院 | 91麻豆高清视频| 欧美亚洲一区三区| 日韩一级片网站| 久久综合给合久久狠狠狠97色69| 国产日产欧美一区| 亚洲精品成人天堂一二三| 日韩精品1区2区3区| 国产精华液一区二区三区| 色网综合在线观看| 日韩精品一区二区三区视频播放| 欧美国产97人人爽人人喊| 夜夜嗨av一区二区三区四季av| 日韩精品免费视频人成| 丁香五精品蜜臀久久久久99网站 | 色先锋aa成人| 欧美一级欧美三级| 国产精品福利影院| 日韩中文欧美在线| 国产馆精品极品| 欧美影片第一页| 久久网站热最新地址| 一区二区三区电影在线播| 久久er精品视频| 99久久精品国产导航| 日韩免费性生活视频播放| 国产精品妹子av| 毛片不卡一区二区| 91麻豆自制传媒国产之光| 日韩三级精品电影久久久| 亚洲视频每日更新| 精品夜夜嗨av一区二区三区| 色哟哟日韩精品| 久久久www成人免费毛片麻豆 | 国产午夜亚洲精品理论片色戒 | 欧美网站大全在线观看| 久久久不卡网国产精品二区| 午夜精品一区二区三区三上悠亚| 国产精品1区2区| 欧美区视频在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 日韩精品三区四区| 在线亚洲免费视频| 久久精品男人的天堂| 蜜臀精品一区二区三区在线观看 | 久久久精品黄色| 日韩av在线免费观看不卡| 日韩一区二区免费高清| 洋洋av久久久久久久一区| 成人免费视频caoporn| 日韩免费电影一区| 午夜视频在线观看一区二区三区| 91蝌蚪国产九色| 中文一区在线播放| 国产精品99久久久久久久女警| 91精品国产一区二区人妖| 亚洲午夜一区二区| 色综合咪咪久久| 成人欧美一区二区三区| 国产福利精品导航| 久久一留热品黄| 国精品**一区二区三区在线蜜桃| 日韩一区二区在线观看视频播放| 午夜精品福利在线| 欧美三级在线看| 一区二区三区中文字幕| 色婷婷精品久久二区二区蜜臀av| 中文字幕五月欧美| 94-欧美-setu| 亚洲欧美国产77777| 色综合视频在线观看| 综合激情成人伊人| 一本久道中文字幕精品亚洲嫩| 亚洲欧美一区二区三区极速播放 | 伊人开心综合网| 在线日韩国产精品| 亚洲亚洲人成综合网络| 欧美日韩一区二区三区视频| 亚洲福利国产精品| 欧美一区二区三区思思人| 奇米影视一区二区三区小说| 日韩美女一区二区三区四区| 久久成人免费日本黄色| 亚洲精品一区二区三区影院 | 欧美午夜精品久久久久久孕妇 | 亚洲日本免费电影| 欧美三区免费完整视频在线观看| 亚洲午夜羞羞片| 欧美一级精品大片| 国产一区二区在线观看免费| 欧美国产一区视频在线观看| av男人天堂一区| 亚洲一区影音先锋| 91精品国产麻豆国产自产在线| 蜜桃久久精品一区二区| 久久精品人人做人人综合| 99精品在线免费| 亚洲1区2区3区4区| 久久久青草青青国产亚洲免观| caoporn国产一区二区| 一区二区三区在线观看国产| 5月丁香婷婷综合| 国产精品夜夜嗨| 亚洲美女一区二区三区| 欧美一区欧美二区| 豆国产96在线|亚洲| 亚洲精选视频在线| 日韩精品资源二区在线| 福利一区二区在线观看| 亚洲综合另类小说| 久久久亚洲精品石原莉奈| 一本色道a无线码一区v| 蓝色福利精品导航| 国产精品乱码妇女bbbb| 欧美精品自拍偷拍动漫精品| 国产在线精品一区二区夜色| 亚洲欧美二区三区| 精品国产乱码久久久久久久久 | 中文字幕一区二区三区不卡在线| 欧美三级韩国三级日本三斤| 激情文学综合丁香| 亚洲夂夂婷婷色拍ww47| 久久久一区二区| 欧美色图免费看| 国产一区二区不卡| 亚洲国产成人av好男人在线观看| 久久伊人蜜桃av一区二区| 在线观看视频91| 国产91丝袜在线播放九色| 视频一区二区国产| 日韩毛片精品高清免费| 精品精品国产高清一毛片一天堂| 91免费视频观看| 高清国产一区二区| 卡一卡二国产精品| 亚洲福利一二三区| 最好看的中文字幕久久| 久久免费国产精品|