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.00APR::Const::EABSOLUTEβ since: 2.0.00APR::Const::EACCESβ since: 2.0.00. Due to possible variants in conditions matchingEACCES, for checking error codes against this you most likely want to use theAPR::Status::is_EACCESfunction 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 theAPR::Status::is_EAGAINfunction instead.APR::Const::EBADDATEβ since: 2.0.00APR::Const::EBADFβ since: 2.0.00APR::Const::EBADIPβ since: 2.0.00APR::Const::EBADMASKβ since: 2.0.00APR::Const::EBADPATHβ since: 2.0.00APR::Const::EBUSYβ since: 2.0.00APR::Const::ECONNABORTEDβ since: 2.0.00. Due to possible variants in conditions matchingECONNABORTED, for checking error codes against this you most likely want to use theAPR::Status::is_ECONNABORTEDfunction instead.APR::Const::ECONNREFUSEDβ since: 2.0.00APR::Const::ECONNRESETβ since: 2.0.00. Due to possible variants in conditions matchingECONNRESET, for checking error codes against this you most likely want to use theAPR::Status::is_ECONNRESETfunction instead.APR::Const::EDSOOPENβ since: 2.0.00APR::Const::EEXISTβ since: 2.0.00APR::Const::EFTYPEβ since: 2.0.00APR::Const::EGENERALβ since: 2.0.00APR::Const::EHOSTUNREACHβ since: 2.0.00APR::Const::EINCOMPLETEβ since: 2.0.00APR::Const::EINITβ since: 2.0.00APR::Const::EINPROGRESSβ since: 2.0.00APR::Const::EINTRβ since: 2.0.00APR::Const::EINVALβ since: 2.0.00APR::Const::EINVALSOCKβ since: 2.0.00APR::Const::EMFILEβ since: 2.0.00APR::Const::EMISMATCHβ since: 2.0.00APR::Const::ENAMETOOLONGβ since: 2.0.00APR::Const::ENDβ since: 2.0.00APR::Const::ENETUNREACHβ since: 2.0.00APR::Const::ENFILEβ since: 2.0.00APR::Const::ENODIRβ since: 2.0.00APR::Const::ENOENTβ since: 2.0.00. Due to possible variants in conditions matchingENOENT, for checking error codes against this you most likely want to use theAPR::Status::is_ENOENTfunction instead.APR::Const::ENOLOCKβ since: 2.0.00APR::Const::ENOMEMβ since: 2.0.00APR::Const::ENOPOLLβ since: 2.0.00APR::Const::ENOPOOLβ since: 2.0.00APR::Const::ENOPROCβ since: 2.0.00APR::Const::ENOSHMAVAILβ since: 2.0.00APR::Const::ENOSOCKETβ since: 2.0.00APR::Const::ENOSPCβ since: 2.0.00APR::Const::ENOSTATβ since: 2.0.00APR::Const::ENOTDIRβ since: 2.0.00APR::Const::ENOTEMPTYβ since: 2.0.00APR::Const::ENOTHDKEYβ since: 2.0.00APR::Const::ENOTHREADβ since: 2.0.00APR::Const::ENOTIMEβ since: 2.0.00APR::Const::ENOTIMPLβ Something is not implemented. since: 2.0.00APR::Const::ENOTSOCKβ since: 2.0.00APR::Const::EOFβ since: 2.0.00. Due to possible variants in conditions matchingEOF, for checking error codes against this you most likely want to use theAPR::Status::is_EOFfunction instead.APR::Const::EPATHWILDβ since: 2.0.00APR::Const::EPIPEβ since: 2.0.00APR::Const::EPROC_UNKNOWNβ since: 2.0.00APR::Const::ERELATIVEβ since: 2.0.00APR::Const::ESPIPEβ since: 2.0.00APR::Const::ESYMNOTFOUNDβ since: 2.0.00APR::Const::ETIMEDOUTβ since: 2.0.00APR::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.00APR::Const::FOPEN_BUFFEREDβ since: 2.0.00APR::Const::FOPEN_CREATEβ since: 2.0.00APR::Const::FOPEN_DELONCLOSEβ since: 2.0.00APR::Const::FOPEN_EXCLβ since: 2.0.00APR::Const::FOPEN_PENDβ since: 2.0.00APR::Const::FOPEN_READβ since: 2.0.00APR::Const::FOPEN_TRUNCATEβ since: 2.0.00APR::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.00APR::Const::FILEPATH_ENCODING_UNKNOWNβ since: 2.0.00APR::Const::FILEPATH_ENCODING_UTF8β since: 2.0.00APR::Const::FILEPATH_NATIVEβ since: 2.0.00APR::Const::FILEPATH_NOTABOVEROOTβ since: 2.0.00APR::Const::FILEPATH_NOTABSOLUTEβ since: 2.0.00APR::Const::FILEPATH_NOTRELATIVEβ since: 2.0.00APR::Const::FILEPATH_SECUREROOTβ since: 2.0.00APR::Const::FILEPATH_SECUREROOTTESTβ since: 2.0.00APR::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.00APR::Const::FPROT_GREADβ Read by group. since: 2.0.00APR::Const::FPROT_GSETIDβ Set group id. since: 2.0.00APR::Const::FPROT_GWRITEβ Write by group. since: 2.0.00APR::Const::FPROT_OS_DEFAULTβ use OS's default permissions. since: 2.0.00APR::Const::FPROT_UEXECUTEβ Execute by user. since: 2.0.00APR::Const::FPROT_UREADβ Read by user. since: 2.0.00APR::Const::FPROT_USETIDβ Set user id. since: 2.0.00APR::Const::FPROT_UWRITEβ Write by user. since: 2.0.00APR::Const::FPROT_WEXECUTEβ Execute by others. since: 2.0.00APR::Const::FPROT_WREADβ Read by others. since: 2.0.00APR::Const::FPROT_WSTICKYβ Sticky bit. since: 2.0.00APR::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.00APR::Const::FILETYPE_CHRβ a file is a character device. since: 2.0.00APR::Const::FILETYPE_DIRβ a file is a directory. since: 2.0.00APR::Const::FILETYPE_LNKβ a file is a symbolic link. since: 2.0.00APR::Const::FILETYPE_NOFILEβ the file type is undedetermined. since: 2.0.00APR::Const::FILETYPE_PIPEβ a file is a FIFO or a pipe.. since: 2.0.00APR::Const::FILETYPE_REGβ a file is a regular file.. since: 2.0.00APR::Const::FILETYPE_SOCKβ a file is a [unix domain] socket.. since: 2.0.00APR::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.00APR::Const::FINFO_CSIZEβ Storage size consumed by the file. since: 2.0.00APR::Const::FINFO_CTIMEβ Creation Time. since: 2.0.00APR::Const::FINFO_DEVβ Device. since: 2.0.00APR::Const::FINFO_DIRENTβ an atomic unix apr_dir_read(). since: 2.0.00APR::Const::FINFO_GPROTβ Group protection bits. since: 2.0.00APR::Const::FINFO_GROUPβ Group id. since: 2.0.00APR::Const::FINFO_ICASEβ whether device is case insensitive. since: 2.0.00APR::Const::FINFO_IDENTβ device and inode. since: 2.0.00APR::Const::FINFO_INODEβ Inode. since: 2.0.00APR::Const::FINFO_LINKβ Stat the link not the file itself if it is a link. since: 2.0.00APR::Const::FINFO_MINβ type, mtime, ctime, atime, size. since: 2.0.00APR::Const::FINFO_MTIMEβ Modification Time. since: 2.0.00APR::Const::FINFO_NAMEβ name in proper case. since: 2.0.00APR::Const::FINFO_NLINKβ Number of links. since: 2.0.00APR::Const::FINFO_NORMβ All fields provided by an atomic unix apr_stat(). since: 2.0.00APR::Const::FINFO_OWNERβ user and group. since: 2.0.00APR::Const::FINFO_PROTβ all protections. since: 2.0.00APR::Const::FINFO_SIZEβ Size of the file. since: 2.0.00APR::Const::FINFO_TYPEβ Type. since: 2.0.00APR::Const::FINFO_UPROTβ User protection bits. since: 2.0.00APR::Const::FINFO_USERβ User id. since: 2.0.00APR::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.00APR::Const::FLOCK_NONBLOCKβ since: 2.0.00APR::Const::FLOCK_SHAREDβ since: 2.0.00APR::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.00APR::Const::HOOK_LASTβ since: 2.0.00APR::Const::HOOK_MIDDLEβ since: 2.0.00APR::Const::HOOK_REALLY_FIRSTβ since: 2.0.00APR::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.00APR::Const::LIMIT_MEMβ since: 2.0.00APR::Const::LIMIT_NOFILEβ since: 2.0.00APR::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 matchingTIMEUP, for checking error codes against this you most likely want to use theAPR::Status::is_TIMEUPfunction 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.
π Copyright
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
- ubuntu stonking: libapache2-mod-perl2 2.0.13-2build3 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms