アットウィキロゴ

vsftpd_1.2.1_sysutil.c_vsf_sysutil_getpeername

vsf_sysutil_getpwnam


source

sysutil.c

line

1738 - 1761

function


  1738 void
  1739 vsf_sysutil_getpeername(int fd, struct vsf_sysutil_sockaddr** p_sockptr)
  1740 {
  1741   struct vsf_sysutil_sockaddr the_addr;
  1742   int retval;
  1743   unsigned int socklen = sizeof(the_addr);
          1744        vsf_sysutil_sockaddr_clear(p_sockptr);
  1745   retval = getpeername(fd, &the_addr.u.u_sockaddr, &socklen);
  1746   if (retval != 0)
  1747   {
  1748     die("getpeername");
  1749   }
  1750   if (the_addr.u.u_sockaddr.sa_family != AF_INET &&
  1751       the_addr.u.u_sockaddr.sa_family != AF_INET6)
  1752   {
  1753     die("can only support ipv4 and ipv6 currently");
  1754   }
  1755   vsf_sysutil_sockaddr_alloc(p_sockptr);
  1756   if (socklen > sizeof(the_addr))
  1757   {
  1758     socklen = sizeof(the_addr);
  1759   }
  1760   vsf_sysutil_memcpy(*p_sockptr, &the_addr, socklen);
  1761 }
最終更新:2009年01月31日 15:04
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。