# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
package IO
::Socket
::UNIX
;
$VERSION = eval $VERSION;
IO
::Socket
::UNIX
->register_domain( AF_UNIX
);
unshift(@_, "Peer") if @_ == 1;
return $class->SUPER::new
(@_);
my $type = $arg->{Type
} || SOCK_STREAM
;
$sock->socket(AF_UNIX
, $type, 0) or
if(exists $arg->{Local
}) {
my $addr = sockaddr_un
($arg->{Local
});
if(exists $arg->{Listen
} && $type != SOCK_DGRAM
) {
$sock->listen($arg->{Listen
} || 5) or
elsif(exists $arg->{Peer
}) {
my $addr = sockaddr_un
($arg->{Peer
});
@_ == 1 or croak
'usage: $sock->hostpath()';
my $n = $_[0]->sockname || return undef;
@_ == 1 or croak
'usage: $sock->peerpath()';
my $n = $_[0]->peername || return undef;
IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
C<IO::Socket::UNIX> provides an object interface to creating and using sockets
in the AF_UNIX domain. It is built upon the L<IO::Socket> interface and
inherits all the methods defined by L<IO::Socket>.
Creates an C<IO::Socket::UNIX> object, which is a reference to a
newly created symbol (see the C<Symbol> package). C<new>
optionally takes arguments, these arguments are in key-value pairs.
In addition to the key-value pairs accepted by L<IO::Socket>,
C<IO::Socket::UNIX> provides.
Type Type of socket (eg SOCK_STREAM or SOCK_DGRAM)
Listen Create a listen socket
If the constructor is only passed a single argument, it is assumed to
be a C<Peer> specification.
NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
As of VERSION 1.18 all IO::Socket objects have autoflush turned on
by default. This was not the case with earlier releases.
NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
Returns the pathname to the fifo at the local end
Returns the pathanme to the fifo at the peer end
Graham Barr. Currently maintained by the Perl Porters. Please report all
bugs to <perl5-porters@perl.org>.
Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.