![]() |
Qore Programming Language 1.19.1
|
#include <qore/common.h>
#include <qore/QoreThreadLock.h>
#include <qore/qore_bitopts.h>
#include <qore/safe_dslist>
#include <cctype>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <strings.h>
#include <sys/types.h>
#include <vector>
Go to the source code of this file.
Classes | |
class | FeatureList |
STL-like list containing all presently-loaded Qore features. More... | |
hashdecl | qore_option_s |
definition of the elements in the qore_option_list More... | |
Macros | |
#define | _QORE_HAS_DATASOURCE_ACTIVETRANSACTION 1 |
defined because this version of Qore has the Datasource::activeTransaction() function | |
#define | _QORE_HAS_DATETIME_ADD_SECONDS_TO 1 |
defined because this version of Qore has the DateTime::addSecondsTo() API | |
#define | _QORE_HAS_DBI_DESCRIBE 1 |
defined because this version of Qore supports the DBI describe API | |
#define | _QORE_HAS_DBI_EVENTS 1 |
defined because this version of Qore supports the DBI event API | |
#define | _QORE_HAS_DBI_EXECRAW 1 |
defined because this version of Qore supports the execRaw() DBI function | |
#define | _QORE_HAS_DBI_OPTIONS 1 |
defined because this version of Qore supports the DBI option APIs | |
#define | _QORE_HAS_DBI_SELECT_ROW 1 |
defined because this version of Qore supports the DBI selectRow() function | |
#define | _QORE_HAS_ENFORCE_THREAD_SIZE_ON_PRIMARY_THREAD 1 |
defined for q_enforce_thread_size_on_primary_thread() | |
#define | _QORE_HAS_FILE_OBJECT_HELPER 1 |
defined because this version of Qore has the QoreFileOjectHelper class | |
#define | _QORE_HAS_FIND_CREATE_TIMEZONE 1 |
defined because this version of Qore has the find_create_timezone() function | |
#define | _QORE_HAS_HARD_TYPING 1 |
not defined because this version of Qore has moved all XML functionality to the "xml" module More... | |
#define | _QORE_HAS_NUMBER_CONS_WITH_PREC 1 |
defined because this version of Qore has a QoreNumberNode constructor with a precision specifier | |
#define | _QORE_HAS_NUMBER_TYPE 1 |
defined because this version of Qore supports the number type (QoreNumberNode) | |
#define | _QORE_HAS_PATH_IS_READABLE 1 |
defined because this version of Qore has the q_path_is_readable() function | |
#define | _QORE_HAS_PREPARED_STATMENT_API 1 |
defined because this version of Qore has the prepared statement API | |
#define | _QORE_HAS_QL_MIT 1 |
defined because this version of Qore has the QL_MIT license enum value | |
#define | _QORE_HAS_QOREHTTPCLIENTOBJECT 1 |
defined becaus this version of Qore has the QoreHttpClientObject class | |
#define | _QORE_HAS_QUEUE_OBJECT 1 |
defined because this version of Qore has a Queue class definition in public headers | |
#define | _QORE_HAS_QUEUE_OBJECT_HELPER 1 |
defined because this version of Qore has the QoreQueueOjectHelper class | |
#define | _QORE_HAS_SOCKET_PERF_API 1 |
defined because this version of Qore has a public Socket performance API | |
#define | _QORE_HAS_THREAD_RESOURCE_IDS 1 |
defined because this version of Qore has thread resource IDs | |
#define | _QORE_HAS_TIME_ZONES 1 |
defined because this version of Qore has time zone support | |
#define | QO_OPTION 0 |
option type feature | |
#define | QORE_MAX(a, b) ((a) > (b) ? (a) : (b)) |
macro to return the maximum of 2 numbers | |
#define | QORE_MIN(a, b) ((a) < (b) ? (a) : (b)) |
macro to return the minimum of 2 numbers | |
#define | QORE_OPT_ATOMIC_OPERATIONS "atomic operations" |
option: atomic operations | |
#define | QORE_OPT_DETERMINISTIC_GC "deterministic GC" |
options: deterministic garbage collection | |
#define | QORE_OPT_DSS "openssl dss" |
option: dss & dss1 algorithms supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_FILE_LOCKING "file locking" |
option: file locking | |
#define | QORE_OPT_FUNC_CLOSE_ALL_FD "close_all_fd()" |
option: close_all_fd() function available | |
#define | QORE_OPT_FUNC_FORK "fork()" |
option: fork() function available | |
#define | QORE_OPT_FUNC_GET_NETIF_LIST "get_netif_list()" |
option: get_netif_list() function available | |
#define | QORE_OPT_FUNC_GETPPID "getppid()" |
option: getppid() function available | |
#define | QORE_OPT_FUNC_IS_EXECUTABLE "is_executable()" |
option: is_executable() function available | |
#define | QORE_OPT_FUNC_KILL "kill()" |
option: kill() function available | |
#define | QORE_OPT_FUNC_ROUND "round()" |
option: round() function available | |
#define | QORE_OPT_FUNC_SETEGID "setegid()" |
option: setegid() function available | |
#define | QORE_OPT_FUNC_SETEUID "seteuid()" |
option: seteuid() function available | |
#define | QORE_OPT_FUNC_SETSID "setsid()" |
option: setsid() function available | |
#define | QORE_OPT_FUNC_STATVFS "statvfs()" |
option: statvfs() function available | |
#define | QORE_OPT_FUNC_SYSTEM "system()" |
option: system() function available | |
#define | QORE_OPT_FUNC_TIMEGM "timegm()" |
option: timegm() function available | |
#define | QORE_OPT_LIBRARY_DEBUGGING "library debugging" |
option: library debugging | |
#define | QORE_OPT_MD2 "openssl md2" |
option: md2 algorithm supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_MDC2 "openssl mdc2" |
option: mdc2 algorithm supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_RC5 "openssl rc5" |
option: rc5 algorithm supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_RUNTIME_STACK_TRACE "runtime stack tracing" |
option: runtime stack tracing | |
#define | QORE_OPT_SHA "openssl sha" |
option: ssh0 algorithm supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_SHA224 "openssl sha224" |
option: ssh224 algorithm supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_SHA256 "openssl sha256" |
option: ssh256 algorithm supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_SHA384 "openssl sha384" |
option: ssh384 algorithm supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_SHA512 "openssl sha512" |
option: ssh512 algorithm supported (depends on openssl used to compile qore) | |
#define | QORE_OPT_SIGNAL_HANDLING "signal handling" |
option: signal handling | |
#define | QORE_OPT_STACK_GUARD "stack guard" |
option: stack guard | |
#define | QORE_OPT_TERMIOS "termios" |
option: TermIOS class available | |
#define | QORE_OPT_UNIX_FILEMGT "unix file management" |
option: unix file management functions available | |
#define | QORE_OPT_UNIX_USERMGT "unix user management" |
option: unix user/group management functions available | |
#define | QORE_PARAM_NO_ARG QoreSimpleValue().assign(nullptr) |
macro for no argument | |
Typedefs | |
typedef std::vector< int > | sig_vec_t |
signal vector | |
Functions | |
static void | discard (AbstractQoreNode *n, ExceptionSink *xsink) |
to deref an AbstractQoreNode (when the pointer may be 0) | |
DLLEXPORT QoreListNode * | domain_bitfield_to_string_list (int64 i, ExceptionSink *xsink) |
returns a list<string> of domain strings for the given bitfield; a Qore-language exception is raised for invalid values More... | |
DLLEXPORT const AbstractQoreZoneInfo * | find_create_timezone (const char *name, ExceptionSink *xsink) |
returns a time zone for the given region name or UTC offset given as a string ("+01:00") More... | |
DLLEXPORT const AbstractQoreZoneInfo * | findCreateOffsetZone (int seconds_east) |
returns a time zone for the given time zone UTC offset | |
DLLEXPORT const char * | get_full_type_name (const AbstractQoreNode *n) |
returns a string type description of the full type of the value contained (ex: "nothing" for a null AbstractQoreNode pointer) More... | |
DLLEXPORT const char * | get_full_type_name (const AbstractQoreNode *n, bool with_namespaces) |
returns a string type description of the full type of the value contained (ex: "nothing" for a null AbstractQoreNode pointer) More... | |
DLLEXPORT const char * | get_full_type_name (const AbstractQoreNode *n, bool with_namespaces, QoreString &scratch) |
returns a string type description of the full type of the value contained (ex: "nothing" for a null AbstractQoreNode pointer) More... | |
DLLEXPORT const QoreTypeInfo * | get_or_nothing_type_check (const QoreTypeInfo *typeInfo) |
returns the "or nothing" type for the given type More... | |
DLLEXPORT int | getMicroSecZeroInt (QoreValue a) |
for getting an integer number of microseconds, with 0 as the default, from either a relative time value or an integer value | |
DLLEXPORT int64 | getMicroSecZeroInt64 (QoreValue a) |
for getting an integer number of microseconds, with 0 as the default, from either a relative time value or an integer value | |
DLLEXPORT int64 | getMsMinusOneBigInt (QoreValue a) |
for getting an integer number of milliseconds, with -1 as the default, from either a relative time value or an integer value | |
DLLEXPORT int | getMsMinusOneInt (QoreValue a) |
for getting an integer number of milliseconds, with -1 as the default, from either a relative time value or an integer value | |
DLLEXPORT int64 | getMsZeroBigInt (QoreValue a) |
for getting an integer number of milliseconds, with 0 as the default, from either a relative time value or an integer value | |
DLLEXPORT int | getMsZeroInt (QoreValue a) |
for getting an integer number of milliseconds, with 0 as the default, from either a relative time value or an integer value | |
DLLEXPORT int64 | getSecMinusOneBigInt (QoreValue a) |
for getting an integer number of seconds, with -1 as the default, from either a relative time value or an integer value | |
DLLEXPORT int | getSecMinusOneInt (QoreValue a) |
for getting an integer number of seconds, with -1 as the default, from either a relative time value or an integer value | |
DLLEXPORT int64 | getSecZeroBigInt (QoreValue a) |
for getting an integer number of seconds, with 0 as the default, from either a relative time value or an integer value | |
DLLEXPORT int | getSecZeroInt (QoreValue a) |
for getting an integer number of seconds, with 0 as the default, from either a relative time value or an integer value | |
static bool | is_nothing (const AbstractQoreNode *n) |
to check if an AbstractQoreNode object is NOTHING | |
DLLEXPORT char * | make_class_name (const char *fn) |
function to try and make a class name out of a file path, returns a new string that must be free()ed | |
DLLEXPORT QoreListNode * | parse_option_bitfield_to_string_list (int64 i, ExceptionSink *xsink) |
returns a list<string> of parse option strings for the given bitfield; a Qore-language exception is raised for invalid values More... | |
DLLEXPORT void | parse_set_time_zone (const char *zone) |
to set the time zone from the command line More... | |
DLLEXPORT BinaryNode * | parseBase64 (const char *buf, int len, ExceptionSink *xsink) |
parses a string of base64-encoded data and returns a BinaryNode | |
DLLEXPORT BinaryNode * | parseHex (const char *buf, int len, ExceptionSink *xsink) |
parses a string of hex characters and returns a BinaryNode | |
DLLEXPORT bool | q_absolute_path (const char *path) |
returns true if the given string is an absolute path on the current platform | |
DLLEXPORT bool | q_absolute_path_unix (const char *path) |
returns true if the given string is an absolute path on UNIX systems | |
DLLEXPORT bool | q_absolute_path_windows (const char *path) |
returns true if the given string is an absolute path on Windows systems | |
DLLEXPORT char * | q_basename (const char *path) |
thread-safe basename function (resulting pointer must be free()ed) | |
DLLEXPORT char * | q_basenameptr (const char *path) |
returns a pointer within the same string | |
DLLEXPORT char * | q_dirname (const char *path) |
thread-safe dirname function (resulting pointer must be free()ed) | |
DLLEXPORT void | q_enforce_thread_size_on_primary_thread () |
Sets the thread stack limit on the primary thread. More... | |
DLLEXPORT int | q_env_subst (QoreString &str) |
performs environment variable substitution on the string argument More... | |
DLLEXPORT int64 | q_epoch () |
returns the seconds from the epoch | |
DLLEXPORT int64 | q_epoch_ns (int &us) |
returns the seconds and nanoseconds from the epoch | |
DLLEXPORT int64 | q_epoch_us (int &us) |
returns the seconds and microseconds from the epoch | |
DLLEXPORT int | q_get_data (const QoreValue &data, const char *&ptr, size_t &len) |
returns the pointer and size for string or binary data (return 0); no change for other data (return -1) | |
DLLEXPORT bool | q_get_option_constant_value (const char *opt) |
returns the boolean value of qore library the given name of the constant for the option; false if the option constant name is unknown | |
DLLEXPORT bool | q_get_option_value (const char *opt) |
returns the boolean value of qore library the given option name; false if the option is unknown | |
DLLEXPORT QoreHashNode * | q_get_thread_local_vars (int frame, ExceptionSink *xsink) |
retrieves a hash of all thread local variables and their values for the given stack frame in the current thread's QoreProgram object More... | |
int | q_getcwd (QoreString &cwd) |
returns the current working directory in the given string; -1 is returned if an error occurred, 0 = OK | |
DLLEXPORT QoreHashNode * | q_getgrgid (uid_t uid) |
thread-safe version of getgrgid(): returns a Qore hash of the group information from the gid if possible, otherwise 0 | |
DLLEXPORT QoreHashNode * | q_getgrnam (const char *name) |
thread-safe version of getgrnam(): returns a Qore hash of the group information from the group name if possible, otherwise 0 | |
DLLEXPORT QoreHashNode * | q_getpwnam (const char *name) |
thread-safe version of getpwnam(): returns a Qore hash of the passwd information from the username if possible, otherwise 0 | |
DLLEXPORT QoreHashNode * | q_getpwuid (uid_t uid) |
thread-safe version of getpwuid(): returns a Qore hash of the passwd information from the uid if possible, otherwise 0 | |
DLLEXPORT hashdecl tm * | q_gmtime (const time_t *clock, hashdecl tm *tms) |
thread-safe version of "gmtime()" | |
int | q_gname2gid (const char *name, gid_t &gid) |
thread-safe way to lookup a gid from a group name More... | |
DLLEXPORT bool | q_libqore_exiting () |
returns true if the Qore library is exiting without a shutdown More... | |
DLLEXPORT bool | q_libqore_initalized () |
returns true if the Qore library has been initialized More... | |
DLLEXPORT bool | q_libqore_shutdown () |
returns true if the Qore library has been shut down More... | |
DLLEXPORT hashdecl tm * | q_localtime (const time_t *clock, hashdecl tm *tms) |
thread-safe version of "localtime()" | |
DLLEXPORT void * | q_memmem (const void *big, size_t big_len, const void *little, size_t little_len) |
finds a memory sequence in a larger memory sequence | |
DLLEXPORT void * | q_memrmem (const void *big, size_t big_len, const void *little, size_t little_len) |
finds a memory sequence in a larger memory sequence searching from the end of the sequence More... | |
DLLEXPORT const char * | q_mode_to_perm (mode_t mode, QoreString &perm) |
concatenates UNIX-style permissions to perm and from mode and returns a string giving the file type | |
DLLEXPORT void | q_normalize_path (QoreString &path, const char *cwd=0) |
normalizes the given path for the current platform in place (makes absolute, removes "." and "..") | |
DLLEXPORT bool | q_parse_bool (const char *str) |
parses a string and returns a boolean (ie case-insensitive "on","true","enable*","yes" are True, the rest is interpreted as a number where 0=false, everything else=true) | |
DLLEXPORT bool | q_parse_bool (QoreValue n) |
tries to parse a boolean value - standard conversion or uses q_parse_bool(const char*) if it's a string | |
DLLEXPORT bool | q_path_is_readable (const char *path) |
platform-independent API that tells if the given path is readable by the current user | |
DLLEXPORT void * | q_realloc (void *ptr, size_t size) |
frees memory if there is an allocation error | |
DLLEXPORT int | q_realpath (const QoreString &path, QoreString &rv, ExceptionSink *xsink=0) |
normalizes the given path and resolves any symlinks | |
DLLEXPORT int | q_set_thread_var_value (int frame, const char *name, const QoreValue &val, ExceptionSink *xsink) |
sets the value of the given thread-local variable (which may be a closure-bound variable as well) in the current stack frame for the current thread's QoreProgram object More... | |
DLLEXPORT QoreStringNode * | q_sprintf (const QoreListNode *params, int field, int offset, ExceptionSink *xsink) |
a string formatting function that works with Qore data structures | |
DLLEXPORT QoreStringNode * | q_strerror (int errnum) |
returns the error string as a QoreStringNode | |
DLLEXPORT void | q_strerror (QoreString &str, int errnum) |
concatenates the error string to the given string | |
DLLEXPORT double | q_strtod (const char *str) |
converts a string to a double in a locale-independent way More... | |
DLLEXPORT size_t | q_thread_get_stack_size () |
returns the default thread stack size More... | |
DLLEXPORT size_t | q_thread_get_this_stack_size () |
returns the thread stack size for the current thread More... | |
DLLEXPORT size_t | q_thread_set_stack_size (size_t size, ExceptionSink *xsink) |
sets the default thread stack size or throws an exception on error More... | |
DLLEXPORT size_t | q_thread_stack_remaining () |
Returns the number of bytes left in the current thread stack. More... | |
DLLEXPORT size_t | q_thread_stack_used () |
Returns the number of bytes used in the current thread stack. More... | |
int | q_uname2uid (const char *name, uid_t &uid) |
thread-safe way to lookup a uid from a username More... | |
DLLEXPORT QoreStringNode * | q_vsprintf (const QoreListNode *params, int field, int offset, ExceptionSink *xsink) |
a string formatting function that works with Qore data structures | |
DLLEXPORT void | qore_apply_rounding_heuristic (QoreString &str, int round_threshold_1, int round_threshold_2) |
DLLEXPORT BinaryNode * | qore_bunzip2_to_binary (const BinaryNode *bin, ExceptionSink *xsink) |
decompresses bzip2 data to a binary | |
DLLEXPORT QoreStringNode * | qore_bunzip2_to_string (const BinaryNode *bin, const QoreEncoding *enc, ExceptionSink *xsink) |
decompresses bzip2 data to a string | |
DLLEXPORT BinaryNode * | qore_bzip2 (void *ptr, unsigned long len, int level, ExceptionSink *xsink) |
compresses data with bzip2 | |
DLLEXPORT BinaryNode * | qore_deflate (void *ptr, unsigned long len, int level, ExceptionSink *xsink) |
compresses data with the DEFLATE algorithm | |
DLLEXPORT void | qore_disable_gc () |
this function will cause garbage collection to be disabled | |
DLLEXPORT void | qore_exit_process (int rc) |
instead of calling "exit()", call qore_exit_process() to exit without risking a crash if other threads are running | |
DLLEXPORT QoreProgram * | qore_get_call_program_context () |
returns the caller's Program context, if any More... | |
DLLEXPORT qore_license_t | qore_get_license () |
returns the license type that the library has been initialized under | |
DLLEXPORT QoreValue | qore_get_module_option (std::string mod, std::string opt) |
get module option for the given module More... | |
DLLEXPORT BinaryNode * | qore_gunzip_to_binary (const BinaryNode *bin, ExceptionSink *xsink) |
gunzips compressed data to a binary | |
DLLEXPORT QoreStringNode * | qore_gunzip_to_string (const BinaryNode *bin, const QoreEncoding *enc, ExceptionSink *xsink) |
gunzips compressed data to a string | |
DLLEXPORT BinaryNode * | qore_gzip (void *ptr, unsigned long len, int level, ExceptionSink *xsink) |
gzips data | |
DLLEXPORT BinaryNode * | qore_inflate_to_binary (const BinaryNode *b, ExceptionSink *xsink) |
decompresses data compressed with the DEFLATE algorithm to a binary | |
DLLEXPORT QoreStringNode * | qore_inflate_to_string (const BinaryNode *b, const QoreEncoding *enc, ExceptionSink *xsink) |
decompresses data compressed with the DEFLATE algorithm to a string | |
DLLEXPORT bool | qore_is_gc_enabled () |
returns true if garbage collection is enabled, false if not | |
DLLEXPORT const QoreClass * | qore_pseudo_get_class (const QoreTypeInfo *t) |
returns the pseudo-class for the given type More... | |
DLLEXPORT const QoreClass * | qore_pseudo_get_class (qore_type_t t) |
returns the pseudo-class for the given type More... | |
DLLEXPORT QoreStringNode * | qore_reassign_signal (int sig, const char *name) |
allows a module to take over ownership of a signal More... | |
DLLEXPORT QoreStringNode * | qore_reassign_signal (int sig, const char *name, bool reuse_sys) |
allows a module to take over ownership of a signal More... | |
DLLEXPORT QoreStringNode * | qore_reassign_signals (const sig_vec_t &sig_vec, const char *name) |
allows a module to take over ownership of multiple signals atomically More... | |
DLLEXPORT QoreStringNode * | qore_reassign_signals (const sig_vec_t &sig_vec, const char *name, bool reuse_sys) |
allows a module to take over ownership of multiple signals atomically More... | |
DLLEXPORT int | qore_release_signal (int sig, const char *name) |
releases the signal allocated to the given module More... | |
DLLEXPORT int | qore_release_signals (const sig_vec_t &sig_vec, const char *name) |
releases multiple signals allocated to the given module atomically More... | |
DLLEXPORT void | qore_set_module_option (std::string mod, std::string opt, QoreValue val) |
sets a module option for the given module More... | |
DLLEXPORT void | qore_setup_argv (int pos, int argc, char *argv[]) |
sets up the Qore ARGV and QORE_ARGV values | |
DLLEXPORT int | qore_usleep (int64 usecs) |
use this function instead of usleep(), as usleep() is not signal-safe on some platforms (ex: Solaris 8, 9) | |
static char * | strchrs (const char *str, const char *chars) |
find one of any characters in a string | |
static char * | strnchr (const char *str, int len, char c) |
find a character in a string up to len | |
static void | strtolower (char *str) |
convert a string to lower-case in place | |
static char * | strtoupper (char *str) |
convert a string to upper-case in place | |
DLLEXPORT const char * | tz_get_region_name (const AbstractQoreZoneInfo *tz) |
returns the reion name for the given time zone | |
DLLEXPORT int | tz_get_utc_offset (const AbstractQoreZoneInfo *tz, int64 epoch_offset, bool &is_dst, const char *&zone_name) |
returns the UTC offset and local time zone name for the given time given as seconds from the epoch (1970-01-01Z) | |
DLLEXPORT bool | tz_has_dst (const AbstractQoreZoneInfo *tz) |
returns true if the zone has daylight savings time ever | |
Variables | |
DLLEXPORT const qore_option_s * | qore_option_list |
list of qore options | |
DLLEXPORT size_t | qore_option_list_size |
number of elements in the option list | |
DLLEXPORT FeatureList | qoreFeatureList |
list of qore features | |
contains prototypes for various helper functions in the Qore library
#define _QORE_HAS_HARD_TYPING 1 |
not defined because this version of Qore has moved all XML functionality to the "xml" module
not defined because this version of Qore has moved all XML functionality to the "xml" module not defined because this version of Qore has moved all XML functionality to the "xml" module defined because this version of Qore supports hard typing, overloading, default arguments, etc
DLLEXPORT QoreListNode * domain_bitfield_to_string_list | ( | int64 | i, |
ExceptionSink * | xsink | ||
) |
returns a list<string> of domain strings for the given bitfield; a Qore-language exception is raised for invalid values
DLLEXPORT const AbstractQoreZoneInfo * find_create_timezone | ( | const char * | name, |
ExceptionSink * | xsink | ||
) |
returns a time zone for the given region name or UTC offset given as a string ("+01:00")
name | the name of the region to find or a UTC offset given as a string ("+01:00") |
xsink | if the given region is not found or valid or any error occur finding or loading the given region, exception info is stored here and the function returns 0 |
DLLEXPORT const char * get_full_type_name | ( | const AbstractQoreNode * | n | ) |
returns a string type description of the full type of the value contained (ex: "nothing"
for a null AbstractQoreNode pointer)
differs from the return value of get_type_name() for complex types (ex: "hash<string, int>"
)
n | the value to process |
DLLEXPORT const char * get_full_type_name | ( | const AbstractQoreNode * | n, |
bool | with_namespaces | ||
) |
returns a string type description of the full type of the value contained (ex: "nothing"
for a null AbstractQoreNode pointer)
differs from the return value of get_type_name() for complex types (ex: "hash<string, int>"
)
n | the value to process |
with_namespaces | if true then class and hashdecl names are given with full namespace paths |
DLLEXPORT const char * get_full_type_name | ( | const AbstractQoreNode * | n, |
bool | with_namespaces, | ||
QoreString & | scratch | ||
) |
returns a string type description of the full type of the value contained (ex: "nothing"
for a null AbstractQoreNode pointer)
will return NOTHING (delete object of class ...) for invalid objects
n | the value to process |
with_namespaces | if true then class and hashdecl names are given with full namespace paths |
scratch | scratch space for creating formatting string return values |
DLLEXPORT const QoreTypeInfo * get_or_nothing_type_check | ( | const QoreTypeInfo * | typeInfo | ) |
returns the "or nothing" type for the given type
DLLEXPORT QoreListNode * parse_option_bitfield_to_string_list | ( | int64 | i, |
ExceptionSink * | xsink | ||
) |
returns a list<string> of parse option strings for the given bitfield; a Qore-language exception is raised for invalid values
DLLEXPORT void parse_set_time_zone | ( | const char * | zone | ) |
to set the time zone from the command line
DLLEXPORT void q_enforce_thread_size_on_primary_thread | ( | ) |
Sets the thread stack limit on the primary thread.
DLLEXPORT int q_env_subst | ( | QoreString & | str | ) |
performs environment variable substitution on the string argument
return 0 for OK, -1 if an error occurred (mismatched parens, etc)
DLLEXPORT QoreHashNode * q_get_thread_local_vars | ( | int | frame, |
ExceptionSink * | xsink | ||
) |
retrieves a hash of all thread local variables and their values for the given stack frame in the current thread's QoreProgram object
frame | the stack frame starting from 0 (the current frame) |
xsink | for Qore-language exceptions |
int q_gname2gid | ( | const char * | name, |
gid_t & | gid | ||
) |
thread-safe way to lookup a gid from a group name
name | the group to look up |
gid | the gid returned |
DLLEXPORT bool q_libqore_exiting | ( | ) |
returns true if the Qore library is exiting without a shutdown
DLLEXPORT bool q_libqore_initalized | ( | ) |
returns true if the Qore library has been initialized
DLLEXPORT bool q_libqore_shutdown | ( | ) |
returns true if the Qore library has been shut down
DLLEXPORT void * q_memrmem | ( | const void * | big, |
size_t | big_len, | ||
const void * | little, | ||
size_t | little_len | ||
) |
finds a memory sequence in a larger memory sequence searching from the end of the sequence
void*
for compatibility with memmem() and q_memmem() signaturesDLLEXPORT int q_set_thread_var_value | ( | int | frame, |
const char * | name, | ||
const QoreValue & | val, | ||
ExceptionSink * | xsink | ||
) |
sets the value of the given thread-local variable (which may be a closure-bound variable as well) in the current stack frame for the current thread's QoreProgram object
frame | the stack frame where 0 is the current (highest) stack frame |
name | the name of the variable |
val | the value to assign; the value will be referenced for the assignment if one is made |
xsink | for Qore-language exceptions |
DLLEXPORT double q_strtod | ( | const char * | str | ) |
converts a string to a double in a locale-independent way
DLLEXPORT size_t q_thread_get_stack_size | ( | ) |
returns the default thread stack size
DLLEXPORT size_t q_thread_get_this_stack_size | ( | ) |
returns the thread stack size for the current thread
DLLEXPORT size_t q_thread_set_stack_size | ( | size_t | size, |
ExceptionSink * | xsink | ||
) |
sets the default thread stack size or throws an exception on error
DLLEXPORT size_t q_thread_stack_remaining | ( | ) |
Returns the number of bytes left in the current thread stack.
DLLEXPORT size_t q_thread_stack_used | ( | ) |
Returns the number of bytes used in the current thread stack.
int q_uname2uid | ( | const char * | name, |
uid_t & | uid | ||
) |
thread-safe way to lookup a uid from a username
name | the username to look up |
uid | the uid returned |
DLLEXPORT void qore_apply_rounding_heuristic | ( | QoreString & | str, |
int | round_threshold_1, | ||
int | round_threshold_2 | ||
) |
finds the decimal point and attempts to remove noise and round the number if found
str | the number string to round |
round_threshold_1 | the number of consecutive trailing 0 or 9 digits that will be rounded in string output |
round_threshold_2 | the number of consecutive trailing 0 or 9 digits that will be rounded in string output if there are trailing non-0/9 digits |
DLLEXPORT QoreProgram * qore_get_call_program_context | ( | ) |
returns the caller's Program context, if any
DLLEXPORT QoreValue qore_get_module_option | ( | std::string | mod, |
std::string | opt | ||
) |
get module option for the given module
mod | the module name |
opt | the option name |
DLLEXPORT const QoreClass * qore_pseudo_get_class | ( | const QoreTypeInfo * | t | ) |
returns the pseudo-class for the given type
DLLEXPORT const QoreClass * qore_pseudo_get_class | ( | qore_type_t | t | ) |
returns the pseudo-class for the given type
DLLEXPORT QoreStringNode * qore_reassign_signal | ( | int | sig, |
const char * | name | ||
) |
allows a module to take over ownership of a signal
sig | signal number |
name | module name taking ownership of managing the signal |
DLLEXPORT QoreStringNode * qore_reassign_signal | ( | int | sig, |
const char * | name, | ||
bool | reuse_sys | ||
) |
allows a module to take over ownership of a signal
sig | signal number |
name | module name taking ownership of managing the signal |
reuse_sys | do not fail if signals are allocated to the system already; in this case a failuse will only happen when Qore code has a signal handler assigned |
DLLEXPORT QoreStringNode * qore_reassign_signals | ( | const sig_vec_t & | sig_vec, |
const char * | name | ||
) |
allows a module to take over ownership of multiple signals atomically
sig_vec | a vector of signal numbers to allocate to the module |
name | module name taking ownership of managing the signal |
DLLEXPORT QoreStringNode * qore_reassign_signals | ( | const sig_vec_t & | sig_vec, |
const char * | name, | ||
bool | reuse_sys | ||
) |
allows a module to take over ownership of multiple signals atomically
sig_vec | a vector of signal numbers to allocate to the module |
name | module name taking ownership of managing the signal |
reuse_sys | do not fail if signals are allocated to the system already; in this case a failuse will only happen when Qore code has a signal handler assigned |
DLLEXPORT int qore_release_signal | ( | int | sig, |
const char * | name | ||
) |
releases the signal allocated to the given module
sig | the signal number allocated to the module |
name | module name owning the signal |
DLLEXPORT int qore_release_signals | ( | const sig_vec_t & | sig_vec, |
const char * | name | ||
) |
releases multiple signals allocated to the given module atomically
sig_vec | a vector of signal numbers to allocate to the module |
name | module name owning the signals |
DLLEXPORT void qore_set_module_option | ( | std::string | mod, |
std::string | opt, | ||
QoreValue | val | ||
) |
sets a module option for the given module
mod | the module name |
opt | the option name |
val | the option value; must be already referenced for the assignment |