package Socket;
our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = "1.75";
+$VERSION = "1.77";
=head1 NAME
$proto = getprotobyname('tcp');
socket(Socket_Handle, PF_UNIX, SOCK_STREAM, $proto);
- unlink('/tmp/usock');
- $sun = sockaddr_un('/tmp/usock');
+ unlink('/var/run/usock');
+ $sun = sockaddr_un('/var/run/usock');
connect(Socket_Handle,$sun);
=head1 DESCRIPTION
Returns the 4-byte 'invalid' ip address. Normally equivalent
to inet_aton('255.255.255.255').
+=item sockaddr_family SOCKADDR
+
+Takes a sockaddr structure (as returned by pack_sockaddr_in(),
+pack_sockaddr_un() or the perl builtin functions getsockname() and
+getpeername()) and returns the address family tag. It will match the
+constant AF_INET for a sockaddr_in and AF_UNIX for a sockaddr_un. It
+can be used to figure out what unpacker to use for a sockaddr of
+unknown type.
+
=item sockaddr_in PORT, ADDRESS
=item sockaddr_in SOCKADDR_IN
use XSLoader ();
@ISA = qw(Exporter);
@EXPORT = qw(
- inet_aton inet_ntoa pack_sockaddr_in unpack_sockaddr_in
+ inet_aton inet_ntoa
+ sockaddr_family
+ pack_sockaddr_in unpack_sockaddr_in
pack_sockaddr_un unpack_sockaddr_un
sockaddr_in sockaddr_un
INADDR_ANY INADDR_BROADCAST INADDR_LOOPBACK INADDR_NONE
AF_802
+ AF_AAL
AF_APPLETALK
AF_CCITT
AF_CHAOS
+ AF_CTF
AF_DATAKIT
AF_DECnet
AF_DLI
AF_HYLINK
AF_IMPLINK
AF_INET
+ AF_INET6
+ AF_ISO
+ AF_KEY
+ AF_LAST
AF_LAT
+ AF_LINK
AF_MAX
AF_NBS
AF_NIT
AF_OSI
AF_OSINET
AF_PUP
+ AF_ROUTE
AF_SNA
AF_UNIX
AF_UNSPEC
+ AF_USER
+ AF_WAN
AF_X25
IOV_MAX
MSG_BCAST
+ MSG_BTAG
MSG_CTLFLAGS
MSG_CTLIGNORE
MSG_CTRUNC
MSG_EOF
MSG_EOR
MSG_ERRQUEUE
+ MSG_ETAG
MSG_FIN
MSG_MAXIOVLEN
MSG_MCAST
MSG_TRUNC
MSG_URG
MSG_WAITALL
+ MSG_WIRE
PF_802
+ PF_AAL
PF_APPLETALK
PF_CCITT
PF_CHAOS
+ PF_CTF
PF_DATAKIT
PF_DECnet
PF_DLI
PF_HYLINK
PF_IMPLINK
PF_INET
+ PF_INET6
+ PF_ISO
+ PF_KEY
+ PF_LAST
PF_LAT
+ PF_LINK
PF_MAX
PF_NBS
PF_NIT
PF_OSI
PF_OSINET
PF_PUP
+ PF_ROUTE
PF_SNA
PF_UNIX
PF_UNSPEC
+ PF_USER
+ PF_WAN
PF_X25
SCM_CONNECT
SCM_CREDENTIALS
SOL_SOCKET
SOMAXCONN
SO_ACCEPTCONN
+ SO_ATTACH_FILTER
+ SO_BACKLOG
SO_BROADCAST
+ SO_CHAMELEON
SO_DEBUG
+ SO_DETACH_FILTER
+ SO_DGRAM_ERRIND
SO_DONTLINGER
SO_DONTROUTE
SO_ERROR
+ SO_FAMILY
SO_KEEPALIVE
SO_LINGER
SO_OOBINLINE
+ SO_PASSCRED
+ SO_PASSIFNAME
+ SO_PEERCRED
+ SO_PROTOCOL
+ SO_PROTOTYPE
SO_RCVBUF
SO_RCVLOWAT
SO_RCVTIMEO
SO_REUSEADDR
SO_REUSEPORT
+ SO_SECURITY_AUTHENTICATION
+ SO_SECURITY_ENCRYPTION_NETWORK
+ SO_SECURITY_ENCRYPTION_TRANSPORT
SO_SNDBUF
SO_SNDLOWAT
SO_SNDTIMEO
+ SO_STATE
SO_TYPE
SO_USELOOPBACK
+ SO_XOPEN
+ SO_XSE
UIO_MAXIOV
);