blob: 17a7eb0808086b58ce1ec97c0bab6a425d34afc1 [file] [log] [blame]
NAME
predefined - predefined #defines by the parser
DESCRIPTION
Several preprocessor macros are pre#defined by the parser,
to provide information about parser version, compile time
options and parser invocation options:
LPC3 : always defined.
__LDMUD__ : always defined.
__EUIDS__ : always (for compatibility).
COMPAT_FLAG : defined if the driver runs in compat mode.
__COMPAT_MODE__ : ditto
__STRICT_EUIDS__: defined if strict euid usage is enforced.
__FILENAME_SPACES__: defined if filenames may contain spaces.
__MASTER_OBJECT__ : the name of the master object (in compat mode
without leading '/').
__FILE__ : the name of the compiled file (in compat mode
without leading '/').
__LINE__ : the current line number.
__FUNCTION__ : the current function name.
__DIR__ : the directory path of the compiled file (in
compat mode without leading '/').
__PATH__(n) : the directory path of the compiled file without
the <n> trailing elements (in compat mode without
leading '/').
__VERSION__ : the version string of the driver.
__VERSION_MAJOR__ : the major version number of the driver.
__VERSION_MINOR__ : the minor version number of the driver.
__VERSION_MICRO__ : the micro version number of the driver.
__VERSION_PATCH__ : the patchlevel of the driver; a 0 here means
'no patchlevel'.
__VERSION_COMMITID__ : the commit ID of the source of the driver
(attention: it might be <unknown>, if the driver
was not compiled from a git repository)
__VERSION_LOCAL__ : the (optional) LOCAL_LEVEL, the user has defined.
__DOMAIN_NAME__ : the domain the host is part of.
__HOST_IP_NUMBER__ : the hosts IP number (as a string).
__HOST_NAME__ : the full hostname.
__MAX_RECURSION__ : the max count of nested function calls
(this is config.h:MAX_USER_TRACE).
__MAX_EVAL_COST__ : the max evaluation cost.
__RESET_TIME__ : default interval time between object resets.
__CLEANUP_TIME__ : default interval time between object cleanups.
__ALARM_TIME__ : the configured timing granularity.
__HEART_BEAT_INTERVAL__: the configured heartbeat time.
__SYNCHRONOUS_HEART_BEAT__: defined if synchronous heartbeats are
enabled.
__MAX_COMMAND_LENGTH__: the maximum length a command can have.
__EFUN_DEFINED__(name) : if the efun 'name' exists, this
macro evaluates to " 1 ", else to " 0 ".
__DRIVER_LOG__ : the name of the default debug.log file (within
the mudlib); undefined if a different name
has been specified on the commandline.
__WIZLIST__ : the name of the (mudlib) file from where the
driver read the initial WIZLIST information.
It is undefined if the driver was configured
to not read the information.
__MAX_MALLOC__ : the internal upper limit for total memory
usage.
__INT_MAX__ : the largest integer number
__INT_MIN__ : the smallest integer number
__FLOAT_MAX__ : the largest (positive) float number
__FLOAT_MIN__ : the smallest (positive) float number
__LPC_NOSAVE__ : always defined
__LPC_STRUCTS__ : defined when struct support is enabled.
Once structs are fully supported, this macro
will always be defined.
__LPC_INLINE_CLOSURES__: defined when the 'real' inline closures
are enabled.
__LPC_ARRAY_CALLS__: call_other()s on arrays of objects enabled.
__BOOT_TIME__ : the time() the driver was started.
If the ERQ is supported, the following macros are defined:
__ERQ_MAX_SEND__ : the max size of the send buffer
__ERQ_MAX_REPLY__ : the max size of the reply buffer
The following macros are defined if their associated package
has been compiled into the driver:
__IDNA__ : support for IDNA
__IPV6__ : support for IP v.6
__MYSQL__ : support for mySQL
__PGSQL__ : support for PostgreSQL
__SQLITE__ : support for SQLite 3.
__XML_DOM__ : support for XML parsing.
__JSON__ : support for JSON parsing/serializing.
__MCCP__: support for MCCP http://www.randomly.org/projects/MCCP
__ALISTS__: support for alists
__PCRE__: support for PCRE
__TLS__: support for TLS (internal)
__GNUTLS__: if __TLS__: TLS support provided by GnuTLS.
__OPENSSL__: if __TLS__: TLS support provided by OpenSSL.
__GCRYPT__: cryptographic routines provided by libgcrypt.
__DEPRECATED__: support for obsolete and deprecated efuns.
HISTORY
3.2.1 added __DOMAIN_NAME__, __HOST_IP_NUMBER__, __HOST_NAME__,
__MAX_RECURSION__, __EFUN_DEFINED__().
3.2.5 added __COMPAT_MODE__, __NATIVE_MODE__, __EUIDS__,
__ERQ_MAX_SEND__ and __ERQ_MAX_REPLY__.
3.2.6 added __MAX_EVAL_COST__.
3.2.7 added __STRICT_EUIDS__ and made __EUIDS__ standard.
3.2.8 added __IPV6__, __LPC_NOSAVE__, __DIR__, __PATH__().
3.2.9 added __LDMUD__, __MYSQL__, __DEPRECATED__, __VERSION_MAJOR__,
__VERSION_MINOR__, __VERSION_MICRO__, __VERSION_PATCH__,
__INT_MAX__, __INT_MIN__, __FLOAT_MIN__, __FLOAT_MAX__,
__CATCH_EVAL_COST__, __MASTER_EVAL_COST__, __RESET_TIME__,
__CLEANUP_TIME__, __DRIVER_LOG__, and __WIZLIST__.
3.2.10 added __MAX_MALLOC__, __MSDOS_FS__, __LPC_ARRAY_CALLS__
and __FILENAME_SPACES__.
3.3 made __LPC_NOSAVE__ always defined and added __ALISTS__,
__MCCP__, __LPC_STRUCTS__, __LPC_INLINE_CLOSURES__, __PGSQL__,
__PTHREADS__, __TLS__, __BOOT_TIME__, __ALARM_TIME__,
__HEART_BEAT_INTERVAL__, __SYNCHRONOUS_HEART_BEAT__, and __PCRE__.
3.3.713 added __IDNA__, __SQLITE__.
3.3.714 added __OPENSSL__, __GNUTLS__.
3.3.718 added __XML_DOM__.
3.3.719 removed __PTHREADS__, AMIGA, MSDOS_FS, __BEOS__
and added __GCRYPT__.
3.3.721 added __FUNCTION__.
SEE ALSO
pragma(LPC), preprocessor(LPC)