Home N.AESN.AES form_error in N.AESform_error in N.AES Die N.AES-KonfigurationsdateiDie N.AES-Konfigurationsdatei

12.2 Der N.AES-Cookie

N.AES legt einen Cookie mit dem Namen 'nAES' an. Sein Wert ist ein Zeiger auf eine Struktur (readable), die folgendermaßen aufgebaut ist:

typedef struct {
    unsigned int    version;
    unsigned int    date;
    unsigned int    time;
    unsigned int    flags;
    CNF_VAR         **config;
    unsigned long   unused_2;
} N_AESINFO;
version: Die hexadezimal codierte Versionsnummer von N.AES. Ein Wert von 0x0058 würde Versionsnummer 0.5.8 bedeuten, ein Wert von 0x0107 die Version 1.0.7
 
date/time: Das Erstelldatum und die Erstellzeit im TOS-Format, d.h so, wie es Tgetdate und Tgettime liefern.
 
Hinweis:
Die beim Booten von N.AES ausgegebene Zeit entspricht dem Zeitpunkt der Compilation einer bestimmten Quelldatei von N.AES, die Zeitangabe, die man im Cookie vorfindet, wird mittels eines Patchprogrammes gesetzt und ist die eigentlich relevante Angabe.
 
flags: Bitmaske, deren Bits folgende Bedeutung haben:

 
Bit  0 = 0: ST-Version
Bit  0 = 1: TT-Version (Compileroption '68020')
Bit  1 = 0: normale Version
Bit  1 = 1: Debug-Version
Bit 15 = Wenn diese Bit TRUE ist wurde der Cookie von XaAES angelegt.
config: Zeiger auf eine Liste der CNF-Variablen, die während das System läuft geändert werden können. Der Speicher ist (global) alloziert. Das mitgelieferte N_CONTRL.CPX macht gebrauch davon.
 
/* cnf types */
#define CNF_TEND  0   /* Kennzeichnet das Ende der Liste. */
#define CNF_TBOOL 1   /* true/false.                      */
#define CNF_TWORD 2   /* 16 bit signed wert.              */
#define CNF_TLONG 3
/* weitere können folgen! */

typedef enum {false, true} bool;

typedef struct
{
  union cnf_typ { bool b; WORD w; LONG l; }
          val;            /* der Inhalt.             */
  WORD    typ;            /* Typ, CNF_T...           */
  BYTE    text[22];       /* Name, wie in N_AES.CNF. */
} CNF_INF;

typedef struct
{
  BYTE    typ[16];  /* Kategorie, Text aus den Strings *
                     * des Dialog-Baums CNF_TREE der   *
                     * N_AESSYS.RSC.                   *
                     * zB. "Fenster" oder "System".    */
  CNF_INF *cnf_inf; /* Die Variablen eben.             */
} CNF_VAR;

Das Ende der Liste wird durch einen NULL-Zeiger signalisiert.
 
unused_2: Freiplatz für spätere N.AES-Versionen
 

Home N.AESN.AES form_error in N.AESform_error in N.AES Die N.AES-KonfigurationsdateiDie N.AES-Konfigurationsdatei