/*
    General.h
*/

/// Defines
#define CFG_USE 0
#define CFG_SAVE 1
///
/// Structures
struct Config {
    unsigned long IDTag, Version;
    char EditCmd[256];
    BOOL GUI;
    BOOL NoInfo;

    struct {
        unsigned short Mode;
        char File[256];
    } Part[5];

    // New to 0.8
    BOOL NoReq;
    char LogFile[256];

    // New to build #30
    BOOL Network2; // Go into "Network/2" mode
    BOOL NoTagName; // Do not show the tagfile name

    // New to 1.1
    //struct {
    //    char Name[16], FirstName[16], LastName[16];
    //    char Date[16], Time[16], Subject[16];
    //} Macro;
    char Macro[6][16];

    // New to 1.2
    unsigned short DefTagfileType; // Tagfile type e.g. oneliner, Fortune, Spot, etc.
    BOOL MakeIndex; // Make index files or not
    unsigned short UseCount; // Count the number of times the program has been run
    BOOL Buffer; // Buffer tagfiles or not
};

#define OLD_ID_TAG ('T'<<24) | ('M'<<16) | ('P'<<8) | '\0'
#define ID_TAG ('T'<<24) | ('M'<<16) | ('P'<<8) | ('0')
#define CONFIG_VER 0
#define MODE_OFF 0
#define MODE_ON_AUTO 1
#define MODE_ON 2
///
/// External references
extern struct Config Config;
extern struct Config DefConfig;
///

