/*******************************************
* Online Commander v0.3.Test               *
* Definitions, structures, etc.            *
********************************************/

// Prompts and CFG variables -----
?  define CFG_LOGIN  0   // Login logo (ANSI)
?  define CFG_WELCM  2   // Welcome logo
?  define CFG_LFHDR  4   // Filelist header
?  define CFG_STRTM  6   // Startup menu
?  define CFG_MOUNT  8   // Mounts description file
?  define CFG_HELPF 10   // Help file
?  define CFG_USERS 12   // Userlist
?  define CFG_XPROC 14   // Xternal processes/modules description file
?  define CFG_BATCH 16   // Batch queue file for current line
?  define CFG_SZSND 18   // Transfer files list
?  define CFG_ALOGF 20   // OCMD Activity Log file

?  define LNG_BASE   CFG_ALOGF+2
?  define LNG_LOGIN  0 + LNG_BASE       // Login prompt
?  define LNG_PASSW  2 + LNG_BASE       // Password prompt
?  define LNG_UNREC  4 + LNG_BASE       // Unrecognized
?  define LNG_SHELL  6 + LNG_BASE       // Shell prompt
?  define LNG_UNKNW  8 + LNG_BASE       // Unknown command
?  define LNG_NODIR 10 + LNG_BASE       // Mount point not found
?  define LNG_NOFIL 12 + LNG_BASE       // File not found
?  define LNG_LFKEY 14 + LNG_BASE       // Filelist pause prompt
?  define LNG_ERCMD 16 + LNG_BASE       // Command error ("Bad command" =;)
?  define LNG_ANYKY 18 + LNG_BASE       // Press any key prompt

?  define LOG_BASE   LNG_ANYKY+2
?  define LOG_LOGIN  0 + LOG_BASE       // Login request
?  define LOG_ERPSW  2 + LOG_BASE       // Password error
?  define LOG_LOGON  4 + LOG_BASE       // User logged in
?  define LOG_BREAK  6 + LOG_BASE       // Sysop axed caller
?  define LOG_FMARK  8 + LOG_BASE       // File marked
?  define LOG_FDWNL 10 + LOG_BASE       // Get files (download)

?  define LNG_W_CNT 27


// Datablock segments (2nd way to data access): -----

?  define SEG_CONF 0x000  // cfg & prompts (4096 bytes = 1000h) = lng_seg
?  define SEG_MITM 0x100  // menu items    (1024 bytes =  400h)
?  define SEG_MSTR 0x140  // menu strings  (3072 bytes =  C00h) = 2048+1024
?  define SEG_MNTS 0x200  // mounts        (6144 bytes = 1800h) = 4096+2048
?  define SEG_XPRC 0x380  // xternprocs    (2048 bytes =  800h)
?  define SEG_SIZE 16383  // datablock segment size = 16k

// Multitasks: -----
?  define MT_NONE      0
?  define MT_OS2       1
?  define MT_WIN       2
?  define MT_WNT       3

// Messages -----
?  define M_NONE     0
?  define M_LOGO     1
?  define M_LOGIN    2
?  define M_PASSW    3
?  define M_SHELL    4
?  define M_WELCOME  5
?  define M_MENU     6
?  define M_INIT   100    // Process: INIT
?  define M_CHAR   101    // Process: Key pressed/char received
?  define M_DONE   199    // Process: DONE
?  define M_LOGOFF 255

// Mounts struct -----------
?  define MNT_SIZE  6144  // Mounts segment size
?  define MNT_ACS      0  // byte
?  define MNT_NEXT     1  // word
?  define MNT_INFO     3  // sz   = "LINK ALIAS PATH [DESCR]"

// Menuitem struct ------
?  define MNU_ISZ 1024 // Menu items segment size
?  define MNU_SSZ 3072 // Menu strings segment size
?  define MNU_BKGR   0 // Menu background filename (1st in pstr)
?  define MNU_ISIZE  8 // Menuitem size
?  define MNU_ID     0
?  define MNU_ACS    2
?  define MNU_CMD    3
?  define MNU_PARM   4
?  define MNU_ITEM   6

// Menu commands ------
?  define MC_MENU    1
?  define MC_SHELL   2  // OCMD shell
?  define MC_QUIT    3
?  define MC_FLIST   4  // Filelist
?  define MC_CHDIR   5
?  define MC_PRCS    6  // Process load
?  define MC_VIANS   7  // VIew ANSi file
?  define MC_DOOR    8
?  define MC_CLS     9  // CLearScreen

// User structure ---------
?  define USR_LOGIN  0   // char[14]
?  define USR_PASSW  15  // char[14]
?  define USR_ACS    30  // byte
?  define USR_TIME   31  // word
?  define USR_INFO   33  // char[..]
?  define USR_SIZE   80  // USR struct size
