| 1 | |
|---|
| 2 | format of .aisc-files used for client/server interfaces |
|---|
| 3 | ------------------------------------------------------- |
|---|
| 4 | |
|---|
| 5 | PROJECT string // main name of program |
|---|
| 6 | OBJECT_KEY string // prefix key for objects |
|---|
| 7 | MAX_KEY num // maximum attribute number |
|---|
| 8 | MAX_OBJECT num // maximum object number |
|---|
| 9 | MAGIC_NUMBER num // server version (see magic.lst) |
|---|
| 10 | |
|---|
| 11 | DATA { |
|---|
| 12 | |
|---|
| 13 | @CONST, @VALUE, @DOCU; // constants |
|---|
| 14 | |
|---|
| 15 | @ENUM; // enum is unused and obsolete |
|---|
| 16 | ..., {; |
|---|
| 17 | @VAR, @VAL, @DOCU; |
|---|
| 18 | }; |
|---|
| 19 | |
|---|
| 20 | @STRUCT, @SKEY, @SKEYC, @DOCU; |
|---|
| 21 | |
|---|
| 22 | my_struxt, MYKEY, 4711, (~ This is the docu ~), [SAVEDIRECTION VERTICAL,] { |
|---|
| 23 | @TYPE, @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU; |
|---|
| 24 | ...; |
|---|
| 25 | }; |
|---|
| 26 | |
|---|
| 27 | }; |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | |
|---|
| 31 | TYPE can be: |
|---|
| 32 | |
|---|
| 33 | int,char,double,float |
|---|
| 34 | |
|---|
| 35 | dllh header of DoubledLinkedList |
|---|
| 36 | aisc_string string |
|---|
| 37 | bytestring string |
|---|
| 38 | |
|---|
| 39 | // [func function ] |
|---|
| 40 | |
|---|
| 41 | or any user defined type |
|---|
| 42 | |
|---|
| 43 | Note: when using aisc_string as result type of a callback (i.e. %), you have to |
|---|
| 44 | store it in some static buffer and return aisc_cstring! |
|---|
| 45 | |
|---|
| 46 | REF can be: |
|---|
| 47 | % virtual (aka callback) |
|---|
| 48 | |
|---|
| 49 | unspecified ( double char .... ) |
|---|
| 50 | eor i or owner by insertion |
|---|
| 51 | eor o owner by pointer |
|---|
| 52 | eor d special owner (double linked list with ident + hash) |
|---|
| 53 | eor l link |
|---|
| 54 | eor r reversed_link (only to those objects with dllh) |
|---|
| 55 | |
|---|
| 56 | e enum type |
|---|
| 57 | eor t terminal type |
|---|
| 58 | eor s structure type /* unfold THIS structure else t */ |
|---|
| 59 | |
|---|
| 60 | [ * resizeable vector of ... (key SIZE is size) |
|---|
| 61 | eor v fixed vector of ... (key SIZE is size)] |
|---|
| 62 | |
|---|
| 63 | [ f forward reference ] |
|---|
| 64 | (THIS-> is father) |
|---|
| 65 | |
|---|
| 66 | z.B. os* Vector of unfold substructures |
|---|
| 67 | |
|---|
| 68 | |
|---|
| 69 | ACC Accessiongrants |
|---|
| 70 | , read and write |
|---|
| 71 | r, readonly |
|---|
| 72 | w, writeonly |
|---|
| 73 | c, createonly |
|---|
| 74 | rw, read and write |
|---|
| 75 | privat, |
|---|
| 76 | public, |
|---|
| 77 | |
|---|
| 78 | SAVE version number for load/save (if AISC_SAVE=YES) |
|---|
| 79 | |
|---|
| 80 | KEY key name |
|---|
| 81 | |
|---|
| 82 | KEYC key number |
|---|
| 83 | |
|---|
| 84 | Has to be unique inside each STRUCT. |
|---|
| 85 | Keys w/o keynumbers exist, but are not accessible via interface. |
|---|
| 86 | Several types use multiple KEYs (e.g. 'd' uses 2 keys (KEY and KEY+1)). |
|---|
| 87 | |
|---|
| 88 | INIT default value or call to init-funtion |
|---|
| 89 | 'THIS' is replaced by pointer to STRUCT |
|---|
| 90 | |
|---|