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

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

?? sockets.c

?? uCOSII_lwip_lpc1768
?? C
?? 第 1 頁 / 共 4 頁
字號:
      break;    case IP_MULTICAST_IF:      ((struct in_addr*) optval)->s_addr = sock->conn->pcb.udp->multicast_ip.addr;      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_IP, IP_MULTICAST_IF) = 0x%"X32_F"\r\n",                  s, *(u32_t *)optval));      break;#endif /* LWIP_IGMP */    }  /* switch (optname) */    break;#if LWIP_TCP/* Level: IPPROTO_TCP */  case IPPROTO_TCP:    switch (optname) {    case TCP_NODELAY:      *(int*)optval = tcp_nagle_disabled(sock->conn->pcb.tcp);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_TCP, TCP_NODELAY) = %s\r\n",                  s, (*(int*)optval)?"on":"off") );      break;    case TCP_KEEPALIVE:      *(int*)optval = (int)sock->conn->pcb.tcp->keep_idle;      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_IP, TCP_KEEPALIVE) = %d\r\n",                  s, *(int *)optval));      break;#if LWIP_TCP_KEEPALIVE    case TCP_KEEPIDLE:      *(int*)optval = (int)(sock->conn->pcb.tcp->keep_idle/1000);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_IP, TCP_KEEPIDLE) = %d\r\n",                  s, *(int *)optval));      break;    case TCP_KEEPINTVL:      *(int*)optval = (int)(sock->conn->pcb.tcp->keep_intvl/1000);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_IP, TCP_KEEPINTVL) = %d\r\n",                  s, *(int *)optval));      break;    case TCP_KEEPCNT:      *(int*)optval = (int)sock->conn->pcb.tcp->keep_cnt;      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_IP, TCP_KEEPCNT) = %d\r\n",                  s, *(int *)optval));      break;#endif /* LWIP_TCP_KEEPALIVE */    }  /* switch (optname) */    break;#endif /* LWIP_TCP */#if LWIP_UDP && LWIP_UDPLITE  /* Level: IPPROTO_UDPLITE */  case IPPROTO_UDPLITE:    switch (optname) {    case UDPLITE_SEND_CSCOV:      *(int*)optval = sock->conn->pcb.udp->chksum_len_tx;      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV) = %d\r\n",                  s, (*(int*)optval)) );      break;    case UDPLITE_RECV_CSCOV:      *(int*)optval = sock->conn->pcb.udp->chksum_len_rx;      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_UDPLITE, UDPLITE_RECV_CSCOV) = %d\r\n",                  s, (*(int*)optval)) );      break;    }  /* switch (optname) */    break;#endif /* LWIP_UDP */  } /* switch (level) */  sys_sem_signal(sock->conn->op_completed);}intlwip_setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen){  struct lwip_socket *sock = get_socket(s);  int err = ERR_OK;  struct lwip_setgetsockopt_data data;  if (!sock)    return -1;  if (NULL == optval) {    sock_set_errno(sock, EFAULT);    return -1;  }  /* Do length and type checks for the various options first, to keep it readable. */  switch (level) {/* Level: SOL_SOCKET */  case SOL_SOCKET:    switch (optname) {    case SO_BROADCAST:    /* UNIMPL case SO_DEBUG: */    /* UNIMPL case SO_DONTROUTE: */    case SO_KEEPALIVE:    /* UNIMPL case case SO_CONTIMEO: */    /* UNIMPL case case SO_SNDTIMEO: */#if LWIP_SO_RCVTIMEO    case SO_RCVTIMEO:#endif /* LWIP_SO_RCVTIMEO */#if LWIP_SO_RCVBUF    case SO_RCVBUF:#endif /* LWIP_SO_RCVBUF */    /* UNIMPL case SO_OOBINLINE: */    /* UNIMPL case SO_SNDBUF: */    /* UNIMPL case SO_RCVLOWAT: */    /* UNIMPL case SO_SNDLOWAT: */#if SO_REUSE    case SO_REUSEADDR:    case SO_REUSEPORT:#endif /* SO_REUSE */    /* UNIMPL case SO_USELOOPBACK: */      if (optlen < sizeof(int)) {        err = EINVAL;      }      break;    case SO_NO_CHECK:      if (optlen < sizeof(int)) {        err = EINVAL;      }#if LWIP_UDP      if ((sock->conn->type != NETCONN_UDP) ||          ((udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_UDPLITE) != 0)) {        /* this flag is only available for UDP, not for UDP lite */        err = EAFNOSUPPORT;      }#endif /* LWIP_UDP */      break;    default:      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, SOL_SOCKET, UNIMPL: optname=0x%x, ..)\r\n",                  s, optname));      err = ENOPROTOOPT;    }  /* switch (optname) */    break;/* Level: IPPROTO_IP */  case IPPROTO_IP:    switch (optname) {    /* UNIMPL case IP_HDRINCL: */    /* UNIMPL case IP_RCVDSTADDR: */    /* UNIMPL case IP_RCVIF: */    case IP_TTL:    case IP_TOS:      if (optlen < sizeof(int)) {        err = EINVAL;      }      break;#if LWIP_IGMP    case IP_MULTICAST_TTL:      if (optlen < sizeof(u8_t)) {        err = EINVAL;      }      if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {        err = EAFNOSUPPORT;      }      break;    case IP_MULTICAST_IF:      if (optlen < sizeof(struct in_addr)) {        err = EINVAL;      }      if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {        err = EAFNOSUPPORT;      }      break;    case IP_ADD_MEMBERSHIP:    case IP_DROP_MEMBERSHIP:      if (optlen < sizeof(struct ip_mreq)) {        err = EINVAL;      }      if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {        err = EAFNOSUPPORT;      }      break;#endif /* LWIP_IGMP */      default:        LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_IP, UNIMPL: optname=0x%x, ..)\r\n",                    s, optname));        err = ENOPROTOOPT;    }  /* switch (optname) */    break;#if LWIP_TCP/* Level: IPPROTO_TCP */  case IPPROTO_TCP:    if (optlen < sizeof(int)) {      err = EINVAL;      break;    }    /* If this is no TCP socket, ignore any options. */    if (sock->conn->type != NETCONN_TCP)      return 0;    switch (optname) {    case TCP_NODELAY:    case TCP_KEEPALIVE:#if LWIP_TCP_KEEPALIVE    case TCP_KEEPIDLE:    case TCP_KEEPINTVL:    case TCP_KEEPCNT:#endif /* LWIP_TCP_KEEPALIVE */      break;    default:      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_TCP, UNIMPL: optname=0x%x, ..)\r\n",                  s, optname));      err = ENOPROTOOPT;    }  /* switch (optname) */    break;#endif /* LWIP_TCP */#if LWIP_UDP && LWIP_UDPLITE/* Level: IPPROTO_UDPLITE */  case IPPROTO_UDPLITE:    if (optlen < sizeof(int)) {      err = EINVAL;      break;    }    /* If this is no UDP lite socket, ignore any options. */    if (sock->conn->type != NETCONN_UDPLITE)      return 0;    switch (optname) {    case UDPLITE_SEND_CSCOV:    case UDPLITE_RECV_CSCOV:      break;    default:      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_UDPLITE, UNIMPL: optname=0x%x, ..)\r\n",                  s, optname));      err = ENOPROTOOPT;    }  /* switch (optname) */    break;#endif /* LWIP_UDP && LWIP_UDPLITE *//* UNDEFINED LEVEL */  default:    LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, level=0x%x, UNIMPL: optname=0x%x, ..)\r\n",                s, level, optname));    err = ENOPROTOOPT;  }  /* switch (level) */  if (err != ERR_OK) {    sock_set_errno(sock, err);    return -1;  }  /* Now do the actual option processing */  data.sock = sock;  data.level = level;  data.optname = optname;  data.optval = (void*)optval;  data.optlen = &optlen;  data.err = err;  tcpip_callback(lwip_setsockopt_internal, &data);  sys_arch_sem_wait(sock->conn->op_completed, 0);  /* maybe lwip_setsockopt_internal has changed err */  err = data.err;  sock_set_errno(sock, err);  return err ? -1 : 0;}static voidlwip_setsockopt_internal(void *arg){  struct lwip_socket *sock;#ifdef LWIP_DEBUG  int s;#endif /* LWIP_DEBUG */  int level, optname;  const void *optval;  struct lwip_setgetsockopt_data *data;  LWIP_ASSERT("arg != NULL", arg != NULL);  data = (struct lwip_setgetsockopt_data*)arg;  sock = data->sock;#ifdef LWIP_DEBUG  s = data->s;#endif /* LWIP_DEBUG */  level = data->level;  optname = data->optname;  optval = data->optval;  switch (level) {/* Level: SOL_SOCKET */  case SOL_SOCKET:    switch (optname) {    /* The option flags */    case SO_BROADCAST:    /* UNIMPL case SO_DEBUG: */    /* UNIMPL case SO_DONTROUTE: */    case SO_KEEPALIVE:    /* UNIMPL case SO_OOBINCLUDE: */#if SO_REUSE    case SO_REUSEADDR:    case SO_REUSEPORT:#endif /* SO_REUSE */    /* UNIMPL case SO_USELOOPBACK: */      if (*(int*)optval) {        sock->conn->pcb.ip->so_options |= optname;      } else {        sock->conn->pcb.ip->so_options &= ~optname;      }      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, SOL_SOCKET, optname=0x%x, ..) -> %s\r\n",                  s, optname, (*(int*)optval?"on":"off")));      break;#if LWIP_SO_RCVTIMEO    case SO_RCVTIMEO:      sock->conn->recv_timeout = ( *(int*)optval );      break;#endif /* LWIP_SO_RCVTIMEO */#if LWIP_SO_RCVBUF    case SO_RCVBUF:      sock->conn->recv_bufsize = ( *(int*)optval );      break;#endif /* LWIP_SO_RCVBUF */#if LWIP_UDP    case SO_NO_CHECK:      if (*(int*)optval) {        udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) | UDP_FLAGS_NOCHKSUM);      } else {        udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) & ~UDP_FLAGS_NOCHKSUM);      }      break;#endif /* LWIP_UDP */    }  /* switch (optname) */    break;/* Level: IPPROTO_IP */  case IPPROTO_IP:    switch (optname) {    case IP_TTL:      sock->conn->pcb.ip->ttl = (u8_t)(*(int*)optval);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_IP, IP_TTL, ..) -> %d\r\n",                  s, sock->conn->pcb.ip->ttl));      break;    case IP_TOS:      sock->conn->pcb.ip->tos = (u8_t)(*(int*)optval);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_IP, IP_TOS, ..)-> %d\r\n",                  s, sock->conn->pcb.ip->tos));      break;#if LWIP_IGMP    case IP_MULTICAST_TTL:      sock->conn->pcb.udp->ttl = (u8_t)(*(u8_t*)optval);      break;    case IP_MULTICAST_IF:      sock->conn->pcb.udp->multicast_ip.addr = ((struct in_addr*) optval)->s_addr;      break;    case IP_ADD_MEMBERSHIP:    case IP_DROP_MEMBERSHIP:      {        /* If this is a TCP or a RAW socket, ignore these options. */        struct ip_mreq *imr = (struct ip_mreq *)optval;        if(optname == IP_ADD_MEMBERSHIP){          data->err = igmp_joingroup((struct ip_addr*)&(imr->imr_interface.s_addr), (struct ip_addr*)&(imr->imr_multiaddr.s_addr));        } else {          data->err = igmp_leavegroup((struct ip_addr*)&(imr->imr_interface.s_addr), (struct ip_addr*)&(imr->imr_multiaddr.s_addr));        }        if(data->err != ERR_OK) {          data->err = EADDRNOTAVAIL;        }      }      break;#endif /* LWIP_IGMP */    }  /* switch (optname) */    break;#if LWIP_TCP/* Level: IPPROTO_TCP */  case IPPROTO_TCP:    switch (optname) {    case TCP_NODELAY:      if (*(int*)optval) {        tcp_nagle_disable(sock->conn->pcb.tcp);      } else {        tcp_nagle_enable(sock->conn->pcb.tcp);      }      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_TCP, TCP_NODELAY) -> %s\r\n",                  s, (*(int *)optval)?"on":"off") );      break;    case TCP_KEEPALIVE:      sock->conn->pcb.tcp->keep_idle = (u32_t)(*(int*)optval);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_TCP, TCP_KEEPALIVE) -> %"U32_F"\r\n",                  s, sock->conn->pcb.tcp->keep_idle));      break;#if LWIP_TCP_KEEPALIVE    case TCP_KEEPIDLE:      sock->conn->pcb.tcp->keep_idle = 1000*(u32_t)(*(int*)optval);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_TCP, TCP_KEEPIDLE) -> %"U32_F"\r\n",                  s, sock->conn->pcb.tcp->keep_idle));      break;    case TCP_KEEPINTVL:      sock->conn->pcb.tcp->keep_intvl = 1000*(u32_t)(*(int*)optval);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_TCP, TCP_KEEPINTVL) -> %"U32_F"\r\n",                  s, sock->conn->pcb.tcp->keep_intvl));      break;    case TCP_KEEPCNT:      sock->conn->pcb.tcp->keep_cnt = (u32_t)(*(int*)optval);      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_TCP, TCP_KEEPCNT) -> %"U32_F"\r\n",                  s, sock->conn->pcb.tcp->keep_cnt));      break;#endif /* LWIP_TCP_KEEPALIVE */    }  /* switch (optname) */    break;#endif /* LWIP_TCP*/#if LWIP_UDP && LWIP_UDPLITE  /* Level: IPPROTO_UDPLITE */  case IPPROTO_UDPLITE:    switch (optname) {    case UDPLITE_SEND_CSCOV:      if ((*(int*)optval != 0) && (*(int*)optval < 8)) {        /* don't allow illegal values! */        sock->conn->pcb.udp->chksum_len_tx = 8;      } else {        sock->conn->pcb.udp->chksum_len_tx = *(int*)optval;      }      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV) -> %d\r\n",                  s, (*(int*)optval)) );      break;    case UDPLITE_RECV_CSCOV:      if ((*(int*)optval != 0) && (*(int*)optval < 8)) {        /* don't allow illegal values! */        sock->conn->pcb.udp->chksum_len_rx = 8;      } else {        sock->conn->pcb.udp->chksum_len_rx = *(int*)optval;      }      LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_UDPLITE, UDPLITE_RECV_CSCOV) -> %d\r\n",                  s, (*(int*)optval)) );      break;    }  /* switch (optname) */    break;#endif /* LWIP_UDP */  }  /* switch (level) */  sys_sem_signal(sock->conn->op_completed);}intlwip_ioctl(int s, long cmd, void *argp){  struct lwip_socket *sock = get_socket(s);  u16_t buflen = 0;  s16_t recv_avail;  if (!sock)    return -1;  switch (cmd) {  case FIONREAD:    if (!argp) {      sock_set_errno(sock, EINVAL);      return -1;    }    SYS_ARCH_GET(sock->conn->recv_avail, recv_avail);    if (recv_avail < 0)      recv_avail = 0;    *((u16_t*)argp) = (u16_t)recv_avail;    /* Check if there is data left from the last recv operation. /maq 041215 */    if (sock->lastdata) {      buflen = netbuf_len(sock->lastdata);      buflen -= sock->lastoffset;      *((u16_t*)argp) += buflen;    }    LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_ioctl(%d, FIONREAD, %p) = %"U16_F"\r\n", s, argp, *((u16_t*)argp)));    sock_set_errno(sock, 0);    return 0;  case FIONBIO:    if (argp && *(u32_t*)argp)      sock->flags |= O_NONBLOCK;    else      sock->flags &= ~O_NONBLOCK;    LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_ioctl(%d, FIONBIO, %d)\r\n", s, !!(sock->flags & O_NONBLOCK)));    sock_set_errno(sock, 0);    return 0;  default:    LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_ioctl(%d, UNIMPL: 0x%lx, %p)\r\n", s, cmd, argp));    sock_set_errno(sock, ENOSYS); /* not yet implemented */    return -1;  } /* switch (cmd) */}#endif /* LWIP_SOCKET */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩中文另类| 国内国产精品久久| 欧美在线影院一区二区| 亚洲影院免费观看| 欧美精品成人一区二区三区四区| 亚洲精品五月天| 欧美日韩一区二区欧美激情| 日本少妇一区二区| 欧美精品一区二区久久久| 福利一区在线观看| 亚洲最新视频在线播放| 欧美高清激情brazzers| 狠狠色丁香婷婷综合久久片| 国产日韩欧美不卡| 欧美唯美清纯偷拍| 久久精品72免费观看| 国产片一区二区三区| 91麻豆国产自产在线观看| 午夜精品一区二区三区电影天堂| 欧美一区二区三区影视| 丁香啪啪综合成人亚洲小说 | 成人综合婷婷国产精品久久 | 一区二区三区在线不卡| 欧美日韩国产一二三| 美日韩一级片在线观看| 日本一区二区三区在线观看| 在线免费观看日韩欧美| 久久99精品网久久| 亚洲精品久久嫩草网站秘色| 成+人+亚洲+综合天堂| 日韩综合小视频| 日本一区二区三区在线不卡| 欧美性生活影院| 国产美女一区二区三区| 亚洲国产一区二区三区| 久久精品水蜜桃av综合天堂| 欧美日韩在线观看一区二区 | 国产日产欧美一区二区三区| 国产精品视频在线看| 国产精品久久福利| 精品一区二区三区在线观看国产| 欧美综合一区二区| 国产精品精品国产色婷婷| 麻豆视频观看网址久久| 欧美浪妇xxxx高跟鞋交| 亚洲国产精品久久久久婷婷884| 国产在线观看一区二区| www国产成人免费观看视频 深夜成人网| 亚洲精品中文字幕在线观看| 大陆成人av片| 国产精品久久久久一区 | 亚洲美女区一区| 欧美日产在线观看| 亚洲电影一级片| 精品少妇一区二区三区日产乱码 | 日本怡春院一区二区| av在线不卡网| 国产精品国产精品国产专区不蜜 | 国产精品一级黄| 欧美三级蜜桃2在线观看| 国产成a人无v码亚洲福利| 日韩制服丝袜先锋影音| 亚洲三级久久久| 久久久不卡网国产精品一区| 在线电影欧美成精品| av亚洲产国偷v产偷v自拍| 亚洲福利视频一区二区| 日本一区二区三区四区| 成人免费福利片| 天堂蜜桃一区二区三区| 日韩精品一区二区三区视频| 国产剧情av麻豆香蕉精品| 国产午夜精品理论片a级大结局| 久久电影网电视剧免费观看| 日本一区二区三级电影在线观看| 欧美午夜在线观看| 欧美亚洲自拍偷拍| 久久久久久久久久久久电影| 一区二区在线免费观看| 国产精品久久久久天堂| 国产欧美日韩在线看| 久久亚洲综合色| 久久久天堂av| 国产女主播一区| 一区免费观看视频| 一区二区三区四区精品在线视频 | 国产三级三级三级精品8ⅰ区| 精品国内片67194| 久久久国产精品麻豆| 中文字幕精品—区二区四季| 国产精品久久久久一区| 亚洲精选视频在线| 日韩不卡在线观看日韩不卡视频| 免费人成精品欧美精品| 精品一区二区三区免费毛片爱| 国产一区视频导航| 99re视频精品| 欧美日韩午夜在线视频| 精品欧美一区二区久久| 国产精品乱码妇女bbbb| 玉足女爽爽91| 奇米一区二区三区av| 国产成人精品aa毛片| 97se亚洲国产综合自在线观| 欧美视频日韩视频| 精品久久一区二区| 日韩一区欧美一区| 婷婷成人综合网| 国产精品一区在线观看乱码| 一本大道av一区二区在线播放| 欧美美女视频在线观看| 精品国产乱码久久久久久牛牛| 国产精品午夜在线| 亚洲风情在线资源站| 国内成+人亚洲+欧美+综合在线| 99在线视频精品| 在线播放中文字幕一区| 亚洲一区二区黄色| 久久99热这里只有精品| 91偷拍与自偷拍精品| 777久久久精品| 中文字幕av一区二区三区免费看| 午夜久久久久久久久| 国产91丝袜在线18| 日韩一区二区三区免费观看| 亚洲欧洲成人精品av97| 精品影视av免费| 欧美日韩和欧美的一区二区| 国产欧美一区二区三区网站| 日本最新不卡在线| 色综合久久九月婷婷色综合| 欧美精品一区二区三区蜜桃 | 风流少妇一区二区| 69久久99精品久久久久婷婷 | 欧美精品一区二区久久婷婷| 亚洲自拍与偷拍| 成人精品视频网站| 欧美www视频| 日韩一区精品视频| 91福利在线观看| 欧美激情一区不卡| 国产在线一区二区综合免费视频| 欧美日本在线视频| 一区二区三区欧美久久| eeuss国产一区二区三区| xfplay精品久久| 日韩av午夜在线观看| 日本电影亚洲天堂一区| 国产精品伦理一区二区| 国产福利一区二区| 精品88久久久久88久久久| 免费精品99久久国产综合精品| 欧美优质美女网站| 亚洲精品欧美专区| 色综合色狠狠综合色| 亚洲视频一区二区在线观看| 丁香一区二区三区| 久久精品一区四区| 国产大片一区二区| 国产调教视频一区| 国产福利一区二区| 国产精品丝袜91| 成人精品一区二区三区四区| 中文字幕+乱码+中文字幕一区| 国产精品亚洲午夜一区二区三区 | 国产jizzjizz一区二区| 2022国产精品视频| 国产剧情在线观看一区二区| 久久一区二区三区四区| 国产一区在线观看视频| 国产日产精品一区| www.一区二区| 亚洲精品视频在线| 欧美日韩激情一区| 美洲天堂一区二卡三卡四卡视频| 欧美xxx久久| 国产高清成人在线| 中文字幕综合网| 欧美亚一区二区| 日韩高清欧美激情| 精品99一区二区| av网站一区二区三区| 一区二区三区四区不卡视频| 欧美剧情电影在线观看完整版免费励志电影 | 日韩一区二区在线播放| 麻豆精品久久精品色综合| 日韩欧美资源站| 国产91精品露脸国语对白| 中文字幕在线观看不卡视频| 日本精品一区二区三区四区的功能| 亚洲成人av免费| 欧美一区二区在线免费观看| 国精产品一区一区三区mba桃花| 欧美激情一区二区三区蜜桃视频 | 亚洲在线免费播放| 日韩欧美一级二级三级 | 欧洲激情一区二区| 日本va欧美va欧美va精品| 久久久午夜电影| 色激情天天射综合网|