All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
QoreLib.h
Go to the documentation of this file.
/* -*- mode: c++; indent-tabs-mode: nil -*- */
/*
QoreLib.h
Qore Programming Language
Copyright 2003 - 2013 David Nichols
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef _QORE_QORELIB_H
#define _QORE_QORELIB_H
#include <qore/common.h>
#include <qore/QoreThreadLock.h>
#include <qore/qore_bitopts.h>
#include <qore/safe_dslist>
#include <time.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <sys/types.h>
#undef _QORE_HAS_QORE_XMLNODE_CLASS
#undef _QORE_HAS_QORE_XMLREADER_CLASS
#undef _QORE_HAS_QORE_XMLDOC_CLASS
#define _QORE_HAS_HARD_TYPING 1
#define _QORE_HAS_DBI_EXECRAW 1
#define _QORE_HAS_TIME_ZONES 1
#define _QORE_HAS_THREAD_RESOURCE_IDS 1
#define _QORE_HAS_PREPARED_STATMENT_API 1
#define _QORE_HAS_DATASOURCE_ACTIVETRANSACTION 1
#define _QORE_HAS_DBI_SELECT_ROW 1
#define _QORE_HAS_NUMBER_TYPE 1
#define _QORE_HAS_PATH_IS_READABLE 1
#define _QORE_HAS_DBI_OPTIONS 1
#define _QORE_HAS_FIND_CREATE_TIMEZONE 1
#define _QORE_HAS_NUMBER_CONS_WITH_PREC 1
#define _QORE_HAS_FILE_OBJECT_HELPER 1
#define _QORE_HAS_QUEUE_OBJECT_HELPER 1
#define _QORE_HAS_QOREHTTPCLIENTOBJECT 1
#define _QORE_HAS_DBI_DESCRIBE 1
#define _QORE_HAS_DBI_EVENTS 1
// qore code flags
#define QC_NO_FLAGS 0
#define QC_NOOP (1 << 0)
#define QC_USES_EXTRA_ARGS (1 << 1)
#define QC_CONSTANT_INTERN (1 << 2)
#define QC_DEPRECATED (1 << 3)
#define QC_RET_VALUE_ONLY (1 << 4)
#define QC_RUNTIME_NOOP (1 << 5)
// composite flags
#define QC_CONSTANT (QC_CONSTANT_INTERN | QC_RET_VALUE_ONLY)
DLLEXPORT char *make_class_name(const char *fn);
DLLEXPORT QoreStringNode *q_sprintf(const class QoreListNode *params, int field, int offset, class ExceptionSink *xsink);
DLLEXPORT QoreStringNode *q_vsprintf(const class QoreListNode *params, int field, int offset, class ExceptionSink *xsink);
DLLEXPORT struct tm *q_localtime(const time_t *clock, struct tm *tms);
DLLEXPORT struct tm *q_gmtime(const time_t *clock, struct tm *tms);
DLLEXPORT int64 q_epoch();
DLLEXPORT int64 q_epoch_us(int &us);
DLLEXPORT int64 q_epoch_ns(int &us);
DLLEXPORT char *q_basename(const char *path);
DLLEXPORT char *q_basenameptr(const char *path);
DLLEXPORT char *q_dirname(const char *path);
DLLEXPORT void *q_realloc(void *ptr, size_t size);
#if (!defined _WIN32 && !defined __WIN32__) || defined __CYGWIN__
DLLEXPORT QoreHashNode *q_getpwuid(uid_t uid);
DLLEXPORT QoreHashNode *q_getpwnam(const char *name);
DLLEXPORT QoreHashNode *q_getgrgid(uid_t uid);
DLLEXPORT QoreHashNode *q_getgrnam(const char *name);
int q_uname2uid(const char *name, uid_t &uid);
int q_gname2gid(const char *name, gid_t &gid);
#endif // ! windows
DLLEXPORT void qore_setup_argv(int pos, int argc, char *argv[]);
DLLEXPORT qore_license_t qore_get_license();
DLLEXPORT void qore_exit_process(int rc);
class FeatureList : public safe_dslist<std::string> {
private:
DLLLOCAL FeatureList(const FeatureList&);
DLLLOCAL FeatureList& operator=(const FeatureList&);
public:
DLLLOCAL FeatureList();
DLLLOCAL ~FeatureList();
};
DLLEXPORT extern FeatureList qoreFeatureList;
static inline char *strchrs(const char *str, const char *chars) {
while (*str) {
if (strchr(chars, *str))
return (char *)str;
str++;
}
return 0;
}
static inline char *strnchr(const char *str, int len, char c) {
int i = 0;
while (i++ != len) {
if (*str == c)
return (char *)str;
++str;
}
return 0;
}
static inline void strtolower(char *str) {
while (*(str)) {
(*str) = tolower(*str);
str++;
}
}
static inline char *strtoupper(char *str) {
char *p = str;
while (*(p)) {
*p = toupper(*p);
p++;
}
return str;
}
DLLEXPORT int getSecZeroInt(const AbstractQoreNode *a);
DLLEXPORT int64 getSecZeroBigInt(const AbstractQoreNode *a);
DLLEXPORT int getSecMinusOneInt(const AbstractQoreNode *a);
DLLEXPORT int64 getSecMinusOneBigInt(const AbstractQoreNode *a);
DLLEXPORT int getMsZeroInt(const AbstractQoreNode *a);
DLLEXPORT int64 getMsZeroBigInt(const AbstractQoreNode *a);
DLLEXPORT int getMsMinusOneInt(const AbstractQoreNode *a);
DLLEXPORT int64 getMsMinusOneBigInt(const AbstractQoreNode *a);
DLLEXPORT int getMicroSecZeroInt(const AbstractQoreNode *a);
DLLEXPORT int64 getMicroSecZeroInt64(const AbstractQoreNode *a);
static inline bool is_nothing(const AbstractQoreNode *n) {
if (!n || n->getType() == NT_NOTHING)
return true;
return false;
}
static inline void discard(AbstractQoreNode *n, ExceptionSink *xsink) {
if (n)
n->deref(xsink);
}
static inline const char *get_type_name(const AbstractQoreNode *n) {
return n ? n->getTypeName() : "NOTHING";
}
static inline qore_type_t get_node_type(const AbstractQoreNode *n) {
return n ? n->getType() : NT_NOTHING;
}
class BinaryNode;
class QoreStringNode;
class ExceptionSink;
DLLEXPORT BinaryNode *qore_deflate(void *ptr, unsigned long len, int level, ExceptionSink *xsink);
DLLEXPORT QoreStringNode *qore_inflate_to_string(const BinaryNode *b, const QoreEncoding *enc, ExceptionSink *xsink);
DLLEXPORT BinaryNode *qore_inflate_to_binary(const BinaryNode *b, ExceptionSink *xsink);
DLLEXPORT BinaryNode *qore_gzip(void *ptr, unsigned long len, int level, ExceptionSink *xsink);
DLLEXPORT QoreStringNode *qore_gunzip_to_string(const BinaryNode *bin, const QoreEncoding *enc, ExceptionSink *xsink);
DLLEXPORT BinaryNode *qore_gunzip_to_binary(const BinaryNode *bin, ExceptionSink *xsink);
DLLEXPORT BinaryNode *qore_bzip2(void *ptr, unsigned long len, int level, ExceptionSink *xsink);
DLLEXPORT QoreStringNode *qore_bunzip2_to_string(const BinaryNode *bin, const QoreEncoding *enc, ExceptionSink *xsink);
DLLEXPORT BinaryNode *qore_bunzip2_to_binary(const BinaryNode *bin, ExceptionSink *xsink);
DLLEXPORT BinaryNode *parseBase64(const char *buf, int len, ExceptionSink *xsink);
DLLEXPORT BinaryNode *parseHex(const char *buf, int len, ExceptionSink *xsink);
class AbstractQoreZoneInfo;
DLLEXPORT const AbstractQoreZoneInfo* findCreateOffsetZone(int seconds_east);
DLLEXPORT const AbstractQoreZoneInfo* find_create_timezone(const char* name, ExceptionSink* xsink);
DLLEXPORT int tz_get_utc_offset(const AbstractQoreZoneInfo* tz, int64 epoch_offset, bool &is_dst, const char *&zone_name);
DLLEXPORT bool tz_has_dst(const AbstractQoreZoneInfo* tz);
DLLEXPORT const char* tz_get_region_name(const AbstractQoreZoneInfo* tz);
#define QORE_OPT_ATOMIC_OPERATIONS "atomic operations"
#define QORE_OPT_STACK_GUARD "stack guard"
#define QORE_OPT_SIGNAL_HANDLING "signal handling"
#define QORE_OPT_RUNTIME_STACK_TRACE "runtime stack tracing"
#define QORE_OPT_LIBRARY_DEBUGGING "library debugging"
#define QORE_OPT_SHA224 "openssl sha224"
#define QORE_OPT_SHA256 "openssl sha256"
#define QORE_OPT_SHA384 "openssl sha384"
#define QORE_OPT_SHA512 "openssl sha512"
#define QORE_OPT_MDC2 "openssl mdc2"
#define QORE_OPT_RC5 "openssl rc5"
#define QORE_OPT_MD2 "openssl md2"
#define QORE_OPT_TERMIOS "termios"
#define QORE_OPT_FILE_LOCKING "file locking"
#define QORE_OPT_UNIX_USERMGT "unix user management"
#define QORE_OPT_UNIX_FILEMGT "unix file management"
#define QORE_OPT_FUNC_ROUND "round()"
#define QORE_OPT_FUNC_TIMEGM "timegm()"
#define QORE_OPT_FUNC_SETEUID "seteuid()"
#define QORE_OPT_FUNC_SETEGID "setegid()"
#define QORE_OPT_FUNC_SYSTEM "system()"
#define QORE_OPT_FUNC_KILL "kill()"
#define QORE_OPT_FUNC_FORK "fork()"
#define QORE_OPT_FUNC_GETPPID "getppid()"
#define QORE_OPT_FUNC_STATVFS "statvfs()"
#define QORE_OPT_FUNC_SETSID "setsid()"
#define QORE_OPT_FUNC_IS_EXECUTABLE "is_executable()"
#define QO_OPTION 0
#define QO_ALGORITHM 1
#define QO_FUNCTION 2
struct qore_option_s {
const char* option;
const char* constant;
int type;
bool value;
};
DLLEXPORT QoreStringNode *q_strerror(int errnum);
DLLEXPORT void q_strerror(QoreString &str, int errnum);
DLLEXPORT extern const qore_option_s *qore_option_list;
DLLEXPORT extern size_t qore_option_list_size;
DLLEXPORT QoreStringNode *qore_reassign_signal(int sig, const char *name);
#define QORE_MAX(a, b) ((a) > (b) ? (a) : (b))
#define QORE_MIN(a, b) ((a) < (b) ? (a) : (b))
#define QORE_PARAM_NO_ARG (NULL)
// define QORE_PATH_MAX
#ifndef QORE_PATH_MAX
#ifdef _XOPEN_PATH_MAX
#define QORE_PATH_MAX _XOPEN_PATH_MAX
#else
#define QORE_PATH_MAX 1024
#endif
#endif
DLLEXPORT void parse_set_time_zone(const char *zone);
DLLEXPORT int qore_usleep(int64 usecs);
DLLEXPORT bool q_path_is_readable(const char* path);
DLLEXPORT bool q_parse_bool(const AbstractQoreNode* n);
DLLEXPORT bool q_parse_bool(const char* str);
DLLEXPORT bool q_get_option_value(const char* opt);
DLLEXPORT bool q_get_option_constant_value(const char* opt);
DLLEXPORT const char* q_mode_to_perm(mode_t mode, QoreString& perm);
#endif // _QORE_QORELIB_H
qore_option_list
DLLEXPORT const qore_option_s * qore_option_list
list of qore options
q_epoch_us
DLLEXPORT int64 q_epoch_us(int &us)
returns the seconds and microseconds from the epoch
find_create_timezone
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 (&quot;+01:00&quot;) ...
FeatureList
STL-like list containing all presently-loaded Qore features.
Definition: QoreLib.h:195
QoreEncoding
defines string encoding functions in Qore
Definition: QoreEncoding.h:72
safe_dslist
templated class for a double-ended singly-linked list that can be safely read from multiple threads w...
Definition: safe_dslist:129
qore_deflate
DLLEXPORT BinaryNode * qore_deflate(void *ptr, unsigned long len, int level, ExceptionSink *xsink)
compresses data with the DEFLATE algorithm
QoreHashNode
This is the hash or associative list container type in Qore, dynamically allocated only...
Definition: QoreHashNode.h:41
qore_setup_argv
DLLEXPORT void qore_setup_argv(int pos, int argc, char *argv[])
sets up the Qore ARGV and QORE_ARGV values
tz_has_dst
DLLEXPORT bool tz_has_dst(const AbstractQoreZoneInfo *tz)
returns true if the zone has daylight savings time ever
qore_exit_process
DLLEXPORT void qore_exit_process(int rc)
instead of calling &quot;exit()&quot;, call qore_exit_process() to exit without risking a crash if other thread...
make_class_name
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 ...
getSecMinusOneInt
DLLEXPORT int getSecMinusOneInt(const AbstractQoreNode *a)
for getting an integer number of seconds, with -1 as the default, from either a relative time value o...
AbstractQoreNode
The base class for all value and parse types in Qore expression trees.
Definition: AbstractQoreNode.h:47
NT_NOTHING
const qore_type_t NT_NOTHING
type value for QoreNothingNode
Definition: node_types.h:34
qore_gunzip_to_string
DLLEXPORT QoreStringNode * qore_gunzip_to_string(const BinaryNode *bin, const QoreEncoding *enc, ExceptionSink *xsink)
gunzips compressed data to a string
q_getgrnam
DLLEXPORT QoreHashNode * q_getgrnam(const char *name)
thread-safe version of getgrnam(): returns a Qore hash of the group information from the group name i...
q_vsprintf
DLLEXPORT QoreStringNode * q_vsprintf(const class QoreListNode *params, int field, int offset, class ExceptionSink *xsink)
a string formatting function that works with Qore data structures
qore_bunzip2_to_binary
DLLEXPORT BinaryNode * qore_bunzip2_to_binary(const BinaryNode *bin, ExceptionSink *xsink)
decompresses bzip2 data to a binary
getMicroSecZeroInt
DLLEXPORT int getMicroSecZeroInt(const AbstractQoreNode *a)
for getting an integer number of microseconds, with 0 as the default, from either a relative time val...
discard
static void discard(AbstractQoreNode *n, ExceptionSink *xsink)
to deref an AbstractQoreNode (when the pointer may be 0)
Definition: QoreLib.h:292
getSecZeroBigInt
DLLEXPORT int64 getSecZeroBigInt(const AbstractQoreNode *a)
for getting an integer number of seconds, with 0 as the default, from either a relative time value or...
qore_option_s::value
bool value
the value of the option
Definition: QoreLib.h:419
parseBase64
DLLEXPORT BinaryNode * parseBase64(const char *buf, int len, ExceptionSink *xsink)
parses a string of base64-encoded data and returns a BinaryNode
tz_get_region_name
DLLEXPORT const char * tz_get_region_name(const AbstractQoreZoneInfo *tz)
returns the reion name for the given time zone
qore_bunzip2_to_string
DLLEXPORT QoreStringNode * qore_bunzip2_to_string(const BinaryNode *bin, const QoreEncoding *enc, ExceptionSink *xsink)
decompresses bzip2 data to a string
q_epoch_ns
DLLEXPORT int64 q_epoch_ns(int &us)
returns the seconds and nanoseconds from the epoch
qore_gzip
DLLEXPORT BinaryNode * qore_gzip(void *ptr, unsigned long len, int level, ExceptionSink *xsink)
gzips data
q_parse_bool
DLLEXPORT bool q_parse_bool(const AbstractQoreNode *n)
tries to parse a boolean value - standard conversion or uses q_parse_bool(const char*) if it&#39;s a stri...
FeatureList::FeatureList
DLLLOCAL FeatureList()
initialized by the library, constructor not exported
q_localtime
DLLEXPORT struct tm * q_localtime(const time_t *clock, struct tm *tms)
thread-safe version of &quot;localtime()&quot;
qore_type_t
signed short qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:59
AbstractQoreNode::getTypeName
virtual DLLEXPORT const char * getTypeName() const =0
returns the type name as a c string
QoreString
Qore&#39;s string type supported by the QoreEncoding class.
Definition: QoreString.h:42
QoreStringNode
Qore&#39;s string value type, reference counted, dynamically-allocated only.
Definition: QoreStringNode.h:40
getMsZeroInt
DLLEXPORT int getMsZeroInt(const AbstractQoreNode *a)
for getting an integer number of milliseconds, with 0 as the default, from either a relative time val...
qore_option_s::option
const char * option
name of the option
Definition: QoreLib.h:416
qore_usleep
DLLEXPORT int qore_usleep(int64 usecs)
use this function instead of usleep(), as usleep() is not signal-safe on some platforms (ex: Solaris ...
qore_option_s
definition of the elements in the qore_option_list
Definition: QoreLib.h:415
is_nothing
static bool is_nothing(const AbstractQoreNode *n)
to check if an AbstractQoreNode object is NOTHING
Definition: QoreLib.h:284
q_gmtime
DLLEXPORT struct tm * q_gmtime(const time_t *clock, struct tm *tms)
thread-safe version of &quot;gmtime()&quot;
QoreListNode
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:44
q_basename
DLLEXPORT char * q_basename(const char *path)
thread-safe basename function (resulting pointer must be free()ed)
q_sprintf
DLLEXPORT QoreStringNode * q_sprintf(const class QoreListNode *params, int field, int offset, class ExceptionSink *xsink)
a string formatting function that works with Qore data structures
q_getpwuid
DLLEXPORT QoreHashNode * q_getpwuid(uid_t uid)
thread-safe version of getpwuid(): returns a Qore hash of the passwd information from the uid if poss...
qore_reassign_signal
DLLEXPORT QoreStringNode * qore_reassign_signal(int sig, const char *name)
allows a module to take over ownership of a signal
q_getgrgid
DLLEXPORT QoreHashNode * q_getgrgid(uid_t uid)
thread-safe version of getgrgid(): returns a Qore hash of the group information from the gid if possi...
q_dirname
DLLEXPORT char * q_dirname(const char *path)
thread-safe dirname function (resulting pointer must be free()ed)
getSecZeroInt
DLLEXPORT int getSecZeroInt(const AbstractQoreNode *a)
for getting an integer number of seconds, with 0 as the default, from either a relative time value or...
getMsZeroBigInt
DLLEXPORT int64 getMsZeroBigInt(const AbstractQoreNode *a)
for getting an integer number of milliseconds, with 0 as the default, from either a relative time val...
strtoupper
static char * strtoupper(char *str)
convert a string to upper-case in place
Definition: QoreLib.h:244
qore_license_t
qore_license_t
qore library and module license type identifiers
Definition: common.h:74
qore_option_s::constant
const char * constant
name of the constant for this option
Definition: QoreLib.h:417
q_get_option_value
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 ...
getMicroSecZeroInt64
DLLEXPORT int64 getMicroSecZeroInt64(const AbstractQoreNode *a)
for getting an integer number of microseconds, with 0 as the default, from either a relative time val...
qore_bzip2
DLLEXPORT BinaryNode * qore_bzip2(void *ptr, unsigned long len, int level, ExceptionSink *xsink)
compresses data with bzip2
ExceptionSink
container for holding Qore-language exception information and also for registering a &quot;thread_exit&quot; ca...
Definition: ExceptionSink.h:35
q_path_is_readable
DLLEXPORT bool q_path_is_readable(const char *path)
platform-independent API that tells if the given path is readable by the current user ...
q_strerror
DLLEXPORT QoreStringNode * q_strerror(int errnum)
returns the error string as a QoreStringNode
q_mode_to_perm
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 ...
qore_gunzip_to_binary
DLLEXPORT BinaryNode * qore_gunzip_to_binary(const BinaryNode *bin, ExceptionSink *xsink)
gunzips compressed data to a binary
strtolower
static void strtolower(char *str)
convert a string to lower-case in place
Definition: QoreLib.h:236
AbstractQoreNode::deref
DLLEXPORT void deref(ExceptionSink *xsink)
decrements the reference count and calls derefImpl() if there_can_be_only_one is false, otherwise does nothing
qore_get_license
DLLEXPORT qore_license_t qore_get_license()
returns the license type that the library has been initialized under
getMsMinusOneBigInt
DLLEXPORT int64 getMsMinusOneBigInt(const AbstractQoreNode *a)
for getting an integer number of milliseconds, with -1 as the default, from either a relative time va...
getSecMinusOneBigInt
DLLEXPORT int64 getSecMinusOneBigInt(const AbstractQoreNode *a)
for getting an integer number of seconds, with -1 as the default, from either a relative time value o...
q_uname2uid
int q_uname2uid(const char *name, uid_t &uid)
thread-safe way to lookup a uid from a username
parse_set_time_zone
DLLEXPORT void parse_set_time_zone(const char *zone)
to set the time zone from the command line
qore_option_s::type
int type
the type of the option
Definition: QoreLib.h:418
qore_inflate_to_string
DLLEXPORT QoreStringNode * qore_inflate_to_string(const BinaryNode *b, const QoreEncoding *enc, ExceptionSink *xsink)
decompresses data compressed with the DEFLATE algorithm to a string
AbstractQoreNode::getType
DLLLOCAL qore_type_t getType() const
returns the data type
Definition: AbstractQoreNode.h:286
getMsMinusOneInt
DLLEXPORT int getMsMinusOneInt(const AbstractQoreNode *a)
for getting an integer number of milliseconds, with -1 as the default, from either a relative time va...
strnchr
static char * strnchr(const char *str, int len, char c)
find a character in a string up to len
Definition: QoreLib.h:225
q_epoch
DLLEXPORT int64 q_epoch()
returns the seconds from the epoch
common.h
q_gname2gid
int q_gname2gid(const char *name, gid_t &gid)
thread-safe way to lookup a gid from a group name
FeatureList::~FeatureList
DLLLOCAL ~FeatureList()
destructor not exported
findCreateOffsetZone
DLLEXPORT const AbstractQoreZoneInfo * findCreateOffsetZone(int seconds_east)
returns a time zone for the given time zone UTC offset
q_basenameptr
DLLEXPORT char * q_basenameptr(const char *path)
returns a pointer within the same string
q_get_option_constant_value
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...
parseHex
DLLEXPORT BinaryNode * parseHex(const char *buf, int len, ExceptionSink *xsink)
parses a string of hex characters and returns a BinaryNode
q_realloc
DLLEXPORT void * q_realloc(void *ptr, size_t size)
frees memory if there is an allocation error
q_getpwnam
DLLEXPORT QoreHashNode * q_getpwnam(const char *name)
thread-safe version of getpwnam(): returns a Qore hash of the passwd information from the username if...
strchrs
static char * strchrs(const char *str, const char *chars)
find one of any characters in a string
Definition: QoreLib.h:215
qore_inflate_to_binary
DLLEXPORT BinaryNode * qore_inflate_to_binary(const BinaryNode *b, ExceptionSink *xsink)
decompresses data compressed with the DEFLATE algorithm to a binary
qore_option_list_size
DLLEXPORT size_t qore_option_list_size
number of elements in the option list
qoreFeatureList
DLLEXPORT FeatureList qoreFeatureList
list of qore features
BinaryNode
holds arbitrary binary data
Definition: BinaryNode.h:33
tz_get_utc_offset
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 (1...