Appendix D: Built-in Defines
The following system defines are built into the compiler so you can conditionally compile your code based on which defines are set using the .IFDEF-.ELSE-.ENDC compiler directive. For example, you can set an operating system define for the system on which you’re running and then conditionally compile your code for that system with .IFDEF. See Built-in compiler definitions for more information.
Operating system and platform defines
Define |
Description |
---|---|
D_GUI | General Windows (not version dependent) |
OS_MSDOS | MS-DOS |
OS_WINDOWSNT3X | Windows NT 3.x |
OS_WINDOWSNT | Windows NT |
OS_WINDOWS95 | Windows 95 |
OS_WINDOWSNT4X | Windows NT 4.x |
OS_WINDOWSNT5X | Windows NT 5.x |
OS_WINDOWS2000 | Windows 2000 |
OS_WINDOWS98 | Windows 98 |
OS_WINDOWSME | Windows ME |
OS_WINDOWSXP | Windows XP |
OS_WINDOWSNET | Windows .NET |
OS_WINDOWSVISTA | Windows Vista |
OS_WINDOWSSERVER2007 | Windows Server 2007 |
OS_WINDOWSSERVER2008 | Windows Server 2008 |
OS_WINDOWS7 | Windows 7 |
OS_WINDOWSSERVER2008R2 | Windows Server 2008 R2 |
OS_WINDOWS8 | Windows 8 |
OS_WINDOWSSERVER2012 | Windows Server 2012 |
OS_WINDOWS81 | Windows 8.1 |
OS_WINDOWSSERVER2012R2 | Windows Server 2012 R2 |
OS_WINDOWS10 | Windows 10 |
OS_WINDOWSSERVER2016 | Windows Server 2016 |
OS_WINDOWS11 | Windows 11 |
OS_WINDOWSSERVER2019 | Windows Server 2019 |
OS_WINDOWSSERVER2022 | Windows Server 2022 |
OS_WINDOWS64 | Windows 64 |
OS_UNIX | UNIX |
OS_VMS | OpenVMS |
D_VMS | General OpenVMS (not version dependent) |
D_V_5 | Unix System V |
D_BIGNDN | Big-endian |
D_LITNDN | Little-endian |
D_ITANIUM | Itanium |
D_AXP | AXP |
D_MONO | Mono |
D_NETCORE | .NET Core |
D_NETSTANDARD | .NET Standard |
DBLNET | Synergy .NET |
_DEBUG | For internal use only |
STOP statement exit values
Define |
Description |
---|---|
D_EXIT_SUCCESS | Operation succeeded |
D_EXIT_FAILURE | Operation failed |
SETKRF | Set key of reference for next operation (used with the DBL$SETKRF routine) |
SNDOPR | Send message to system operator (used with the DBL$SNDOPR routine) |
Version defines
Define |
Description |
---|---|
DBL_DEF | DBLDIR:dbl.def has been included |
DBLV5 | Synergy DBL version 5 features available |
DBLV57 | Synergy DBL version 5.7 features available |
DBLV6 | Synergy DBL version 6 features available |
DBLV63 | Synergy DBL version 6.3 features available |
DBLV7 | Synergy DBL version 7 features available |
DBLV73 | Synergy DBL version 7.3 features available |
DBLV75 | Synergy DBL version 7.5 features available |
DBLV8 | Synergy DBL version 8.1 features available |
DBLV83 | Synergy DBL version 8.3 features available |
DBLV9 | Synergy DBL version 9.1 features available |
DBLV915 | Synergy DBL version 9.1.5 features available |
DBLV93 | Synergy DBL version 9.3 features available |
DBLV95 | Synergy DBL version 9.5 features available |
DBLV103 | Synergy DBL version 10.3 features available |
DBLV1033 | Synergy DBL version 10.3.3 features available |
DBLV11 | Synergy DBL version 11 features available |
DBLV12 | Synergy DBL version 12 features available |
SYN_VER | Current version |
SYN_VERSION | Current version |
SYN_BUILDNUMBER | Current build number |
RUNTIME_TARGET | Runtime compatibility setting for a program (either passed with -qrntcompat or the default runtime target). Enables you to programmatically exclude runtime features that aren’t available in the version you target |
Data type defines
Define |
Description |
---|---|
D_TYPE_A | Alpha |
D_TYPE_D | Decimal |
D_TYPE_ID | Implied-decimal |
D_TYPE_I | Integer |
D_TYPE_OBJ | Object handle (integer + handle) |
D_TYPE_P | Packed |
D_TYPE_IP | Implied-packed (packed + implied) |
D_HANDLE | Size of ^M handle |
D_NATLNG | Size of native long in C |
D_NATINT | Size of native int in C |
D_MAXINT | Maximum supported int size |
D_RFA_TYPE | Type and size of RFA |
D_GRFA_TYPE | Type and size of GRFA |
I/O qualifier defines
Qualifier |
Define |
Description |
---|---|---|
DIRECTION | Q_IGNDIR | Ignore direction qualifier |
Q_FORWARD | Forward direction | |
Q_REVERSE | Reverse direction | |
KEYNUM | Q_PRIMARY | Primary key of reference |
Q_ALT1 | First alternate key of reference | |
Q_ALT2 | Second alternate key of reference | |
Q_ALT3 | Third alternate key of reference | |
Q_ALT4 | Fourth alternate key of reference | |
Q_ALT5 | Fifth alternate key of reference | |
Q_ALT6 | Sixth alternate key of reference | |
Q_ALT7 | Seventh alternate key of reference | |
LOCK | Q_NO_LOCK | No locking performed |
Q_AUTO_LOCK | Automatic locking performed | |
Q_MANUAL_LOCK | Manual locking performed | |
Q_NO_TLOCK | No locking - no tree probe on READS | |
MATCH | Q_GEQ | Match greater than or equal to |
Q_EQ | Match equal to | |
Q_GTR | Match greater than | |
Q_RFA | Match on RFA | |
Q_GEN | Match greater than or equal to with no error | |
Q_SEQ | Match sequential | |
POSITION | Q_IGNPOS | Ignore position |
Q_FIRST | Position at first record | |
Q_LAST | Position at last record | |
Q_EOF | Position at end of file | |
Q_BOF | Position at beginning of file | |
SHARE | Q_EXCL_RW | No sharing, Lock against read and write |
Q_EXCL_RO | Read only, Lock against writing file | |
Q_NO_EXCL | Share file with other users | |
WAIT | Q_WAIT | Wait |
Q_NOWAIT | No wait |
S_PARSE routine qualifiers
Define |
Description |
---|---|
I_ANUM | Alphanumeric token |
I_IDENT | Identifier token (Alphanumeric and “$” | “_”) |
I_DIGIT | One or more decimal digits |
I_FIXED | Digits + “.” + digits |
I_SPACE | Spaces and/or tabs |
I_SQUOTE | String in single quotation marks |
I_DQUOTE | String in double quotation marks |
I_SPECIAL | Any single character not one of the above types |
MEM_PROC functions
Define |
Description |
---|---|
DM_ALLOC | Allocate memory |
DM_REG | Register existing memory |
DM_WNDUSR | Register a window’s user data set |
DM_RESIZ | Resize an existing DM_ALLOC entry |
DM_RALLOC | Reallocate a memory handle |
DM_FREE | Release a memory handle |
DM_GETSIZE | Get size of memory allocated to handle |
DM_TRIMSIZE | Get blank-trimmed size of memory handle |
DM_STATIC | The allocated handle will be static |
DM_BLANK | Fill with blanks |
DM_NULL | Fill with nulls |
DM_ZERO | Fill with zeros |
DM_PROTECT | SYNERGEX INTERNAL USE |
COMPRESS routine control functions
Define |
Description |
---|---|
D_COMP | Compress data record + len |
D_UNCOMP | Uncompress data record + len |
DR_COMP | Compress data record (raw form) |
DR_UNCOMP | Uncompress data record (raw form) |
Select class flags (added to LOCK qualifier flags)
Class |
Define |
Description |
---|---|---|
OnLock | Q_NO_DELETE | Don’t delete record on return from event |
From | Q_NO_GRFA | Don’t generate GRFA on selected records |
Qualifiers to control XCALL SPAWN on Windows
Define |
Description |
---|---|
D_NOACTIVATE | Launched program won’t get focus |
D_MINIMIZED | Launched program is run minimized |
D_NOWAIT | Don’t wait for launched program |
D_NOCONSOLE | Don’t show DOS console window |
D_INHERIT | Allow subprocess to inherit handles such as standard input and output |
D_GAINFOCUS | Application gains focus on return from SPAWN/SHELL |
D_NOWINDOW | Create no console window |
D_DETACHED | Force detached process |
DLL_CALL qualifiers
Define |
Description |
---|---|
DLL_TYPE_C | Use C calling convention |
DLL_TYPE_FASTCALL | Use __fastcall calling convention |
DLL_TYPE_STDCALL | Use __stdcall calling convention |
DLL_TYPE_WINAPI | Use WINAPI calling convention |
DLL_TYPE_DBLCALL | Use C calling convention and DBL descriptors |
Event log defines
Define |
Description |
---|---|
D_EVENTLOG_SUCCESS | A successful operation |
D_EVENTLOG_ERROR_TYPE | A significant problem the user should know about (for example, loss of functionality or data) |
D_EVENTLOG_WARNING_TYPE | A problem that is not immediately significant but that may cause future complications (for example, resource consumption) |
D_EVENTLOG_INFORMATION_TYPE | An infrequent but significant successful operation (for example, successful loading of a major server service) |
D_EVENTLOG_AUDIT_SUCCESS | A security event that occurs when an audited access attempt is successful (for example, a successful log-on attempt) |
D_EVENTLOG_AUDIT_FAILURE | A security event that occurs when an audited access attempt fails (for example, a failed attempt to open a file) |
Class priority defines
Define |
Description |
---|---|
D_ABOVE_NORMAL_PRIORITY_CLASS | Process that has priority above normal-priority but below high-priority class processes |
D_BELOW_NORMAL_PRIORITY_CLASS | Process that has priority above idle-priority but below normal-priority class processes |
D_HIGH_PRIORITY_CLASS | Process that performs time-critical tasks that must be executed immediately |
D_IDLE_PRIORITY_CLASS | Process whose threads run only when the system is idle |
D_NORMAL_PRIORITY_CLASS | Process with no special scheduling needs |
D_BACKGROUND_BEGIN | Begin background processing mode |
D_BACKGROUND_END | End background processing mode |
Data field encryption type defines
Define |
Description |
---|---|
DC_3DES | Triple DES CBC three-key mode (deprecated) |
DC_AES128 | AES 128-bit CBC mode (deprecated) |
DC_AES192 | AES 192-bit CBC mode (deprecated) |
DC_AES256 | AES 256-bit CBC mode |