libapa...:Const(3pm)

🌸 NAME 🌸

libapa...:Const(3pm) β€” the Perl Interface for APR Constants, bestie. User Contributed Perl Documentation, and it's giving blessed.

Basically this is APR::Const, the place where all your APR constants live so you don't have to remember raw numbers like some kind of Victorian ghost. πŸ’…


✨ Synopsis ✨

# make the constants available but don't import them
use APR::Const -compile => qw(constant names ...);

# w/o the => syntax sugar
use APR::Const ("-compile", qw(constant names ...));

# compile and import the constants
use APR::Const qw(constant names ...);

πŸ’– Description πŸ’–

This package contains constants specific to "APR" features.

Refer to "the Apache2::Const description section" for more information. (iykyk, go read that one too.)


πŸŽ€ Constants πŸŽ€

Okay so the constants are grouped, and each group has a little import spell you can cast. Let's go group by group, no skips, because we do eat our vegetables here.

🌈 ":common"

use APR::Const -compile => qw(:common);

The ":common" group is for XXX constants.

  • APR::Const::SUCCESS β€” since: 2.0.00

πŸ’œ ":error"

use APR::Const -compile => qw(:error);

The ":error" group is for XXX constants.

  • APR::Const::EABOVEROOT β€” since: 2.0.00
  • APR::Const::EABSOLUTE β€” since: 2.0.00
  • APR::Const::EACCES β€” since: 2.0.00. Due to possible variants in conditions matching EACCES, for checking error codes against this you most likely want to use the APR::Status::is_EACCES function instead.
  • APR::Const::EAGAIN β€” since: 2.0.00. The error Resource temporarily unavailable, may be returned by many different system calls, especially IO calls. Most likely you want to use the APR::Status::is_EAGAIN function instead.
  • APR::Const::EBADDATE β€” since: 2.0.00
  • APR::Const::EBADF β€” since: 2.0.00
  • APR::Const::EBADIP β€” since: 2.0.00
  • APR::Const::EBADMASK β€” since: 2.0.00
  • APR::Const::EBADPATH β€” since: 2.0.00
  • APR::Const::EBUSY β€” since: 2.0.00
  • APR::Const::ECONNABORTED β€” since: 2.0.00. Due to possible variants in conditions matching ECONNABORTED, for checking error codes against this you most likely want to use the APR::Status::is_ECONNABORTED function instead.
  • APR::Const::ECONNREFUSED β€” since: 2.0.00
  • APR::Const::ECONNRESET β€” since: 2.0.00. Due to possible variants in conditions matching ECONNRESET, for checking error codes against this you most likely want to use the APR::Status::is_ECONNRESET function instead.
  • APR::Const::EDSOOPEN β€” since: 2.0.00
  • APR::Const::EEXIST β€” since: 2.0.00
  • APR::Const::EFTYPE β€” since: 2.0.00
  • APR::Const::EGENERAL β€” since: 2.0.00
  • APR::Const::EHOSTUNREACH β€” since: 2.0.00
  • APR::Const::EINCOMPLETE β€” since: 2.0.00
  • APR::Const::EINIT β€” since: 2.0.00
  • APR::Const::EINPROGRESS β€” since: 2.0.00
  • APR::Const::EINTR β€” since: 2.0.00
  • APR::Const::EINVAL β€” since: 2.0.00
  • APR::Const::EINVALSOCK β€” since: 2.0.00
  • APR::Const::EMFILE β€” since: 2.0.00
  • APR::Const::EMISMATCH β€” since: 2.0.00
  • APR::Const::ENAMETOOLONG β€” since: 2.0.00
  • APR::Const::END β€” since: 2.0.00
  • APR::Const::ENETUNREACH β€” since: 2.0.00
  • APR::Const::ENFILE β€” since: 2.0.00
  • APR::Const::ENODIR β€” since: 2.0.00
  • APR::Const::ENOENT β€” since: 2.0.00. Due to possible variants in conditions matching ENOENT, for checking error codes against this you most likely want to use the APR::Status::is_ENOENT function instead.
  • APR::Const::ENOLOCK β€” since: 2.0.00
  • APR::Const::ENOMEM β€” since: 2.0.00
  • APR::Const::ENOPOLL β€” since: 2.0.00
  • APR::Const::ENOPOOL β€” since: 2.0.00
  • APR::Const::ENOPROC β€” since: 2.0.00
  • APR::Const::ENOSHMAVAIL β€” since: 2.0.00
  • APR::Const::ENOSOCKET β€” since: 2.0.00
  • APR::Const::ENOSPC β€” since: 2.0.00
  • APR::Const::ENOSTAT β€” since: 2.0.00
  • APR::Const::ENOTDIR β€” since: 2.0.00
  • APR::Const::ENOTEMPTY β€” since: 2.0.00
  • APR::Const::ENOTHDKEY β€” since: 2.0.00
  • APR::Const::ENOTHREAD β€” since: 2.0.00
  • APR::Const::ENOTIME β€” since: 2.0.00
  • APR::Const::ENOTIMPL β€” Something is not implemented. since: 2.0.00
  • APR::Const::ENOTSOCK β€” since: 2.0.00
  • APR::Const::EOF β€” since: 2.0.00. Due to possible variants in conditions matching EOF, for checking error codes against this you most likely want to use the APR::Status::is_EOF function instead.
  • APR::Const::EPATHWILD β€” since: 2.0.00
  • APR::Const::EPIPE β€” since: 2.0.00
  • APR::Const::EPROC_UNKNOWN β€” since: 2.0.00
  • APR::Const::ERELATIVE β€” since: 2.0.00
  • APR::Const::ESPIPE β€” since: 2.0.00
  • APR::Const::ESYMNOTFOUND β€” since: 2.0.00
  • APR::Const::ETIMEDOUT β€” since: 2.0.00
  • APR::Const::EXDEV β€” since: 2.0.00

πŸ¦‹ ":fopen"

use APR::Const -compile => qw(:fopen);

The ":fopen" group is for XXX constants.

  • APR::Const::FOPEN_BINARY β€” since: 2.0.00
  • APR::Const::FOPEN_BUFFERED β€” since: 2.0.00
  • APR::Const::FOPEN_CREATE β€” since: 2.0.00
  • APR::Const::FOPEN_DELONCLOSE β€” since: 2.0.00
  • APR::Const::FOPEN_EXCL β€” since: 2.0.00
  • APR::Const::FOPEN_PEND β€” since: 2.0.00
  • APR::Const::FOPEN_READ β€” since: 2.0.00
  • APR::Const::FOPEN_TRUNCATE β€” since: 2.0.00
  • APR::Const::FOPEN_WRITE β€” since: 2.0.00

🌸 ":filepath"

use APR::Const -compile => qw(:filepath);

The ":filepath" group is for XXX constants.

  • APR::Const::FILEPATH_ENCODING_LOCALE β€” since: 2.0.00
  • APR::Const::FILEPATH_ENCODING_UNKNOWN β€” since: 2.0.00
  • APR::Const::FILEPATH_ENCODING_UTF8 β€” since: 2.0.00
  • APR::Const::FILEPATH_NATIVE β€” since: 2.0.00
  • APR::Const::FILEPATH_NOTABOVEROOT β€” since: 2.0.00
  • APR::Const::FILEPATH_NOTABSOLUTE β€” since: 2.0.00
  • APR::Const::FILEPATH_NOTRELATIVE β€” since: 2.0.00
  • APR::Const::FILEPATH_SECUREROOT β€” since: 2.0.00
  • APR::Const::FILEPATH_SECUREROOTTEST β€” since: 2.0.00
  • APR::Const::FILEPATH_TRUENAME β€” since: 2.0.00

🧚 ":fprot"

use APR::Const -compile => qw(:fprot);

The ":fprot" group is used by $finfo->protection.

  • APR::Const::FPROT_GEXECUTE β€” Execute by group. since: 2.0.00
  • APR::Const::FPROT_GREAD β€” Read by group. since: 2.0.00
  • APR::Const::FPROT_GSETID β€” Set group id. since: 2.0.00
  • APR::Const::FPROT_GWRITE β€” Write by group. since: 2.0.00
  • APR::Const::FPROT_OS_DEFAULT β€” use OS's default permissions. since: 2.0.00
  • APR::Const::FPROT_UEXECUTE β€” Execute by user. since: 2.0.00
  • APR::Const::FPROT_UREAD β€” Read by user. since: 2.0.00
  • APR::Const::FPROT_USETID β€” Set user id. since: 2.0.00
  • APR::Const::FPROT_UWRITE β€” Write by user. since: 2.0.00
  • APR::Const::FPROT_WEXECUTE β€” Execute by others. since: 2.0.00
  • APR::Const::FPROT_WREAD β€” Read by others. since: 2.0.00
  • APR::Const::FPROT_WSTICKY β€” Sticky bit. since: 2.0.00
  • APR::Const::FPROT_WWRITE β€” Write by others. since: 2.0.00

πŸ“ ":filetype"

use APR::Const -compile => qw(:filetype);

The ":filetype" group is used by $finfo->filetype.

  • APR::Const::FILETYPE_BLK β€” a file is a block device. since: 2.0.00
  • APR::Const::FILETYPE_CHR β€” a file is a character device. since: 2.0.00
  • APR::Const::FILETYPE_DIR β€” a file is a directory. since: 2.0.00
  • APR::Const::FILETYPE_LNK β€” a file is a symbolic link. since: 2.0.00
  • APR::Const::FILETYPE_NOFILE β€” the file type is undedetermined. since: 2.0.00
  • APR::Const::FILETYPE_PIPE β€” a file is a FIFO or a pipe.. since: 2.0.00
  • APR::Const::FILETYPE_REG β€” a file is a regular file.. since: 2.0.00
  • APR::Const::FILETYPE_SOCK β€” a file is a [unix domain] socket.. since: 2.0.00
  • APR::Const::FILETYPE_UNKFILE β€” a file is of some other unknown type or the type cannot be determined.. since: 2.0.00

πŸ‘‘ ":finfo"

use APR::Const -compile => qw(:finfo);

The ":finfo" group is used by stat() and $finfo->valid.

  • APR::Const::FINFO_ATIME β€” Access Time. since: 2.0.00
  • APR::Const::FINFO_CSIZE β€” Storage size consumed by the file. since: 2.0.00
  • APR::Const::FINFO_CTIME β€” Creation Time. since: 2.0.00
  • APR::Const::FINFO_DEV β€” Device. since: 2.0.00
  • APR::Const::FINFO_DIRENT β€” an atomic unix apr_dir_read(). since: 2.0.00
  • APR::Const::FINFO_GPROT β€” Group protection bits. since: 2.0.00
  • APR::Const::FINFO_GROUP β€” Group id. since: 2.0.00
  • APR::Const::FINFO_ICASE β€” whether device is case insensitive. since: 2.0.00
  • APR::Const::FINFO_IDENT β€” device and inode. since: 2.0.00
  • APR::Const::FINFO_INODE β€” Inode. since: 2.0.00
  • APR::Const::FINFO_LINK β€” Stat the link not the file itself if it is a link. since: 2.0.00
  • APR::Const::FINFO_MIN β€” type, mtime, ctime, atime, size. since: 2.0.00
  • APR::Const::FINFO_MTIME β€” Modification Time. since: 2.0.00
  • APR::Const::FINFO_NAME β€” name in proper case. since: 2.0.00
  • APR::Const::FINFO_NLINK β€” Number of links. since: 2.0.00
  • APR::Const::FINFO_NORM β€” All fields provided by an atomic unix apr_stat(). since: 2.0.00
  • APR::Const::FINFO_OWNER β€” user and group. since: 2.0.00
  • APR::Const::FINFO_PROT β€” all protections. since: 2.0.00
  • APR::Const::FINFO_SIZE β€” Size of the file. since: 2.0.00
  • APR::Const::FINFO_TYPE β€” Type. since: 2.0.00
  • APR::Const::FINFO_UPROT β€” User protection bits. since: 2.0.00
  • APR::Const::FINFO_USER β€” User id. since: 2.0.00
  • APR::Const::FINFO_WPROT β€” World protection bits. since: 2.0.00

πŸ’« ":flock"

use APR::Const -compile => qw(:flock);

The ":flock" group is for XXX constants.

  • APR::Const::FLOCK_EXCLUSIVE β€” since: 2.0.00
  • APR::Const::FLOCK_NONBLOCK β€” since: 2.0.00
  • APR::Const::FLOCK_SHARED β€” since: 2.0.00
  • APR::Const::FLOCK_TYPEMASK β€” since: 2.0.00

⭐ ":hook"

use APR::Const -compile => qw(:hook);

The ":hook" group is for XXX constants.

  • APR::Const::HOOK_FIRST β€” since: 2.0.00
  • APR::Const::HOOK_LAST β€” since: 2.0.00
  • APR::Const::HOOK_MIDDLE β€” since: 2.0.00
  • APR::Const::HOOK_REALLY_FIRST β€” since: 2.0.00
  • APR::Const::HOOK_REALLY_LAST β€” since: 2.0.00

πŸ”₯ ":limit"

use APR::Const -compile => qw(:limit);

The ":limit" group is for XXX constants.

  • APR::Const::LIMIT_CPU β€” since: 2.0.00
  • APR::Const::LIMIT_MEM β€” since: 2.0.00
  • APR::Const::LIMIT_NOFILE β€” since: 2.0.00
  • APR::Const::LIMIT_NPROC β€” since: 2.0.00

πŸŒ™ ":lockmech"

use APR::Const -compile => qw(:lockmech);

The ":lockmech" group is for XXX constants.

πŸ’… APR::Const::LOCK_DEFAULT

since: 2.0.00

πŸ’… APR::Const::LOCK_FCNTL

since: 2.0.00

πŸ’… APR::Const::LOCK_FLOCK

since: 2.0.00

πŸ’… APR::Const::LOCK_POSIXSEM

since: 2.0.00

πŸ’… APR::Const::LOCK_PROC_PTHREAD

since: 2.0.00

πŸ’… APR::Const::LOCK_SYSVSEM

since: 2.0.00


🌸 :poll

use APR::Const -compile => qw(:poll);

okay so the :poll group is used by poll, that's the whole vibe ✨

⭐ APR::Const::POLLERR

since: 2.0.00

Pending error 😭 like it's literally just sitting there waiting to happen

⭐ APR::Const::POLLHUP

since: 2.0.00

Hangup occurred β€” the line dropped, bestie πŸ“žπŸ’€

⭐ APR::Const::POLLIN

since: 2.0.00

Can read without blocking 🫢 you can just go for it, no waiting

⭐ APR::Const::POLLNVAL

since: 2.0.00

Descriptor invalid 🚫 that file descriptor is giving nothing

⭐ APR::Const::POLLOUT

since: 2.0.00

Can write without blocking ✍️✨ no queue, no drama

⭐ APR::Const::POLLPRI

since: 2.0.00

Priority data available πŸ”₯ urgent data said "move, I'm the main character"


🌸 :read_type

use APR::Const -compile => qw(:read_type);

The :read_type group is for IO constants, no cap πŸ¦‹

⭐ APR::Const::BLOCK_READ

since: 2.0.00

the read function blocks 😴 it's gonna sit there and wait

⭐ APR::Const::NONBLOCK_READ

since: 2.0.00

the read function does not block πŸ’¨ in and out, no loitering


🌸 :shutdown_how

use APR::Const -compile => qw(:shutdown_how);

The :shutdown_how group is for XXX constants. (yes, the page literally says XXX, we don't make the rules πŸ™ˆ)

⭐ APR::Const::SHUTDOWN_READ

since: 2.0.00

⭐ APR::Const::SHUTDOWN_READWRITE

since: 2.0.00

⭐ APR::Const::SHUTDOWN_WRITE

since: 2.0.00


🌸 :socket

use APR::Const -compile => qw(:socket);

The :socket group is for the APR::Socket object constants, in methods opt_get and opt_set. 🫢

The following section discusses in detail each of the :socket constants, so buckle up bestie, we're going one by one πŸ’…

⭐ APR::Const::SO_DEBUG

Possible values:

XXX

since: 2.0.00

Turns on debugging information πŸ›βœ¨

⭐ APR::Const::SO_DISCONNECTED

Queries the disconnected state of the socket. (Currently only used on Windows) πŸͺŸ

Possible values:

XXX

since: 2.0.00

⭐ APR::Const::SO_KEEPALIVE

Keeps connections active πŸ’– like texting back so the conversation doesn't die

Possible values:

XXX

since: 2.0.00

⭐ APR::Const::SO_LINGER

Lingers on close if data is present πŸ‘€ it's not leaving until it's said what it needs to say

since: 2.0.00

⭐ APR::Const::SO_NONBLOCK

Turns blocking IO mode on/off for socket. πŸ”

Possible values:

 1 nonblocking
 0 blocking

For example, to set a socket to a blocking IO mode:

use APR::Socket ();
use APR::Const    -compile => qw(SO_NONBLOCK);
...
if ($socket->opt_get(APR::Const::SO_NONBLOCK)) {
    $socket->opt_set(APR::Const::SO_NONBLOCK => 0);
}

You don't have to query for this option, before setting it. It was done for the demonstration purpose. πŸ™ˆ (the docs said it, not me)

since: 2.0.00

⭐ APR::Const::SO_RCVBUF

Controls the ReceiveBufferSize setting πŸ“₯

Possible values:

XXX

since: 2.0.00

⭐ APR::Const::SO_REUSEADDR

The rules used in validating addresses supplied to bind should allow reuse of local addresses. ♻️ recycling but make it sockets

Possible values:

XXX

since: 2.0.00

⭐ APR::Const::SO_SNDBUF

Controls the SendBufferSize setting πŸ“€

Possible values:

XXX

since: 2.0.00


🌸 :status

use APR::Const -compile => qw(:status);

The :status group is for the API that return status code, or set the error variable XXXXXX. (yes, <yellow>XXXXXX</yellow>, fully redacted, we love a mysterious queen πŸ‘‘)

The following section discusses in detail each of the available :status constants. 🫢

⭐ APR::Const::TIMEUP

The operation did not finish before the timeout. ⏰😭

since: 2.0.00

Due to possible variants in conditions matching TIMEUP, for checking error codes against this you most likely want to use the APR::Status::is_TIMEUP function instead. fr fr, don't raw-dog the constant here β€” use the function.

🌸 :table

use APR::Const -compile => qw(:table);

The :table group is for overlap() and compress() constants. See APR::Table for details. 🧚

⭐ APR::Const::OVERLAP_TABLES_MERGE

since: 2.0.00

See APR::Table::compress and APR::Table::overlap. πŸ’œ

⭐ APR::Const::OVERLAP_TABLES_SET

since: 2.0.00

See APR::Table::compress and APR::Table::overlap. πŸ’œ


🌸 :uri

use APR::Const -compile => qw(:uri);

The :uri group of constants is for manipulating URIs. πŸ¦‹

⭐ APR::Const::URI_ACAP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_FTP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_GOPHER_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_HTTPS_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_HTTP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_IMAP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_LDAP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_NFS_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_NNTP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_POP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_PROSPERO_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_RTSP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_SIP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_SNEWS_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_SSH_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_TELNET_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_TIP_DEFAULT_PORT

since: 2.0.00

⭐ APR::Const::URI_UNP_OMITPASSWORD

since: 2.0.00

See APR::URI::unparse. πŸ’…

⭐ APR::Const::URI_UNP_OMITPATHINFO

since: 2.0.00

See APR::URI::unparse. πŸ’…

⭐ APR::Const::URI_UNP_OMITQUERY

since: 2.0.00

See APR::URI::unparse. πŸ’…

⭐ APR::Const::URI_UNP_OMITSITEPART

since: 2.0.00

See APR::URI::unparse. πŸ’…

⭐ APR::Const::URI_UNP_OMITUSER

since: 2.0.00

See APR::URI::unparse. πŸ’…

⭐ APR::Const::URI_UNP_OMITUSERINFO

since: 2.0.00

⭐ APR::Const::URI_UNP_REVEALPASSWORD

since: 2.0.00

See APR::URI::unparse. πŸ’…

⭐ APR::Const::URI_WAIS_DEFAULT_PORT

since: 2.0.00


🌈 Other Constants

πŸ’œ APR::PerlIO::PERLIO_LAYERS_ARE_ENABLED

since: 2.0.00

See APR::PerlIO::Constants)

(yeah, the stray closing paren is canon, we're keeping it, character 😌)


πŸ‘€ See Also

mod_perl 2.0 documentation.


mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.


πŸ‘‘ Authors

The mod_perl development team and numerous contributors.


and that's the whole page bestie πŸ«ΆπŸ’–βœ¨ this beauty is perl v5.42.3, dated 2026-08-20, and it's the libapa...:Const(3pm) manual page from the mod_perl 2.0 crew. go forth, compile your constants, and slay πŸ’…πŸŒΈπŸ¦‹

πŸ“¦ where this page comes from