精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux下的共享內存編程

系統 Linux
前面帶小伙伴們學習了共享內存相關的內容,先簡單介紹下共享內存,然后進行結構及函數的學習,最后擼代碼使用一下這些函數使用一下共享內存,希望對大家有所幫助哈!

[[385298]]

前面帶小伙伴們學習了共享內存相關的內容,先簡單介紹下共享內存,然后進行結構及函數的學習,最后擼代碼使用一下這些函數使用一下共享內存,希望對大家有所幫助哈! 

 

1 共享內存的概念及使用過程

1)共享內存的概念

共享內存是IPC機制中的一種。

共享內存:即允許兩個或多個進程共享一個給定的存儲區。

2)共享內存的使用過程

① 進程1創建共享內存,接著映射共享內存。

② 進程2獲取共享內存,映射共享內存。

③ 交互完成,進程1分離共享內存,進程2分離共享內存。

④ 進程1刪除共享內存。

2 共享內存相關的結構及函數

0)共享內存相關的結構

內核為每個共享存儲段維護著一個結構,該結構至少要為每個共享存儲段包含以下成員。

  1. struct shmid_ds  
  2.      struct ipc_perm shm_perm;    // 操作權限  
  3.      size_t          shm_segsz;   // 段的大小(以字節為單位)  
  4.      time_t          shm_atime;   // 上一個進程附加到該段的時間  
  5.      time_t          shm_dtime;   // 上一個進程分離開該段的時間 
  6.      time_t          shm_ctime;   // 上一個進程修改該段的時間  
  7.      pid_t           shm_cpid;    // 創建該段進程的PID  
  8.      pid_t           shm_lpid;    // 上個shmat(2)/shmdt(2)的PID  
  9.      shmatt_t        shm_nattch;  // 當前附加到該段的進程的個數  
  10.      ... 
  11. }; 

系統為每一個IPC對象保存一個ipc_perm結構體,該結構說明了IPC對象的權限和所有者,每一個版本的內核各有不用的ipc_perm結構成員。

  1. struct ipc_perm  
  2.      key_t          __key;    // 為 shmget(2) 調用提供的鍵值 
  3.      uid_t          uid;      // 共享內存所有者的有效用戶UID  
  4.      gid_t          gid;      // 共享內存所有者所屬組的有效組GID  
  5.      uid_t          cuid;     // 共享內存創建者的有效用戶UID  
  6.      gid_t          cgid;     // 共享內存創建者所屬組的有效組ID  
  7.      unsigned short mode;     // 特權 + SHM_DEST 和SHM_LOCKED 標志  
  8.      unsigned short __seq;    // 序列號 
  9. }; 

1)shmget函數

shmget函數用于創建或者獲取共享內存,并返回其描述符id。

① 函數原型。

  1. int shmget(key_t key,size_t sizie,int shmflg) 

② 頭文件。

  1. include <sys/ipc.h>  
  2.  
  3. include <sys/shm.h>  

③ 參數。

key:共享內存的鍵值。

size:共享內存的大小。

shmflg:打開標志,如果使用了IPC_CREAT,則會新創建一塊共享內存。

④ 返回值。

成功:返回創建或者獲取到的共享內存的描述符。

失敗:-1。

2)shmat函數

shmat函數用于映射共享內存,即將進程連接到它的地址空間。

① 函數原型。

  1. void *shmat(int shmid,const void *shmaddr,int shmflg) 

② 頭文件。

  1. include <sys/types.h>  
  2.  
  3. include <sys/shm.h>  

③ 參數。

shmid:要映射的共享內存的描述符。

shmaddr:共享內存的地址。

shmflg:打開標志,如果使用了IPC_CREAT,則會新創建一塊共享內存。

④ 返回值。

成功:返回創建或者獲取到的共享內存的描述符。

失敗:-1。

3)shmdt函數

shmdt函數用于分離共享內存,即操作完存儲段后,用此函數可以將進程與此存儲段脫離開,即斷掉與共享內存的聯系。

① 函數原型。

  1. int shmdt(const void *shmaddr) 

② 頭文件。

  1. #include <sys/types.h> 
  2.  
  3. #include <sys/shm.h>  

③ 參數。

shmaddr:要斷開的共享內存的映射地址。

④ 返回值。

成功:0。

失敗:-1。

4)shmctl函數

shmctl函數用于控制共享內存,通過參數可以對共享內存進行特定的操作。

① 函數原型。

  1. int shmctl(int shmid, int cmd, struct shmid_ds *buf) 

② 頭文件。

  1. #include <sys/ipc.h> 
  2.  
  3. #include <sys/shm.h>  

③ 參數。

shmid:要控制的共享內存的id。

cmd:決定執行什么樣的控制操作,如IPC_RMID(表示刪除)。

buf:獲取linux中描述共享內存的shmid_ds結構。基本不使用。

cmd可去的參數如下,需要參照上面的結構shmid_ds和ipc_perm :

IPC_STAT:取此段的shmid_ds結構,并將它存儲在由buf指向的結構中。

IPC_SET:按buf指向的結構中的值設置與此共享存儲段相關的shmid_ds結構中的下列3個字段:shmperm.uid、shm perm.gid和shmperm.mode。

此命令只能由下列兩種進程執行:一種是其有效用戶ID等于shm_perm.cuid或shmperm.uid的進程;另一種是具有超級用戶特權的進程。

IPC_RMID:從系統中刪除該共享存儲段。

除非使用該段的最后一個進程終止或與該段分離,否則不會實際上刪除該存儲段。

不管此段是否仍在使用,該段標識符都會被立即刪除,所以不能再用shmat與該段連接。

此命令只能由下列兩種進程執行:一種是其有效用戶ID等于shm_perm.cuid或shm_perm.uid的進程;另一種是具有超級用戶特權的進程。

下面兩個命令只能由超級用戶執行:

SHM_LOCK:在內存中對共享存儲段加鎖。

SHM_UNLOCK:解鎖共享存儲段。

④ 返回值。

成功:根據不同的操作返回不同的值。

失敗:-1。

3 實例代碼

下面用兩個進程,給大家演示下共享內存的使用過程。

實例代碼如下,說明都在代碼注釋中了。

 

WriteMemory.c。

  1. #include <sys/types.h> 
  2. #include <sys/shm.h> 
  3. #include <sys/ipc.h> 
  4. #include <stdio.h> 
  5. #include <unistd.h> 
  6. #include <stdlib.h> 
  7. #include <string.h> 
  8.  
  9. #define SIZE 1024                              // 可輸入1K字符串 
  10.  
  11.  
  12. struct SharedMemoryST 
  13. {  
  14.       int ReadWriteFlag;                       // 表明是誰放進去的 
  15.       char CharData[SIZE];                     // 字符數組保存用戶輸入數據 
  16. }; 
  17.  
  18. int main(int argc,char *argv[]) 
  19.       int shmid; 
  20.       int ReadStatusFlag = 1;                 // 內存中數據是否被讀走,1未被讀走 
  21.       struct SharedMemoryST *shm;             // 共享內存結構變量 
  22.       char buffer[SIZE]; 
  23.   
  24.       key_t key=ftok("/tmp",12);              // 創建共享內存的鍵值,如果提示創建失敗(一般是沒有quit引起的),可以修改讀寫進程的鍵值,都要改成同一數字 
  25.  
  26.       //1 創建共享內存 
  27.       shmid = shmget(key,sizeof(struct SharedMemoryST),IPC_CREAT|IPC_EXCL|0777); 
  28.       if(shmid == -1)                         // 如果創建失敗 
  29.       { 
  30.            printf("\nCreating share memory fail!\n\n"); 
  31.            exit(1); 
  32.       } 
  33.  
  34.       //2 映射共享內存 
  35.       shm = shmat(shmid,NULL,0);              // 內存id,映射的位置,映射的標志(此無特殊要求) 
  36.  
  37.  
  38.       //3 查詢寫入的 
  39.       while(ReadStatusFlag)                   // 循環檢查寫入共享內存的數據是否被讀走,讀走后退出循環 
  40.       { 
  41.            while(shm->ReadWriteFlag == 1) 
  42.            { 
  43.                 sleep(1); 
  44.                 printf("\nWaiting read memory!\n"); 
  45.            } 
  46.    
  47.            // 獲取用戶輸入 
  48.            printf("\nPlease input data or input 'quit' to exit!\n\n"); 
  49.            fgets(buffer,SIZE,stdin);          // 參數:字符串的位置,長度,獲取的方式位置 
  50.    
  51.            // 將用戶輸入的字符串放入共享內存 
  52.            strncpy(shm->CharData,buffer,SIZE);// 參數:目的數據,源數據,數據大小 
  53.    
  54.            shm->ReadWriteFlag = 1; 
  55.  
  56.            if(strncmp(buffer,"quit",4) == 0)  // 最后一個參數為比較字符的數量 
  57.            { 
  58.                 ReadStatusFlag = 0;           // 寫入共享內存的數據已經被讀走 
  59.            } 
  60.  
  61.       } 
  62.  
  63.       //4 脫離共享存 
  64.       shmdt((const void *)shm); 
  65.  
  66.       return 0;                

ReadMemory.c。

  1. #include <sys/types.h> 
  2. #include <sys/shm.h> 
  3. #include <sys/ipc.h> 
  4. #include <stdio.h> 
  5. #include <unistd.h> 
  6. #include <stdlib.h> 
  7.  
  8. #define SIZE 1024                        // 可輸入1K字符串 
  9.  
  10. struct SharedMemoryST 
  11.      int ReadWriteFlag;                  // 標明是讀進程還是寫進程放入了數據 
  12.      char CharData[SIZE];                // 保存用戶輸入數據 
  13. }; 
  14.  
  15. int main(int argc,char *argv[]) 
  16.      int shmid; 
  17.      int ReadStatusFlag = 1;            // 內存中數據是否被讀走的標志位,1表示未被讀走 
  18.      struct SharedMemoryST *shm;        // 共享內存結構 
  19.    
  20.      key_t key=ftok("/tmp",12);         // 創建共享內存的鍵值,如果提示創建失敗,修改一下數字即可,讀寫進程都要改成同一數字 
  21.   
  22.    
  23.      //1 創建/獲取共享內存 
  24.      shmid = shmget(key,sizeof(struct SharedMemoryST),IPC_CREAT|0777);//分配大小為結構大小,1234是隨便給的鍵值 
  25.  
  26.      //2 映射共享內存 
  27.      shm = (struct SharedMemoryST *)shmat(shmid,NULL,0);              //內存id,映射的位置,映射的標志(此無特殊要求) 
  28.  
  29.      shm->ReadWriteFlag = 0; 
  30.  
  31.      //3 檢查是否收到信息,收到quit退出 
  32.      while(ReadStatusFlag) 
  33.      { 
  34.           //打印共享內存 
  35.          if(shm->ReadWriteFlag == 1)    // 等于說明有相應的數據 
  36.          {  
  37.               printf("\nThe write context is: %s\n",shm->CharData); 
  38.               shm->ReadWriteFlag = 0; 
  39.        
  40.               if(strncmp(shm->CharData,"quit",3) == 0) 
  41.               { 
  42.                     ReadStatusFlag = 0; // 結束查詢,退出 
  43.               } 
  44.          } 
  45.      } 
  46.  
  47.      //4 脫離共享內存 
  48.      shmdt((const void *)shm); 
  49.  
  50.      //5 刪除共享內存 
  51.      shmctl(shmid,IPC_RMID,0); 

寫共享內存先創建共享內存,寫入數據,讀共享內存讀取數據,通過標志查詢方式,退出輸入quit。

運行結果如下:

本文轉載自微信公眾號「嵌入式雜牌軍」,可以通過以下二維碼關注。轉載本文請聯系嵌入式雜牌軍公眾號。

 

責任編輯:武曉燕 來源: 嵌入式雜牌軍
相關推薦

2020-10-09 07:13:11

Linux系統編程mmap

2025-05-13 07:10:31

2019-05-08 11:10:05

Linux進程語言

2009-12-14 17:13:04

Linux系統修改共享

2018-01-12 14:35:00

Linux進程共享內存

2017-08-14 13:35:36

Linux共享內存tmpfs文件系統

2013-11-26 16:05:24

Linux共享內存

2021-10-06 20:23:08

Linux共享內存

2023-07-06 00:45:05

Linux保護模式

2021-03-08 08:55:41

Linux內存命令

2022-06-07 12:03:33

Java內存模型

2009-04-24 10:57:25

2009-08-08 09:50:30

Linux操作系統共享內存Linux

2010-06-11 11:15:33

Linux編程工具

2025-03-26 00:00:05

2013-04-09 14:49:18

Linux內存統計內存泄露

2010-09-27 15:03:34

TomcatJVM內存設置

2025-04-27 03:22:00

2017-04-13 13:00:27

LinuxWindowstomcat

2009-04-24 14:56:24

點贊
收藏

51CTO技術棧公眾號

日本精品视频在线| 午夜精品国产更新| 91久久综合亚洲鲁鲁五月天| 欧美精品久久久久性色| 国产精品毛片久久久| 欧美日韩中文字幕日韩欧美| 日韩尤物视频| 粉嫩小泬无遮挡久久久久久| 久久资源在线| 欧美大片第1页| 国产高潮呻吟久久| 日韩在线观看中文字幕| 亚洲国产精品久久不卡毛片| 蜜桃成人免费视频| 国产男女裸体做爰爽爽| 先锋亚洲精品| 欧美激情免费视频| 制服丨自拍丨欧美丨动漫丨| 国产精品tv| 欧美久久高跟鞋激| 国内外成人激情视频| bt在线麻豆视频| 中文字幕+乱码+中文字幕明步| 欧美福利在线播放网址导航| 欧美韩日高清| 国产精品日韩成人| 精品国产中文字幕| 国产不卡精品视频| 日韩av一区二区三区| 久久噜噜噜精品国产亚洲综合| 农村老熟妇乱子伦视频| 亚洲精品亚洲人成在线| 欧美tk丨vk视频| 色综合五月婷婷| 韩国精品主播一区二区在线观看| 亚洲国产综合91精品麻豆| 在线国产精品网| 黄色小视频在线观看| av色综合久久天堂av综合| 91黄色精品| 国产毛片在线视频| 麻豆91精品91久久久的内涵| 日本国产精品视频| 日本天堂在线视频| 国内一区二区三区| 久久99国产精品久久久久久久久| 成人午夜电影免费在线观看| 亚欧洲乱码视频| 亚洲高清在线一区| 911精品产国品一二三产区| 日韩在线第三页| 日本免费久久| 一本到一区二区三区| 成年人午夜视频在线观看| 人妖欧美1区| 一区二区三区 在线观看视频| 夜夜爽www精品| 日本综合在线| 亚洲日本成人在线观看| 91嫩草国产丨精品入口麻豆| 国产欧美黑人| 一区二区在线观看视频| 日本精品福利视频| 日本小视频在线免费观看| 亚洲精品欧美激情| 美女av免费观看| 色黄网站在线观看| 亚洲国产视频a| 日韩中文字幕在线视频观看| 欧美日韩亚洲免费| av在线亚洲天堂| 懂色av中文字幕一区二区三区| 97se亚洲综合在线| 三级小视频在线观看| 99国产精品99久久久久久| 久久精品成人一区二区三区蜜臀| 天天av综合网| 91蜜桃网址入口| 亚洲aⅴ天堂av在线电影软件| avav免费在线观看| 亚洲欧美日韩国产综合在线| 999一区二区三区| 成人线上视频| 在线成人小视频| 一区二区三区四区影院| 希岛爱理av免费一区二区| 伊人伊成久久人综合网小说| 四虎精品免费视频| 亚洲东热激情| 国产精品视频1区| 亚洲风情第一页| 久久久噜噜噜久久中文字幕色伊伊| 一本色道久久综合狠狠躁篇的优点| 国产精品美女www| 天天射天天干天天| 国产综合久久久久久鬼色 | 亚洲福利视频久久| 六月婷婷七月丁香| 欧美激情成人在线| 国产成人高清激情视频在线观看| 国产精品久久久久久在线| 成人丝袜18视频在线观看| 日韩精品伦理第一区| 午夜伦理在线视频| 在线一区二区观看| 国产精品一区二区人妻喷水| 青青草91久久久久久久久| 欧美精品电影免费在线观看| 中文av免费观看| 波多野洁衣一区| 国产精品波多野结衣| 欧美gay视频| 欧美大胆人体bbbb| 四虎成人免费影院| 一本色道久久综合亚洲精品高清 | 中文资源在线播放| 国产一区二区不卡在线| 欧美亚洲另类久久综合| 女同一区二区免费aⅴ| 欧美系列在线观看| 人妻无码一区二区三区| 一本到12不卡视频在线dvd| 欧美中在线观看| 色婷婷激情五月| 亚洲三级理论片| 日本综合字幕| 夜夜嗨av一区二区三区中文字幕| 动漫av网站免费观看| 精品中文字幕一区二区三区| 一区二区三区精品99久久| 尤物视频在线观看国产| 国产一区欧美二区| 亚洲国产一区二区精品视频| 欧美成人a交片免费看| 亚洲福利影片在线| 免费视频一二三区| 国产高清自拍视频在线观看| 免费一级欧美片在线观看| 久久大片网站| 岛国av在线播放| 欧美成人r级一区二区三区| 老熟妻内射精品一区| 久久精品国产免费看久久精品| 日本一区二区三区视频在线播放| 伊人久久综合一区二区| 日韩av一区在线观看| 69精品久久久| 北岛玲一区二区三区四区| 精品无码国产一区二区三区av| 涩涩屋成人免费视频软件| 欧美成人午夜影院| 精品人妻无码一区二区三区蜜桃一| 成人欧美一区二区三区在线播放| 亚洲免费av一区| 999国产精品| 成人a免费视频| a级网站在线播放| 88在线观看91蜜桃国自产| 免费成人深夜夜行p站| 性欧美长视频| 午夜精品电影在线观看| 在线成人视屏| 久久精品夜夜夜夜夜久久| 成人午夜在线影院| 色wwwwww| 一本久久a久久免费精品不卡| 五级黄高潮片90分钟视频| 蜜桃av综合| 亚洲午夜在线观看| 欧美国产亚洲精品| 亚洲 日韩 国产第一| 美丽的姑娘在线观看免费动漫| 色屁屁一区二区| 极品尤物一区二区| 国产激情一区二区三区| 17c丨国产丨精品视频| 日韩理论电影中文字幕| 国产精品人成电影| а天堂中文在线官网| 亚洲а∨天堂久久精品喷水| 超碰超碰超碰超碰| 中文字幕制服丝袜成人av| 特黄特色免费视频| 久久久久国内| 亚洲啊啊啊啊啊| 亚洲素人在线| 亚洲japanese制服美女| heyzo在线欧美播放| 亚洲日本中文字幕免费在线不卡| 一卡二卡三卡在线观看| 午夜日韩在线观看| 亚洲精品天天看| 中文字幕av在线免费观看| 亚洲三级免费观看| 日本丰满少妇裸体自慰| 精品一区二区免费| 欧美 日韩 国产在线观看| 欧美电影三区| 精品一卡二卡三卡四卡日本乱码 | 欧美久久久久久蜜桃| 国产午夜视频在线播放| 国产精品福利av| 捆绑凌虐一区二区三区| 极品少妇xxxx精品少妇| 国模吧无码一区二区三区| 一区二区三区中文| 欧美亚洲精品日韩| 91成人噜噜噜在线播放| 国产在线精品播放| 国产日韩另类视频一区| 国内精品一区二区三区| 麻豆av免费在线观看| 亚洲欧美综合图区| 蜜桃视频在线观看www| 欧美精品一二三四| 国产精品视频一| 高清一区二区三区四区| 欧美日韩国产a| 日日摸天天添天天添破| 亚洲国产乱码最新视频| av最新在线观看| 欧美激情一区二区三区蜜桃视频| 午夜不卡久久精品无码免费| 国产精品一区一区| 中文字幕亚洲影院| 日本欧美一区二区在线观看| 动漫av网站免费观看| 在线日韩电影| 国产亚洲精品久久久久久久| 水蜜桃精品av一区二区| 青青草国产精品| 婷婷亚洲精品| 好吊色欧美一区二区三区四区| 视频精品一区| 高清一区二区三区视频| 国产精品视频一区二区三区| 国产在线拍揄自揄视频不卡99 | 午夜片欧美伦| 一本色道久久99精品综合| 国产精品午夜一区二区三区| 久久66热这里只有精品| 欧美电影在线观看免费| 精品久久久久久中文字幕动漫| 黄色的网站在线观看| 国产精品77777| www.桃色.com| 国产精品自在在线| 久久精品一二三四| 国产精品一二三| 伊人av在线播放| 国产v日产∨综合v精品视频| 国产人妻精品午夜福利免费| 国产成人亚洲精品青草天美| 久久久久99人妻一区二区三区| 国产成人免费视频一区| fc2成人免费视频| 91蜜桃视频在线| 一级黄色录像毛片| 国产精品久久久久久久久免费樱桃| gv天堂gv无码男同在线观看| 国产精品网站一区| 国产中文av在线| 一区二区三区四区视频精品免费| 免费一级片在线观看| 亚洲亚洲人成综合网络| 国产极品在线播放| 日韩欧美福利视频| 中文字字幕在线中文乱码| 欧美日韩国产免费一区二区| 国产精品一区二区三区在线免费观看| 91精品国产综合久久精品| 亚洲a视频在线观看| 亚洲精品久久久久久久久| 欧美xxx.com| 日韩在线播放视频| 欧美四级在线| 亚洲精品精选| 欧美视频在线播放一区| 日韩黄色一级片| 麻豆网站免费观看| 91麻豆精东视频| 国产福利在线导航| 亚洲一区二区三区四区中文字幕| 日韩在线视频免费播放| 欧美日韩一区二区三区不卡| www.午夜激情| 亚洲欧美日韩精品久久亚洲区| 免费黄网站在线| 97人人模人人爽人人喊中文字| 福利一区在线| 国产精品一区二区三区四区五区| 国产欧美日韩影院| 97超碰在线视| 日本不卡一二三区黄网| 免费黄视频在线观看| 久久精品视频在线看| 欧美日韩一级在线观看| 91国产丝袜在线播放| 国产福利免费视频| 国产一区二区黄| 超碰高清在线| 成人久久18免费网站图片| 欧洲在线一区| 加勒比海盗1在线观看免费国语版| 性一交一乱一区二区洋洋av| 国产探花一区二区三区| 国产午夜精品一区二区三区视频| 久久国产露脸精品国产| 欧美高清性hdvideosex| 飘雪影视在线观看免费观看 | 国产一区免费在线| 成人久久电影| 日韩av在线第一页| 国产白丝精品91爽爽久久| 国产黄色片在线| 一本大道久久a久久精二百| 丰满人妻av一区二区三区| 最新中文字幕亚洲| 26uuu亚洲电影| 国内外成人免费视频| 中文精品久久| 五月婷婷之婷婷| 欧美经典一区二区三区| 日韩人妻精品中文字幕| 亚洲成成品网站| 污的网站在线观看| 成人在线视频网| 日韩成人a**站| 欧美成人黄色网址| 久久久久国产精品麻豆ai换脸| 日韩伦人妻无码| 亚洲国产成人精品一区二区 | 欧美.日韩.国产.一区.二区| 国产 porn| 国产女人18毛片水真多成人如厕| 天天干天天干天天| 日韩精品免费看| 日韩av影片| 欧美不卡在线一区二区三区| 在线亚洲激情| 大地资源二中文在线影视观看 | 大型av综合网站| 激情视频小说图片| 国产精品一区二区视频| 顶臀精品视频www| 日韩欧美在线不卡| av电影高清在线观看| 亚洲最大的av网站| 综合色一区二区| 日本一级大毛片a一| 亚洲国产色一区| 三级视频在线| 国产成人精品av| 日韩一区二区三区免费播放| 午夜久久久精品| 日韩码欧中文字| 国产成人免费看一级大黄| 国模视频一区二区三区| 欧美做受69| 少妇网站在线观看| 亚洲欧洲三级电影| 成人黄色在线观看视频| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品中文字幕制服诱惑| 男人天堂999| 国产精品福利一区二区三区| www.国产.com| 欧美最近摘花xxxx摘花| 日韩av中文字幕一区| 亚洲无吗一区二区三区| 亚洲同性同志一二三专区| 亚洲精品国产一区二| 欧美一级在线亚洲天堂| 日韩av免费大片| 国产精品手机在线观看| 色综合久久综合网欧美综合网| 99青草视频在线播放视| 97se国产在线视频| 精品视频在线观看免费| 欧美色爱综合网| 欧美1234区| 日本一区二区不卡高清更新| 激情综合亚洲精品| 91午夜视频在线观看| 最近中文字幕2019免费| 成人资源在线播放| 国产综合免费视频| 亚洲码国产岛国毛片在线| 天堂网在线播放| 成人av在线亚洲| 亚洲一区中文| 久久免费看少妇高潮v片特黄| 日韩精品亚洲视频| 国产一区二区视频在线看| 国产男女无遮挡| 伊人夜夜躁av伊人久久| 九色视频网站在线观看| 99久久综合狠狠综合久久止| 日本欧美久久久久免费播放网| 久久一二三四区|