|
Qore Programming Language
0.8.3
|
Go to the source code of this file.
Defines | |
| #define | PO_DEFAULT 0 |
| no restrictions (except parse option inheritance restrictions) | |
| #define | PO_NO_GLOBAL_VARS (1 << 0) |
| cannot define new global variables | |
| #define | PO_NO_SUBROUTINE_DEFS (1 << 1) |
| cannot define new user subroutines | |
| #define | PO_NO_THREAD_CONTROL (1 << 2) |
| cannot launch new threads) use thread_exit) or access thread data | |
| #define | PO_NO_THREAD_CLASSES (1 << 3) |
| no access to thread classes | |
| #define | PO_NO_TOP_LEVEL_STATEMENTS (1 << 4) |
| cannot define new top-level statements (outside of sub or class defs) | |
| #define | PO_NO_CLASS_DEFS (1 << 5) |
| cannot define new object classes | |
| #define | PO_NO_NAMESPACE_DEFS (1 << 6) |
| cannot define new namespaces | |
| #define | PO_NO_CONSTANT_DEFS (1 << 7) |
| cannot define new constants | |
| #define | PO_NO_NEW (1 << 8) |
| cannot use the new operator (DEPRECATED: this option is not useful anymore because objects can be declared and created without "new") | |
| #define | PO_NO_SYSTEM_CLASSES (1 << 9) |
| do not inherit system classes into this program space | |
| #define | PO_NO_USER_CLASSES (1 << 10) |
| do not inherit user classes into this program space | |
| #define | PO_NO_CHILD_PO_RESTRICTIONS (1 << 11) |
| turn off parse option inheritance restrictions | |
| #define | PO_NO_EXTERNAL_PROCESS (1 << 12) |
| do not allow access to functionality that calls external processes: backquote op, system(), exec(), etc | |
| #define | PO_REQUIRE_OUR (1 << 13) |
| require "our" for global var declaration | |
| #define | PO_NO_PROCESS_CONTROL (1 << 14) |
| do not allow access to functionality that can affect the current process: fork(), exec(), abort(), etc | |
| #define | PO_NO_NETWORK (1 << 15) |
| do not allow any network access (objs & subroutines) | |
| #define | PO_NO_FILESYSTEM (1 << 16) |
| do not allow any filesystem access (objects & subroutines) | |
| #define | PO_LOCK_WARNINGS (1 << 17) |
| do not allow programs to change the warning mask | |
| #define | PO_NO_DATABASE (1 << 18) |
| do not allow database access | |
| #define | PO_NO_GUI (1 << 19) |
| do not allow any GUI-relevant actions to be performed | |
| #define | PO_NO_TERMINAL_IO (1 << 20) |
| do not allow any terminal I/O to be performed | |
| #define | PO_REQUIRE_TYPES (1 << 21) |
| require type information for all declarations | |
| #define | PO_NO_EXTERNAL_INFO (1 << 22) |
| do not allow any access to host, process, etc information | |
| #define | PO_NO_THREAD_INFO (1 << 23) |
| do not allow any access to thread information | |
| #define | PO_NO_LOCALE_CONTROL (1 << 24) |
| do not allow changes to program locale | |
| #define | PO_REQUIRE_PROTOTYPES (1 << 25) |
| require types in method and function declarations | |
| #define | PO_STRICT_ARGS (1 << 26) |
| do not allow access to RT_NOOP code or excess args | |
| #define | PO_ALLOW_BARE_REFS (1 << 27) |
| do not allow '$' for vars and '$.' for class member refs | |
| #define | PO_ASSUME_LOCAL (1 << 28) |
| assume local variable scope if not declared (implicit "my") | |
| #define | PO_NO_THREADS (PO_NO_THREAD_CONTROL|PO_NO_THREAD_CLASSES|PO_NO_THREAD_INFO) |
| cannot access any thread functionality | |
| #define | PO_NO_EXTERNAL_ACCESS (PO_NO_PROCESS_CONTROL|PO_NO_NETWORK|PO_NO_FILESYSTEM|PO_NO_DATABASE|PO_NO_EXTERNAL_INFO|PO_NO_EXTERNAL_PROCESS) |
| prohibits any external access | |
| #define | PO_NO_IO (PO_NO_GUI|PO_NO_TERMINAL_IO|PO_NO_FILESYSTEM) |
| prohibits all terminal and file I/O and GUI operations | |
| #define | PO_LOCKDOWN (PO_NO_EXTERNAL_ACCESS|PO_NO_THREADS|PO_NO_IO) |
| most restrictive access - can just execute logic, no I/O, no threading, no external access | |
| #define | PO_NEW_STYLE (PO_ALLOW_BARE_REFS|PO_ASSUME_LOCAL) |
| new Qore style: no more '$' and with assumed variable scope | |
| #define | PO_POSITIVE_OPTIONS (PO_NO_CHILD_PO_RESTRICTIONS) |
| mask of all options allowing for more freedom (instead of less) | |
| #define | PO_FREE_OPTIONS (PO_ALLOW_BARE_REFS|PO_ASSUME_LOCAL) |
| mask of options that have no effect on code access or code safety | |
| #define | QDOM_DEFAULT PO_DEFAULT |
| the default domain (no domain) | |
| #define | QDOM_PROCESS PO_NO_PROCESS_CONTROL |
| provides process control functionality (can affect or stop the current process) | |
| #define | QDOM_NETWORK PO_NO_NETWORK |
| provides network functionality | |
| #define | QDOM_EXTERNAL_PROCESS PO_NO_EXTERNAL_PROCESS |
| provides external process control functionality (can affect) start) or stop external processes) | |
| #define | QDOM_FILESYSTEM PO_NO_FILESYSTEM |
| provides access to the filesystem | |
| #define | QDOM_THREAD_CLASS PO_NO_THREAD_CLASSES |
| provides thread control functionality | |
| #define | QDOM_THREAD_CONTROL PO_NO_THREAD_CONTROL |
| provides the ability to check or manipulate threads (including starting new threads) | |
| #define | QDOM_DATABASE PO_NO_DATABASE |
| provides access to databases | |
| #define | QDOM_GUI PO_NO_GUI |
| provides GUI functionality | |
| #define | QDOM_TERMINAL_IO PO_NO_TERMINAL_IO |
| provides terminal I/O functionality | |
| #define | QDOM_EXTERNAL_INFO PO_NO_EXTERNAL_INFO |
| provides access to external information (ex: hostname, pid, process uid, etc) | |
| #define | QDOM_THREAD_INFO PO_NO_THREAD_INFO |
| provides access to information regarding threading (tid, active threads, etc) | |
| #define | QDOM_LOCALE_CONTROL PO_NO_LOCALE_CONTROL |
| provices access to functionality that changes locale information | |
defines parse restrictions and functional domains for builtin functions and qore class methods