3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

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

linux

linux c/c++

發布時間:2025/4/16 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux c/c++ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 string 字符串操作 2 3 4 操作數的都是 ( char * )型,操作數必須是指向字符串的指針("a"),不能是字符('a'),操作時不考慮末尾的'\0' 5 6 size_t strlen( const char *s ); 字符串求長,返回字符串或指針的實際大小,和 sizeof() 不同,比如創建字符數組 strlen 只返回其中字符串的大小,不包括 '\0' 7 char *strrev( char *s ); 字符串反轉,不包括 NULL 8 char *strcpy( char *dest, const char *src ); 字符串復制, dest 必須有足夠的空間來容納 src 的字符串, dest 空間不夠時結果是為定義的(結果顯示增大了空間去容納 src 的字符),dest 不能是字符指針 9 int atoi( const char *nptr ); 字符串轉化為整數 10 char *strcat( char *dest, const char *src ); 字符串連接 11 int strcmp( const char *s1, const char *s2 ); 字符串比較,區分大小寫 12 int strcasecmp(const char *s1, const char *s2); 不區分大小寫比較,在頭文件 strings.h 中,可在字符串指針和字符數組之間相互比較,注意地址范圍 13 int strncasecmp(const char *s1, const char *s2, size_t n); 不區分大小寫比較,只比較 s1 前 n 個字符 14 char *strchr( const char *s, int c ); 查找字符,返回首次出現 c 的位置的指針,如果 s 中不存在 c 則返回 NULL 15 void bzero(void *s, size_t n); 將字符串 s 中前 n 個( 0 - n-1 )字符設為 '\0', strings.h 中 16 17 18 19 void perror(const char *s); 20 sprintf( buf, "hello world! %s\n", string ); 將字符串寫到 buf 中,而不是標準輸出 21 int scanf(const char *format, ...); 成功返回讀取到是字符數,失敗返回 EOF,目標是指針(數組指針)時不用 "&" 22 int fscanf( FILE *stream, const char *format, ... ); 從文件流中讀取一個單詞,不包含空格,讀取的內容存到字符數組里,以 '\0' 結尾 23 int sscanf(const char *str, const char *format, ...); 24 int vscanf(const char *format, va_list ap); 25 int getc(FILE *stream); 從文件流中讀取一個字符 26 int getchar(void); 從標準輸入中讀取一個字符,用 ASCII 碼將字符轉換為 int 27 char *gets(char *s); 從 stdin 中讀取一行放入 s 中,只到遇到 EOF 或者 newline 28 int fgetc(FILE *stream); 29 char *fgets(char *buffer, int size, FILE * stream); 從文件中讀取一行或指定個數的字符; buffer 為緩沖區,用來保存讀取到的數據; size 為要讀取的字符的個數。如果該行字符數大于size-1,則讀到 size-1 個字符時結束,并在最后補充' \0';如果該行字符數小于等于 size-1,則讀取所有字符,并在最后補充 '\0'。即,每次最多讀取 size-1 個字符。讀取的字符包括換行符; stream 為文件指針 30 31 32 33 文件 I/O 編程 34 35 36 int open( const char *pathname, int oflag [, mode_t mode ] ); pathname 是打開或創建文件的全路徑名; oflag 由 O_RDONLY O_WRONLY O_ROWR 中的一個和 O_APPEND(每次寫都追加到文件尾) O_CREAT(文件不存在就創建他,須說明第三個參數) O_EXCL(如果指定了 O_CREAT 而文件已存在則出錯) O_TRUNC(文件存在且由寫權限,則將其長度截為 0) O_NOCTTY(如果 pathname 指的是終端設備,則不將此設備分配作為此進程的控制終端) O_NONBLOCK(如果打開的是一個 fifo 、塊特殊文件或字符特殊文件則本次打開和后續 I/O 操作設為非阻塞) O_SYNC(使每次 write 都等到物理 I/O 操作完成) 中的一個或多個進行“ | ”運算構成; mode 只有創建文件時才使用,權限設置;失敗返回 -1 37 int creat( const char *pathname, mode_t mode ); 創建文件,以只寫方式打開,失敗返回 -1 38 ssize_t read( int fd, void *buf,size_t count ); buf 不能是字符指針,一般為字符數組名; count 是 期望讀取的最大字節數,一個漢字占 3 個字節(linux);返回 0 時標是讀到文件尾; 39 ssize_t write( int fd, const void *buf, size_t count ); 如果讀寫的大小 count 超出了給出字符串的大小不會出錯,讀文件后不會刪除內容 40 int close( int filedes ); 進程結束內核會自動關閉打開的文件 41 off_t lseek (int filesdes, off_t offset, int whence ); 設置文件讀寫位置;文件偏移量,默認為 0(除非指定 O_APPEND); off_t 相當于 signed int(typedef),可正可負; whence 為 SEEK_SET 距文件開始處 offset 個字節, SEEK_CUR 當前值加 offset 字節, SEEK_END 是文件尾 ;成功返回新的文件位移,失敗返回 -1 42 43 FILE *fopen(const char *path, const char *mode); mode 為 "r" 表示以只讀放是打開文件, r 只讀, w 只寫, a 追加, t 文本文件(可省略不寫), b 二進制文件,+ 讀和寫;凡用“r”打開一個文件時,該文件必須已經存在,有 + 時可以讀寫;用“w”打開的文件只能向該文件寫入,若打開的文件不存在,則以指定的文件名建立該文件,若打開的文件已經存在,則將該文件刪去,重建一個新文件;若要向一個已存在的文件追加新的信息,只能用“a”方式打開文件,如果指定文件不存在則嘗試創建該文件;把一個文本文件讀入內存時,要將ASCII碼轉換成二進制碼,而把文件以文本方式寫入磁盤時,也要把二進制碼轉換成ASCII碼,因此文本文件的讀寫要花費較多的轉換時間,對二進制文件的讀寫不存在這種轉換;標準輸入文件(鍵盤),標準輸出文件(顯示器),標準出錯輸出(出錯信息)是由系統打開的,可直接使用;出錯返回 NULL 44 FILE *fdopen(int fildes,const char * mode); fdopen()會將參數fildes 的文件描述詞,轉換為對應的文件指針后返回 45 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); 46 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); 47 int fclose(FILE * stream); 48 49 int fcntl( int fd, int cmd, .../* arg */); 操作文件描述符。 cmd 為 F_DUPFD,復制一個存在的文件描述符, F_GETFD/F_SETFD,獲得/設置文件描述符標志, F_GETFL/F_SETFL,獲得/設置文件描述符屬性(第三個參數為新設置的文件屬性,只能改變文件的 O_APPEND, O_NONBLOCK, O_SYNC, O_ASYNC 如 flag = flag &~O_APPEND ), cmd = F_GETOWN/F_SETOWN,獲得/設置異步 I/O 所有者, F_GETLK/F_SETLK/F_SETLKW,獲得/設置文件記錄鎖;失敗返回 -1 50 int ioctl( int fd, int cmd, ...); 串口的波特率等設置,光盤的操作...; ioctl( fd, CDROMEJECT, NULL ) 彈出光驅,用 O_NONBLOCK 打開光驅,因為光驅中可能沒有光盤 51 int select( int maxfd, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval *timeout ); 監控多個文件描述符上是否由輸入輸出或錯誤,處理阻塞方式打開的文件和非阻塞方式打開的文件 select 都是以阻塞方式對待,而不會立即返回; maxfd 是檢測描述符的個數,值應該是最大文件描述符的值 +1; readset 是被監控是否有輸入的文件描述符集,不監控時設為 NULL,writeset 被監控是否可以輸出的文件描述符集; exceptset 被監控是否由錯誤產生的文件描述符集; timeval 監控超時時間,設為 NULL 表示一直阻塞到有文件描述符被監控到有變化;成功返回 3 個集合中有指定變化的文件描述符數目,超時返回 0,失敗返回 -1 52 FD_ZERO( &rset ); 將文件描述符集 rset 的所有位清 0 53 FD_SET( 4, &rset ); 設置文件描述符集 set 的 bit 4 ,監控文件描述符為 4 的文件( fd_set rfds; FD_SET( 4, rfds ) 54 FD_CLR( fileno( stdin ), &rset ); 將文件描述符集 rset 的 bit 00 55 FD_ISSET( socketfd, &rset ); 若文件描述符集 rset 的 socketfd 位置 1,返回真,有輸入時就被置 1 56 int poll( struct pollfd fds[], nfds_t nfds, int timeout ); 監控多個文件描述符; nfds 是 fds[] 大小; timeout 是超時時間(毫秒),負值表示沒有超時時間; events 和 revents 中的事件使用 poll.h 中定義的宏來表示, POLLIN 有普通數據可讀, POLLPRI 有高優先級數據可讀, POLLOUT 無阻塞的寫, POLLRDUP TCP 套結字的對端關閉了寫,即不能再讀, POLLERR 出現了錯誤, POLLNVAL 描述符 fd 沒有打開, POLLHUP 掛斷;成功返回 fds 數組中就緒元素個數(該元素的 revents 不為 0),超時而描述符沒有就緒則返回 0,失敗返回 -1(例 fds[0].fd = 0; fds[0].events = POLLIN; 設置事件 -> fds[0].revents & POLLIN 判斷事件是否發生) 57 int stat( const char *path, struct stat *buf ); 查看文件或目錄屬性,復制到 buf 中;成功返回 0,失敗返回 -1 58 int lstat( const char *path, struct stat *buf ); 和 stat 區別在于如果文件是軟鏈接,會獲取軟鏈接本身的屬性 59 int fstat( const int filedes, struct stat *buf); 和 stat 區別在于他使用文件描述符 60 61 int S_ISREG( buf.st_mode ); 普通文件 62 int S_ISDIR( buf.st_mode ); 目錄 63 int S_ISCHR( buf.st_mode ); 字符設備文件 64 int S_ISBLK( buf.st_mode ); 塊設備 65 int S_ISFIFO( buf.st_mode ); 有名管道 66 int S_ISLNK( buf.st_mode ); 軟鏈接 67 int S_ISSOCK( buf.st_mode ); 套結字文件 68 69 int S_ISUID( buf.st_mode ); 執行時設置用戶 ID 70 int S_ISGID( buf.st_mode ); 執行時設置組 ID 71 int S_ISVTX( buf.st_mode ); 保存正文 72 int S_IRWXU( buf.st_mode ); 用戶(所有者)讀、寫、執行 73 int S_IRUSR( buf.st_mode ); 用戶讀 74 int S_IWUSR( buf.st_mode ); 用戶寫 75 int S_IXUSR( buf.st_mode ); 用戶執行 76 int S_IRWXG( buf.st_mode ); 組讀、寫、執行 77 int S_IRGRP( buf.st_mode ); 組讀 78 int S_IWGRP( buf.st_mode ); 組寫 79 int S_IXGRP( buf.st_mode ); 組執行 80 int S_IRWXO( buf.st_mode ); 其他讀、寫、執行 81 int S_IROTH( buf.st_mode ); 其他讀 82 int S_IWOTH( buf.st_mode ); 其他寫 83 int S_IXOTH( buf.st_mode ); 其他執行 84 85 int MAJOR( buf->st_rdev ); 獲取主設備號 86 int MINOR( buf->st_rdev ); 獲取次設備號 87 88 time_t time( time_t *tp ); 返回系統時間給 tp ,返回自 epoch 到現在的秒數;成功返回值也是 tp,失敗返回 -1 89 int gettimeofday( struct timeval *tv, struct timezone *tz ); 得到當前時間和時區,在 sys/time.h 中,分別寫到 tv 和 tz 中, tz 常為空,如果 tz 為 NULL 則不向 tz 寫入;成功返回 0,失敗返回 -1;使用時不要使用結構體指針 90 char *ctime( time_t *tp ); 將日歷時間轉換為字符串返回,必須包含 time.h 頭文件,不然會出現段錯誤 91 struct tm *gmtime( time_t ); 92 sturct tm *localtime( time_t ); 將日歷時間轉換為結構體記錄的時間 93 char *asctime( const struct *tm ); 將結構體時間轉換為字符串返回 94 size_t strftime( char *s, size_t max, const char *format, const struct tm *tm ); 將結構體記錄時間轉換為自定義格式的字符串 95 time_t mktime( struct tm *tm ); 將結構體記錄的時間轉換為日歷時間 96 clock_t clock(void); 成功返回程序開始到調用此函數時使用 CPU 的時間,不考慮子進程等,標準 POSIX 精確到10ms 97 98 DIR *opendir( const char *name ); 成功返回 DIR* 形態的目錄流,失敗返回 NULL 99 struct dirent *readdir( DIR *dir ); 每次讀取一條目錄結構;成功返回 dirent 指針,失敗返回 NULL 100 int closedir( DIR *dir ); 失敗返回 -1;錯誤原因存在 errno 中 101 void rewinddir( DIR *dirp ); 回繞目錄,回到目錄流開始處,不用關閉目錄 102 103 ssize_t readlink( const char *path, char *buf, size_t bufsize ); 返回軟鏈接指向文件的文件名存放在 buf 中,不包括字符串結束符'\0',需要自己添加; buf 是字符數組; bufsize 是 buf 大小;成功返回是軟鏈接指向文件文件名的長度,失敗返回 -1 104 105 struct passwd *getpwuid( uid_t uid ); 在 pwd.h 中,獲得 uid 對應用戶的屬性信息,失敗返回 NULL 106 struct group *getgrgid( gid_t gid ); 在 grp.h 中,失敗返回 NULL 107 108 109 多進程編程 110 111 pid_t getpid( void ); 獲得調用進程的 id 112 pid_t getppid( void ); 113 char *getenv( const char *name ); 獲取環境變量 114 int putenv( const char *str ); 新建環境變量( str like " name = string " ) 115 int setenv( const char *name, const char *value, int rewrite ); 設置環境變量,若已存在,則參考 rewrite 參數 116 int fork(); 成功子進程返回值為 0 ,父進程返回子進程 pid,失敗返回 -1 給父進程 117 int dup( fildes ); 復制已存在的文件描述符 fildes(默認為 0 ), 成功返回新的文件描述符 118 int dup2( int fildes, int fildes2 ); 進程內部復制文件描述符,如果 fildes2 已經是一個文件描述符,則先關閉,成功則返回 fildes2 119 pid_t wait( int *status ); 父子進程同步(阻塞父進程),等待任何子進程,子進程變成僵尸進程也可以銷調; status 用于存放子進程結束狀態;成功則返回子進程 id 號,失敗返回 -1 120 pid_t waitpid( pid_t pid, int *status, int options ); 等待子進程結束; pid == -1 等待任何子進程, > 0 等待進程 id 和 pid 相等的子進程, == 0 等待其組 id 等于調用進程的組 id 的任一子進程, < -1 等待其組 id 等于 pid 的絕對值的任一子進程; options 設置等待方式, 0 不設置, WNOHANG 如果沒有任何已結束的進程則立即返回, WUNTRACED 如果子進程進入暫停狀態則立即返回 121 122 int execl( const char *pathname, const char *arg0, ..., (char *)0 ); 成功不返回任何值,失敗返回-1;pathname 是執行文件的全路徑名,arg0 是文件執行的第一個參數,以 ( char * )0 表示命令行參數的結束 123 int execv( const char *pathname, char *const argv[] ); 124 int execle( const char *pathname, const char *arg0, (char *)0, char *const envp[] ); envp 是新程序的環境變量 125 int execve( const char *pathname, char *const argv[], char *const envp[] ); 系統調用,其他 5 個是封裝的 execve 126 int execlp( const char *filename, const char *arg0, ..., (char *)0 ); 127 int execvp( const char *filename, char *const argv[] ); 128 E 傳遞環境變量表,L 單獨的參數傳遞(最后需要一個 NULL),V 傳一個指針數組作為命令行參數,P 按照 PATH 查找新程序 129 130 void fflush( stdout ); 刷新輸出緩沖區(強制 printf 提交內容) 131 void fgets( buf, 100, stdin ); 輸入字符串 132 133 void exit( int status ); stdlib.h, 返回內核前做些清理工作,包括調用 Exit handler, 徹底關閉 I/O 流(將緩沖區數據都提交給內核 134 void _exit( int status ); unistd.h, 立即返回內核,不執行 exit handler, 不刷新 I/O 流 135 int atexit( void ( *func )( void )); 注冊 exit handler,函數無參數,無返回值,在 ANSI C 中,最多注冊 32 個 exit handler,按注冊順序逆序調用;成功返回 0 136 int on_exit( void ( *func )( int, void * ),void *arg ); 注冊 exit handler, 函數有兩個參數,一個 int 參數(是系統回調函數時傳給函數進程的退出值),另一個參數是指針 arg(任何指針都可做參數),參數的值為程序執行完后的值,這時緩沖區內容被刪除了,堆棧區內容沒有被刪除 137 138 void getpgrp() 返回調用進程的進程組 id (進程組組長的 id ) 139 void setpgid() 參加一個現有進程組或創建一個新進程組,創建守護進程 daemon ,創建時最好關閉所有文件描述符等 140 int setsid(); 如果調用此函數的進程不是一個進程組組長就創建一個新對話期( session )(多個進程組集合),此進程變為新對話期的首進程,成為新進程組的組長,此進程沒有控制終端;是進程組組長則返回出錯 141 void chdir("/tmp"); 改變工作目錄 142 void umask(0); 將 umask 改為 0 143 pid_t sysconf( _SC_OPEN_MAX ); 返回系統允許打開的文件描述符最大數目 144 pause(); 暫停程序 145 146 void openlog( const char *indent, int option, int facility ); 使用 syslog 可以沒有這個函數; indent 指向的字符串將出現在每條消息的最前面; option 為 LOG_CONS 表示當向 syslog 守護進程傳送消息失敗時把消息寫入系統控制臺, LOG_PID 表示守護進程的 pid 將出現在每條消息中, LOG_NDELAY LOG_NOWAIT LOG_ODELAY LOG_PERROR; facility 為 LOG_DAEMON 表示消息由系統守護進程發送, LOG_AUTH LOG_AUTHPRIV LOG_CRON LOG_FTP LOG_KERN LOG_NEWS LOG_SYSLOG LOG_USER LOG_UUCP LOG_LOCAL0~LOG_LOCAL7 OG_LPR OG_MAIL 147 void syslog( int priority, const char *format,... ); 向 syslogd 守護進程送出消息(寫入 /var/log/messages 中); priority 表示消息緊急程度,可以是 LOG_EMERG LOG_ALERT LOG_CRIT LOG_ERR LOG_WARNING LOG_NOTICE LOG_INFO LOG_DEBUG; format 是寫入消息的字符串,可以和 printf 一樣使用格式化串 148 void closelog( void ); 使用 syslog 可以沒有這個函數; 149 150 151 進程間通信 152 153 void ( *signal( int signum, void (*handler)(int)) )(int); 可靠性低,在一個信號處理程序運行時接收到其他信號可能打斷當前處理程序運行,可用 sigaction() 代替;成功返回可用信號處理函數( void (*)(int) ),失敗返回 SIG_ERR; handler 時信號處理函數的函數指針,有個 int 參數(為系統傳給處理函數的信號值),還可以是 SIG_IGN(忽略該信號)、 SIG_DFL(采用默認行為) 154 int kill( pid_t pid, int sig ); 發送信號到進程,成功返回 0,失敗返回 -1 155 int alarm( unsigned int seconds ); 在 seconds 秒后發送 SIGALRM 信號,seconds 為 0 則取消設置的鬧鐘;成功則返回上一個鬧鐘還剩多少時間,失敗返回 -1 156 void abort(void); 結束進程,并向父進程發送 SIGABRT 信號 157 158 int WIFEXINTED( int status ); 判斷子進程的返回狀態是不是正常,正常退出返回真 159 int WEXITSTATUS( int status ); 返回子進程正常退出的狀態值 160 int WIFSIGNALED( int status ); 判斷子進程退出狀態是否是非正常退出,非正常退出返回真 161 int WTERMSIG( int status ); 返回非正常退出狀態的信號 162 163 int sigemptyset( sigset_t *set ); 清空信號集合,全 0 ,不阻塞任何信號 164 int sigfillset( sigset_t *set ); 將信號集合置位,阻塞相應的信號 165 int sigaddset( sigset_t *set, int signum ); 對應位置 1 166 int sigdelset( sigset_t *set, int signum ); 對應位置 0 167 int sigpending( sigset_t *set ); 將正在被阻塞的信號記錄到集合中,獲取阻塞了的信號集合 168 int sigismember( const sigset_t *set, int signum ); 集合中對應信號位為 1 則返回真,用來判斷集合中是否由此信號 169 int sigprocmask( int how, const sigset_t *set, sigset_t *oldset ); 用來獲得和改變調用進程的信號掩碼,當前信號集合會賦值給 oldset;使用時在關鍵代碼前設置掩碼,然后執行關鍵代碼,之后獲取被阻塞的信號,逐步處理信號; how = SIG_BLOCK 信號集合掩碼設置為當前信號集合與 set 的并集, how = SIG_UNBLOCK 設置為當前信號集合減去 set 中的信號, how =SIG_SETMASK 設置為 set 170 171 int sigaction( int signum, const struct sigaction *act, struct sigaction *oldact ); signum 不能是 SIGSTOP 或者 SIG_KILL, oldact 返回以前的 act,可以指定為 NULL 172 173 int pipe( int fd[2] ); 無名管道,寫入 fd[1], 從 fd[0] 讀取,只能在有親緣關系的進程間通信;成功返回 0,失敗返回 -1 174 175 int mkfifo( char *pathname, mode_t mode ); 有名管道,打開管道文件進行讀寫,如果管道為空,進程將阻塞,管道關閉寫端再讀時將立即返回,返回值為 0,讀端關閉寫端再寫將產生 sigpipe 信號,默認結束進程 176 177 int shmget( key_t key, size_t size, int shmflg ); key 值唯一標志共享內存( Shared memory );size 是建立內存大小;shmflg = IPC_CREAT 如果共享內存不存在則創建一個,存在則獲得該內存;shmflg = IPC_EXCL 只有共享內存不存在時才創建,不然就產生錯誤;成功則返回共享內存標志碼,其唯一標志一塊共享內存,錯誤返回 -1 178 void *shmat( int shmid, const void *shmaddr, int shmflg ); 允許進程訪問一塊共享內存;shmid 是 shmget 的返回值;shmaddr 是共享內存在本進程中的虛擬地址起始地址,通常程序員不知道就填 0;shmflg 是進程對該共享內存的操作模式,SHM_RDONLY 表示只讀模式,0 表示可讀可寫;成功返回共享內存的虛擬地址起始地址(數組名),失敗返回 -1 179 int shmdt( const void *shmaddr ); 斷開共享內存區的映射,成功返回 0,失敗返回 -1 180 int shmctl( int shmid, int cmd, struct shmid_ds *buf ); cmd = IPC_RMID 刪除共享內存;buf 是保存內存模式狀態和訪問權限的數據結構,常為 NULL;成功返回 0,失敗返回 -1 181 182 int semget( key_t key, int nsems, int semflg ); 獲取信號量數組; key 唯一標志信號量( Semaphore );nsems 是信號量個數,一般為 1(若干個信號量組合在一起形成信號量數組,其實 nsems 就是指定數組元素個數); semflg 標志相當于信號量的訪問權限;成功返回信號量標志碼,失敗返回 -1 183 int semctl( int semid, int semnum, int cmd , ...); 控制信號量,設初值或是刪除信號量集、查看信號量信息等; semnum 信號量編號,用于指定要操作的信號量是信號量數組中的哪一個; cmd 為 IPC_STAT 讀取一個信號量集的數據結構 semid_ds ,并將其存放在 union semun 類型的第四個參數的 buf 中; IPC_SET 設置信號量集的數據結構 semid_ds 中的元素 ipc_perm,其值取自 union 類型的第 4 個參數 buf; IPC_RMID 將信號量集從內存中刪除; GETALL 讀取信號量集中的所有信號量值; GETNCNT 返回正在等待資源的進程數目; GETPID 返回最后一個執行 semop 操作的進程 pid; GETVAL 返回信號量集中單個的信號量的值; GETZCNT 返回正在等待玩空空閑的資源的進程數目; SETALL 設置信號量集中的所有信號量的值; SETVAL 設置信號量集中的一個單獨信號量的值,被設置的值在 union semun 類型的第 4 個參數的 val 中;最后的省略號表示可能有第 4 個參數,如果 cmd 要設置初值就是第 4 個參數 184 int semop(int semid, struct sembuf *sops, size_t nsops ); semid 指明操作的信號量數組; sops 包含了具體的操作(P/V),詳見結構體部分;nsops 說明 sops 指向的結構體數量,通常為 1 185 186 int msgget( key_t key, int flag ); 打開現存隊列或創建消息隊列,成功返回消息隊列 msgid ,失敗返回 -1 187 int msgsnd( int msgid, const void *ptr, size_t nbytes, int flag ) ptr 指向一個長整形數,包含了正長整形的消息類型,在其后立即跟隨了消息數據,nbytes 是消息長度(為 0 則無數據),若發送的最長消息是 512,則定義結構體:struct mymesg{ long mtype;/*positive message type*/ char mtext[512];};, ptr 即指向這個結構體,接受這可以使用消息類型以非先進先出的次序; flag 為 IPC_NOWAIT 時,當消息隊列滿會使得 msgsnd 立即出錯返回,errno 被置為 EAGAIN ,若不設為 IPC_NOWAIT,進程會一直阻塞直到有空閑空間或系統刪除了此隊列( errno 被置為 EIDRM )或捕捉到信號從信號處理程序返回( errno 被置為 EINTR );成功返回 0,失敗返回 -1 188 int msgrcv( int msgid, void *ptr, size_t nbytes, long type, int flag ); ptr 和 msgsnd 一樣;nbytes 說明緩沖區長度,若返回消息大于 nbytes,如果在 flag 中設置了 MSG_NOERROR, 則截短消息(這種情況下出錯回返回信息),如果沒有設置此標志,則出錯返回 E2BIG (消息仍留在隊列中); type == 0 返回隊列中的第一個消息, type > 0 返回隊列中消息類型為 type 的第一個消息, type < 0 返回隊列中消息類型小于或等于 type 絕對值,且其類型值又最小的消息(設置優先級); flag 值為 IPC_NOWAIT 使操作不阻塞,這是如果沒有指定消息,則出錯返回 ENOMSG,不為 IPC_NOWAIT 時處理方式和 msgsnd 一樣;成功返回數據長度,失敗返回 -1 189 190 191 多線程編程初步 192 193 int pthread_create( pthread_t *thread, pthread_attr_t *attr, void *(*func)(void*), void *arg); thread 是被創建線程的標識; attr 是線程的屬性的指針,NULL 為使用默認屬性; func 被創建線程的程序代碼( (void*) funcname ),無返回值; arg 是 func 的參數,是一個指針,可為 NULL。 194 pthread_exit( void *reval ); 線程自行結束,retval 存放線程退出狀態 195 int pthread_join( pthread_t th, void **thread_return ); 等待 th 線程結束,指針 thread_return 指向的位置存放的是終止線程的返回狀態, void 類型,可強制轉換為 int 型,調用時使用 &thread_return,可設為 NULL;成功返回 0,失敗 EINVAL、 ESRCH 或其他(失敗原因可能是這個線程是分離的) 196 197 pthread_mutex_t mutex; 198 pthread_mutex_init( &mutex, NULL ); 在主線程中初始化鎖為解鎖狀態 199 pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; 在編譯時初始化為解鎖狀態,不用上面的步驟咯 200 pthread_mutex_lock( &mutex ); 在訪問對象前加鎖( P 操作 ),如果已被加鎖,則阻塞直到鎖打開 201 pthread_mutex_unlock( &mutex ); 訪問對象后解鎖( V 操作 ) 202 pthread_mutex_trylock( &mutex ); 加鎖對象已被加鎖,立即返回,返回值為 EBUSY 203 204 int sem_init( sem_t *sem, int pshared, unsigned int value ); 初始化信號量,sem 為指向信號量結構的一個指針; pshared 不為 0 時此信號在進程間共享,否則只能在當前進程的所有線程共享; value 給出信號量初值;成功返回 0,失敗返回 -1 205 int sem_wait( sem_t *sem ); 信號量減 1;當 sem 為 0 時阻塞;成功返回 0,失敗返回 -1 206 int sem_post( sem_t *sem ); 信號量加 1;當有線程阻塞時調用這個函數使得其中一個進程不再阻塞,選擇機制由線程調度策略決定;成功返回 0 ;失敗返回 -1 207 int sem_destroy( sem_t *sem ); 刪除信號量,成功返回 0,失敗返回 -1 208 209 int pthread_attr_init( pthread_attr *attr ); 初始化線程屬性結構,設置好 attr 后才能創建線程,主要包括是否綁定,是否分離,堆棧地址,堆棧大小,優先級,默認非綁定、非分離、1 MB 的堆棧,與進程相同優先級;綁定是將線程“綁”在一個輕進程上,被綁定的進程具有較高的響應速度;分離狀態決定了線程以什么方式終結自己,非分離線程只有等待創建的線程結束才能釋放自己占用的資源( pthread_join 返回時創建的線程擦才結束),而分離線程不會被其他線程所等待,運行結束就釋放資源 210 int pthread_attr_destroy( pthread_attr_t *attr ); 211 int pthread_attr_setscope( pthread_attr *attr, PTHREAD_SCOPE_SYSTEM ); 設置綁定狀態,PTHREAD_SCOPE_SYSTEM 為綁定,PTHREAD_SCOPE_PROCESS 為非綁定 212 int pthread_attr_setdetachstate( pthread_attr_t *attr, int detachstate ); 第二個參數選擇 PTHREAD_CREATE_DETACHED 為分離, PTHREAD_CREATE_JOINABLE 為不分離 213 int pthread_cond_timewait(); 留出足夠時間讓函數 pthread_create 執行完,避免錯誤;設置一個分離線程,如果他運行很快,他可能在函數 pthread_create 返回之前就終止,這樣函數就可能返回錯誤的線程號 214 int pthread_attr_getschedparam( pthread_attr_t *attr, struct sched_param *param ); 得到線程優先級,存放在結構體 sched_param 中,param.sched_priority = 10 215 int pthread_attr_setschedparam( pthread_attr_t *attr, const struct sched_param *param ); 設置線程優先級 216 217 int pthread_cancel( pthread_t tid ); 一個線程殺死另一個線程時調用, tid 是線程標識 218 int pthread_setcancelstate( PTHREAD_CANCEL_DISABLE, NULL ); 設置線程屬性拒絕被殺死, PTHREAD_CANCEL_ENABLE 表示允許被殺死(缺省) 219 int pthread_setcanceltype( PTHREAD_CANCEL_DEFDERRED, NULL ); 設置延后被殺死(缺省),PTHREAD_CANCEL_ASYNCHRONOUS 立即被殺死 220 void pthread_testcancel( void ); 用于設置殺死點,在延遲殺死的情況下,線程會在收到殺死請求后延遲至第一個殺死點時被殺死;殺死點是在被殺死的進程中,殺死點有調用 testcancel 的點和引起進程阻塞的系統調用( sleep )處, 221 int pthread_detach( pthread_t tid ); 設置線程不需要被 pthread_join, 因為已經結束的線程沒有被 pthread_join 將會在系統中累積僵尸進程 222 223 224 網絡編程 225 226 int socket( int family, int type, int protocol ); 返回套結字的文件描述符; family 是協議或地址族,TCP/IP 為 PF_INET 或 AF_INET; type 是服務類型,TCP 是 SOCK_STREAM, UDP 是 SOCK_DGRAM; protocol 是使用的協議號,用 0 指定 family 和 type 的默認協議號;成功則返回 sockfd,失敗返回 -1 227 int bing( int sockfd, const struct sockaddr *localaddr, socklen_t addrlen ); 為一個套結字指明一個本地 IP 和協議端口號;sockfd 是 socket 創建的套結字描述符; localaddr 是一個地址結構,指定 IP 地址和協議端口號; addrlen 是地址結構的字節數大小;成功返回 0,失敗返回 -1 228 int listen( int sockfd, int queuelen ); 使套結字處于監聽狀態; queuelen 是請求隊列大小,并不是一個準確的連接數;成功返回 0 ,失敗返回 -1 229 int accept( int sockfd, struct sockaddr *addr, socklen_t *addrlen ); 只用于流套結字,從監聽隊列中取走下一個連接請求,創建一個新套結字,并返回新套結字描述符; addr 是一個地址結構的指針,調用 accept 成功后在該結構中填入遠程機器的 IP 地址和協議端口號; addrlen 初始指定為 struct sockaddr 結構體大小的存放地址,調用 accept 后在其中填入遠程機器 socket 地址的實際大小;成功返回一個非負套結字描述符,失敗返回 -1 230 int connet(int sockfd, const struct sockaddr * addr, socklen_t addrlen ); 允許調用者為先前創建的套結字指明遠程端點的地址,如果套結字使用了 TCP ,他就使用 3 次握手建立一個連接;成功返回 0 231 232 ssize_t sendto( int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen ); 向指定數據接收端發送指定數據;dest_addr 為 NULL ,addrlen 為 0 時等于 send; flags 發送標識,一般為 0; dest_addr 數據接收端地址結構體的指針;addrlen 數據接收端地址結構體大小;成功返回實際發送的數據,失敗返回 -1 233 ssize_t recvfrom( int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen ); src_addr 存放數據發送端的地址; addrlen 是 src_addr 的大小,不需要 src_addr 和 addrlen 置為 NULL;成功返回實際接收到的字節數,失敗返回 -1 234 235 ssize_t send( int sockfd, const void *buf, size_t len, int flags ); 返回時發送出去的字節(同步)或發送到 socket 緩沖區的字節(異步),系統默認發送和接受一次為 8688 B( 8.5 K ) 236 ssize_t recv(int sockfd, void *buf, size_t len, int flags); flags 為 0 時等于 write/read, flags 參數為 MSG_DONTROUTE send 不查找路由表(目標在本地網絡),MSG_OOB send/recieve 帶外數據, MSG_PEEK recieve 查看數據并不從系統緩沖區移走數據, MSG_WAITALL recieve 阻塞,等待所有數據,返回值等于 len 237 ssize_t sendmsg( int sockfd, const struct msghdr *msg, int flags ); 238 ssize_t recvmsg( int sockfd, const struct msghdr *msg, int flags ); 239 240 int shutdown( int fd, int how ); TCP 連接是雙向的,使用 close 會把讀寫通道都關閉, shutdown 只關閉一個方向; how 為 SHUT_WR 不再發送, SHUT_RD 不再讀,接收到的對端數據都將被確認,然后丟棄, SHUT_RDWR 與 close 不同, colse 把描述字的引用計數減 1,當計數變為 0 時才關閉該套結字,而 shutdown 直接就發送 FIN 分節(父進程的關閉操作將導致客戶端的網絡連接被關閉) 241 242 uint16_t htons( uint16_t hostshort ); 將 unsigned short 類型的數據的主機字節順序轉換為網絡字節順序 243 unsigned long int htonl( unsigned long int hostlong ); 將本機上的 long 轉換為網絡上的 long 244 unsigned short int htons( unsigned short int hostshort ); 245 unsigned long int ntohl( unsigned long int netlong ); 246 unsigned short int ntohs( unsigned short int netshort ); 247 248 int inet_pton( int af, const char *src, void *dst ); 將點分格式的地址字符串轉換為網絡字節序整型數;af 為 AF_INET 或 AF_INET6;src 點分格式的地址; dst 轉換后的地址;成功返回 1,錯誤返回 -1 249 const char *inet_ntop( int af, const void *src, char *dst, socklen_t cnt ); 將網絡字節序整型轉換為點分格式的 ip 地址; src 整形變量地址; des 用來存儲轉換后的數據的地址; cnt 存儲空間大小 常為 16;成功后返回轉換后的地址,失敗返回 NULL 250 251 int inet_aton(const char *cp, struct in_addr *inp); 將點分十進制 IP 地址 cp 轉換為二進制數 inp;成功返回非 0,失敗返回 0 252 in_addr_t inet_addr(const char *cp); 將點分十進制 IP 地址 cp 轉換為二進制數;成功返回二進制地址,失敗返回 -1 253 char *inet_ntoa(struct in_addr in); 將二進制地址轉換為點分十進制 254 255 struct hostent *gethostbyname( const char *hostname ); 將機器名(如 linux.yu.net )轉換為一個結構體指針,指針里存放了域名和 IP 地址等信息 256 struct hostent *gethostbyaddr( const void *addr, int len, int type ); 將一個 socket 地址結構體里面的 IP 地址轉換為一個結構體指針;失敗返回 NULL 且設置 h_errno 錯誤變量 257 char *h_strerror(int errnum); 打印詳細的錯誤信息( h_errno ) 258 259 int getsockname( int sockfd, struct sockaddr *localaddr, int *addrlen ); 獲取套結口 sockfd (已綁定的)的本端 socket 地址,存放到 localaddr 中,其長度放到 addrlen 中;成功返回 0,失敗返回 -1 260 int getpeername( int sockfd, struct sockaddr *peeraddr, int *addrlen ); 獲取套結口 sockfd 的遠端 socket 地址 261 struct servent *getservbyname( const char *servname, const char *protoname ); 通過服務得到端口號 262 struct servent *getservbyport( int port, const char *protoname ); 得到指定端口號的服務(知名服務和端口號對應) 263 264 int getsockopt( int sockfd, int level, int optname, void *optval, socklen_t *optlen ); 獲得 socket 屬性 265 int setsockopt( int sockfd, int level, int optname, const void *optval, socklen_t optlen ); 設置 socket 屬性 266 int setsockopt( sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) ); 在 socket 和 bind 之間設置允許地址重用套結字選項(解決不能綁定到指定地址);設置套結口屬性 SO_REUSEADDR,在一臺機器上運行多個服務通配地址被占用時要設置這個屬性;on 為整數 1,表示 true267 int setsockopt( s, SOL_SOCKET, SO_REUSEADDR, ( const char* )&bReuseaddr, sizeof(bReuseaddr) ); 關閉 socket 后想繼續重用該 socket;bReuseaddr = 1 268 int setsockopt( s, SOL_SOCKET, SO_DONTLINGER, ( const char* )&bDontLinger, sizeof(bDontLinger) ); 處于連接狀態的 socket 在調用 close 后立即關閉,不經歷 TIME_WAIT 269 int setsockopt( socket, SOL_SOCKET, SO_SNDTIMEO, ( char * )&nNetTimeout, sizeof(int) ); 設置發送時限為 nNetTimeout ,單位是毫秒 270 int setsockopt( socket, SOL_SOCKET, SO_RCVTIMEO, ( char * )&nNetTimeout, sizeof(int) ); 設置接收時限為 nNetTimeout 271 int setsockopt( s, SOL_SOCKET, SO_RCVBUF, ( const char* )&nRecvBuf, sizeof(int) ); 設置接收緩沖大小 32 * 1024 B,避免 send() recv() 不斷循環收發 272 int setsockopt( s, SOL_SOCKET, SO_SNDBUF, ( const char* )&nSendBuf, sizeof(int) ); 設置發送緩沖區大小 273 int setsockopt( s, SOL_SOCKET, SO_SNDBUF, ( char* )&nZero, sizeof(int) ); nZero = 0, 在發送數據時不經歷由系統緩沖區復制到 socket 緩沖區而影響程序性能 274 int setsockopt( s, SOL_SOCKET, SO_RCVBUF, ( char* )&nZero, sizeof(int) ); nZero = 0, 在接收數據時不經歷由 socket 緩沖區復制到系統緩沖區而影響程序性能 275 int setsockopt( s, SOL_SOCKET, SO_BROADCAST, ( const char* )&bBroadcast, sizeof(int) ); bBroadcast = 1, 發送的數據具有廣播特性 276 int setsockopt( s, SOL_SOCKET, SO_CONDITIONAL_ACCEPT, ( const char* )&bConditionalAccept, sizeof(int) ); bConditionalAccept = 1, client 連接服務器過程中,在非阻塞模式(阻塞模式下沒用)下 connect 過程中設置 connect 延時到 accept 被呼叫 277 int setsockopt( s, SOL_SOCKET, SO_LINGER, ( const char* )&m_sLinger, sizeof(linger) ); 在關閉 socket 時允許數據發送完再關閉 socket;使用結構體 linger( 實例 m_sLinger ),設置 m_sLinger.l_onoff = 1;在 close 過程中數據還沒發送完畢時允許逗留 m_sLinger.l_linger = 5;允許逗留 5 s; 278 279 280 281 頭文件 282 283 284 stdlib.h atexit, on_exit, pipe, malloc, abort 285 stdio.h printf, perror 286 unistd.h STDIN_FIFLNO(0), STDOUT_FIFLNO, STDERR_FIFLNO, dup2, _exit, alarm 287 fcntl.h O_CREAT, O_APPEND, O_EXCL, O_RDONLY 288 poll.h 289 curses.h 編譯時要指定庫 ncurses,缺少時安裝 kernel-devel ncurses-devel 290 errno.h EXIT_SUCCESS, EXIT_FAILED, perror 291 limits.h PIPE_BUF( 4096 ), 292 netdb.h 網絡, struct hostent, 293 time.h 294 dirent.h 目錄 295 pwd.h 296 grp.h 297 pthread.h 線程 298 semaphore.h 信號量 299 signal.h 300 string.h 301 strings.h strcasecmp, bzero 302 syslog.h 303 304 arpa/inet.h 網絡 305 306 sys/ioctl.h 307 sys/ipc.h 308 sys/msg.h 消息隊列 309 sys/select.h 310 sys/sem.h 信號量 311 sys/shm.h 共享內存 312 sys/socket.h 313 sys/stat.h 314 sys/time.h gettimeofday 315 sys/types.h 316 sys/wait.h 317 318 319 320 自定義類型 321 322 323 FILE 324 DIR 325 atomic_t typedef struct { volatile int counter; } atomic_t; 326 bool typedef _Bool bool; 327 clockid_t typedef __kernel_clockid_t clockid_t; 328 daddr_t typedef __kernel_daddr_t daddr_t; 329 dev_t typedef __kernel_dev_t dev_t; 330 gid16_t typedef __kernel_gid16_t gid16_t; 331 gid_t typedef __kernel_gid32_t gid_t; 332 id_t 可以涵蓋任務 pid_t,uid_t 或者 gid_t 的整數類型,不能分割來使用 333 ino_t typedef __kernel_ino_t ino_t; 334 in_addr_t 335 in_port_t typedef uint16_t in_port_t; 336 key_t typedef __kernel_key_t key_t; 337 loff_t typedef long long __kernel_loff_t; typedef __kernel_loff_t loff_t; 338 mode_t typedef unsigned int __kernel_mode_t; typedef __kernel_mode_t mode_t; 339 mqd_t typedef __kernel_mqd_t mqd_t; 340 nlink_t typedef __kernel_nlink_t nlink_t; 341 off_t typedef __kernel_off_t off_t; 342 old_gid_t typedef __kernel_old_gid_t old_gid_t; 343 old_uid_t typedef __kernel_old_uid_t old_uid_t; 344 pid_t typedef __kernel_pid_t pid_t; 345 sa_family_t typedef unsigned short int sa_family_t; 346 sem_t typedef long sem_t; 347 size_t typedef __kernel_size_t size_t; 348 ssize_t typedef __kernel_ssize_t ssize_t; 349 suseconds_t typedef long __kernel_suseconds_t; typedef __kernel_suseconds_t suseconds_t 350 timer_t typedef __kernel_timer_t timer_t; 351 time_t typedef long time_t; 352 uid16_t typedef __kernel_uid16_t uid16_t; 353 uid_t typedef __kernel_uid32_t uid_t; 354 uintptr_t typedef unsigned long uintptr_t; 355 __kernel_clock_t typedef long __kernel_clock_t; 356 __kernel_gid_t typedef unsigned short __kernel_gid_t; 357 __kernel_ino_t typedef unsigned long __kernel_ino_t; 358 __kernel_ipc_pid_t typedef unsigned short __kernel_ipc_pid_t; 359 __kernel_mode_t typedef unsigned short __kernel_mode_t; 360 __kernel_nlink_t typedef unsigned short __kernel_nlink_t; 361 __kernel_off_t typedef long __kernel_off_t; 362 __kernel_pid_t typedef int __kernel_pid_t; 363 __kernel_ptrdiff_t typedef int __kernel_ptrdiff_t; 364 __kernel_size_t typedef unsigned int __kernel_size_t; 365 __kernel_ssize_t typedef int __kernel_ssize_t; 366 __kernel_suseconds_t typedef long __kernel_suseconds_t; 367 __kernel_timer_t typedef int __kernel_timer_t; 368 __kernel_time_t typedef long __kernel_time_t; 369 __kernel_uid_t typedef unsigned short __kernel_uid_t; 370 371 POSIX-Portable Operating System Interface for Unix,要求C語言庫的 <.../types.h> 頭文件為每個實現 POSIX 的機器定義一個一致的類型集。其中的每一個類型定義很容易與本地C語言區分開來,因為它們都以_t結尾。 372 373 374 375 結構體 376 377 struct timeval //使用范圍: gettimeofday,設置時間間隔,沒有定義在 time.h 中 378 { 379 time_t tv_sec; //用 gettimeofday 創建結構體時得到到 Epoch 時的秒數 380 suseconds_t tv_usec; //微秒數,六位;在實際中,該函數以及 Linux 內核返回的 timeval 類型的時間值, tv_usec 代表的是微秒精度(10的-6次方秒) 381 }; 382 383 struct timezone { 384 int tz_minuteswest; /* minutes west of Greenwich */ 385 int tz_dsttime; /* type of DST correction */ 386 }; 387 388 struct pollfd{ 389 int fd; //文件描述符 390 short events; // requested events 用于輸入 391 short revents; // returned events 用于輸出,可以是 events 中指定已發生的事件,也可以是 POLLERR POLLHUP POLLNVAL 3 個錯誤中的一個 392 } 393 394 struct stat{ 395 dev_t st_dev; //id of device containing file 396 ino_t st_ino; //inode number 397 mode_t st_mode; //protection 398 nlink_t st_nlink; //hard link number 399 uid_t st_uid; 400 gid_t st_gid; 401 dev_t st_rdev; //device id( if special device ) 主次設備號 402 off_t st_size; //total size, in bytes 403 blksize_t st_blksize; //blocksize for filesystem I/O 404 blkcnt_t st_blocks; //number of blocks allocated 405 time_t st_atime; //access 406 time_t st_mtime; //modification 407 time_t st_ctime; //status change 408 } 409 410 struct tm{ 411 int tm_sec; 412 int tm_min; 413 int tm_hour; 414 int tm_mday; 415 int tm_mon; 416 int tm_year; 417 int tm_wday; 418 int tm_yday; 419 int tm_isdst; 420 } 421 422 struct dirent{ 423 ino_t d_ino; //inode number 424 off_t d_off; //offset to the next dirent 425 unsigned short d_reclen; //length of this record 426 unsigned char d_type; //type of file 427 char d_name[256]; //filename 428 } 429 430 struct passwd{ 431 char *pw_name; //用戶名 432 char *pw_passwd; //用戶密碼 433 uid_t pw_uid; 434 gid_t pw_gid; 435 char *pw_gecos; //用戶真實姓名 436 char *pw_dir; //用戶主目錄 437 char *pw_shell; //用戶主 shell 程序 438 } 439 440 struct sigaction{ 441 void ( *sa_handler )( int ); //信號處理程序,有一個 int 參數 442 void ( *sa_sigaction )( int, siginfo_t *, void * ); //信號處理程序,第一個參數是信號,第二個參數是指向 siginfo_t 的指針,第三個參數是指向 ucontext_t 的指針 443 sigset_t sa_mask; //信號掩碼集合,該集合中屏蔽的信號將在信號處理程序結束之后再被處理,默認屏蔽同類信號 444 int sa_flags; //信號處理程序行為標志,SA_SIGINFO 表示使用 sa_sigaction 代替 sa_handler; SA_NODEFER 表示不屏蔽同類信號,SA_NOCLDSTOP 若 signum 是 SIGCHLD,當一個子進程停止時,不產生此信號; SA_RESTART 由此信號中斷的系統調用自動重啟; SA_ONSTACK 若用 sigaltstack 已說明了一替換棧,則此信號遞送給替換棧上的進程; SA_NOCLDWAIT 若 signum 是 SIGCHLD,則當調用進程的子進程終止時,不創建僵尸進程,若調用進程在后面調用 wait,則阻塞到它所有子進程都終止,此時返回 -1; SA_RESETHAND 對此信號的處理方式在此信號捕捉函數的入口處復原為 SIG_DFL 445 void ( *sa_restorer )( void ); //不再使用 446 }; 447 448 union semun{ 449 int val; //SETVAL 450 struct semid_ds *buf; //IPC_STAT IPC_SET 451 unsigned short *array; //GETALL SETALL 452 struct seminfo *__buf; //IPC_INFO 453 }; 454 455 struct sembuf{ 456 unsigned short sem_num; // 操作信號在信號量集中的編號,第一個編號為 0 457 short sem_op; // 如果值為正數,加到現有信號量內含值中,常用于釋放資源;為負數,其絕對值大于信號的現值,操作阻塞,直到信號值大于或等于 sem_op 的絕對值,常用于資源的使用權 458 short sem_flg; // 信號操作標志, IPC_NOWAIT 對信號的操作不能滿足時 semop 不會阻塞,并立即返回,同時設定錯誤信息; C_UNDO 程序結束時,保證信號值被重設為 semop 調用前的值,避免程序異常情況下將資源鎖定 459 }; 460 461 struct hostent{ 462 char *h_name; // 主機的正式名稱 463 char **h_aliases; // 主機的別名 464 int h_addrtype; // 主機的地址類型 AF_INET 465 int h_length; // 主機的地址長度(對于 ip4 是 32 位) 466 char **h_addr_list; // 主機的 ip 地址列表 467 }; 468 469 struct servent{ 470 char *s_name; // 正式服務名 471 char **s_aliases; // 別名列表 472 int s_port; // 端口號 473 char *s_proto; // 使用的協議 474 }; 475 476 struct sockaddr{ // /usr/include/sys/socket.h,一般的編程中并不直接對此數據結構進行操作,而使用另一個與之等價的數據結構sockaddr_in 477 sa_family_t sa_family; // 2字節的地址家族,如 AF_INET 478 char sa_data[14]; // protocol address 479 }; 480 481 struct sockaddr_un{ // 長度為 110B 482 sa_family_t sun_family; 483 char sun_path[108]; 484 }; 485 486 struct sockaddr_in{ // 長度為 16B 487 sa_family_t sin_family; // 在 socket 編程中只能是 AF_INET 488 in_port_t sin_port; 489 struct in_addr sin_addr; 490 unsigned char sin_zero[sizeof(struct sockaddr) - (sizeof(unsigned short int)) - sizeof(in_port_t) - sizeof(struct in_addr)]; // 長度為 8B,暫時未用,應初始化為 0,為了讓 sockaddr 與 sockaddr_in 兩個數據結構保持大小相同而保留的空字節。 491 }; 492 493 struct in_addr{ // <arpa/inet.h> 494 in_addr_t s_addr; // 點分十進制轉換為的二進制數,32 位的 IPv4 地址 495 }; 496 497 struct linger{ // /usr/include/sys/socket.h 498 unsigned short l_onoff; 499 unsigned short l_linger; 500 }; 501 502 struct msghdr{ 503 void *msgname; 504 int msg_name_len; 505 struct iovec *msg_iov; 506 int msg_iovlen; 507 void *msg_control; 508 int msg_controllen; 509 int msg_flags; 510 }; 511 512 struct iovec{ 513 void *iov_base; // 緩沖區開始地址 514 size_t iov_len; // 緩沖區長度 515 }; 516 517 struct file { 518 /* 519 * fu_list becomes invalid after file_free is called and queued via 520 * fu_rcuhead for RCU freeing 521 */ 522 union { 523 struct list_head fu_list; 524 struct rcu_head fu_rcuhead; 525 } f_u; 526 struct path f_path; 527 #define f_dentry f_path.dentry 528 #define f_vfsmnt f_path.mnt 529 const struct file_operations *f_op; 530 atomic_t f_count; 531 unsigned int f_flags; 532 mode_t f_mode; 533 loff_t f_pos; 534 struct fown_struct f_owner; 535 unsigned int f_uid, f_gid; 536 struct file_ra_state f_ra; 537 unsigned long f_version; 538 #ifdef CONFIG_SECURITY 539 void *f_security; 540 #endif 541 /* needed for tty driver, and maybe others */ 542 void *private_data; 543 #ifdef CONFIG_EPOLL 544 /* Used by fs/eventpoll.c to link all the hooks to this file */ 545 struct list_head f_ep_links; 546 spinlock_t f_ep_lock; 547 #endif /* #ifdef CONFIG_EPOLL */ 548 struct address_space *f_mapping; 549 }; //Linux 2.6.11內核,文件結構體代表一個打開的文件,系統中的每個打開的文件在內核空間都有一個關聯的struct file。它由內核在打開文件時創建,并傳遞給在文件上進行操作的任何函數。在文件的所有實例都關閉后,內核釋放這個數據結構。 550 551 552 553 基礎 554 555 556 文件描述符范圍是 0~OPEN——MAX 早期為 19(每個進程打開20個文件),現在多為256。 557 558 POSIX 標只能是 Unix 中最流行的應用編程界面標準。 559 560 文件結束符 ctrl d , EOF is -1(int),不在任何頭文件中定義,應該是 liunx 默認的宏。 561 562 563 文件描述符本質是數組下標,如果子進程不打算使用父進程打開的文件,應該在調用 fork 后關閉該文件;如果父子進程同時打開一個文件,父進程讀取文件后,子進程將讀取同一文件的后續內容。而兩個進程獨立讀取同一文件時,不會相互干擾。 564 565 內核支持文件描述符的數據結構中,最右邊的是 i 節點表,整個系統只有一張,可視為結構體數組,每個元素對應一個物理文件;中間的是文件表,整個系統一張,可視為結構體數組,元素中有 3 個重要的字段,指定文件被打開時采用的選項,文件當前讀寫位置,指向 i 節點表的指針(關聯物理文件);左側的表是文件描述符表,每個進程一張,可視為指針數組,指向文件表中的一個元素,記錄打開的文件。 566 567 extern char **environ; 指向系統環境變量的指針 568 569 刷新 I/O 緩存條件:用戶空間的 I/O 庫緩存被填滿;I/O 緩存庫遇到換行符,并且目標是行緩沖設備(屏幕);I/O 流被關閉。調用系統調用(如 write )可以將 I/O 緩存庫內容提交給內核。 570 571 572 進程內存布局圖:初始數據段data包含已初始化的全局變量和局部靜態變量;bbs存放的是未初始化全局變量和未初始化的static局部變量,他們初始值都為0;stack存放的是動態局部變量,heap是malloc分配的空間;之所以子函數不能相互訪問對方動態局部變量是因為 main 函數調用 A 函數后再調用 B 函數將覆蓋 A 函數的動態局部變量存儲空間。 573 574 進程組、對話期、控制終端:對話期是一個或多個進程組的集合,建立與控制終端連接的對話期首進程叫作控制進程;如果對話期首進程調用 open 打開第一個尚未與一個對話期相關聯的終端設備時沒有指定 O_NOCTTY ,此終端設備則分配給此對話期,如打開 /dev/tty 。 575 576 一般來說,收到 SIGCHLD 后,父進程會使用 wait 系統調用以取得子進程的退出狀態,然后內核就可以從內存中釋放已結束的子進程的 PCB;而如若父進程沒有這么做的話,子進程的 PCB 就會一直駐留在內存中,也即成為僵尸進程。 577 孤兒進程則是指父進程結束后仍在運行的子進程。在類UNIX系統中,孤兒進程一般會被 init 進程所“收養”,成為 init 的子進程。 578 為避免產生僵尸進程,實際應用中一般采取的方式是: 579 1.將父進程中對 SIGCHLD 信號的處理函數設為 SIG_IGN (忽略信號); 580 2. fork 兩次并殺死一級子進程,令二級子進程成為孤兒進程而被 init 所“收養”、清理。 581 582 583 進程間通信包括信號、無名管道、有名管道、共享內存、信號量、消息隊列。 584 585 操作共享內存類似于操作字符指針,用下標來讀寫。 586 587 信號量和互斥鎖,信號量為 1 時就是互斥鎖。 588 589 每個進程都有一個信號掩碼,用來定義被阻塞遞送的信號集合,阻塞信號在關鍵代碼執行完后才處理信號。 590 591 592 gcc 編譯線程時使用 -l pthread ,在 /usr/lib/libpthread.so 中。 593 594 輕進程( LWP )即內核線程,CPU 時間片調度是面向輕進程的,位于系統層和用戶層之間,系統通過輕進程實現對線程資源的分配、對線程的控制,一個輕進程控制一個或多個線程。 595 596 597 網絡中的 3 次握手和 4 分節終止序列。 598 599 小端系統( little endian )中變量的高位存放在高地址,大端系統中變量的高位存放在低地址,網絡中傳送的是大端字節。 600 601 流式套結字采用 TCP 協議,數據報套結字采用 UDP 協議,原始套結字允許對底層協議(如 ip 或 icmp )直接訪問,常用于新的網絡協議的測試等。 602 603 socket 組成為:協議,本地地址,本地端口,遠程地址,遠程端口。 604 605 TCP 網絡編程模型 606 服務器編程模型: socket -> bind -> listen -> accept -> read -> write -> close 607 客戶端編程模型: socket -> connet -> write -> read -> close 608 服務器編程模型: socket 建立無任何網絡連接的 socket ,返回值是一個文件描述符 -> bind 將 socket 和本機 ip 地址和端口號綁定( 3 元組) -> listen 將 socket 指定為一個監聽套結字,用于監聽客戶端到達的網絡連接請求 -> accept 使 socket 進入網絡連接狀態,服務器能接收客戶端連接,沒有連接則阻塞,其返回另一個 socket ,被稱為連接套結字,是一個 5 元組 -> read 讀客戶端發送的數據,否則阻塞 -> write -> close 609 客戶端編程模型: socket -> connet 將服務器 IP 和端口號作為參數傳入,本機選擇一個未使用且大于 1024 的端口號作為本地端口,發起連接,建立連接 -> write -> read -> close 610 611 迭代服務器一次只能處理一個客戶請求,并發服務器使用多個進程(線程)處理客戶連接。并發服務器的一個問題是子進程結束了而父進程還在,會累積僵尸進程,解決方法是子進程結束后給父進程發送 SIGCHLD 信號,父進程在信號處理程序中調用 waitpid 銷調子進程。 612 613 UDP 編程模型 614 服務器: socket -> bind -> recvfrom -> sendto -> close 615 客戶端: socket -> sendto -> recvfrom -> close 616 617 618 619 實踐 620 621 622 判斷條件時“if(( flag = open( "./hel.c", O_RDONLY ))< 0);” 等價于 “if( open( "./hel.c", O_RDONLY )< 0);”, 623 但是 if( flag = open( "./hel.c", O_RDONLY )< 0); is wrong. 624 625 626 程序打開的文件的讀寫權限要基于文件本身的讀寫權限。 627 628 629 time()函數的使用; 630 631 632 633

?

轉載于:https://www.cnblogs.com/little-snake/p/5329138.html

總結

以上是生活随笔為你收集整理的linux c/c++的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲熟悉妇女xxx妇女av | 高清国产亚洲精品自在久久 | 97夜夜澡人人双人人人喊 | 欧美日韩人成综合在线播放 | 老太婆性杂交欧美肥老太 | 免费视频欧美无人区码 | 少妇被粗大的猛进出69影院 | 久久人妻内射无码一区三区 | 中文字幕精品av一区二区五区 | 久久久久成人精品免费播放动漫 | 日产精品高潮呻吟av久久 | 天天躁夜夜躁狠狠是什么心态 | 亚洲毛片av日韩av无码 | 中文字幕人妻丝袜二区 | 久久精品国产大片免费观看 | 无码国模国产在线观看 | 国产精品人妻一区二区三区四 | 国产女主播喷水视频在线观看 | 啦啦啦www在线观看免费视频 | 国产精品亚洲综合色区韩国 | 午夜精品久久久内射近拍高清 | 中文精品无码中文字幕无码专区 | 国产办公室秘书无码精品99 | 波多野结衣高清一区二区三区 | 久久无码人妻影院 | 人人超人人超碰超国产 | 久久国产36精品色熟妇 | 2020久久超碰国产精品最新 | 成人亚洲精品久久久久 | 国产精品二区一区二区aⅴ污介绍 | 精品国产乱码久久久久乱码 | 欧美黑人性暴力猛交喷水 | 国内丰满熟女出轨videos | 亚洲天堂2017无码中文 | 国产亚洲精品久久久久久久 | 色五月五月丁香亚洲综合网 | 色综合久久中文娱乐网 | 天干天干啦夜天干天2017 | 日日碰狠狠丁香久燥 | 亚洲国产精品久久久久久 | 久久久久久av无码免费看大片 | 国产av人人夜夜澡人人爽麻豆 | 一本一道久久综合久久 | 国产精品理论片在线观看 | 亚洲精品一区二区三区四区五区 | 丰满护士巨好爽好大乳 | 亚洲精品一区三区三区在线观看 | 久久99精品久久久久婷婷 | 久久综合久久自在自线精品自 | 天下第一社区视频www日本 | 无人区乱码一区二区三区 | 亚洲乱亚洲乱妇50p | aⅴ在线视频男人的天堂 | 夜精品a片一区二区三区无码白浆 | 久久久久99精品成人片 | 中文无码伦av中文字幕 | 国模大胆一区二区三区 | 色五月丁香五月综合五月 | 国产午夜无码精品免费看 | 国产精品亚洲一区二区三区喷水 | 亚洲天堂2017无码中文 | 欧美xxxx黑人又粗又长 | 丝袜足控一区二区三区 | 日本一卡二卡不卡视频查询 | 成人欧美一区二区三区黑人免费 | 性色av无码免费一区二区三区 | 55夜色66夜色国产精品视频 | 亚洲国产欧美日韩精品一区二区三区 | 乌克兰少妇xxxx做受 | 亚洲七七久久桃花影院 | 人妻少妇精品久久 | 女人和拘做爰正片视频 | 国产成人综合美国十次 | 人人妻人人澡人人爽人人精品 | 人妻无码αv中文字幕久久琪琪布 | 乱码午夜-极国产极内射 | 午夜精品一区二区三区的区别 | 国产国产精品人在线视 | 亚洲日本一区二区三区在线 | 久久综合香蕉国产蜜臀av | 久久久久国色av免费观看性色 | 牲欲强的熟妇农村老妇女视频 | 少妇久久久久久人妻无码 | 99国产精品白浆在线观看免费 | 波多野结衣aⅴ在线 | 亚洲精品鲁一鲁一区二区三区 | 久久综合香蕉国产蜜臀av | 国产极品美女高潮无套在线观看 | 日本一本二本三区免费 | 亚洲日韩中文字幕在线播放 | 久久伊人色av天堂九九小黄鸭 | 999久久久国产精品消防器材 | 国产精品理论片在线观看 | 久久久久se色偷偷亚洲精品av | 乱人伦人妻中文字幕无码久久网 | 国产明星裸体无码xxxx视频 | 国产精品无码成人午夜电影 | 久久精品一区二区三区四区 | 国产内射爽爽大片视频社区在线 | 国产亚洲精品久久久久久国模美 | 日日摸夜夜摸狠狠摸婷婷 | 国产精品久久久久无码av色戒 | 国产三级精品三级男人的天堂 | 漂亮人妻洗澡被公强 日日躁 | 波多野42部无码喷潮在线 | 久久zyz资源站无码中文动漫 | 狠狠亚洲超碰狼人久久 | 未满成年国产在线观看 | 亚洲欧美日韩成人高清在线一区 | 国产偷国产偷精品高清尤物 | 骚片av蜜桃精品一区 | 色婷婷综合中文久久一本 | 国产精品爱久久久久久久 | 性色欲情网站iwww九文堂 | 国产av无码专区亚洲a∨毛片 | 永久免费观看国产裸体美女 | 国产精品多人p群无码 | 精品国偷自产在线视频 | 国产福利视频一区二区 | 欧美老熟妇乱xxxxx | 99久久婷婷国产综合精品青草免费 | 亚洲精品午夜无码电影网 | 成人毛片一区二区 | 亚洲国产精品美女久久久久 | 色综合久久久无码中文字幕 | 色欲久久久天天天综合网精品 | 99视频精品全部免费免费观看 | 亚洲成a人片在线观看日本 | 欧美日韩色另类综合 | 久久综合网欧美色妞网 | 亚洲国产精品久久久久久 | 一本久道久久综合婷婷五月 | 欧美国产日产一区二区 | 亚洲国产av精品一区二区蜜芽 | 久久亚洲国产成人精品性色 | 精品亚洲成av人在线观看 | 性生交大片免费看女人按摩摩 | 中文字幕乱码中文乱码51精品 | 国产 精品 自在自线 | 成 人 免费观看网站 | 亚洲日本一区二区三区在线 | 无码人妻av免费一区二区三区 | 国产suv精品一区二区五 | 欧美性生交xxxxx久久久 | 国产精品人妻一区二区三区四 | 国产无遮挡又黄又爽免费视频 | 麻豆国产丝袜白领秘书在线观看 | 国产人妻久久精品二区三区老狼 | 欧美日韩综合一区二区三区 | 精品亚洲成av人在线观看 | 久久99精品国产麻豆 | 国产精品a成v人在线播放 | 欧美精品国产综合久久 | 国产国语老龄妇女a片 | 国产午夜亚洲精品不卡 | 婷婷色婷婷开心五月四房播播 | 亚洲爆乳精品无码一区二区三区 | 久久精品人妻少妇一区二区三区 | 性欧美videos高清精品 | 久久zyz资源站无码中文动漫 | 国产精品二区一区二区aⅴ污介绍 | 国产精品亚洲综合色区韩国 | 亚洲成在人网站无码天堂 | 欧洲极品少妇 | 亚洲国产午夜精品理论片 | 国产激情无码一区二区 | 99久久久无码国产aaa精品 | 高潮毛片无遮挡高清免费视频 | av香港经典三级级 在线 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲伊人久久精品影院 | 人妻aⅴ无码一区二区三区 | 精品国产乱码久久久久乱码 | 纯爱无遮挡h肉动漫在线播放 | 性欧美videos高清精品 | 免费人成在线观看网站 | 免费播放一区二区三区 | 亚洲国精产品一二二线 | 日韩无码专区 | 人人妻人人澡人人爽欧美精品 | 粗大的内捧猛烈进出视频 | 激情国产av做激情国产爱 | 国产av久久久久精东av | 无码国内精品人妻少妇 | 99精品久久毛片a片 | 四虎国产精品一区二区 | 永久免费观看国产裸体美女 | 熟女俱乐部五十路六十路av | 天天摸天天碰天天添 | 熟妇人妻无码xxx视频 | 76少妇精品导航 | 中文字幕无码日韩欧毛 | 免费乱码人妻系列无码专区 | 3d动漫精品啪啪一区二区中 | 国产舌乚八伦偷品w中 | 99久久人妻精品免费二区 | 99久久久国产精品无码免费 | 欧美三级不卡在线观看 | 国产凸凹视频一区二区 | 久久久中文久久久无码 | 一本久道久久综合狠狠爱 | 玩弄中年熟妇正在播放 | 在线精品国产一区二区三区 | 国产成人无码一二三区视频 | 久久国产精品精品国产色婷婷 | 亚洲国产一区二区三区在线观看 | 欧美人与物videos另类 | 国产精品久久久久久久9999 | 无套内谢的新婚少妇国语播放 | 国语精品一区二区三区 | 青草青草久热国产精品 | 97精品国产97久久久久久免费 | 亚洲国产精品无码一区二区三区 | 丰满人妻翻云覆雨呻吟视频 | 精品国精品国产自在久国产87 | 久久久久免费精品国产 | 最近免费中文字幕中文高清百度 | 国产激情艳情在线看视频 | 亚洲中文字幕乱码av波多ji | 牲交欧美兽交欧美 | 精品亚洲韩国一区二区三区 | 欧美老熟妇乱xxxxx | 久久久久成人片免费观看蜜芽 | 欧美人与禽猛交狂配 | 欧美人与禽zoz0性伦交 | 久久99久久99精品中文字幕 | 日韩人妻少妇一区二区三区 | 亲嘴扒胸摸屁股激烈网站 | √天堂资源地址中文在线 | 亚洲第一网站男人都懂 | 丰满少妇熟乱xxxxx视频 | 少妇被粗大的猛进出69影院 | 日韩在线不卡免费视频一区 | 在线播放亚洲第一字幕 | 伊人久久大香线蕉午夜 | 美女黄网站人色视频免费国产 | 青青久在线视频免费观看 | 免费观看又污又黄的网站 | 日韩av无码一区二区三区不卡 | 波多野42部无码喷潮在线 | 国产精品美女久久久 | а√资源新版在线天堂 | 300部国产真实乱 | 国产suv精品一区二区五 | 国产99久久精品一区二区 | 18禁止看的免费污网站 | 又紧又大又爽精品一区二区 | 亚洲色www成人永久网址 | 人妻人人添人妻人人爱 | 人人妻人人澡人人爽人人精品 | 男女作爱免费网站 | 西西人体www44rt大胆高清 | 亚洲理论电影在线观看 | 久久视频在线观看精品 | 大地资源网第二页免费观看 | 麻豆国产丝袜白领秘书在线观看 | 久久国产精品偷任你爽任你 | 51国偷自产一区二区三区 | 乱码午夜-极国产极内射 | 久久人人爽人人爽人人片ⅴ | 亚洲色无码一区二区三区 | 人妻少妇精品无码专区动漫 | 久久无码中文字幕免费影院蜜桃 | 好爽又高潮了毛片免费下载 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 女人和拘做爰正片视频 | 国产精品丝袜黑色高跟鞋 | 俺去俺来也www色官网 | 亚洲色偷偷男人的天堂 | 精品厕所偷拍各类美女tp嘘嘘 | 久久久婷婷五月亚洲97号色 | 久久精品中文字幕大胸 | 午夜理论片yy44880影院 | 人妻少妇被猛烈进入中文字幕 | 玩弄人妻少妇500系列视频 | 少妇无码一区二区二三区 | 67194成是人免费无码 | 未满成年国产在线观看 | 清纯唯美经典一区二区 | 久久天天躁狠狠躁夜夜免费观看 | 欧美日韩综合一区二区三区 | 国产精品久久国产精品99 | 色五月丁香五月综合五月 | 国产熟女一区二区三区四区五区 | 理论片87福利理论电影 | 午夜男女很黄的视频 | 欧美性生交xxxxx久久久 | 国产97在线 | 亚洲 | 久久久精品人妻久久影视 | 久久久久久av无码免费看大片 | 中文字幕人妻无码一夲道 | 一本大道久久东京热无码av | 网友自拍区视频精品 | 秋霞特色aa大片 | 77777熟女视频在线观看 а天堂中文在线官网 | 伊人久久大香线蕉午夜 | 一区二区三区乱码在线 | 欧洲 | 狂野欧美性猛xxxx乱大交 | 欧美真人作爱免费视频 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲中文字幕av在天堂 | 国产精品无码mv在线观看 | 人妻夜夜爽天天爽三区 | 午夜精品一区二区三区的区别 | 国产高清不卡无码视频 | 亚洲爆乳无码专区 | 久久久精品人妻久久影视 | 精品欧美一区二区三区久久久 | 色老头在线一区二区三区 | 欧美日韩亚洲国产精品 | av在线亚洲欧洲日产一区二区 | 熟妇激情内射com | 成人无码视频在线观看网站 | 亚洲国精产品一二二线 | 久在线观看福利视频 | 欧美日韩一区二区三区自拍 | 国产一区二区三区精品视频 | 亚洲国产精品毛片av不卡在线 | 国产乱人偷精品人妻a片 | 蜜桃视频插满18在线观看 | 波多野42部无码喷潮在线 | 国产亚洲tv在线观看 | 亚洲国产精品久久久天堂 | 一区二区三区高清视频一 | 亚洲精品国产第一综合99久久 | 欧美成人高清在线播放 | 老熟妇乱子伦牲交视频 | 日韩av无码一区二区三区不卡 | 性啪啪chinese东北女人 | 99久久精品午夜一区二区 | 亚洲色欲久久久综合网东京热 | 夜精品a片一区二区三区无码白浆 | 日本在线高清不卡免费播放 | 国产亚洲精品久久久久久大师 | 日韩亚洲欧美中文高清在线 | 精品国产一区二区三区四区在线看 | 老太婆性杂交欧美肥老太 | 久久亚洲中文字幕无码 | 扒开双腿吃奶呻吟做受视频 | 爽爽影院免费观看 | 久久国产精品偷任你爽任你 | 草草网站影院白丝内射 | 亚洲大尺度无码无码专区 | 大屁股大乳丰满人妻 | 亚洲欧美中文字幕5发布 | 亚洲无人区午夜福利码高清完整版 | 最新国产乱人伦偷精品免费网站 | 欧洲极品少妇 | 黑人巨大精品欧美一区二区 | 极品嫩模高潮叫床 | 无遮挡国产高潮视频免费观看 | 精品欧美一区二区三区久久久 | 午夜福利电影 | 无码一区二区三区在线观看 | 国产精品人人妻人人爽 | 国产精品久久久一区二区三区 | 亚洲高清偷拍一区二区三区 | 一个人看的www免费视频在线观看 | 日本一卡2卡3卡四卡精品网站 | 玩弄中年熟妇正在播放 | 国产美女极度色诱视频www | 午夜精品久久久久久久久 | 亚洲精品国产第一综合99久久 | 欧美性生交活xxxxxdddd | 99久久精品日本一区二区免费 | 领导边摸边吃奶边做爽在线观看 | 午夜成人1000部免费视频 | 亚洲呦女专区 | 亚洲中文字幕乱码av波多ji | 精品一区二区三区波多野结衣 | 国产精品无码一区二区三区不卡 | 亚洲狠狠婷婷综合久久 | 精品无码一区二区三区爱欲 | 国内精品久久毛片一区二区 | 麻豆国产丝袜白领秘书在线观看 | 国产熟女一区二区三区四区五区 | 波多野结衣高清一区二区三区 | 国产人成高清在线视频99最全资源 | www成人国产高清内射 | 久久精品视频在线看15 | 日日摸日日碰夜夜爽av | 任你躁国产自任一区二区三区 | 欧美激情内射喷水高潮 | 67194成是人免费无码 | 成人性做爰aaa片免费看不忠 | 国产国产精品人在线视 | 激情人妻另类人妻伦 | 亚洲理论电影在线观看 | 国产精品.xx视频.xxtv | 少妇愉情理伦片bd | 午夜精品一区二区三区的区别 | 国产乱人偷精品人妻a片 | 未满小14洗澡无码视频网站 | 成人免费视频一区二区 | 国产尤物精品视频 | 亚洲精品久久久久中文第一幕 | 色综合久久中文娱乐网 | 熟妇人妻无码xxx视频 | 中文字幕无线码 | 日日天日日夜日日摸 | 国产亚洲精品久久久久久大师 | 兔费看少妇性l交大片免费 | 国产精品办公室沙发 | 国内精品久久久久久中文字幕 | 熟女少妇人妻中文字幕 | 国内少妇偷人精品视频 | 日本又色又爽又黄的a片18禁 | 亚洲日韩一区二区 | 婷婷五月综合缴情在线视频 | 2019午夜福利不卡片在线 | 在线精品国产一区二区三区 | 中文字幕无码日韩欧毛 | 亚洲人成影院在线观看 | 中文字幕av无码一区二区三区电影 | 欧美喷潮久久久xxxxx | 中文毛片无遮挡高清免费 | 乱人伦人妻中文字幕无码久久网 | 久久人人爽人人爽人人片ⅴ | 又粗又大又硬毛片免费看 | 国内老熟妇对白xxxxhd | 亚洲国产精品无码一区二区三区 | 亚洲中文字幕无码中文字在线 | 欧美性生交活xxxxxdddd | 国产av一区二区三区最新精品 | 激情内射日本一区二区三区 | 日本一卡二卡不卡视频查询 | 国产欧美亚洲精品a | 久久久久久a亚洲欧洲av冫 | 丰满岳乱妇在线观看中字无码 | 激情五月综合色婷婷一区二区 | 一本久道久久综合狠狠爱 | 国产精品久久久一区二区三区 | 亚洲国产成人av在线观看 | 成人三级无码视频在线观看 | 国产精品久久久久9999小说 | 精品乱子伦一区二区三区 | 亚洲中文字幕乱码av波多ji | 成人性做爰aaa片免费看 | 国产午夜无码精品免费看 | 久久精品国产日本波多野结衣 | 无码任你躁久久久久久久 | 日韩在线不卡免费视频一区 | 欧美人妻一区二区三区 | 内射欧美老妇wbb | 伊在人天堂亚洲香蕉精品区 | 国产国语老龄妇女a片 | 欧美日韩人成综合在线播放 | 亚洲七七久久桃花影院 | 亚洲欧洲日本无在线码 | 毛片内射-百度 | 亚洲综合另类小说色区 | 日本大香伊一区二区三区 | 无码吃奶揉捏奶头高潮视频 | 国产真人无遮挡作爱免费视频 | 国产午夜精品一区二区三区嫩草 | 久久国产劲爆∧v内射 | 男人扒开女人内裤强吻桶进去 | www成人国产高清内射 | 伦伦影院午夜理论片 | 午夜精品久久久内射近拍高清 | 国产猛烈高潮尖叫视频免费 | 丰满人妻一区二区三区免费视频 | 国产人妻人伦精品1国产丝袜 | 美女毛片一区二区三区四区 | 亚洲成av人片天堂网无码】 | 99国产精品白浆在线观看免费 | 亚洲成a人一区二区三区 | 中文字幕无码av激情不卡 | 成 人 网 站国产免费观看 | 久久综合久久自在自线精品自 | 成人无码视频在线观看网站 | 在线成人www免费观看视频 | 色 综合 欧美 亚洲 国产 | 日本一卡二卡不卡视频查询 | 7777奇米四色成人眼影 | 国产午夜福利亚洲第一 | 图片区 小说区 区 亚洲五月 | 日产精品99久久久久久 | 中文字幕无线码免费人妻 | 麻豆国产97在线 | 欧洲 | 伊人久久大香线蕉av一区二区 | 久久亚洲中文字幕精品一区 | 欧美性生交活xxxxxdddd | 国产亚洲精品久久久久久久 | a国产一区二区免费入口 | 欧美日韩色另类综合 | 亚洲精品国偷拍自产在线麻豆 | 国产精品国产三级国产专播 | 给我免费的视频在线观看 | 老司机亚洲精品影院 | 天下第一社区视频www日本 | 色婷婷欧美在线播放内射 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲成av人片天堂网无码】 | 少妇性l交大片 | 性生交大片免费看女人按摩摩 | 免费观看又污又黄的网站 | 亚洲自偷自拍另类第1页 | 中文字幕乱妇无码av在线 | 精品国产av色一区二区深夜久久 | 亚洲一区二区三区国产精华液 | 国产精品高潮呻吟av久久 | 欧美成人免费全部网站 | 久久久精品欧美一区二区免费 | 日韩人妻无码一区二区三区久久99 | 性欧美大战久久久久久久 | 中文字幕无码免费久久99 | 久久综合激激的五月天 | 永久黄网站色视频免费直播 | 一二三四社区在线中文视频 | 夜夜躁日日躁狠狠久久av | 成人综合网亚洲伊人 | 久久久中文久久久无码 | 激情综合激情五月俺也去 | 亚洲热妇无码av在线播放 | 欧洲美熟女乱又伦 | 精品日本一区二区三区在线观看 | 亚洲欧美日韩综合久久久 | 亚洲国产综合无码一区 | 久久亚洲精品成人无码 | 中文字幕 人妻熟女 | 18黄暴禁片在线观看 | 国产精品久久久久久亚洲影视内衣 | 午夜精品久久久久久久久 | 久久综合给合久久狠狠狠97色 | 欧美人与善在线com | av无码电影一区二区三区 | 国内老熟妇对白xxxxhd | 奇米影视7777久久精品 | 欧洲美熟女乱又伦 | 在线精品亚洲一区二区 | 白嫩日本少妇做爰 | 女人色极品影院 | 最近的中文字幕在线看视频 | 牲欲强的熟妇农村老妇女视频 | 人人妻人人澡人人爽精品欧美 | 小sao货水好多真紧h无码视频 | 97色伦图片97综合影院 | 久久精品国产一区二区三区 | 国产亚洲人成a在线v网站 | 国产无av码在线观看 | 宝宝好涨水快流出来免费视频 | 国产电影无码午夜在线播放 | 久久天天躁狠狠躁夜夜免费观看 | 免费国产黄网站在线观看 | 国产办公室秘书无码精品99 | 亚洲男人av天堂午夜在 | 欧美人与禽zoz0性伦交 | 久久久久se色偷偷亚洲精品av | 欧美精品无码一区二区三区 | 久久久久成人精品免费播放动漫 | 久久综合狠狠综合久久综合88 | 377p欧洲日本亚洲大胆 | 性欧美大战久久久久久久 | 激情五月综合色婷婷一区二区 | 鲁大师影院在线观看 | 夜先锋av资源网站 | 未满小14洗澡无码视频网站 | 99久久久无码国产精品免费 | 亚洲日本va午夜在线电影 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 老熟妇乱子伦牲交视频 | 亚洲の无码国产の无码步美 | 国产又爽又猛又粗的视频a片 | 亚洲成在人网站无码天堂 | 在线а√天堂中文官网 | 玩弄人妻少妇500系列视频 | 久久精品中文字幕大胸 | 啦啦啦www在线观看免费视频 | 亚洲国产成人av在线观看 | 国内精品九九久久久精品 | 国产精品理论片在线观看 | 欧美日韩亚洲国产精品 | 久久久久久久久蜜桃 | 午夜福利电影 | 欧美亚洲日韩国产人成在线播放 | 2020久久香蕉国产线看观看 | 丝袜美腿亚洲一区二区 | 少女韩国电视剧在线观看完整 | 欧美老妇与禽交 | 乱中年女人伦av三区 | 激情内射日本一区二区三区 | 乱人伦人妻中文字幕无码久久网 | 在线观看欧美一区二区三区 | 亚洲中文字幕无码一久久区 | 色五月五月丁香亚洲综合网 | 久久久久免费精品国产 | 成人无码视频在线观看网站 | 香蕉久久久久久av成人 | 动漫av网站免费观看 | 131美女爱做视频 | 亚洲国产精品美女久久久久 | 中文字幕乱码人妻无码久久 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产在线aaa片一区二区99 | 欧美日韩视频无码一区二区三 | 成人性做爰aaa片免费看不忠 | 日韩av无码一区二区三区 | 国产精品久久久久9999小说 | 福利一区二区三区视频在线观看 | 日产国产精品亚洲系列 | 在线亚洲高清揄拍自拍一品区 | 亚洲一区二区三区四区 | 国产又爽又猛又粗的视频a片 | 成人欧美一区二区三区黑人免费 | 成人免费视频一区二区 | 欧美国产日产一区二区 | a在线亚洲男人的天堂 | 国产精品亚洲五月天高清 | 欧美亚洲国产一区二区三区 | 日韩精品久久久肉伦网站 | 欧美日韩亚洲国产精品 | 国产成人无码区免费内射一片色欲 | 99久久精品无码一区二区毛片 | 色窝窝无码一区二区三区色欲 | 国产乱子伦视频在线播放 | 欧美亚洲国产一区二区三区 | 国产亚洲精品久久久ai换 | 呦交小u女精品视频 | 色婷婷欧美在线播放内射 | 中文字幕乱妇无码av在线 | 国产乱人无码伦av在线a | 玩弄少妇高潮ⅹxxxyw | 亚洲爆乳大丰满无码专区 | 免费播放一区二区三区 | 国产精品无码一区二区三区不卡 | 国内综合精品午夜久久资源 | 久久99热只有频精品8 | 亚洲精品一区三区三区在线观看 | 55夜色66夜色国产精品视频 | 亚洲第一无码av无码专区 | 国产精品亚洲а∨无码播放麻豆 | 熟女体下毛毛黑森林 | 无码吃奶揉捏奶头高潮视频 | 日本xxxx色视频在线观看免费 | 国产九九九九九九九a片 | 国产小呦泬泬99精品 | 99国产精品白浆在线观看免费 | 四虎国产精品一区二区 | 荫蒂被男人添的好舒服爽免费视频 | 国产片av国语在线观看 | 大肉大捧一进一出视频出来呀 | 久久久久成人精品免费播放动漫 | 免费乱码人妻系列无码专区 | 九月婷婷人人澡人人添人人爽 | 国产精品无码成人午夜电影 | 久久成人a毛片免费观看网站 | 精品欧美一区二区三区久久久 | 久久久久成人精品免费播放动漫 | 国色天香社区在线视频 | 男女猛烈xx00免费视频试看 | 麻豆成人精品国产免费 | 亚洲自偷自拍另类第1页 | 国产区女主播在线观看 | 性史性农村dvd毛片 | 久久人人爽人人人人片 | 亚洲日本va中文字幕 | 中文字幕无码免费久久9一区9 | 色欲人妻aaaaaaa无码 | 日韩av无码中文无码电影 | 99久久婷婷国产综合精品青草免费 | 色欲av亚洲一区无码少妇 | 国产成人无码专区 | 少妇人妻av毛片在线看 | 中国大陆精品视频xxxx | 亚洲精品久久久久久久久久久 | 亚洲午夜久久久影院 | 日韩欧美中文字幕公布 | 日本护士毛茸茸高潮 | а天堂中文在线官网 | 国产精品亚洲综合色区韩国 | 久久精品中文闷骚内射 | 欧美亚洲国产一区二区三区 | 亚洲乱码中文字幕在线 | 东京无码熟妇人妻av在线网址 | 久久精品中文字幕一区 | 日本大乳高潮视频在线观看 | 午夜成人1000部免费视频 | 2020最新国产自产精品 | 欧美肥老太牲交大战 | 内射欧美老妇wbb | 国产极品美女高潮无套在线观看 | 中文字幕无码av波多野吉衣 | 内射老妇bbwx0c0ck | 无码精品国产va在线观看dvd | 亚洲成a人片在线观看无码 | 男女猛烈xx00免费视频试看 | 日本一区二区三区免费高清 | 欧美精品一区二区精品久久 | 一本色道久久综合狠狠躁 | 国产成人综合在线女婷五月99播放 | 久久精品国产日本波多野结衣 | 欧美阿v高清资源不卡在线播放 | 精品国产一区二区三区四区 | 欧美老妇与禽交 | 亚洲精品一区三区三区在线观看 | 国产福利视频一区二区 | 久久国产劲爆∧v内射 | 国产在线精品一区二区三区直播 | 97资源共享在线视频 | 中国女人内谢69xxxxxa片 | 久久99国产综合精品 | 人妻有码中文字幕在线 | 国产成人无码a区在线观看视频app | 2020久久超碰国产精品最新 | 久青草影院在线观看国产 | 中文字幕中文有码在线 | 国产农村乱对白刺激视频 | 77777熟女视频在线观看 а天堂中文在线官网 | 免费网站看v片在线18禁无码 | 亚洲成av人影院在线观看 | 久久婷婷五月综合色国产香蕉 | 嫩b人妻精品一区二区三区 | 国产精品久久久久无码av色戒 | 久久久无码中文字幕久... | 亚洲成a人片在线观看日本 | 男女爱爱好爽视频免费看 | 欧美日韩一区二区免费视频 | 久久久国产一区二区三区 | 欧洲美熟女乱又伦 | 亚洲天堂2017无码 | 精品成在人线av无码免费看 | 4hu四虎永久在线观看 | 一本久道久久综合狠狠爱 | 亚洲精品午夜国产va久久成人 | 欧美变态另类xxxx | 欧美日本精品一区二区三区 | 久久久国产一区二区三区 | 野外少妇愉情中文字幕 | 亚洲日本一区二区三区在线 | 国产福利视频一区二区 | 欧美三级不卡在线观看 | 奇米影视7777久久精品 | 亚洲经典千人经典日产 | 亚洲精品久久久久avwww潮水 | 伦伦影院午夜理论片 | 中文字幕av伊人av无码av | 300部国产真实乱 | 免费人成网站视频在线观看 | 狠狠综合久久久久综合网 | 牲欲强的熟妇农村老妇女 | 久久久国产精品无码免费专区 | 国产精品办公室沙发 | 亚洲自偷精品视频自拍 | 亚洲爆乳大丰满无码专区 | 国产性生大片免费观看性 | 人妻与老人中文字幕 | а√天堂www在线天堂小说 | 国产成人无码a区在线观看视频app | 精品亚洲成av人在线观看 | 无码人中文字幕 | 日本免费一区二区三区最新 | 欧美真人作爱免费视频 | 亚洲s码欧洲m码国产av | 女人和拘做爰正片视频 | 国产内射老熟女aaaa | 无码人妻少妇伦在线电影 | 日本饥渴人妻欲求不满 | 精品人妻人人做人人爽 | 蜜桃av抽搐高潮一区二区 | 亚洲啪av永久无码精品放毛片 | 无码一区二区三区在线 | 亚洲成av人影院在线观看 | 丰满人妻翻云覆雨呻吟视频 | 亚洲中文字幕成人无码 | 久久精品国产亚洲精品 | 午夜精品一区二区三区的区别 | 激情亚洲一区国产精品 | 国产xxx69麻豆国语对白 | 丁香啪啪综合成人亚洲 | 国产精品高潮呻吟av久久4虎 | 欧美日韩综合一区二区三区 | 亚洲经典千人经典日产 | 精品亚洲成av人在线观看 | 国产又粗又硬又大爽黄老大爷视 | 精品乱码久久久久久久 | 国产口爆吞精在线视频 | 欧美日韩视频无码一区二区三 | 国产精品鲁鲁鲁 | 亚洲va中文字幕无码久久不卡 | 玩弄少妇高潮ⅹxxxyw | 亚洲国产精品无码久久久久高潮 | 暴力强奷在线播放无码 | 国产人妖乱国产精品人妖 | 色欲综合久久中文字幕网 | 亚洲国产精品美女久久久久 | 国内精品久久久久久中文字幕 | 成人一区二区免费视频 | 丁香花在线影院观看在线播放 | 97人妻精品一区二区三区 | 性做久久久久久久免费看 | 日本乱偷人妻中文字幕 | 久久久久久久人妻无码中文字幕爆 | 熟女少妇在线视频播放 | 中文字幕乱码人妻无码久久 | 久久熟妇人妻午夜寂寞影院 | 亚洲呦女专区 | 国产精品永久免费视频 | 午夜精品久久久久久久 | 日日碰狠狠丁香久燥 | 鲁鲁鲁爽爽爽在线视频观看 | 欧美人与物videos另类 | 人妻人人添人妻人人爱 | 人妻体内射精一区二区三四 | 日本丰满护士爆乳xxxx | 人人妻人人澡人人爽欧美一区 | 狠狠躁日日躁夜夜躁2020 | 成人性做爰aaa片免费看 | 久久久久成人精品免费播放动漫 | 成人试看120秒体验区 | 少妇高潮喷潮久久久影院 | 真人与拘做受免费视频一 | 一个人看的www免费视频在线观看 | 色综合久久久无码网中文 | 人妻少妇被猛烈进入中文字幕 | 国产激情无码一区二区 | 久久午夜无码鲁丝片 | 妺妺窝人体色www在线小说 | 乱人伦中文视频在线观看 | √8天堂资源地址中文在线 | 中文无码伦av中文字幕 | 三级4级全黄60分钟 | 久久人人爽人人爽人人片ⅴ | 午夜无码人妻av大片色欲 | 久久亚洲中文字幕精品一区 | 老熟妇仑乱视频一区二区 | 人人超人人超碰超国产 | 日韩人妻无码一区二区三区久久99 | 好屌草这里只有精品 | 成人片黄网站色大片免费观看 | 伊人久久大香线蕉午夜 | 奇米影视7777久久精品 | 国产偷抇久久精品a片69 | 特黄特色大片免费播放器图片 | 国产三级精品三级男人的天堂 | 国产精品第一区揄拍无码 | 99久久久无码国产精品免费 | 国产特级毛片aaaaaaa高清 | 亚洲综合色区中文字幕 | 午夜成人1000部免费视频 | 精品午夜福利在线观看 | 日日摸天天摸爽爽狠狠97 | 国产片av国语在线观看 | 久久人人97超碰a片精品 | 久久国产精品精品国产色婷婷 | 午夜不卡av免费 一本久久a久久精品vr综合 | 中文字幕无码日韩专区 | 理论片87福利理论电影 | 免费播放一区二区三区 | 国产成人一区二区三区别 | 国产一区二区三区影院 | 日本熟妇乱子伦xxxx | 久久97精品久久久久久久不卡 | 人妻少妇精品无码专区二区 | 国产精品久久久久影院嫩草 | 亚洲经典千人经典日产 | 精品久久久久久亚洲精品 | 国产精品嫩草久久久久 | 高清不卡一区二区三区 | 亚洲狠狠婷婷综合久久 | 欧美性生交活xxxxxdddd | 国产精品香蕉在线观看 | 中文字幕久久久久人妻 | 国产精品视频免费播放 | 又大又硬又黄的免费视频 | 国产无遮挡又黄又爽又色 | 狠狠色色综合网站 | 狠狠色丁香久久婷婷综合五月 | 激情综合激情五月俺也去 | 亚洲熟熟妇xxxx | 亚洲a无码综合a国产av中文 | 国产手机在线αⅴ片无码观看 | 久久精品国产99久久6动漫 | 国产艳妇av在线观看果冻传媒 | 精品一区二区不卡无码av | 欧美熟妇另类久久久久久多毛 | 青青草原综合久久大伊人精品 | aa片在线观看视频在线播放 | a片免费视频在线观看 | 内射爽无广熟女亚洲 | 九九热爱视频精品 | 久久久婷婷五月亚洲97号色 | 亚洲中文字幕无码中文字在线 | 亚洲人成网站在线播放942 | 久久国产精品二国产精品 | 欧美人与善在线com | 综合激情五月综合激情五月激情1 | 中文字幕 亚洲精品 第1页 | 成人免费无码大片a毛片 | 亚洲色欲久久久综合网东京热 | 亚洲а∨天堂久久精品2021 | 国内精品人妻无码久久久影院 | 又色又爽又黄的美女裸体网站 | 久久久精品成人免费观看 | 亚洲日本在线电影 | 2020久久超碰国产精品最新 | 国产情侣作爱视频免费观看 | 欧美精品在线观看 | 内射后入在线观看一区 | 久久亚洲精品中文字幕无男同 | 1000部夫妻午夜免费 | 中文字幕av日韩精品一区二区 | 国产激情一区二区三区 | 无码人妻久久一区二区三区不卡 | www国产亚洲精品久久网站 | 欧美三级a做爰在线观看 | 欧美亚洲国产一区二区三区 | a在线亚洲男人的天堂 | 免费国产黄网站在线观看 | 日本在线高清不卡免费播放 | 无码国产色欲xxxxx视频 | 国产真实乱对白精彩久久 | 激情内射日本一区二区三区 | 在线欧美精品一区二区三区 | 色婷婷av一区二区三区之红樱桃 | 亚洲精品中文字幕久久久久 | 国产精品二区一区二区aⅴ污介绍 | 国色天香社区在线视频 | 午夜精品一区二区三区在线观看 | 亚洲乱码国产乱码精品精 | 亚洲成a人片在线观看日本 | 国产偷自视频区视频 | 久久五月精品中文字幕 | 人人超人人超碰超国产 | 麻豆精品国产精华精华液好用吗 | 亚洲 欧美 激情 小说 另类 | 成 人 免费观看网站 | 乱码av麻豆丝袜熟女系列 | a国产一区二区免费入口 | 领导边摸边吃奶边做爽在线观看 | 亚洲精品一区二区三区在线观看 | 男女性色大片免费网站 | 国产精品丝袜黑色高跟鞋 | 午夜福利不卡在线视频 | 久久人妻内射无码一区三区 | 久久99国产综合精品 | 久久精品国产99久久6动漫 | 一个人看的www免费视频在线观看 | 在线播放无码字幕亚洲 | 国内老熟妇对白xxxxhd | 色妞www精品免费视频 | 成人精品天堂一区二区三区 | 搡女人真爽免费视频大全 | 久久精品国产99久久6动漫 | 中文字幕乱码中文乱码51精品 | 99精品视频在线观看免费 | 成人性做爰aaa片免费看 | 激情国产av做激情国产爱 | 曰本女人与公拘交酡免费视频 | 亚洲国产一区二区三区在线观看 | 丰满妇女强制高潮18xxxx | 亚洲国产一区二区三区在线观看 | 性欧美牲交在线视频 | 美女毛片一区二区三区四区 | 高中生自慰www网站 | 欧美肥老太牲交大战 | 久久午夜无码鲁丝片秋霞 | 国产人妻人伦精品1国产丝袜 | 男人的天堂2018无码 | 久久精品成人欧美大片 | 亚洲精品一区二区三区四区五区 | 国产精品人人妻人人爽 | 成人性做爰aaa片免费看 | 久久天天躁狠狠躁夜夜免费观看 | 性色av无码免费一区二区三区 | 动漫av一区二区在线观看 | 男人扒开女人内裤强吻桶进去 | 国产电影无码午夜在线播放 | 少妇高潮喷潮久久久影院 | 精品人妻av区 | 给我免费的视频在线观看 | 少妇厨房愉情理9仑片视频 | 国产精品第一区揄拍无码 | 在线 国产 欧美 亚洲 天堂 | 人人妻人人澡人人爽欧美精品 | 鲁鲁鲁爽爽爽在线视频观看 | 国产97人人超碰caoprom | 性生交片免费无码看人 | 亚洲日本va午夜在线电影 | 大肉大捧一进一出视频出来呀 | 国产高潮视频在线观看 | 东京热无码av男人的天堂 | 少妇太爽了在线观看 | 漂亮人妻洗澡被公强 日日躁 | 国产乱人伦av在线无码 | 十八禁视频网站在线观看 | 无码人妻久久一区二区三区不卡 | 牲交欧美兽交欧美 | 永久免费观看美女裸体的网站 | 亚洲一区二区三区香蕉 | 国产亚洲人成a在线v网站 | 狠狠噜狠狠狠狠丁香五月 | 国产精品亚洲五月天高清 | 国产激情艳情在线看视频 | 正在播放东北夫妻内射 | 精品久久久久久人妻无码中文字幕 | 中文字幕 亚洲精品 第1页 | 少妇邻居内射在线 | 国产绳艺sm调教室论坛 | 久久久成人毛片无码 | 国产欧美精品一区二区三区 | 久激情内射婷内射蜜桃人妖 | 水蜜桃亚洲一二三四在线 | 国产精品亚洲а∨无码播放麻豆 | 日本一本二本三区免费 | 日本又色又爽又黄的a片18禁 | 真人与拘做受免费视频一 | 欧美 丝袜 自拍 制服 另类 | 欧美老妇交乱视频在线观看 | 久在线观看福利视频 | 亚洲色大成网站www国产 | 少妇一晚三次一区二区三区 | 中文无码成人免费视频在线观看 | 中文无码成人免费视频在线观看 | 欧洲熟妇精品视频 | 激情五月综合色婷婷一区二区 | 中文字幕无码热在线视频 | 国产99久久精品一区二区 | 国产区女主播在线观看 | 性色欲情网站iwww九文堂 | 久久久中文久久久无码 | 欧美人妻一区二区三区 | 亚洲欧美国产精品久久 | 欧美国产日韩亚洲中文 | 亚洲狠狠婷婷综合久久 | 亚洲国产精品无码一区二区三区 | 欧美一区二区三区 | 天堂在线观看www | 熟女俱乐部五十路六十路av | 久久久久成人片免费观看蜜芽 | 精品亚洲韩国一区二区三区 | 妺妺窝人体色www婷婷 | 亚洲经典千人经典日产 | 蜜桃臀无码内射一区二区三区 | 俄罗斯老熟妇色xxxx | 国产超级va在线观看视频 | 欧美国产日产一区二区 | 久久亚洲精品中文字幕无男同 | 亚洲综合另类小说色区 | 国产精品怡红院永久免费 | 成人精品一区二区三区中文字幕 | 最近免费中文字幕中文高清百度 | 人妻插b视频一区二区三区 | 亚洲国产精品毛片av不卡在线 | 国产精品对白交换视频 | 高清无码午夜福利视频 | 婷婷五月综合激情中文字幕 | 色窝窝无码一区二区三区色欲 | 双乳奶水饱满少妇呻吟 | 中文亚洲成a人片在线观看 | 久久午夜夜伦鲁鲁片无码免费 | 精品 日韩 国产 欧美 视频 | 亚洲日本一区二区三区在线 | 久久人人爽人人爽人人片av高清 | 国产成人精品三级麻豆 | 国产精品久久国产三级国 | 久久亚洲中文字幕无码 | 激情内射亚州一区二区三区爱妻 | 久精品国产欧美亚洲色aⅴ大片 | 日日碰狠狠躁久久躁蜜桃 | 亚洲综合在线一区二区三区 | 中国女人内谢69xxxxxa片 | 国产无遮挡又黄又爽免费视频 | 亚洲熟女一区二区三区 | 九九在线中文字幕无码 | 熟妇人妻中文av无码 | 亚洲国产精品无码久久久久高潮 | 久久精品无码一区二区三区 | 97久久国产亚洲精品超碰热 | 亚洲综合无码一区二区三区 | 国产精品毛多多水多 | 亚洲欧美日韩国产精品一区二区 | 18禁止看的免费污网站 | 中文字幕亚洲情99在线 | 亚洲国产精品一区二区美利坚 | 欧美性黑人极品hd | 精品国精品国产自在久国产87 | 一区二区三区乱码在线 | 欧洲 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 5858s亚洲色大成网站www | 久久国产精品精品国产色婷婷 | 久久久国产一区二区三区 | 97久久国产亚洲精品超碰热 | 亚洲七七久久桃花影院 | 天下第一社区视频www日本 | 97久久精品无码一区二区 | 国精品人妻无码一区二区三区蜜柚 | 水蜜桃亚洲一二三四在线 | 国产国语老龄妇女a片 | 131美女爱做视频 | 捆绑白丝粉色jk震动捧喷白浆 | 久久久久99精品国产片 | 无码播放一区二区三区 | 国产九九九九九九九a片 | 亚洲熟女一区二区三区 | aⅴ在线视频男人的天堂 | 色一情一乱一伦一视频免费看 | 女人色极品影院 | 国产成人精品三级麻豆 | 亚洲精品中文字幕久久久久 | 全黄性性激高免费视频 | 成人无码精品一区二区三区 | 人妻互换免费中文字幕 | 免费国产成人高清在线观看网站 | а天堂中文在线官网 | 丰满护士巨好爽好大乳 | 亚洲色无码一区二区三区 | 色妞www精品免费视频 | 国内揄拍国内精品人妻 | 成年美女黄网站色大免费全看 | 久久综合给合久久狠狠狠97色 | 国产精华av午夜在线观看 | 国产亚洲人成在线播放 | 中国女人内谢69xxxx | 国产精品多人p群无码 | 色老头在线一区二区三区 | 国产一区二区三区四区五区加勒比 | 扒开双腿吃奶呻吟做受视频 | 欧美日韩一区二区三区自拍 | 夜先锋av资源网站 | 丁香啪啪综合成人亚洲 | 人妻aⅴ无码一区二区三区 | 国产乱人伦av在线无码 | 国产人妻精品午夜福利免费 | 扒开双腿疯狂进出爽爽爽视频 | 人妻体内射精一区二区三四 | 人妻夜夜爽天天爽三区 | 亚洲爆乳无码专区 | 午夜免费福利小电影 | 少妇性荡欲午夜性开放视频剧场 | 日本熟妇人妻xxxxx人hd | 婷婷五月综合激情中文字幕 | 亚洲综合无码久久精品综合 | 欧美人与动性行为视频 | 国产精品亚洲lv粉色 | 国产精品久久久久久久影院 | 荡女精品导航 | 人人澡人人妻人人爽人人蜜桃 | www国产亚洲精品久久久日本 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 久久天天躁狠狠躁夜夜免费观看 | 色五月丁香五月综合五月 | 国产成人无码区免费内射一片色欲 | 日韩精品成人一区二区三区 | 无码人妻久久一区二区三区不卡 | 麻豆av传媒蜜桃天美传媒 | 久久精品国产日本波多野结衣 | www一区二区www免费 | 国产精品国产自线拍免费软件 | 成人无码视频免费播放 | 丰满护士巨好爽好大乳 | 亚洲国产精品成人久久蜜臀 | 中文字幕日产无线码一区 | 中文字幕人妻无码一夲道 | 欧美人与善在线com | 亚洲毛片av日韩av无码 | 狠狠噜狠狠狠狠丁香五月 | 日韩欧美中文字幕公布 | 国产精品久久久av久久久 | 性欧美牲交xxxxx视频 | 国产精品内射视频免费 | 欧美日本日韩 | 亚洲狠狠色丁香婷婷综合 | 国产小呦泬泬99精品 | 秋霞特色aa大片 | 老子影院午夜伦不卡 | 无码人妻av免费一区二区三区 | 天堂一区人妻无码 | а√资源新版在线天堂 | 国产美女极度色诱视频www | 欧美xxxxx精品 | 中文字幕精品av一区二区五区 | 国产精品永久免费视频 | 精品国产一区二区三区四区在线看 | 一个人看的视频www在线 | 午夜福利不卡在线视频 | 成人性做爰aaa片免费看不忠 | 欧美老熟妇乱xxxxx | 欧美第一黄网免费网站 | 99在线 | 亚洲 | 亚洲成a人一区二区三区 | 亚洲精品久久久久avwww潮水 | 日本精品久久久久中文字幕 | 国产在热线精品视频 | 中文字幕人妻无码一夲道 | 日日噜噜噜噜夜夜爽亚洲精品 | 成人av无码一区二区三区 | 国产成人精品一区二区在线小狼 | 亚洲日韩精品欧美一区二区 | 成人综合网亚洲伊人 | 久久久久久久久蜜桃 | 国语精品一区二区三区 | 精品无码成人片一区二区98 | 国产办公室秘书无码精品99 | 一个人免费观看的www视频 | 377p欧洲日本亚洲大胆 | 亚洲成熟女人毛毛耸耸多 | 一本久久a久久精品vr综合 | 国产精品办公室沙发 | 久在线观看福利视频 | 国产精品久久久久无码av色戒 | 久久综合激激的五月天 | 欧美性猛交内射兽交老熟妇 | 亚洲国产精品无码一区二区三区 | 中文字幕无码av激情不卡 | 国产69精品久久久久app下载 | 漂亮人妻洗澡被公强 日日躁 | 国产精品毛多多水多 | 色 综合 欧美 亚洲 国产 | 国产69精品久久久久app下载 | 国产成人无码av在线影院 | 久久久久久国产精品无码下载 | 人人妻人人澡人人爽欧美一区九九 | 久久午夜夜伦鲁鲁片无码免费 | 国产精品无码永久免费888 | 成人一区二区免费视频 | 蜜桃无码一区二区三区 | 国产乱人偷精品人妻a片 | 亚洲精品一区国产 | 少妇太爽了在线观看 | 国产手机在线αⅴ片无码观看 | 国产黑色丝袜在线播放 | 国产三级精品三级男人的天堂 | 国产av久久久久精东av | 亚洲中文字幕无码中文字在线 | 亚洲乱码中文字幕在线 | 露脸叫床粗话东北少妇 | av人摸人人人澡人人超碰下载 | 少妇人妻偷人精品无码视频 | 免费播放一区二区三区 | 欧美成人高清在线播放 | 亚洲成av人影院在线观看 | 在线成人www免费观看视频 | 日日鲁鲁鲁夜夜爽爽狠狠 | 99视频精品全部免费免费观看 | 国产精品99久久精品爆乳 | 大乳丰满人妻中文字幕日本 | 国内揄拍国内精品人妻 | 国产成人无码av片在线观看不卡 | 成人av无码一区二区三区 | 国产精品第一区揄拍无码 | 好男人www社区 | yw尤物av无码国产在线观看 | 精品无码成人片一区二区98 | 国产精品高潮呻吟av久久4虎 | 国产在线aaa片一区二区99 | 亚洲精品欧美二区三区中文字幕 | 国产精品无码成人午夜电影 | 十八禁真人啪啪免费网站 | 国内综合精品午夜久久资源 | 国产精品免费大片 | 18无码粉嫩小泬无套在线观看 | 国产在线一区二区三区四区五区 | 亚洲娇小与黑人巨大交 | 久久国产精品精品国产色婷婷 | 亚洲狠狠色丁香婷婷综合 | 日韩在线不卡免费视频一区 | 久久久无码中文字幕久... | 国产亚洲精品久久久ai换 | 中文字幕无码av波多野吉衣 | 色五月五月丁香亚洲综合网 | а√资源新版在线天堂 | 十八禁视频网站在线观看 | 午夜精品一区二区三区在线观看 | 黑森林福利视频导航 | 亚洲精品成人av在线 | 亚洲欧洲中文日韩av乱码 | 国产成人久久精品流白浆 | 青青草原综合久久大伊人精品 | 曰韩无码二三区中文字幕 | 亚洲 a v无 码免 费 成 人 a v | 精品无人国产偷自产在线 | 亚洲熟熟妇xxxx | 国产肉丝袜在线观看 | 色综合久久88色综合天天 | 久久久久成人片免费观看蜜芽 | av无码久久久久不卡免费网站 | 在线欧美精品一区二区三区 | 玩弄少妇高潮ⅹxxxyw | 娇妻被黑人粗大高潮白浆 | 国产精品亚洲综合色区韩国 | 午夜无码人妻av大片色欲 | 狂野欧美性猛xxxx乱大交 | 中文字幕av伊人av无码av | 国产97人人超碰caoprom | 少妇被黑人到高潮喷出白浆 | 妺妺窝人体色www婷婷 | 人妻夜夜爽天天爽三区 | av人摸人人人澡人人超碰下载 | 奇米影视7777久久精品人人爽 | 人妻夜夜爽天天爽三区 | 欧美精品免费观看二区 | 国产两女互慰高潮视频在线观看 | 女人和拘做爰正片视频 | 色综合久久88色综合天天 | 欧美日本日韩 | 国产麻豆精品一区二区三区v视界 | 国产成人无码av片在线观看不卡 | 国产精品亚洲lv粉色 | www国产亚洲精品久久久日本 | 欧美人与牲动交xxxx | 亚洲色大成网站www | 无码国产色欲xxxxx视频 | 久久久久久久女国产乱让韩 | 97夜夜澡人人双人人人喊 | 亚洲色大成网站www国产 | 国产av久久久久精东av | 色五月丁香五月综合五月 | 蜜桃臀无码内射一区二区三区 | 高潮毛片无遮挡高清免费 | 色婷婷综合激情综在线播放 | 人人爽人人澡人人高潮 | 老熟女重囗味hdxx69 | 99精品久久毛片a片 | 日日夜夜撸啊撸 | 国产9 9在线 | 中文 | 熟妇人妻无码xxx视频 | 精品无码一区二区三区爱欲 | 又紧又大又爽精品一区二区 | 国产精品第一国产精品 | 国产午夜精品一区二区三区嫩草 | 精品无码国产自产拍在线观看蜜 | 又粗又大又硬又长又爽 | 国产麻豆精品一区二区三区v视界 | 日韩欧美中文字幕在线三区 | 成人三级无码视频在线观看 | 国产婷婷色一区二区三区在线 | 帮老师解开蕾丝奶罩吸乳网站 | 毛片内射-百度 | 99久久精品午夜一区二区 | 六月丁香婷婷色狠狠久久 | 国产激情无码一区二区app | 亚洲精品中文字幕乱码 | 爽爽影院免费观看 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲精品成人福利网站 | 亚洲综合另类小说色区 | 日韩欧美群交p片內射中文 | 国产色xx群视频射精 | 国产精品无套呻吟在线 | 国产免费久久精品国产传媒 | 天干天干啦夜天干天2017 | 国产一精品一av一免费 | 牲交欧美兽交欧美 | 无码av中文字幕免费放 | 亚洲日韩av一区二区三区中文 | 欧美怡红院免费全部视频 | 图片小说视频一区二区 | 久久人妻内射无码一区三区 | 亚洲精品中文字幕乱码 | 午夜性刺激在线视频免费 | 国产av一区二区三区最新精品 | 久久亚洲中文字幕无码 | 日韩人妻无码中文字幕视频 | 少妇性l交大片欧洲热妇乱xxx | 午夜精品一区二区三区在线观看 | 欧美熟妇另类久久久久久多毛 | 人妻少妇被猛烈进入中文字幕 | 日韩av无码一区二区三区 | 国产成人久久精品流白浆 | 亚洲精品欧美二区三区中文字幕 | 小sao货水好多真紧h无码视频 | 在线精品亚洲一区二区 | 成人综合网亚洲伊人 | 亚洲一区二区三区无码久久 | 狂野欧美性猛xxxx乱大交 | 国产精品毛片一区二区 | 久久天天躁狠狠躁夜夜免费观看 | 精品久久久无码人妻字幂 | 老子影院午夜精品无码 | 久久99精品国产麻豆 | 亚洲欧美中文字幕5发布 | 77777熟女视频在线观看 а天堂中文在线官网 | 成人一在线视频日韩国产 | 一本加勒比波多野结衣 | 免费人成在线视频无码 | 99国产精品白浆在线观看免费 | 无遮无挡爽爽免费视频 | 亚洲中文字幕无码中字 | 亚洲综合久久一区二区 | 久久人妻内射无码一区三区 | 人妻少妇被猛烈进入中文字幕 | 欧美老熟妇乱xxxxx | 色 综合 欧美 亚洲 国产 | 色 综合 欧美 亚洲 国产 | 午夜福利不卡在线视频 | 国产麻豆精品一区二区三区v视界 | 国产又粗又硬又大爽黄老大爷视 | 久久综合九色综合97网 | 沈阳熟女露脸对白视频 | 欧美色就是色 | 青草青草久热国产精品 | 狂野欧美性猛交免费视频 | 午夜精品久久久久久久 | 国产亚洲欧美日韩亚洲中文色 | 亚洲熟女一区二区三区 | 精品日本一区二区三区在线观看 | 日本高清一区免费中文视频 | 少妇性荡欲午夜性开放视频剧场 | 国产av人人夜夜澡人人爽麻豆 | 精品水蜜桃久久久久久久 | 国产精品久久久午夜夜伦鲁鲁 | 国产人妻人伦精品1国产丝袜 | 女人被爽到呻吟gif动态图视看 | 国产特级毛片aaaaaaa高清 | 亚洲精品一区二区三区在线观看 | 久热国产vs视频在线观看 | 日本大乳高潮视频在线观看 | 乌克兰少妇性做爰 | 成人欧美一区二区三区黑人 | 精品无码av一区二区三区 | 好男人社区资源 | 夜夜影院未满十八勿进 | 国产精品久久久久久无码 | 日韩人妻少妇一区二区三区 | 亚洲国产午夜精品理论片 | 亚洲の无码国产の无码步美 | 少妇高潮一区二区三区99 | 国产成人精品一区二区在线小狼 | 国产精品永久免费视频 | 四十如虎的丰满熟妇啪啪 | 天天躁日日躁狠狠躁免费麻豆 | 少妇邻居内射在线 | 无码人中文字幕 | 亚洲爆乳精品无码一区二区三区 | 国产乱码精品一品二品 | 沈阳熟女露脸对白视频 | 一本大道久久东京热无码av | 亚洲熟熟妇xxxx | aa片在线观看视频在线播放 | 最近中文2019字幕第二页 | 国产综合久久久久鬼色 | 欧美日韩一区二区三区自拍 | 日韩精品乱码av一区二区 | 国产午夜无码视频在线观看 | 无遮挡国产高潮视频免费观看 | 久久久久久a亚洲欧洲av冫 | 狠狠cao日日穞夜夜穞av | 图片区 小说区 区 亚洲五月 | 精品偷拍一区二区三区在线看 | 亚洲综合另类小说色区 | 18黄暴禁片在线观看 | 人人爽人人爽人人片av亚洲 | 日日鲁鲁鲁夜夜爽爽狠狠 | 99久久久国产精品无码免费 | 精品国偷自产在线 | 日本熟妇大屁股人妻 | 成人影院yy111111在线观看 | 日韩精品无码一本二本三本色 | 一本大道久久东京热无码av | 无码帝国www无码专区色综合 | 麻豆国产人妻欲求不满谁演的 | 乱人伦中文视频在线观看 | 国产情侣作爱视频免费观看 | 久久国产劲爆∧v内射 | 国产精品-区区久久久狼 | 亚洲毛片av日韩av无码 | 人妻夜夜爽天天爽三区 | 精品无人国产偷自产在线 | 日本一区二区更新不卡 | 日本饥渴人妻欲求不满 | 久久综合给久久狠狠97色 | 国产人妻大战黑人第1集 | 欧美第一黄网免费网站 | 亚洲aⅴ无码成人网站国产app | 最新版天堂资源中文官网 | 99久久精品国产一区二区蜜芽 | 国产成人久久精品流白浆 | 秋霞特色aa大片 | 欧美自拍另类欧美综合图片区 | 97人妻精品一区二区三区 | 欧美老人巨大xxxx做受 | 俺去俺来也www色官网 | 中文字幕亚洲情99在线 | 久久久久免费看成人影片 | 国产真实伦对白全集 | 久久国产精品精品国产色婷婷 | 在线观看免费人成视频 | 少妇无码av无码专区在线观看 | 无套内谢的新婚少妇国语播放 | 色婷婷av一区二区三区之红樱桃 | 少妇性俱乐部纵欲狂欢电影 | av无码久久久久不卡免费网站 | 国产av无码专区亚洲a∨毛片 | 人妻无码αv中文字幕久久琪琪布 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产精品第一区揄拍无码 | 亚洲欧美国产精品专区久久 | 精品偷自拍另类在线观看 | 国产精品多人p群无码 | 在线欧美精品一区二区三区 | 亚洲色www成人永久网址 | 久久zyz资源站无码中文动漫 | 网友自拍区视频精品 | 亚洲国产精品久久人人爱 | 国产人妻人伦精品1国产丝袜 | 麻豆国产丝袜白领秘书在线观看 | 婷婷六月久久综合丁香 | 亚洲第一网站男人都懂 | 久久久精品人妻久久影视 | 国产肉丝袜在线观看 | 欧美日本精品一区二区三区 | 高中生自慰www网站 | 国产免费无码一区二区视频 | 久久久久久亚洲精品a片成人 | 少女韩国电视剧在线观看完整 | 欧美人与物videos另类 | 久久精品人人做人人综合试看 | 久久 国产 尿 小便 嘘嘘 | 免费视频欧美无人区码 | 国产另类ts人妖一区二区 | 成人精品一区二区三区中文字幕 | 亚洲成av人综合在线观看 | 国产性生交xxxxx无码 | 亚洲色大成网站www国产 | 亚洲国产欧美日韩精品一区二区三区 | 强奷人妻日本中文字幕 | 亚洲人成无码网www | 国产激情综合五月久久 | 久久久精品国产sm最大网站 | 少妇被黑人到高潮喷出白浆 | 欧美熟妇另类久久久久久多毛 | 国产明星裸体无码xxxx视频 | 国产人成高清在线视频99最全资源 | 一本久道久久综合婷婷五月 | 99精品无人区乱码1区2区3区 | 国产网红无码精品视频 | 亚洲精品成a人在线观看 | 给我免费的视频在线观看 | 亚洲精品久久久久avwww潮水 | 给我免费的视频在线观看 | 全球成人中文在线 | 国产精品无码mv在线观看 | 中文字幕人妻无码一夲道 | 亚洲精品中文字幕 | 久久久久亚洲精品中文字幕 | 久久99热只有频精品8 | 亚洲欧美国产精品专区久久 | 欧美35页视频在线观看 | 久久婷婷五月综合色国产香蕉 | 亚洲成a人片在线观看无码 | 国产成人无码av一区二区 | 久久无码中文字幕免费影院蜜桃 | 一本加勒比波多野结衣 | 青春草在线视频免费观看 | 国产精品二区一区二区aⅴ污介绍 | 牛和人交xxxx欧美 | 国产精品欧美成人 | 国产乱人伦偷精品视频 | 97夜夜澡人人爽人人喊中国片 | 毛片内射-百度 | 国产女主播喷水视频在线观看 | 久久无码中文字幕免费影院蜜桃 | 亚洲人成网站免费播放 | 国产在线aaa片一区二区99 | 中文字幕无码人妻少妇免费 | 97精品人妻一区二区三区香蕉 | 漂亮人妻洗澡被公强 日日躁 | 欧美国产亚洲日韩在线二区 | 四虎国产精品免费久久 | 欧美人与动性行为视频 | 黑人玩弄人妻中文在线 | 图片区 小说区 区 亚洲五月 | 国产精品无码一区二区桃花视频 | 鲁大师影院在线观看 | 久久久亚洲欧洲日产国码αv | 性色欲网站人妻丰满中文久久不卡 | 爆乳一区二区三区无码 | 亚洲欧美国产精品久久 | 国产精品18久久久久久麻辣 | 午夜精品一区二区三区的区别 | 久久精品一区二区三区四区 | 日日躁夜夜躁狠狠躁 | 日韩精品无码免费一区二区三区 | av人摸人人人澡人人超碰下载 | 国产莉萝无码av在线播放 | 免费观看的无遮挡av | 国产成人无码av一区二区 | 久久99精品国产麻豆蜜芽 | 性欧美疯狂xxxxbbbb | 亚洲日韩乱码中文无码蜜桃臀网站 | 天堂在线观看www | 成人欧美一区二区三区黑人免费 | 性欧美videos高清精品 | 人人爽人人爽人人片av亚洲 | 久久综合网欧美色妞网 | 熟妇人妻无乱码中文字幕 | 99久久精品国产一区二区蜜芽 | 成人欧美一区二区三区 | 国产成人一区二区三区在线观看 | 亚洲成a人一区二区三区 | 丰满岳乱妇在线观看中字无码 | 久久精品国产日本波多野结衣 | 麻豆果冻传媒2021精品传媒一区下载 | 国产午夜无码视频在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 国产精品久久久久久无码 | 无码av最新清无码专区吞精 | 玩弄人妻少妇500系列视频 | 欧美真人作爱免费视频 | 国产农村妇女高潮大叫 | 国产精品香蕉在线观看 | 亚洲欧洲日本无在线码 | 自拍偷自拍亚洲精品被多人伦好爽 | 天堂亚洲2017在线观看 | 国内精品久久毛片一区二区 | 国产午夜无码精品免费看 | 中文字幕av日韩精品一区二区 | 日韩人妻少妇一区二区三区 | 国产黄在线观看免费观看不卡 | 狠狠色色综合网站 | 午夜时刻免费入口 | 97精品人妻一区二区三区香蕉 | 色欲人妻aaaaaaa无码 | 欧美人与物videos另类 | 亚洲一区av无码专区在线观看 | 熟妇女人妻丰满少妇中文字幕 | 成熟女人特级毛片www免费 | 性生交大片免费看l | 国产精品.xx视频.xxtv | 日韩欧美中文字幕在线三区 | 婷婷丁香六月激情综合啪 | 欧美日韩在线亚洲综合国产人 | 成人一在线视频日韩国产 | 亚洲国产精品美女久久久久 | 蜜臀av无码人妻精品 | 久久国内精品自在自线 | 国产成人久久精品流白浆 | 国产精品人人爽人人做我的可爱 | 影音先锋中文字幕无码 | 日日躁夜夜躁狠狠躁 | 正在播放老肥熟妇露脸 | 国产精品久久久一区二区三区 | 亚洲无人区一区二区三区 | 国产人妻精品一区二区三区 | av无码电影一区二区三区 | 成人性做爰aaa片免费看 | 永久免费观看美女裸体的网站 | 久久久精品国产sm最大网站 | 国产两女互慰高潮视频在线观看 | 九九热爱视频精品 | 亚洲国产综合无码一区 | 蜜桃无码一区二区三区 | 亚洲人成影院在线观看 | 中文字幕乱码中文乱码51精品 | 中文字幕无码免费久久99 | 精品亚洲韩国一区二区三区 | 精品国精品国产自在久国产87 | 乌克兰少妇性做爰 | 娇妻被黑人粗大高潮白浆 | 真人与拘做受免费视频一 | 久久精品国产99久久6动漫 | 天堂а√在线地址中文在线 | 国产免费久久精品国产传媒 | 精品无人国产偷自产在线 | 在线观看欧美一区二区三区 | 国产精品视频免费播放 | 国产美女极度色诱视频www | 99久久久国产精品无码免费 | 久久久久亚洲精品男人的天堂 | 日日躁夜夜躁狠狠躁 | 国产尤物精品视频 | 少妇无码吹潮 | 亚洲经典千人经典日产 | 天干天干啦夜天干天2017 | 荫蒂添的好舒服视频囗交 | 日日碰狠狠丁香久燥 | 女人高潮内射99精品 | 人人爽人人澡人人人妻 | 国产国产精品人在线视 | 性欧美牲交xxxxx视频 | 沈阳熟女露脸对白视频 | 日韩欧美中文字幕在线三区 | 久久综合网欧美色妞网 | 久久 国产 尿 小便 嘘嘘 | 东京热无码av男人的天堂 |