diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2016-01-11 16:17:16 +0000 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2016-01-11 16:17:16 +0000 |
commit | 4cf605a03eedd2417e327b76b2dca91de1af659a (patch) | |
tree | d67c07a8e245bffb37343fae29781ecd36e357ff | |
parent | 6460c45fa3687218aac7429b387d358980a31636 (diff) | |
download | psutil-4cf605a03eedd2417e327b76b2dca91de1af659a.tar.gz |
add comments
-rw-r--r-- | psutil/arch/bsd/netbsd_socks.c | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/psutil/arch/bsd/netbsd_socks.c b/psutil/arch/bsd/netbsd_socks.c index d1eaa478..2acb7f80 100644 --- a/psutil/arch/bsd/netbsd_socks.c +++ b/psutil/arch/bsd/netbsd_socks.c @@ -439,73 +439,79 @@ psutil_net_connections(PyObject *self, PyObject *args) { family = kp->kpcb->ki_family; type = kp->kpcb->ki_type; if (kp->kpcb->ki_family == AF_INET) { + // IPv4 struct sockaddr_in *sin_src = (struct sockaddr_in *)&kp->kpcb->ki_src; struct sockaddr_in *sin_dst = (struct sockaddr_in *)&kp->kpcb->ki_dst; + // local addr if (inet_ntop(AF_INET, &sin_src->sin_addr, laddr, - sizeof(laddr)) != NULL) - lport = ntohs(sin_src->sin_port); + sizeof(laddr)) != NULL) + lport = ntohs(sin_src->sin_port); py_laddr = Py_BuildValue("(si)", laddr, lport); if (!py_laddr) goto error; + // remote addr if (inet_ntop(AF_INET, &sin_dst->sin_addr, raddr, - sizeof(raddr)) != NULL) - rport = ntohs(sin_dst->sin_port); - + sizeof(raddr)) != NULL) + rport = ntohs(sin_dst->sin_port); if (rport != 0) py_raddr = Py_BuildValue("(si)", raddr, rport); else py_raddr = Py_BuildValue("()"); if (!py_raddr) goto error; - + // status if (kp->kpcb->ki_type == SOCK_STREAM) status = kp->kpcb->ki_tstate; else status = PSUTIL_CONN_NONE; - + // construct python tuple py_tuple = Py_BuildValue("(iiiNNii)", fd, AF_INET, type, py_laddr, py_raddr, status, pid); if (!py_tuple) goto error; if (PyList_Append(py_retlist, py_tuple)) goto error; - } else if (kp->kpcb->ki_family == AF_INET6) { + } + else if (kp->kpcb->ki_family == AF_INET6) { + // IPv6 struct sockaddr_in6 *sin6_src = (struct sockaddr_in6 *)&kp->kpcb->ki_src; struct sockaddr_in6 *sin6_dst = (struct sockaddr_in6 *)&kp->kpcb->ki_dst; + // local addr if (inet_ntop(AF_INET6, &sin6_src->sin6_addr, laddr, - sizeof(laddr)) != NULL) - lport = ntohs(sin6_src->sin6_port); + sizeof(laddr)) != NULL) + lport = ntohs(sin6_src->sin6_port); py_laddr = Py_BuildValue("(si)", laddr, lport); if (!py_laddr) goto error; + // remote addr if (inet_ntop(AF_INET6, &sin6_dst->sin6_addr, raddr, - sizeof(raddr)) != NULL) - rport = ntohs(sin6_dst->sin6_port); - + sizeof(raddr)) != NULL) + rport = ntohs(sin6_dst->sin6_port); if (rport != 0) py_raddr = Py_BuildValue("(si)", raddr, rport); else py_raddr = Py_BuildValue("()"); if (!py_raddr) goto error; - - if (kp->kpcb->ki_type == SOCK_STREAM) { + // status + if (kp->kpcb->ki_type == SOCK_STREAM) status = kp->kpcb->ki_tstate; - } else { + else status = PSUTIL_CONN_NONE; - } - + // construct python tuple py_tuple = Py_BuildValue("(iiiNNii)", fd, AF_INET6, type, py_laddr, py_raddr, status, pid); if (!py_tuple) goto error; if (PyList_Append(py_retlist, py_tuple)) goto error; - } else if (kp->kpcb->ki_family == AF_UNIX) { + } + else if (kp->kpcb->ki_family == AF_UNIX) { + // UNIX sockets struct sockaddr_un *sun_src = (struct sockaddr_un *)&kp->kpcb->ki_src; struct sockaddr_un *sun_dst = @@ -513,7 +519,6 @@ psutil_net_connections(PyObject *self, PyObject *args) { strcpy(laddr, sun_src->sun_path); strcpy(raddr, sun_dst->sun_path); status = PSUTIL_CONN_NONE; - py_tuple = Py_BuildValue("(iiissii)", fd, AF_UNIX, type, laddr, raddr, status, pid); if (!py_tuple) @@ -521,8 +526,6 @@ psutil_net_connections(PyObject *self, PyObject *args) { if (PyList_Append(py_retlist, py_tuple)) goto error; } - - } } } |