HomeN.AESform_error in N.AESThe N.AES configuration file

12.2 The N.AES cookie

N.AES creates a cookie with the name 'nAES'. Its value is a pointer to a structure (readable), which is made up as follows:

typedef struct {
    unsigned int    version;
    unsigned int    date;
    unsigned int    time;
    unsigned int    flags;
    CNF_VAR         **config;
    unsigned long   unused_2;
version: The hexadecimal-coded version number of N.AES. A value of 0x0058 would mean a version number 0.5.8, a value of 0x0107 the version 1.0.7
date/time: The creation date and the creation time in TOS format, i.e. as returned by Tgetdate and Tgettime.

The time that is output on booting N.AES corresponds to the time of compilation of a given N.AES source file; the time value that is found in the cookie is set by means of a patch program and is actually the relevant specification.
flags: Bit mask, whose bits have the following meaning:
Bit  0 = 0: ST-version
Bit  0 = 1: TT030-version (compiler option '68020')
Bit  1 = 0: Normal version
Bit  1 = 1: Debug version
Bit 15 = If this bit is TRUE then this cookie was created by XaAES
config: Pointer to a list of the CNF variables, which may be altered while the system is running. Memory is allocated as (global). The bundled N_CONTRL.CPX uses it.
/* cnf types */
#define CNF_TEND  0   /* Marks the end of the list. */
#define CNF_TBOOL 1   /* True/false.                */
#define CNF_TWORD 2   /* 16-bit signed value        */
#define CNF_TLONG 3
/* Further ones may follow!  */

typedef enum {false, true} bool;

typedef struct
  union cnf_typ { bool b; WORD w; LONG l; }
          val;            /* The contents           */
  WORD    typ;            /* Type, CNF_T...         */
  BYTE    text[22];       /* Name, as in N_AES.CNF. */

typedef struct
  BYTE    typ[16];  /* Category, text from the strings *
                     * of the dialog tree CNF_TREE of  *
                     * N_AESSYS.RSC.                   *
                     * e.g. 'Fenster' or 'System'.     */
  CNF_INF *cnf_inf; /* The variables themselves        */

The end of the list is signalled by a NULL-pointer.
unused_2: Free space for later N.AES versions

HomeN.AESform_error in N.AESThe N.AES configuration file