auto
  #   ˆl—Ým_J¥2ÛR‚ œP\i»<¦-ÿÁƒh¹À¿      disabled
  "   ˆl–Ým_J¥2ÛR‚ œP¸'.41hßÂƒh¹ÁÀ      disabled
  "   ˆl–Ým_J¥2ÛR‚ œP ¸'n61hßÃƒh¹ÂÁ      auto
  "   	ˆl–Ým_J¥2ÛR‚ œPÜn4ò˜´oÄƒh¹ÃÂ      	disabled
  0   ˆl–Ðz¾”Je¶¥ ² _¸!\TÅ£Å„eÆDç_‹uÐb&=LV[(ÅÄ ?÷     package Socket;

use strict;
{ use 5.006001; }

our $VERSION = '2.010';

=head1 NAME

C<Socket> - networking constants and support functions

=head1 SYNOPSIS

C<Socket> a low-level module used by, among other things, the L<IO::Socket>
family of modules. The following examples demonstrate some low-level uses but
a practical program would likely use the higher-level API provided by
C<IO::Socket> or similar instead.

 use Socket qw(PF_INET SOCK_STREAM pack_sockaddr_in inet_aton);

 socket(my $socket, PF_INET, SOCK_STREAM, 0)
     or die "socket: $!";

 my $port = getservbyname "echo", "tcp";
 connect($socket, pack_sockaddr_in($port, inet_aton("localhost")))
     or die "connect: $!";

 print $socket "Hello, world!\n";
 print <$socket>;

See also the L</EXAMPLES> section.

=head1 DESCRIPTION

This module provides a variety of constants, structure manipulators and other
functions related to socket-based networking. The values and functions
provided are useful when used in conjunction with Perl core functions such as
socket(), setsockopt() and bind(). It also provides several other support
functions, mostly for dealing with conversions of network addresses between
human-readable and native binary forms, and for hostname resolver operations.

Some constants and functions are exported by default by this module; but for
backward-compatibility any recently-added symbols are not exported by default
and must be requested explicitly. When an import list is provided to the
C<use Socket> line, the default exports are not automatically imported. It is
therefore best practice to always to explicitly list all the symbols required.

Also, some common socket "newline" constants are provided: the constants
C<CR>, C<LF>, and C<CRLF>, as well as C<$CR>, C<$LF>, and C<$CRLF>, which map
to C<\015>, C<\012>, and C<\015\012>. If you do not want to use the literal
characters in your programs, then use the constants provided here. They are
not exported by default, but can be imported individually, and with the
C<:crlf> export tag:

 use Socket qw(:DEFAULT :crlf);

 $sock->print("GET / HTTP/1.0$CRLF");

The entire getaddrinfo() subsystem can be exported using the tag C<:addrinfo>;
this exports the getaddrinfo() and getnameinfo() functions, and all the
C<AI_*>, C<NI_*>, C<NIx_*> and C<EAI_*> constants.

=cut

=head1 CONSTANTS

In each of the following groups, there may be many more constants provided
than just the ones given as examples in the section heading. If the heading
ends C<...> then this means there are likely more; the exact constants
provided will depend on the OS and headers found at compile-time.

=cut

=head2 PF_INET, PF_INET6, PF_UNIX, ...

Protocol family constants to use as the first argument to socket() or the
value of the C<SO_DOMAIN> or C<SO_FAMILY> socket option.

=head2 AF_INET, AF_INET6, AF_UNIX, ...

Address family constants used by the socket address structures, to pass to
such functions as inet_pton() or getaddrinfo(), or are returned by such
functions as sockaddr_family().

=head2 SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, ...

Socket type constants to use as the second argument to socket(), or the value
of the C<SO_TYPE> socket option.

=head2 SOCK_NONBLOCK. SOCK_CLOEXEC

Linux-specific shortcuts to specify the C<O_NONBLOCK> and C<FD_CLOEXEC> flags
during a C<socket(2)> call.

 socket( my $sockh, PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, 0 )

=head2 SOL_SOCKET

Socket option level constant for setsockopt() and getsockopt().

=head2 SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, ...

Socket option name constants for setsockopt() and getsockopt() at the
C<SOL_SOCKET> level.

=head2 IP_OPTIONS, IP_TOS, IP_TTL, ...

Socket option name constants for IPv4 socket options at the C<IPPROTO_IP>
level.

=head2 IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_R