Crypt-NSS
view release on metacpan or search on metacpan
RETVAL = PR_Available(self->ssl_fd);
OUTPUT:
RETVAL
void
_peeraddr(self)
Net::NSS::SSL self;
PREINIT:
char * hostname;
PRNetAddr addr;
PPCODE:
if (self->ssl_fd == NULL || !self->is_connected) {
croak("Can't get peeraddr because we're not connected");
}
EVALUATE_PR_CALL(PR_GetPeerName(self->ssl_fd, &addr), "Failed to get peer addr")
Newz(1, hostname, 16, char);
if (PR_NetAddrToString(&addr, hostname, 16) != PR_SUCCESS) {
Safefree(hostname);
throw_exception_from_nspr_error("Failed to convert PRNetAddr to string");
}
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSVpv(hostname, 0)));
PUSHs(sv_2mortal(newSViv(PR_ntohs(addr.inet.port))));
Safefree(hostname);
void
_sockaddr(self)
Net::NSS::SSL self;
PREINIT:
char * hostname;
PRNetAddr addr;
PPCODE:
EVALUATE_PR_CALL(PR_GetSockName(self->ssl_fd, &addr), "Failed to get peer addr")
Newz(1, hostname, 16, char);
if (PR_NetAddrToString(&addr, hostname, 16) != PR_SUCCESS) {
Safefree(hostname);
throw_exception_from_nspr_error("Failed to convert PRNetAddr to string");
}
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSVpv(hostname, 0)));
PUSHs(sv_2mortal(newSViv(PR_ntohs(addr.inet.port))));
Safefree(hostname);
( run in 1.301 second using v1.01-cache-2.11-cpan-71847e10f99 )