151 lines
6.7 KiB
Plaintext
151 lines
6.7 KiB
Plaintext
compile insert Struct_Equates
|
|
/*
|
|
** Copyright (C) 1992-2017 Revelation Software Inc. All Rights Reserved **
|
|
|
|
Author cp
|
|
Date 21 Nov 1994
|
|
Purpose Equates for use with C-structure functions
|
|
|
|
Comments
|
|
========
|
|
|
|
Amended Date Reason
|
|
======= ==== ======
|
|
Mr C 01 Dec 21 Added STRUCT_FLD_COMMENTS$
|
|
Mr C 28 Jun 17 Added STRUCT_FLD_ALIGNMENT$
|
|
Mr C 30 Mar 17 Fixed bad type equate
|
|
bzs 24 Mar 17 Added fields for alignment
|
|
Mr C 17 Feb 17 Updated for v10
|
|
cp 15 Oct 97 Updated for 3.5
|
|
cp 28 Jan 96 Updated for Hoffa project
|
|
|
|
*/
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
#ifndef _STRUCT_EQUATES_
|
|
#define _STRUCT_EQUATES_
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
* structure functions
|
|
declare function Struct_Def ;* def = Struct_Def(name)
|
|
declare subroutine Struct_Flush ;* Struct_Flush(name) or Struct_Flush()
|
|
declare function Struct_Len ;* len = Struct_Len(name)
|
|
declare function Blank_Struct ;* struct = Blank_Struct(name)
|
|
declare function Build_Struct ;* struct = Build_Struct(name, ...)
|
|
declare subroutine Parse_Struct ;* Parse_Struct(struct, name, ...)
|
|
declare function Var_To_Struct ;* struct = Var_To_Struct(var, name)
|
|
declare function Struct_To_Var ;* var = Struct_To_Var(struct, name)
|
|
declare function Define_Struct ;* ret = Define_Struct(instruction, ...)
|
|
declare subroutine Define_Struct ;* Define_Struct(instruction, ...)
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
common /%%_struct_com%%/ structInit@, structHashTable@, structVar2@, structVar3@
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
* fields in each structure record
|
|
equ STRUCT_TOT_LEN$ to 1 ;* length (in bytes) of the structure
|
|
equ STRUCT_FLD_CNT$ to 2 ;* number of fields in the structure
|
|
equ STRUCT_FLD_DEF$ to 3 ;* intrinsic types of each field (@vm delim)
|
|
equ STRUCT_FLD_LEN$ to 4 ;* lengths of each field (@vm delim)
|
|
// equ STRUCT_TMP_DEF$ to 5 ;* mangled on load; types without @vm delim - no longer used - clever trick if you have < 10 types ;).
|
|
equ STRUCT_FLD_VARNAMES$ to 6 ;* variable names of each field (@vm delim)
|
|
equ STRUCT_FLD_VARTYPES$ to 7 ;* variable types of each field (@vm delim)
|
|
equ STRUCT_FLD_ALIGNMENT$ to 8 ;* Specific data alignment value
|
|
equ STRUCT_FLD_COMMENTS$ to 9 ;* @tm'd free text field
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
* structure definition codes
|
|
equ T_SIGNED_CHAR$ to 0
|
|
equ T_UNSIGNED_CHAR$ to 1 ;* (Byte)
|
|
equ T_SIGNED_SHORT$ to 2
|
|
equ T_UNSIGNED_SHORT$ to 3
|
|
equ T_SIGNED_LONG$ to 4
|
|
equ T_UNSIGNED_LONG$ to 5
|
|
equ T_FLOAT$ to 6
|
|
equ T_DOUBLE$ to 7
|
|
equ T_POINTER$ to 8
|
|
equ T_CHAR_ARRAY$ to 9 ;* size of array is stored in "struct_fld_len$"
|
|
|
|
// v10+
|
|
equ T_WCHAR_ARRAY$ to 10 ;* size of array is stored in "struct_fld_len$"
|
|
equ T_BINARY$ to 11 ;* (Byte-array) size of array is stored in "struct_fld_len$"
|
|
equ T_SIGNED_INT$ to 12
|
|
equ T_UNSIGNED_INT$ to 13
|
|
equ T_SIGNED_INT64$ to 14 ;* 64-bit only
|
|
equ T_UNSIGNED_INT64$ to 15 ;* 64-bit only
|
|
equ T_SIGNED_INTPTR$ to 16
|
|
equ T_UNSIGNED_INTPTR$ to 17
|
|
equ T_SIZET$ to 18
|
|
equ T_HANDLE$ to 19
|
|
equ T_LPBYTE$ to 20
|
|
equ T_LPUBYTE$ to 21
|
|
equ T_LPSHORT$ to 22
|
|
equ T_LPUSHORT$ to 23
|
|
equ T_LPLONG$ to 24
|
|
equ T_LPULONG$ to 25
|
|
equ T_LPINT$ to 26
|
|
equ T_LPUINT$ to 27
|
|
equ T_LPINT64$ to 28
|
|
equ T_LPUINT64$ to 29
|
|
equ T_LPINTPTR$ to 30
|
|
equ T_LPUINTPTR$ to 31
|
|
equ T_LPSIZET$ to 32
|
|
equ T_LPFLOAT$ to 33
|
|
equ T_LPDOUBLE$ to 34
|
|
equ T_LPACHAR$ to 35
|
|
equ T_LPWCHAR$ to 36
|
|
equ T_LPASTR$ to 37
|
|
equ T_LPWSTR$ to 38
|
|
equ T_LPBINARY$ to 39
|
|
equ T_LPHANDLE$ to 40
|
|
|
|
equ T_PADDING$ to 41 ;* bzs 032417
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
* define struct
|
|
equ DS_ENUM$ to 1 ;* list = Define_Struct(DS_ENUM$)
|
|
equ DS_PUT$ to 2 ;* success = Define_Struct(DS_PUT$, name, def)
|
|
equ DS_DELETE$ to 3 ;* success = Define_Struct(DS_DELETE$, name)
|
|
equ DS_REINDEX$ to 4 ;* success = Define_Struct(DS_REINDEX$)
|
|
equ DS_DIALOG$ to 5 ;* Define_Struct(DS_DIALOG$) (default)
|
|
equ DS_DLG_CREATE$ to 6 ;* reserved
|
|
equ DS_DLG_CLOSE$ to 7 ;* reserved
|
|
equ DS_DLG_GETDEF$ to 8 ;* reserved
|
|
equ DS_DLG_PUTDEF$ to 9 ;* reserved
|
|
equ DS_DLG_READ$ to 10 ;* reserved
|
|
equ DS_DLG_SAVE$ to 11 ;* reserved
|
|
equ DS_DLG_NEW$ to 12 ;* reserved
|
|
equ DS_DLG_COPY$ to 13 ;* reserved
|
|
equ DS_DLG_DELETE$ to 14 ;* reserved
|
|
equ DS_DLG_CHANGEKEY$ to 15 ;* reserved
|
|
equ DS_DLG_ETINSERT$ to 16 ;* reserved
|
|
equ DS_DLG_ETDELETE$ to 17 ;* reserved
|
|
equ DS_DLG_ETOPTIONS$ to 18 ;* reserved
|
|
equ DS_DLG_ETGOTFOCUS$ to 19 ;* reserved
|
|
equ DS_DLG_ETPOSCHANGE$ to 20 ;* reserved
|
|
equ DS_DLG_ETLOSTFOCUS$ to 21 ;* reserved
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
* miscellaneous
|
|
equ STRUCT_FILE$ to "SYSOBJ"
|
|
equ STRUCT_KEY_PREFIX$ to "STRUCT_"
|
|
equ STRUCT_INDEX$ to "!STRUCT"
|
|
equ STRUCT_DIALOG$ to "DEFINE_STRUCT"
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
#endif
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|