アットウィキロゴ

vsftpd_1.2.1_sysutil.c_vsf_sysutil_getsockname

vsf_sysutil_getsockname


source

sysutil.c

line

1713 - 1736

function


  1713 void
  1714 vsf_sysutil_getsockname(int fd, struct vsf_sysutil_sockaddr** p_sockptr)
  1715 {
  1716   struct vsf_sysutil_sockaddr the_addr;
  1717   int retval;
  1718   unsigned int socklen = sizeof(the_addr);
          1719        vsf_sysutil_sockaddr_clear(p_sockptr);
  1720   retval = getsockname(fd, &the_addr.u.u_sockaddr, &socklen);
  1721   if (retval != 0)
  1722   {
  1723     die("getsockname");
  1724   }
  1725   if (the_addr.u.u_sockaddr.sa_family != AF_INET &&
  1726       the_addr.u.u_sockaddr.sa_family != AF_INET6)
  1727   {
  1728     die("can only support ipv4 and ipv6 currently");
  1729   }
  1730   vsf_sysutil_sockaddr_alloc(p_sockptr);
  1731   if (socklen > sizeof(the_addr))
  1732   {
  1733     socklen = sizeof(the_addr);
  1734   }
  1735   vsf_sysutil_memcpy(*p_sockptr, &the_addr, socklen);
  1736 }
最終更新:2009年01月31日 20:35
ツールボックス

下から選んでください:

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