ATTENZIONE: le presenti informazioni fanno riferimento ad una precedente versione del formato del file (versione 1.2).
La tabella variabili (VARS) è composta da un numero di definizioni (VAR) contigue, ognuna delle quali contiene tutte le informazioni su uno specifica variabile definita dall'utente: in questa tabella non sono presenti le variabili predefinite.
La posizione (relativa al file) e il numero di elementi della tabella delle variabili di programma sono specificate rispettivamente nei seguenti campi, a seconda di dove utilizzata
•dai campi HEADER.VARSOFF e HEADER.VARSSIZE se utilizzati in intestazione file (HEADER);
•dai campi STRUCT.VARSOFF e STRUCT.VARSCNT se utilizzati in definizione struttura utente (STRUCT);
•dai campi LIVECMD.VARSOFF e LIVECMD.VARSCNT se utilizzati in definizione comando live (LIVECMD).
Definizione variabile
Una variabile (VAR) è composta dalle seguenti informazioni:
Nome |
Offset |
Tipo |
Descrizione |
---|---|---|---|
VARID |
+0 |
U32 |
ID variabile (0 se variabile in definizione struttura utente) Nota: solo valori 0x00010000-0xFFFFFFFE; il valore 0xFFFFFFFF è un ID a significato speciale; i valori 0x00000001-0x0000FFFF sono riservati per le variabili predefinite. |
TYPEID |
+4 |
U32 |
ID tipo variabile Nota: può essere un tipo predefinito oppure definito dall'utente. |
STATUS |
+8 |
U16 |
(riservato, uso runtime) |
FLAGS |
+10 |
U16 |
Impostazioni della variabile: 0x0001 Campo TEXT non compresso (NCF0). 0x0002 Campo BITTEXT non compresso (NCF1) |
NAME |
+12 |
U32 |
Offset nome della variabile (relativo a stringhe). |
TEXT |
+16 |
U32 |
Offset descrizione della variabile (relativo a stringhe compresse, o stringhe se NCF0). |
BITTEXT |
+20 |
U32 |
Offset descrizioni dei bit variabili, ovvero sequenza di stringhe relative ad ogni singolo bit separate dal carattere ascii 0xFF (relativo a stringhe compresse, o stringhe se NCF0). |
ARRAY0 |
+24 |
U32 |
N. di indici 1o livello (0=Nessun array) (#1) o indice 0 per Alias. |
ARRAY1 |
+28 |
U32 |
N. di indici 2o livello (0=Nessun array) (#1) o indice 1 per Alias. |
ARRAY2 |
+32 |
U32 |
N. di indici 3o livello (0=Nessun array) (#1) o indice 2 per Alias. |
ALIASID |
+36 |
U16 |
ID tipo alias |
ALIASBIT |
+38 |
U16 |
N. di bit per alias (dipende dal tipo di ID alias) |
SIZE |
+40 |
U32 |
Dimensione della variabile. Se Alias, la dimensione è 0. |
EXTRA |
+44 |
U32 |
Offset informazioni extra (0=nessuna) (relativo al file) |
(#1) Sebbene i campi ARRAYn siano a 32bit, nella versione attuale di SW l'indice massimo comunque va considerato solo a 16bit (ovvero massimo indice 0xFFFF).