Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

NAME

Net::Interface::NetSymbols - AF_ PF_ IFxxx type symbols

SYNOPSIS

This module is built for this specific architecture during the make process using inst/netsymbols.pl. Do not edit this module, edit inst/netsymbols.pl instead.

This module contains symbols arrays only for use by Net::Interface, in all other respects it is NOT functional. It contains documentation and data arrays for this specific architecture.

NOTE: WARNING !!

usage is Net::Interface

NOT Net::Interface::NetSymbols

use Net::Interface qw(

Net::Interface::NetSymbols::NI_ENDVAL();
Net::Interface::NetSymbols::NI_UNIQUE();
|;

print NFe qq|@afs

@pfs

@ifs

@iffs |;

if (@iffIN6) { print NFe qq| @iffIN6 populated for BSD flavored systems

:all :afs :pfs :ifs :iffs :iffIN6 :iftype :scope

); |; } else { print NFe qq| :all :afs :pfs :ifs :iffs :iftype :scope

); |; }

print NFe q| =head1 DESCRIPTION

All of the AF_XXX and PF_XXX symbols available in local sys/socket.h plus usual aliases for AF_LOCAL i.e. (AF_FILE AF_UNIX PF_LOCAL PF_FILE PF_UNIX)

All of the IFxxxx and IN6_IF symbols in net/if.h, netinet/in.h, netinet/in_var.h and their includes.

Symbols may be accessed for their numeric value or their string name.

i.e. if ($family == AF_INET)
do something...
or print AF_INET
will product the string "inet"

The same holds true for:

printf("family is %s",AF_INET);
or sprint("family is %s",AF_INET);

To print the numeric value of the SYMBOL do:

print (0 + SYMBOL), "\n";

|;

if (exists $fam{AF_INET6}) { print NFe q|On systems supporting IPV6, these additional symbols are available which may be applied to the address type to determine the address attributes.

IPV6_ADDR_ANY unknown
IPV6_ADDR_UNICAST unicast
IPV6_ADDR_MULTICAST multicast
IPV6_ADDR_ANYCAST anycast
IPV6_ADDR_LOOPBACK loopback
IPV6_ADDR_LINKLOCAL link-local
IPV6_ADDR_SITELOCAL site-local
IPV6_ADDR_COMPATv4 compat-v4
IPV6_ADDR_SCOPE_MASK scope-mask
IPV6_ADDR_MAPPED mapped
IPV6_ADDR_RESERVED reserved
IPV6_ADDR_ULUA uniq-lcl-unicast
IPV6_ADDR_6TO4 6to4
IPV6_ADDR_6BONE 6bone
IPV6_ADDR_AGU global-unicast
IPV6_ADDR_UNSPECIFIED unspecified
IPV6_ADDR_SOLICITED_NODE solicited-node
IPV6_ADDR_ISATAP ISATAP
IPV6_ADDR_PRODUCTIVE productive
IPV6_ADDR_6TO4_MICROSOFT 6to4-ms
IPV6_ADDR_TEREDO teredo
IPV6_ADDR_ORCHID orchid
IPV6_ADDR_NON_ROUTE_DOC non-routeable-doc
if ($type & IPV6_ADDR_xxxx) {
print IPV6_ADDR_xxxx,"\n";
}

These symbols may be equated to the scope of the address.

RFC2373_GLOBAL global-scope
RFC2373_ORGLOCAL org-local
RFC2373_SITELOCAL site-local
RFC2373_LINKLOCAL link-local
RFC2373_NODELOCAL loopback
LINUX_COMPATv4 lx-compat-v4
if ($scope eq RFC2373_xxxx) {
print RFC2373_xxxx,"\n";
}

|; }

print NFe q| =over 4

  • :all Import all symbols

  • :afs Import all AF_XXX symbols

  • :pfs Import all PF_XXX symbols

  • :ifs Import all IFxxxx symbols

  • :iffs Import all IFF symbols |;

    if (@iffIN6) { print NFe q| =item * :iffIN6 Import all IN6_IFF symbols (BSD flavors only) |; }

    if (exists $fam{AF_INET6}) { print NFe q| =item * :iftype Import all IPV6 type symbols

  • :scope Import all IPV6 scope symbols |; }

    print NFe q| =back

non EXPORT functions

  • Net::Interface::NetSymbols::NI_ENDVAL();

    Reports the highest symbol value +1 of :all symbols above. Used for testing.

  • Net::Interface::NetSymbols::NI_UNIQUE();

    Returns a hash pointer to the AF_ or PF_ symbol values mapped to their character strings as defined for this architecture.

    i.e.
    |, $utxt, q|
    =head1 AUTHOR Michael Robinton <michael@bizsystems.com>

COPYRIGHT |. ((localtime())[5] +1900) .q|

Michael Robinton, all rights reserved.

This library is free software. You can distribute it and/or modify it under the same terms as Perl itself.

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 667:

'=item' outside of any '=over'

Around line 695:

You forgot a '=back' before '=head1'

Around line 712:

You forgot a '=back' before '=head1'