All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Qore.h File Reference

### (6de6cc3b438610bf03b2bec44a3d7c61f90e3165)

`#include <qore/common.h>`
`#include <qore/QoreCounter.h>`
`#include <qore/QoreEncoding.h>`
`#include <qore/ReferenceHolder.h>`
`#include <qore/QoreValue.h>`
`#include <qore/AbstractQoreNode.h>`
`#include <qore/QoreNodeEvalOptionalRefHolder.h>`
`#include <qore/QoreListNode.h>`
`#include <qore/QoreValueList.h>`
`#include <qore/QoreHashNode.h>`
`#include <qore/AbstractPrivateData.h>`
`#include <qore/QoreIteratorBase.h>`
`#include <qore/QoreObject.h>`
`#include <qore/QoreProgram.h>`
`#include <qore/ModuleManager.h>`
`#include <qore/QoreLib.h>`
`#include <qore/QoreStringNode.h>`
`#include <qore/DateTimeNode.h>`
`#include <qore/QoreBigIntNode.h>`
`#include <qore/QoreBoolNode.h>`
`#include <qore/QoreFloatNode.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/BuiltinFunctionList.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/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_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

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()

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.

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

  license | the 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_encoding | the 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_errors | if true then any errors loading qore modules will be output to stdout
  init_options | a 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

DLLEXPORT int qore_build_number

the build number of the qore library

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

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