Qore Programming Language  0.9.0
Qore.h File Reference
#include <qore/common.h>
#include <qore/AbstractException.h>
#include <qore/QoreStandardException.h>
#include <qore/QoreCounter.h>
#include <qore/QoreEncoding.h>
#include <qore/ReferenceHolder.h>
#include <qore/QoreValue.h>
#include <qore/AbstractQoreNode.h>
#include <qore/QoreListNode.h>
#include <qore/TypedHashDecl.h>
#include <qore/QoreHashNode.h>
#include <qore/AbstractPrivateData.h>
#include <qore/QoreIteratorBase.h>
#include <qore/QoreObject.h>
#include <qore/QoreProgram.h>
#include <qore/QoreDebugProgram.h>
#include <qore/ModuleManager.h>
#include <qore/QoreLib.h>
#include <qore/QoreStringNode.h>
#include <qore/DateTimeNode.h>
#include <qore/QoreNumberNode.h>
#include <qore/QoreNothingNode.h>
#include <qore/QoreNullNode.h>
#include <qore/QoreNet.h>
#include <qore/QoreURL.h>
#include <qore/QoreFile.h>
#include <qore/QoreQueueHelper.h>
#include <qore/QoreRWLock.h>
#include <qore/QoreNamespace.h>
#include <qore/ExceptionSink.h>
#include <qore/BinaryNode.h>
#include <qore/QoreString.h>
#include <qore/DateTime.h>
#include <qore/QoreType.h>
#include <qore/qore_thread.h>
#include <qore/QoreThreadLock.h>
#include <qore/QoreThreadLocalStorage.h>
#include <qore/QoreCondition.h>
#include <qore/QoreQueue.h>
#include <qore/DBI.h>
#include <qore/Datasource.h>
#include <qore/SQLStatement.h>
#include <qore/QoreClass.h>
#include <qore/QoreReflection.h>
#include <qore/ScopeGuard.h>
#include <qore/SystemEnvironment.h>
#include <qore/AutoVLock.h>
#include <qore/CallReferenceNode.h>
#include <qore/ReferenceNode.h>
#include <qore/params.h>
#include <qore/QoreTypeSafeReferenceHelper.h>
#include <qore/QoreEvents.h>
#include <qore/qore-version.h>
#include <qore/support.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define QLO_CLEANUP_MASK   (QLO_DISABLE_OPENSSL_CLEANUP)
 mask of qore library init options that affect qore library cleanup (ie settable with qore_set_library_cleanup_options())
 
#define QLO_DISABLE_GARBAGE_COLLECTION   (1 << 3)
 disable garbage collection / recursive object reference detection
 
#define QLO_DISABLE_OPENSSL_CLEANUP   (1 << 2)
 do not perform cleanup on the openssl library (= is cleaned up manually)
 
#define QLO_DISABLE_OPENSSL_INIT   (1 << 1)
 do not initialize the openssl library (= is initialized before the qore library is initialized)
 
#define QLO_DISABLE_OPENSSL_INIT_CLEANUP   (QLO_DISABLE_OPENSSL_INIT|QLO_DISABLE_OPENSSL_CLEANUP)
 do not perform any initialization or cleanup of the openssl library (= is performed outside of the qore library)
 
#define QLO_DISABLE_SIGNAL_HANDLING   (1 << 0)
 disable qore signal handling entirely
 
#define QLO_DO_NOT_SEED_RNG   (1 << 4)
 disable seeding the random number generator when the Qore library is initialized
 
#define QLO_NONE   0
 no options (default)
 

Functions

DLLEXPORT bool qore_check_option (int opt)
 returns true if all the bits set in the argument are also set in the qore library init option variable
 
DLLEXPORT void qore_cleanup ()
 frees all memory allocated by the library More...
 
DLLEXPORT int qore_get_library_init_options ()
 returns the current library options More...
 
DLLEXPORT bool qore_has_debug ()
 if the qore library includes debugging or not
 
DLLEXPORT void qore_init (qore_license_t license=QL_GPL, const char *default_encoding=0, bool show_module_errors=false, int init_options=QLO_NONE)
 initializes the Qore library More...
 
DLLEXPORT int qore_set_library_cleanup_options (int options)
 the given options will be combined with binary or to the library init options; only options that affect library cleanup are settable; returns the new library init option mask
 

Variables

DLLEXPORT const QoreStringMaker mpfrInfo
 a string giving information about the MPFR library used by the qore library
 
DLLEXPORT const char * qore_build_host
 information about the build host
 
DLLEXPORT int qore_build_number
 the build number of the qore library More...
 
DLLEXPORT const char * qore_cflags
 the compiler flags used to build qore
 
DLLEXPORT const char * qore_cplusplus_compiler
 the c++ compiler used to build qore
 
DLLEXPORT const char * qore_git_hash
 the git hash of the sources
 
DLLEXPORT const char * qore_ldflags
 the linker flags used to link qore
 
DLLEXPORT int qore_min_mod_api_major
 the recommended minimum module api major number to use
 
DLLEXPORT int qore_min_mod_api_minor
 the recommended minimum module api minor number to use
 
DLLEXPORT const char * qore_module_dir
 the qore module directory
 
DLLEXPORT const char * qore_module_ver_dir
 the qore version-specific module directory
 
DLLEXPORT const char * qore_mpfr_info
 information about the MPFR library used by the qore library More...
 
DLLEXPORT const char * qore_target_arch
 the build target machine architecture name
 
DLLEXPORT int qore_target_bits
 the build target machine word size in bits (32 or 64 normally)
 
DLLEXPORT const char * qore_target_os
 the build target Operating System name
 
DLLEXPORT const char * qore_user_module_dir
 the qore user module directory
 
DLLEXPORT const char * qore_user_module_ver_dir
 the qore version-specific user module directory
 
DLLEXPORT int qore_version_major
 the major version number of the qore library
 
DLLEXPORT int qore_version_minor
 the minor version number of the qore library
 
DLLEXPORT const char * qore_version_string
 the complete version string of the qore library
 
DLLEXPORT int qore_version_sub
 the version number below the minor version number of the qore library
 
DLLEXPORT QoreCounter thread_counter
 global background thread counter (for threads started explicitly by Qore)
 

Detailed Description

the main header file for the Qore library. All code using any part of the Qore library's functionality should include this file

Function Documentation

◆ qore_cleanup()

DLLEXPORT void qore_cleanup ( )

frees all memory allocated by the library

Note
The openssl library is cleaned up as well
This function can only be called once and should be called when a program using the Qore library terminates.
See also
qore_init()

◆ qore_get_library_init_options()

DLLEXPORT int qore_get_library_init_options ( )

returns the current library options

this function could be checked, for example, if performing external openssl cleanup, if a module has set QLO_DISABLE_OPENSSL_CLEANUP, for example, indicating that the openssl library has already been cleaned up, meaning that the cleanup should also not be performed externally.

◆ qore_init()

DLLEXPORT void qore_init ( qore_license_t  license = QL_GPL,
const char *  default_encoding = 0,
bool  show_module_errors = false,
int  init_options = QLO_NONE 
)

initializes the Qore library

Parameters
licensethe license that the library will be used under; note that if the license type is QL_LGPL or QL_MIT, then modules tagged with QL_GPL cannot be loaded
default_encodingthe default character encoding for the library, if 0 then the environment variables QORE_CHARSET and LANG will be processed, in that order, to determine the default character encoding. If no character encoding can be determined from either of these environment variables, UTF-8 will be used as the default.
show_module_errorsif true then any errors loading qore modules will be output to stdout
init_optionsa binary "or" sum of the qore library options
Note
The openssl library is also initialized in this function.
This function can only be called once and must be called before any other qore facilities are used.
The license value must be QL_LGPL or QL_MIT unless the program using Qore is a GPL program, in which case QL_GPL may be used (the default)
See also
qore_cleanup()

Variable Documentation

◆ qore_build_number

DLLEXPORT int qore_build_number

the build number of the qore library

Deprecated:
always assigned to 0 - no longer relevant with git

◆ qore_mpfr_info

DLLEXPORT const char* qore_mpfr_info

information about the MPFR library used by the qore library

this pointer is null until after qore_init() has been called