日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux驱动文件操作简单介绍

發布時間:2023/12/20 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux驱动文件操作简单介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、設備號

主設備號標識設備對應的驅動程序,次設備號由內核使用,用于確定設備文件所指的設備。

通過次設備號獲得一個指向內核設備的直接指針,也可將此設備號當作設備本地數組的索引。

設備編號用dev_t表示(Linux/types.h? 32位,其中12位表示主設備號,20位表示次設備號)。

dev_t獲得主設備號或次設備號:MAJOR(dev_t dev); MINOR(dev_t dev)

已知主設備號和次設備號來獲取dev_t類型:MKDEV(int? major,? int? minor)

獲取一個或多個設備編號int? register_chrdev_region(dev_t first,? unsigned int? count,? char? *name);(靜態分配,事先已知道設備號)

動態分配設備編號int? alloc_chrdev_region(dev_t *dev, unsigned int firstminor, unsigned int count, char *name);調用成功后dev會保存已分配的第一個編號。

釋放設備編號:void unregister_chrdev_region(dev_t first, unsigned int count);

接下來,驅動程序需要將設備編號和內部函數連接起來。

注:(下一步可嘗試采用動態分配設備號

?

動態分配設備號缺點:不能預先創建設備節點(因為分配的設備號不能保證始終一致)。

2、文件操作file_operations:

這些操作將與設備編號連接起來。

__user:用于文檔,表明該指針是一個用戶空間地址。

主要成員:open, ?ioctl,? read,? write,? llseek

3struct file結構? linux/fs.h文件描述符

每打開一個文件,內核就會創建一個對應的file結構,在open()時創建,同時會傳遞給在該文件上進行操作的所有函數(因為file結構中包含file_operations結構,而該結構包含了所有驅動操作的函數)。

內核中用filp作為執行file結構的指針。

主要成員:

Mode_t? f_mode;? loff_t? f_pos;? ?struct file_operations *f_pos;? void? private_data;?

4inode結構

對單個文件只有一個inode,而可能有多個file(由于forkdup操作)

主要成員:

dev_t? i_rdev; 對表示設備文件的inode結構,該字段包含真正的設備編號。

struct cdev?*i_cdev;? ?該結構表示字符設備的內核的內部結構,當inode指向一個字符設備文件時,該字段包含指向struct cdev結構的指針。

inode中獲取設備號: iminor(struct inode *inode);? imajor(inode);

5、字符設備注冊? /linux/cdev.h

內核使用struct cdev結構表示字符設備,所以在內核調用該設備操作之前,需要分配并注冊一個或者多個該結構。

注冊有兩種方式:

新方法:

1)定義字節的結構:

struct my_dev {

???????? struct? cdev? cdev; //此處如果定義的是指針類型,則需要申請分配內存

}my_dev;

//my_dev ->cdev = cdev_alloc();? //如果cdev是指針則需要這一步

my_dev->cdev.ops = &my_fops;

my_dev->cdev.owner = THIS_MODULE;

2)再調用cdev_init(struct cdev *cdev,? struct file_operations *fops);

3)調用cdev_add(struct cdev *dev,? dev_t num,? unsigned int count);

上面每一步都要判斷函數調用是否出錯。

舊辦法(老接口):

注冊:int register_chrdev();移除:int unregister_chrdev()

?

6、各操作函數實現

1open?? int (*open) (struct? inode? *inode,? struct? file? *filp)

完成以下工作:傳入一個inode,創建一個file結構

n? 檢查設備特定錯誤(如未就緒);

n? 如果設備首次打開,則進行初始化;

n? 必要時更新f_op指針;

n? 分配并填寫filp->private_data

注:inode結構是傳入的參數,對應一個特定的設備(這就是為什么要在/devmknodde原因),而file結構的filp是要修改的參數(傳出),對應該設備的一個文件描述符,也就是一個inode可能有多個file描述符,而每個描述符需要保存inode的信息,即存放在filp->private_data中。

2release? int (*release) (struct inode *inode,? struct file *filp)

完成工作:傳入一個inode,釋放這個file結構

n? 釋放由open分配的、保存在filp->private_data中的內容;

n? 在最后一次close時關閉設備

dup fork都會在不調用open時創建新的file結構(對應同一個inode)。

注:并不是每個close調用都會調用release;只有真正釋放設備數據結構的close調用才會調用release。內核對每個file結構維護其被使用次數的計數器,無論是fork還是dup,都不會創建新的數據結構(只會有open創建),它們只是增加已有結構中的計數器而已。只有在file結構的計數為0時,close才會調用release

3read? ssize_t ?read(struct ?file? *filp,? char __user *buf, ?count,? loff_t *offp)

完成工作:傳入file,將count個字節數據寫入用戶地址buf,修改loff_t

copy_to_user()實現
返回值說明:

n? 等于count:所請求的字節數讀取成功;

n? 返回值為正,但小于count:只讀取了部分數據;

n? 0:已經達到文件尾;

n? 負值:出錯

4write? ssize_t? write(struct ?file? *filp,? char? __user *buf,? count,? offp);

copy_from_user()實現

返回值同上。

?

[cpp] view plaincopy
  • 1)驅動代碼??
  • Demo.h??
  • #ifndef?_DEMO_H_??
  • #define?_DEMO_H_??
  • #include?<linux/ioctl.h>??
  • /*Macros?to?help?debuging*/??
  • #undef?PDEBUG??
  • #ifdef?DEMO_DEBUG??
  • ????#ifdef?__KERNEL__??
  • ????????#define?PDEBUG(fmt,?args...)?printk(KERN_DEBUG?"DEMO:"?fmt,##?args)???
  • ????#else??
  • ????????#define?PDEBUG(fmt,?args...)?fprintf(stderr,?fmt,?##?args)??
  • ????#endif??
  • #else??
  • #define?PDEBUG(fmt,?args...)???
  • #endif??
  • ??
  • #define?DEMO_MAJOR?224??
  • #define?DEMO_MINOR?0??
  • #define?COMMAND1?1??
  • #define?COMMAND2?2??
  • ??
  • struct?demo_dev?{??
  • ????struct?cdev?cdev;??
  • };??
  • ??
  • ssize_t?demo_read(struct?file?*filp,?char?__user?*buf,?size_t?count,?loff_t?*f_pos);??
  • ssize_t?demo_write(struct?file?*filp,?const?char?__user?*buf,?size_t?count,?loff_t?*f_pos);??
  • loff_t?demo_llseek(struct?file?*filp,?loff_t?off,?int?whence);??
  • int?demo_ioctl(struct?inode?*inode,?struct?file?*filp,?unsigned?int?cmd,?unsigned?long?arg);??
  • ??
  • #endif??
  • demo.c??
  • #include?<linux/module.h>??
  • #include?<linux/kernel.h>??
  • #include?<linux/fs.h>??
  • #include?<linux/errno.h>??
  • #include?<linux/types.h>??
  • #include?<linux/fcntl.h>??
  • #include?<linux/cdev.h>??
  • #include?<linux/version.h>??
  • #include?<linux/vmalloc.h>??
  • #include?<linux/ctype.h>??
  • #include?<linux/pagemap.h>??
  • #include?"demo.h"??
  • ??
  • MODULE_AUTHOR("Yangjin");??
  • MODULE_LICENSE("Dual?BSD/GPL");??
  • ??
  • struct?demo_dev?*demo_devices;??
  • ??
  • static?unsigned?char?demo_inc?=?0;//全局變量,每次只能打開一個設備??
  • ??
  • static?u8?demo_buffer[256];??
  • ??
  • int?demo_open(struct?inode?*inode,?struct?file?*filp)??
  • {??
  • ????struct?demo_dev?*dev;??
  • ??????
  • ????if?(demo_inc?>?0)?return?-ERESTARTSYS;??
  • ????demo_inc++;??
  • ????dev?=?container_of(inode->i_cdev,?struct?demo_dev,?cdev);??
  • ????filp->private_data?=?dev;??
  • ??
  • ????return?0;??
  • }??
  • ??
  • int?demo_release(struct?inode?*inode,?struct?file?*filp)??
  • {?????
  • ????demo_inc--;??
  • ????return?0;??
  • }??
  • ??
  • ssize_t?demo_read(struct?file?*filp,?char?__user?*buf,?size_t?count,?loff_t?*f_pos)??
  • {??
  • ????int?result;??
  • ????loff_t?pos?=?*f_pos;?//pos:?offset??
  • ??
  • ????if?(pos?>=?256)?{??
  • ????????result?=?0;??
  • ????????goto?out;????????????????????????????????????????????????????????????????????????????????????????????????
  • ????}??
  • ????if?(count?>?(256?-?pos))??
  • ????????count?=?256?-?pos;??
  • ????pos?+=?count;??
  • ??
  • ????if?(copy_to_user(buf,?demo_buffer+*f_pos,?count))?{??
  • ????????count?=?-EFAULT;??
  • ????????goto?out;?????
  • ????}??
  • ??????
  • ????*f_pos?=?pos;??
  • out:??
  • ????return?count;??
  • }??
  • ??
  • ssize_t??demo_write(struct?file?*filp,?const?char?__user?*buf,?size_t?count,?loff_t?*f_pos)??
  • {??
  • ????ssize_t?retval?=?-ENOMEM;??
  • ????loff_t?pos?=?*f_pos;??
  • ??
  • ????if?(pos?>?256)??
  • ????????goto?out;??
  • ????if?(count?>?(256?-?pos))???
  • ????????count?=?256?-?pos;????
  • ????pos?+=?count;??
  • ????if?(copy_from_user(demo_buffer+*f_pos,?buf,?count))?{??
  • ????????retval?=?-EFAULT;??
  • ????????goto?out;?????
  • ????}??
  • ??????
  • ????*f_pos?=?pos;??
  • ????retval?=?count;??
  • out:??
  • ????return?retval;??
  • }??
  • ??
  • int??demo_ioctl(struct?inode?*inode,?struct?file?*filp,?unsigned?int?cmd,?unsigned?long?arg)??
  • {??
  • ????if?(cmd?==?COMMAND1)?{??
  • ????????printk("ioctl?command?1?successfully\n");??
  • ????????return?0;?????
  • ????}??
  • ????if?(cmd?==?COMMAND2)?{??
  • ????????printk("ioctl?command?2?successfully\n");??
  • ????????return?0;?????
  • ????}??
  • ????printk("ioctl?error\n");??
  • ????return?-EFAULT;??
  • }??
  • ??
  • loff_t?demo_llseek(struct?file?*filp,?loff_t?off,?int?whence)??
  • {??
  • ????loff_t?pos;??
  • ??????
  • ????pos?=?filp->f_pos;??
  • ????switch?(whence)?{??
  • ????case?0:??
  • ????????pos?=?off;??
  • ????????break;??
  • ????case?1:??
  • ????????pos?+=?off;??
  • ????????break;??
  • ????case?2:??
  • ????default:??
  • ????????return?-EINVAL;???
  • ????}??
  • ??????
  • ????if?((pos?>?256)?||?(pos?<?0))??
  • ????????return?-EINVAL;??
  • ??????
  • ????return?filp->f_pos?=?pos;??
  • }??
  • ??
  • struct?file_operations?demo_fops?=?{??
  • ????.owner?=?THIS_MODULE,??
  • ????.llseek?=?demo_llseek,??
  • ????.read?=?demo_read,??
  • ????.write?=?demo_write,??
  • ????.ioctl?=?demo_ioctl,??
  • ????.open?=?demo_open,??
  • ????.release?=?demo_release,??
  • };??
  • ??
  • void?demo_cleanup_module(void)??
  • {??
  • ????dev_t?devno?=?MKDEV(DEMO_MAJOR,?DEMO_MINOR);??
  • ??????
  • ????if?(demo_devices)?{??
  • ????????cdev_del(&demo_devices->cdev);??
  • ????????kfree(demo_devices);??
  • ????}??
  • ????unregister_chrdev_region(devno,?1);??
  • }??
  • ??
  • Init?module流程:??
  • 1)注冊設備號MKDEV;??
  • 2)注冊設備驅動程序,即初始化cdev結構(嵌入到demo_devices結構中)??
  • int?demo_init_module(void)??
  • {??
  • ????int?result;??
  • ????dev_t?dev?=?0;??
  • ??????
  • ????dev?=?MKDEV(DEMO_MAJOR,?DEMO_MINOR);??
  • ????result?=?register_chrdev_region(dev,?1,?"DEMO");??
  • ????if?(result?<?0)?{??
  • ????????printk(KERN_WARNING?"DEMO:?can't?get?major?%d\n",?DEMO_MAJOR);??
  • ????????return?result;??
  • ????}??
  • ????demo_devices?=?kmalloc(sizeof(struct?demo_dev),?GFP_KERNEL);??
  • ????if?(!demo_devices)?{??
  • ????????result?=?-ENOMEM;??
  • ????????goto?fail;??
  • ????}??
  • ????memset(demo_devices,?0,?sizeof(struct?demo_dev));??
  • ????cdev_init(&demo_devices->cdev,?&demo_fops);????
  • demo_devices->cdev.owner?=?THIS_MODULE;??
  • ????demo_devices->cdev.ops?=?&demo_fops;?//將創建的字符設備與file_operations中各函數操作連接起來??
  • ??
  • ????result?=?cdev_add(&demo_devices->cdev,?dev,?1);??
  • ????if?(result)?{??
  • ????????printk(KERN_NOTICE?"error?%d?adding?demo\n",?result);??
  • ????????goto?fail;??
  • ????}??
  • ????return?0;??
  • fail:??
  • ????demo_cleanup_module();??
  • ????return?result;??
  • }??
  • ??
  • module_init(demo_init_module);??
  • module_exit(demo_cleanup_module);??

  • ?

    2)加載驅動insmod demo.ko,再使用lsmodcat /proc/modules查看驅動是否安裝;

    3)創建設備節點:mknod? /dev/yangjin c 224 0;注意:此處的節點設備號要與驅動程序中的注冊的設備號相同。

    4)再編寫應用程序測試代碼:

    用戶測試代碼:

    [cpp] view plaincopy
  • #include?<sys/types.h>??
  • #include?<unistd.h>??
  • #include?<fcntl.h>??
  • #include?<linux/rtc.h>??
  • #include?<linux/ioctl.h>??
  • #include?<stdio.h>??
  • #include?<stdlib.h>??
  • ??
  • #define?COMMAND1?1??
  • #define?COMMAND2?2??
  • ??
  • int?main()??
  • {??
  • ????int?fd;??
  • ????int?i;??
  • ????char?data[256]?=?{0};??
  • ????int?retval;??
  • ??????
  • ????fd?=?open("/dev/yangjin",?O_RDWR);??
  • ????if?(fd?==?1)?{??
  • ????????perror("open?error\n");??
  • ????????exit(-1);??
  • ????}??
  • ????printf("open?/dev/yangjin?successfully\n");??
  • ????retval?=?ioctl(fd,?COMMAND1,?0);??
  • ????if?(retval?==?-1)?{??
  • ????????perror("ioctl?error\n");??
  • ????????exit(-1);??
  • ????}??
  • ????printf("ioctl?command?1?successfully\n");??
  • ????retval?=?write(fd,?"yangjin",?7);??
  • ????if?(retval?==?-1)?{??
  • ????????perror("write?error\n");??
  • ????????exit(-1);??
  • ????}??
  • ????retval?=?lseek(fd,?0,?0);??
  • ????if?(retval?==?-1)?{??
  • ????????perror("lseek?error\n");??
  • ????????exit(-1);??
  • ????}??
  • ????retval?=?read(fd,?data,?10);??
  • ????if?(retval?==?-1)?{??
  • ????????perror("read?error\n");??
  • ????????exit(-1);??
  • ????}??
  • ????printf("read?successfully:?%s\n",?data);??
  • ????close(fd);??
  • ????return?0;??
  • }??


  • 總結

    以上是生活随笔為你收集整理的linux驱动文件操作简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    免费三级a| 高清一区二区三区av | 青青河边草手机免费 | 麻豆 videos | 精品嫩模福利一区二区蜜臀 | 国产精品久久久久一区二区三区共 | 亚洲三级毛片 | 国产精品久久中文字幕 | 在线看国产一区 | 国产成人精品一区二区三区网站观看 | 人人网av| 高清日韩一区二区 | 中文永久字幕 | 国产精品久久久久久久久岛 | 日韩影视在线观看 | av专区在线 | 国产97av| 免费a v观看| 国产久草在线观看 | 久久精品96 | 视频在线观看入口黄最新永久免费国产 | 亚洲一区二区三区91 | 深夜精品福利 | 国产精品www| 91网在线 | 色天天综合网 | 国产精品欧美久久久久无广告 | 亚洲一区二区精品 | 久久草草影视免费网 | 久草男人天堂 | 激情综合五月网 | 黄色av高清 | 久久人视频 | 久久er99热精品一区二区三区 | 亚洲午夜小视频 | 天天综合日日夜夜 | 欧洲成人av| 人人爱人人射 | 中文字幕在线观看1 | 玖玖精品在线 | av中文字幕在线免费观看 | 中文视频在线 | 在线中文字幕观看 | 一级性av| 九九色综合 | 99精品视频播放 | 中文字幕高清视频 | 亚洲成av人片在线观看无 | 爱色av.com| 91久久久久久国产精品 | 日韩成人精品一区二区 | 久久精品www人人爽人人 | 免费高清男女打扑克视频 | 一区二区三区在线观看免费 | 五月婷网站 | 国产精品久久久久久久电影 | 久草精品视频 | 久久久一本精品99久久精品66 | 国产成人a亚洲精品 | 色999在线| 日韩二三区 | 国产一级黄色片免费看 | 精品国产大片 | 久久精品国产亚洲精品 | 午夜丰满寂寞少妇精品 | 亚洲免费不卡 | 在线视频在线观看 | 外国av网 | 欧美最猛性xxxxx(亚洲精品) | 成人一级片视频 | 国产精品美女在线 | 午夜.dj高清免费观看视频 | 久久久久伦理电影 | 日韩电影精品 | 日韩av成人在线 | 在线色资源 | 亚洲综合在线一区二区三区 | 国产综合在线视频 | 欧美乱码精品一区二区 | 97视频在线观看网址 | 麻豆视频在线观看免费 | 成人精品视频久久久久 | 国产色在线,com | 久久女同性恋中文字幕 | 国产精品初高中精品久久 | 天天干天天天 | 9在线观看免费高清完整版在线观看明 | 美女福利视频网 | 国产精品a久久 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 五月婷婷电影网 | 999男人的天堂 | 在线有码中文 | 狠狠久久婷婷 | 免费人做人爱www的视 | 色a网 | 成人资源网 | 久久综合九九 | 欧美日韩国产二区三区 | 中文免费观看 | 日本系列中文字幕 | 日本中文字幕高清 | 国产精品一区免费在线观看 | 五月丁婷婷 | 国产精品三级视频 | 婷婷夜夜 | 国产亚洲亚洲 | 久精品在线观看 | 亚洲天堂首页 | 香蕉视频在线免费看 | 欧美日韩国产一二三区 | 超碰av在线免费观看 | 视频在线播放国产 | 91免费观看网站 | 久人人| 亚洲区色 | 欧美一区二区在线免费看 | 色偷偷88888欧美精品久久 | 国产精品1000 | 最新99热| 国产精彩视频一区 | 精品女同一区二区三区在线观看 | 国产成人精品久久亚洲高清不卡 | 色小说在线 | 99免费在线观看 | 国精产品一二三线999 | 国产成人一区二区三区在线观看 | av免费电影在线观看 | 久久午夜精品视频 | 国产va精品免费观看 | 999一区二区三区 | 日韩在线激情 | 99精品视频播放 | 免费性网站| 草久久久久久 | 久久一区二 | 久久伦理电影网 | 欧美日韩国产综合网 | 亚洲综合最新在线 | 婷婷丁香色 | 97视频中文字幕 | 日韩理论在线播放 | 狠狠干夜夜爽 | 国产亚洲精品久久久久久久久久久久 | 三级av在线免费观看 | 一本—道久久a久久精品蜜桃 | 在线观看久 | 午夜视频黄 | a v在线视频| 中文字幕在线观看免费高清电影 | 国产精品欧美一区二区 | 国产一卡久久电影永久 | 国产精品久久久av久久久 | 成人黄色在线观看视频 | 久久久免费播放 | 国产尤物在线观看 | 精品久久免费看 | 亚洲精品美女久久久久 | 日韩中文字幕91 | 91在线视频播放 | 国产精品成久久久久三级 | 97av影院| 欧美在线一二 | 一本一本久久a久久精品综合妖精 | 99精品视频99 | 亚洲国产精品电影在线观看 | 欧亚日韩精品一区二区在线 | 超碰97网站| 麻豆视频免费入口 | 在线看v片 | 黄色tv视频| 亚洲五月婷婷 | 欧美一级视频免费看 | 国产精品原创 | 亚洲精品在线播放视频 | 91九色老| 在线国产一区二区三区 | 久久久电影| 日日夜夜精品免费观看 | 99久久精品免费看国产免费软件 | 中文字幕激情 | 久久久久久草 | 久久久久国产成人精品亚洲午夜 | 日韩91在线 | 亚洲91网站 | 色哟哟国产精品 | 97操操| 日韩.com | 日韩免费在线观看 | 婷婷五月色综合 | a特级毛片 | 在线观看中文字幕 | 久久久久久国产精品久久 | 久草视频在线资源站 | 午夜精品视频福利 | 久久久精品国产免费观看同学 | 在线91网 | 中文字幕久久精品 | av大片免费在线观看 | 久久久国产成人 | 在线视频免费观看 | 六月久久婷婷 | 主播av在线 | 久久女同性恋中文字幕 | 国产亚洲精品久久19p | 91av色| 久久视频免费看 | 中文字幕乱码电影 | 久久久久电影 | 丁香资源影视免费观看 | 精品国精品自拍自在线 | 热久久免费视频 | 999电影免费在线观看 | 日韩午夜大片 | 久久男女视频 | 免费看的黄色的网站 | 成 人 免费 黄 色 视频 | 亚洲色图27p | 国产高清专区 | 97免费在线观看视频 | 日日操天天射 | 午夜久久久久久久 | 97网在线观看 | 九九九九热精品免费视频点播观看 | 麻豆首页| 国产99久久九九精品免费 | 日韩免费在线观看 | bbbbb女女女女女bbbbb国产 | 日韩成人在线一区二区 | 午夜久久精品 | 久久久亚洲电影 | 久久精品久久久精品美女 | 丁香综合激情 | 亚洲v欧美v国产v在线观看 | 97视频在线观看成人 | 97视频免费看 | 99九九视频 | japanesexxxhd奶水| 丁香花在线观看视频在线 | 97色婷婷 | 国产精品不卡视频 | 婷婷综合网| 国产精品第二页 | av片在线观看免费 | 国产成人精品在线观看 | 国产在线视频一区二区 | 人人插人人做 | 国产h在线播放 | 四虎成人精品永久免费av九九 | 日日爱视频 | 久久网站免费 | 综合久久网站 | 国产91探花| 国产精品乱码在线 | 日韩午夜在线 | 九九热在线精品 | 青青草在久久免费久久免费 | 国产亚洲精品无 | 欧美极品xxxx | 69国产盗摄一区二区三区五区 | 日本精品va在线观看 | 日日夜夜网 | 欧美日韩一区二区三区在线观看视频 | 美女在线观看网站 | 免费视频成人 | 视色网站 | 久久久久久蜜av免费网站 | 精品毛片在线 | 男女靠逼app | 美女福利视频一区二区 | 六月丁香激情综合色啪小说 | 最新国产精品亚洲 | 欧美久久久影院 | 国产精品爽爽久久久久久蜜臀 | 久久超级碰 | 国精产品999国精产品视频 | 久久久鲁 | 中文字幕乱码在线播放 | 免费看网站在线 | 国产亚洲一区二区在线观看 | 国产精品入口麻豆www | 黄视频网站大全 | 91视频三区 | 久草免费在线视频观看 | 成人av在线一区二区 | 性色大片在线观看 | 99一区二区三区 | 亚洲成人xxx | 青青视频一区 | 欧美高清成人 | 亚洲91在线 | 91视频91蝌蚪 | 日本在线视频网址 | www91在线 | 欧美日韩一区二区视频在线观看 | 午夜精品久久一牛影视 | av黄色影院 | 欧美伦理一区二区三区 | 婷婷丁香激情 | 亚a在线| 日韩精品在线看 | avav片| av免费片 | 精品国内自产拍在线观看视频 | 九九色视频| 亚洲一区二区精品3399 | 少妇视频一区 | 国产99久久久久久免费看 | 久久一区二区三区四区 | 在线视频亚洲 | 日韩在线观看a | 国产精品色视频 | 亚洲免费黄色 | 超碰在线人人草 | 欧美日韩中文字幕综合视频 | 成人av在线影视 | 五月天狠狠操 | 色在线免费| 丁香婷婷综合五月 | 97碰碰精品嫩模在线播放 | 色偷偷888欧美精品久久久 | 久久久久电影网站 | 99国产精品一区 | 99久久精品免费 | 视频国产区 | 精品一区电影 | 久久久国产影院 | 国产经典 欧美精品 | 日日摸日日添日日躁av | 人人爽久久久噜噜噜电影 | 中文字幕亚洲综合久久五月天色无吗'' | 久久久91精品国产一区二区精品 | 在线免费中文字幕 | 久久久久久久久久福利 | 黄网站色| 国产黄色大全 | 久久久久久久久久久网 | 亚洲精品视频偷拍 | 国产在线不卡 | 免费精品人在线二线三线 | 992tv人人网tv亚洲精品 | 00av视频 | 狠狠色丁香婷婷综合 | 337p日本欧洲亚洲大胆裸体艺术 | 成人中文字幕av | 免费黄在线观看 | 黄色影院在线免费观看 | 免费看精品久久片 | 成 人 免费 黄 色 视频 | 日日日日干 | 四虎国产 | 麻豆视频免费网站 | 狠狠色丁香久久婷婷综合丁香 | 成人黄色电影在线 | 久草在线免费电影 | 亚洲国产精品久久久久 | 五月综合激情婷婷 | 一区二区精品国产 | 中文在线www| 国产精品永久免费在线 | 国产黄视频在线观看 | 久久精品91久久久久久再现 | 久久夜色精品国产欧美乱 | 成人精品国产 | 伊人手机在线 | 日韩在线免费看 | 国产日女人 | 日本精品久久久久 | 成人精品福利 | 麻豆91在线 | 欧美一二三区在线观看 | a黄在线观看 | 成人精品国产免费网站 | av在线免费不卡 | 人人草在线观看 | 精品国产日本 | 国产伦理一区二区 | 青青五月天 | 最近高清中文字幕在线国语5 | 少妇按摩av | 日韩最新在线视频 | 欧美日产在线观看 | 欧美日韩精品在线视频 | 五月激情姐姐 | 国产黄色在线观看 | 在线午夜 | 国产一级高清视频 | 成人精品一区二区三区中文字幕 | 最新国产精品拍自在线播放 | 国产精品毛片一区二区在线 | 成人全视频免费观看在线看 | 天天色天天综合网 | 天天做天天爱天天爽综合网 | 狠狠的干狠狠的操 | 国产伦精品一区二区三区无广告 | 国产成人综合精品 | 日本天天色 | 日韩在线一二三区 | 狠狠操综合网 | 免费在线观看毛片网站 | 久久综合狠狠综合 | 精品久久久久一区二区国产 | 天天爱天天操天天爽 | 天天干天天操人体 | 久久男人视频 | 天天爽人人爽夜夜爽 | 色射爱 | 日韩美视频 | 久久久久久久久久久久久影院 | 日韩一二区在线 | 91九色老| 天堂av在线 | 日韩在线小视频 | 色多视频在线观看 | 欧美另类色图 | 狠狠色丁香久久综合网 | 天天操天天干天天爱 | 久草在线免费资源 | 国产专区欧美专区 | 天天干亚洲 | 青草视频在线播放 | 久久伊人八月婷婷综合激情 | 人人澡人人澡人人 | 久久久久久久久久久精 | 欧美一级免费黄色片 | 在线免费看黄网站 | 菠萝菠萝在线精品视频 | 国产免费嫩草影院 | 久久人人97超碰精品888 | 国产成人在线免费观看 | 91av电影| 蜜臀av夜夜澡人人爽人人 | 国产日韩精品一区二区三区在线 | 久久久久久欧美二区电影网 | 婷婷国产精品 | 狠狠狠狠狠狠 | 国产在线不卡精品 | 久久久免费毛片 | 国产视频97 | 久久久久高清毛片一级 | 天天干com| 亚洲视频在线免费观看 | 日日夜夜天天操 | av丁香| 国产精彩在线视频 | 久日视频| 美腿丝袜一区二区三区 | 国产免费中文字幕 | 午夜精品久久久久久久99婷婷 | 日本最新一区二区三区 | 黄色免费视频在线观看 | 国产精品国产三级国产不产一地 | 91插插视频| 久久久免费精品国产一区二区 | 欧美日韩视频在线观看免费 | av不卡在线看 | 中文字幕色站 | 69精品久久 | 久久激情五月激情 | 亚洲美女免费视频 | 菠萝菠萝在线精品视频 | 亚洲有 在线 | 中文字字幕在线 | 中文亚洲欧美日韩 | 69中文字幕 | 麻豆视频免费播放 | 日躁夜躁狠狠躁2001 | av.com在线 | 国内免费久久久久久久久久久 | 99热最新 | www.日日日.com| 国产亚洲在线视频 | 国产美女视频 | 久久视频国产精品免费视频在线 | 在线成人av| 最近免费观看的电影完整版 | 免费三级a | 500部大龄熟乱视频 欧美日本三级 | 免费av 在线| 久久影院一区 | 久久久精品免费看 | 四虎影院在线观看av | 婷婷丁香狠狠爱 | 亚洲 欧美 另类人妖 | 91在线入口 | 国产视频一区精品 | 成人午夜免费福利 | 精品久久久久亚洲 | av网站手机在线观看 | 日韩在线影视 | 五月综合在线观看 | 一本之道乱码区 | 久久中文字幕视频 | 中文字幕在线看视频 | 亚洲精品国偷拍自产在线观看 | 夜夜躁日日躁狠狠久久88av | 国产亚洲精品bv在线观看 | 美国av大片 | 97超碰伊人| 看av免费| 88av网站| 夜色资源网 | 最近日韩免费视频 | 精品视频中文字幕 | 久久久久久综合网天天 | 亚洲午夜精品福利 | 操操日日 | 综合久久久久久久 | 亚洲五月 | 成人黄色小说在线观看 | 亚洲成人xxx | 国产黄色特级片 | 久久久国产99久久国产一 | 色亚洲激情 | 成人毛片网 | 国产黄大片 | 国产精品成人免费精品自在线观看 | 丝袜制服综合网 | 97国产精品免费 | 欧美在线视频日韩 | 国产视频一区二区在线观看 | 九色激情网 | 在线亚洲观看 | 网址你懂的在线观看 | 亚洲一区日韩精品 | 国产精品国产三级国产不产一地 | 五月婷婷丁香 | 国产中文字幕在线播放 | 久久国产手机看片 | a视频免费看 | 久久亚洲电影 | 免费在线激情视频 | 天天人人| 美女视频黄免费网站 | 亚洲乱亚洲乱亚洲 | 欧美激情第一区 | 国产日韩中文在线 | 日韩免费视频线观看 | 久久精品电影 | 精品久久免费看 | 成年人免费看片网站 | 91人人爽久久涩噜噜噜 | 久久99国产精品自在自在app | 久久久久国产一区二区三区 | 国产精品免费视频观看 | 99中文字幕在线观看 | 日韩综合第一页 | 久久99亚洲精品久久 | 午夜久久电影网 | 亚洲成av人影片在线观看 | 免费成人在线观看视频 | 日韩激情视频在线 | 亚洲黄色高清 | 91精品对白一区国产伦 | 国产在线不卡精品 | 国内精品久久久久久久久久久 | 成人久久18免费网站图片 | 韩国一区二区三区在线观看 | 国产一区成人在线 | 欧美性黑人 | 极品国产91在线网站 | 天天综合天天做 | 自拍超碰在线 | 四月婷婷在线观看 | 91亚洲网站 | 国产美女精品视频 | 国产91精品在线播放 | 欧美亚洲专区 | 亚洲精品午夜aaa久久久 | 免费人做人爱www的视 | 国产1区2区3区精品美女 | 国产精品久久久久久久久久久久午 | 精品99免费视频 | 狠狠操操操 | 国产高清在线免费观看 | 97超碰免费| 97国产大学生情侣酒店的特点 | 少妇性bbb搡bbb爽爽爽欧美 | 色综合天天色 | 在线欧美中文字幕 | 美女网站视频免费都是黄 | 国产一区视频在线播放 | 日韩久久精品一区二区三区下载 | 99re国产 | 中文字幕成人在线 | 很黄很污的视频网站 | 91av免费看 | 91久久奴性调教 | 欧美日韩亚洲在线观看 | 国产无遮挡又黄又爽馒头漫画 | 中文字幕在线中文 | 国产成在线观看免费视频 | 国产成人久久av977小说 | 香蕉视频在线视频 | 欧美一级电影在线观看 | 久久99在线| 丁香av | 99999精品| 国产精品免费观看国产网曝瓜 | 青春草视频 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 欧美日韩一区二区三区在线观看视频 | 欧美久久久久久久久中文字幕 | 免费在线观看一区 | 免费观看v片在线观看 | 久久久美女| 成人黄色在线播放 | 私人av | www.狠狠插.com | 国产黄色免费电影 | 91精品国自产在线 | 久久久久国产精品一区 | 国产精品一区二区三区观看 | 国产特黄色片 | 久久久免费精品国产一区二区 | 亚洲精品免费在线 | 久久精品1区 | 日韩中文字幕免费视频 | 久久综合狠狠综合久久激情 | 91精品国产99久久久久 | 人人添人人 | 精品国产精品一区二区夜夜嗨 | 国产最顶级的黄色片在线免费观看 | 高潮久久久久久久久 | 久久国产精品一二三区 | 日韩免费观看一区二区 | 国产亚洲一区二区三区 | 亚洲综合涩 | 免费观看xxxx9999片 | 亚洲一级黄色片 | 蜜桃av人人夜夜澡人人爽 | 韩国一区二区av | 日韩视频欧美视频 | 天天干天天看 | 亚洲视频网站在线观看 | 国产精品久久久久久久久久了 | 精品久久国产一区 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 黄污在线看 | 在线播放av网址 | 中文字幕在线观看视频一区二区三区 | 亚洲狠狠操 | 成人网444ppp| 久久99精品久久久久久秒播蜜臀 | 日韩欧美视频一区二区 | 国产在线一区观看 | 香蕉在线观看视频 | 国产九九热| www黄| 久久久这里有精品 | 美女亚洲精品 | 天天色天天操天天爽 | 中文字幕观看av | 黄污网站在线 | 亚洲视频2 | 亚洲成人免费 | 99精品视频免费 | 97在线观看免费高清完整版在线观看 | 国产99爱| 天天天操天天天干 | 成人久久久久久久久 | 三级av中文字幕 | 久久久久女人精品毛片九一 | 美女精品在线观看 | 国产午夜影院 | 日本黄色免费电影网站 | 伊色综合久久之综合久久 | 丁香激情视频 | 九九九热视频 | 97国产视频 | 97在线精品国自产拍中文 | www.五月婷| 综合激情 | 亚洲激情校园春色 | 2020天天干天天操 | 久久精品区 | 国产精品日韩久久久久 | 久久精品福利视频 | 亚洲成人av在线电影 | 亚洲永久免费av | 深爱激情五月婷婷 | 狠狠久久 | av一级片网站 | av在线播放中文字幕 | 97超在线 | 综合网av | 操操综合 | 精品国产乱码久久久久久三级人 | 中文字幕人成不卡一区 | 综合激情久久 | 黄色av电影 | 人人玩人人弄 | 国内精品久久久久久久97牛牛 | 国产精品成人自产拍在线观看 | 97国产在线观看 | 日韩在线免费视频观看 | 日韩大片在线 | 91插插插免费视频 | 国产精品福利在线 | 中文字幕亚洲不卡 | 91最新网址 | 成人午夜剧场在线观看 | av高清网站在线观看 | 国产一区私人高清影院 | 成人免费在线视频 | 欧美色图亚洲图片 | 精品国产免费看 | 在线观看欧美成人 | 国产亚洲在线 | 欧美在线不卡一区 | 久久一区二区三区日韩 | 国产精品久久久久久久久搜平片 | 一本到视频在线观看 | 色噜噜在线观看 | 在线亚洲人成电影网站色www | 国产精品va在线观看入 | 欧美另类v| 国产成人高清在线 | 天天色天天射综合网 | 久插视频 | 欧美a级片免费看 | 69精品在线 | 久久久久久久久久久黄色 | 97视频在线观看视频免费视频 | 日日日日| 国产亚洲精品久久久久久网站 | 国产一级免费片 | 国产91精品一区二区麻豆网站 | 久久久久久国产一区二区三区 | 天天亚洲| 成年人免费电影 | 国产精品网红直播 | 国产色在线视频 | 色视频网址 | 色 中文字幕 | 深爱激情久久 | 精品在线观看一区二区三区 | 国产成人精品电影久久久 | 国产青青青| 天天激情综合网 | 狠狠的干狠狠的操 | 国产一级片视频 | 91成人免费在线视频 | 久久热亚洲 | 美女黄色网在线播放 | 国产成年人av | 久久综合电影 | 日日夜色 | 国产亚洲久一区二区 | 欧美日韩免费在线观看视频 | 免费又黄又爽的视频 | 免费看片网址 | 狠狠的操狠狠的干 | 成人一区在线观看 | 在线91播放| 黄色av免费看 | av三级av| 久久久高清免费视频 | 亚洲一区 av| 天天爽天天碰狠狠添 | 九九热在线精品 | 日韩一级电影网站 | 91视频 - 88av | 黄色网www| 三级动态视频在线观看 | 精品久久久久_ | 日日夜夜精品视频天天综合网 | 中文字幕丰满人伦在线 | 国产精品高潮呻吟久久av无 | 九九久久久久99精品 | 午夜精品久久久久久久99水蜜桃 | 日韩在线观看你懂得 | 色婷婷视频在线观看 | 欧美国产不卡 | www色网站 | 99精品国产免费久久久久久下载 | 国产专区第一页 | 国产成人精品综合久久久久99 | 国产日韩视频在线观看 | 国产午夜精品一区二区三区嫩草 | 狠狠干狠狠色 | 免费视频在线观看网站 | 欧美激情另类文学 | 久久久99精品免费观看app | 久久深夜 | 免费在线日韩 | 久久在线精品视频 | 婷婷六月激情 | 九色精品在线 | 天天综合精品 | 久久免费视频2 | 国色天香在线 | 久久免费视频一区 | 日韩欧美一区视频 | 日本黄色一级电影 | 国产免费观看久久黄 | 国产精品videoxxxx | 免费又黄又爽 | 黄色录像av | 日本高清中文字幕有码在线 | 精品九九久久 | 91精品中文字幕 | 96久久久| 一区二区三区日韩视频在线观看 | 91av免费观看 | 国产成人精品综合久久久 | 国产一二三四在线视频 | 一区二区三区国产欧美 | 中文字幕在线久一本久 | 黄www在线观看 | 久久字幕网 | 日韩国产精品一区 | 91伊人影院| 日韩字幕在线观看 | 中文字幕欧美三区 | 久久国产精品成人免费浪潮 | 波多野结衣视频一区二区 | 久久天天操| 久久久久久久久免费 | 国产精品国产三级国产 | 亚洲精品乱码久久久久久写真 | 一级全黄毛片 | 亚洲精品在线观看视频 | 97免费在线观看视频 | www.亚洲精品| 国产精品黄 | 一区二区三区免费在线观看 | 欧美一级黄色网 | 人人射人人爽 | 久久综合99 | 免费看精品久久片 | 精品国产欧美一区二区三区不卡 | 亚洲婷婷综合色高清在线 | 一区二区欧美激情 | 亚洲四虎在线 | 日韩在线观看视频一区二区三区 | 色综合久久精品 | 91女神的呻吟细腰翘臀美女 | 国产精品去看片 | 天天av天天| 激情视频在线高清看 | 中文字幕在线不卡国产视频 | 日日夜夜天天人人 | 天天天综合 | 五月天激情综合 | 天堂av在线7 | 欧美性色黄| 国产不卡在线看 | 免费看国产视频 | 国产极品尤物在线 | 亚洲片在线 | 黄色aaa级片 | 国产精品1区2区在线观看 | 日韩精品专区 | 国产一区二区不卡视频 | 人人干天天干 | 国产亚洲婷婷 | 国产亚洲综合性久久久影院 | 国产精品久久久久久一区二区 | 91毛片视频 | 国产精品麻豆欧美日韩ww | 成人动漫一区二区 | 激情综合中文娱乐网 | 91大神一区二区三区 | 国产一区成人 | 日韩av高清在线观看 | 久久这里只有精品1 | 91视频-88av | 欧美美女视频在线观看 | 色香蕉在线 | 国产精品欧美久久久久天天影视 | 99精品在线直播 | 在线观看av网站 | 免费精品人在线二线三线 | 伊人天天操 | 伊人亚洲综合 | 中文字幕在线播放一区 | 久久狠狠婷婷 | 日韩大片在线播放 | 黄色在线观看免费网站 | 精品久久一级片 | av免费在线播放 | 亚洲狠狠婷婷综合久久久 | 欧美精品在线观看一区 | 国产精品国产自产拍高清av | 亚州成人av在线 | 精品国产乱码一区二区三区在线 | 天天干,天天射,天天操,天天摸 | 国产成人久久精品77777 | 91av在线看| www.色午夜,com| 欧美91精品| 9999在线视频 | 日本91在线| 91福利视频久久久久 | 开心色激情网 | 伊人资源站 | 婷婷精品国产欧美精品亚洲人人爽 | 最近中文字幕第一页 | 在线色亚洲 | 在线 视频 一区二区 | 亚洲乱码在线 | 91精品视频导航 | 国产精品乱码久久久久久1区2区 | 92av视频| av电影免费在线看 | 日韩videos高潮hd | 国产经典 欧美精品 | 成人性生活大片 | 国产资源在线观看 | 精品亚洲视频在线观看 | 国产精品成人自产拍在线观看 | 国色综合 | 六月久久婷婷 | 日韩免费在线一区 | 人人爽人人片 | 夜夜骑日日 | 国产美女网站在线观看 | 在线不卡中文字幕播放 | 日韩在线电影观看 | 91精品国产成 | 亚洲精品videossex少妇 | 大型av综合网站 | aaa免费毛片 | 欧美人体xx | 久久久久久久久久久免费视频 | 亚洲黄在线观看 | 婷婷激情综合五月天 | 国产高清久久久久 | 成人免费视频网址 | 亚洲片在线观看 | av中文电影 | 黄色的网站免费看 | 国产精品高潮呻吟久久av无 | 久久不射电影院 | 欧美激情视频久久 | av在线免费网 | 韩国av免费在线观看 | 国产在线观看免费av | 97免费中文视频在线观看 | 麻豆传媒在线免费看 | 91视频免费视频 | 免费高清av在线看 | 韩国精品一区二区三区六区色诱 | 欧美日韩高清一区二区三区 | 欧美天堂影院 | 久久综合免费视频 | 91精品欧美| 久久成人综合视频 | 91污视频在线 | 免费看在线看www777 | 午夜精品福利在线 | 久久99国产精品免费 | 久久久久久久国产精品影院 | 成人在线一区二区三区 | 国产精品一区二区在线观看 | av成人动漫| 久草在线久草在线2 | 波多野结依在线观看 | 黄色一集片 | 韩国av一区二区三区在线观看 | 国产专区精品视频 | 麻豆系列在线观看 | 国产精品久久久久久久久久直播 | 精品在线观看一区二区三区 | 少妇性xxx| 亚洲精品一区二区在线观看 | 欧美精品乱码久久久久久 | 久久一区二区三区四区 | 天天综合天天综合 | 色网站国产精品 | 亚洲综合在线播放 | 香蕉免费在线 | 天天操天天摸天天干 | 黄色软件大全网站 | 亚洲精品国产免费 | 在线免费黄色毛片 | 六月婷操 | 色综合天 | 国产精品情侣视频 | 波多野结衣在线观看一区二区三区 | 久久久久久久久久福利 | 中文字幕有码在线 | 成人免费在线看片 | 欧美日韩久久不卡 | 久久avav| 国产在线播放观看 | 三级黄色在线 | 国产精品 国内视频 | 91免费网| 天天射天天爱天天干 | 最近免费中文视频 | 开心激情综合网 | a色网站| 午夜 免费| av电影中文字幕在线观看 | 黄色的视频网站 | 丁香午夜婷婷 |