Provided by: libnet-fastcgi-perl_0.14-2_all bug

NAME

       Net::FastCGI::Constant - FastCGI protocol constants.

DESCRIPTION

       FastCGI protocol constants.

CONSTANTS

       Constants can either be imported individually or in sets grouped by tag names.  The tag
       names are:

   ":common"
       "FCGI_MAX_CONTENT_LEN"
           Maximum number of octets that the content component of the record can hold. (65535)

       "FCGI_HEADER_LEN"
           Number of octets in "FCGI_Header". (8)

       "FCGI_VERSION_1"
           Value for "version" component of "FCGI_Header". (1)

       "FCGI_NULL_REQUEST_ID"
           Value for "request_id" component of "FCGI_Header". (0)

   ":type"
       Values for "type" component of "FCGI_Header".

       "FCGI_BEGIN_REQUEST"
       "FCGI_ABORT_REQUEST"
       "FCGI_END_REQUEST"
       "FCGI_PARAMS"
       "FCGI_STDIN"
       "FCGI_STDOUT"
       "FCGI_STDERR"
       "FCGI_DATA"
       "FCGI_GET_VALUES"
       "FCGI_GET_VALUES_RESULT"
       "FCGI_UNKNOWN_TYPE"
       "FCGI_MAXTYPE"

   ":flag"
       Mask for "flags" component of "FCGI_BeginRequestBody".

       "FCGI_KEEP_CONN"

   ":role"
       Values for "role" component of "FCGI_BeginRequestBody".

       "FCGI_RESPONDER"
       "FCGI_AUTHORIZER"
       "FCGI_FILTER"

   ":protocol_status"
       Values for "protocol_status" component of "FCGI_EndRequestBody".

       "FCGI_REQUEST_COMPLETE"
       "FCGI_CANT_MPX_CONN"
       "FCGI_OVERLOADED"
       "FCGI_UNKNOWN_ROLE"

   ":value"
       Variable names for "FCGI_GET_VALUES" / "FCGI_GET_VALUES_RESULT" records.

       "FCGI_MAX_CONNS"
       "FCGI_MAX_REQS"
       "FCGI_MPXS_CONNS"

   ":pack"
       "pack()" / "unpack()" templates

       "FCGI_Header"
               Octet/      0        |        1        |
                   /                |                 |
                  | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 |
                  +-----------------+-----------------+
                0 |     Version     |      Type       |
                  +-----------------+-----------------+
                2 |             Request ID            |
                  +-----------------+-----------------+
                4 |          Content Length           |
                  +-----------------+-----------------+
                6 | Padding Length  |    Reserved     |
                  +-----------------+-----------------+
                  Total 8 octets

               Template: CCnnCx

               my ($version, $type, $request_id, $content_length, $padding_length)
                 = unpack(FCGI_Header, $octets);

       "FCGI_BeginRequestBody"
               Octet/      0        |        1        |
                   /                |                 |
                  | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 |
                  +-----------------+-----------------+
                0 |                Role               |
                  +-----------------+-----------------+
                2 |      Flags      |                 |
                  +-----------------+                 +
                4 |                                   |
                  +              Reserved             +
                6 |                                   |
                  +-----------------+-----------------+
                  Total 8 octets

               Template: nCx5

               my ($role, $flags) = unpack(FCGI_BeginRequestBody, $octets);

       "FCGI_EndRequestBody"
               Octet/      0        |        1        |
                   /                |                 |
                  | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 |
                  +-----------------+-----------------+
                0 |                                   |
                  +        Application Status         +
                2 |                                   |
                  +-----------------+-----------------+
                4 | Protocol Status |                 |
                  +-----------------+    Reserved     +
                6 |                                   |
                  +-----------------+-----------------+
                  Total 8 octets

               Template: NCx3

               my ($app_status, $protocol_status)
                 = unpack(FCGI_EndRequestBody, $octets);

       "FCGI_UnknownTypeBody"
               Octet/      0        |        1        |
                   /                |                 |
                  | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 |
                  +-----------------+-----------------+
                0 |  Unknown Type   |                 |
                  +-----------------+                 +
                2 |                                   |
                  +                                   +
                4 |              Reserved             |
                  +                                   +
                6 |                                   |
                  +-----------------+-----------------+
                  Total 8 octets

               Template: Cx7

               my $unknown_type = unpack(FCGI_UnknownTypeBody, $octets);

   ":name"
       Arrays containing names of value components. These are read-only.

       @FCGI_TYPE_NAME
               print $FCGI_TYPE_NAME[FCGI_BEGIN_REQUEST]; # FCGI_BEGIN_REQUEST

       @FCGI_ROLE_NAME
               print $FCGI_ROLE_NAME[FCGI_RESPONDER]; # FCGI_RESPONDER

       @FCGI_PROTOCOL_STATUS_NAME
               print $FCGI_PROTOCOL_STATUS_NAME[FCGI_OVERLOADED]; # FCGI_OVERLOADED

       Note

       It's not safe to assume that "exists" works for validation purposes, index 0 might be
       "undef".

       Use boolean context instead:

           ($FCGI_TYPE_NAME[$type])
             || die;

EXPORTS

       None by default. All functions can be exported using the ":all" tag or individually.

SEE ALSO

       <http://www.fastcgi.com/devkit/doc/fcgi-spec.html>

AUTHOR

       Christian Hansen "chansen@cpan.org"

COPYRIGHT

       Copyright 2008-2010 by Christian Hansen.

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.