home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
monitors
/
rsys
/
source.lha
/
src
/
RSys.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-01-09
|
13KB
|
512 lines
/*
***************************************************************************
*
* Datei:
* RSys.h
*
* Inhalt:
*
* Bemerkungen:
* Die Haupt-Include-Datei von RSys mit allen globalen Vereinbarungen.
* (Wird vorkompiliert zu einem preinclude file!)
* Erstellungsdatum:
* 07-Jul-93 Rolf Böhme
*
* Änderungen:
* 07-Jul-93 Rolf Böhme Erstellung
* 01-Jul-93 Einige Umstellung der EntryAttr-Struktur und
* Einführung sogenannter Fields, Standard-Einträge
* von RSys
*
***************************************************************************
*/
#include <clib/icon_protos.h>
#include <clib/alib_protos.h>
#include <clib/exec_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/graphics_protos.h>
#include <clib/intuition_protos.h>
#include <clib/dos_protos.h>
#include <clib/expansion_protos.h>
#include <clib/asl_protos.h>
#include <clib/commodities_protos.h>
#include <clib/wb_protos.h>
#include <clib/diskfont_protos.h>
#include <clib/utility_protos.h>
#include <clib/translator_protos.h>
#include <clib/iffparse_protos.h>
#include <clib/macros.h>
#include <pragmas/icon_lib.h>
#include <pragmas/exec_lib.h>
#include <pragmas/gadtools_lib.h>
#include <pragmas/graphics_lib.h>
#include <pragmas/intuition_lib.h>
#include <pragmas/dos_lib.h>
#include <pragmas/expansion_lib.h>
#include <pragmas/asl_lib.h>
#include <pragmas/commodities_lib.h>
#include <pragmas/wb_lib.h>
#include <pragmas/diskfont_lib.h>
#include <pragmas/utility_lib.h>
#include <pragmas/translator_lib.h>
#include <devices/audio.h>
#include <devices/input.h>
#include <devices/inputevent.h>
#include <devices/timer.h>
#include <devices/trackdisk.h>
#include <devices/narrator.h>
#include <devices/prtbase.h>
#include <devices/printer.h>
#include <dos/exall.h>
#include <dos/rdargs.h>
#include <dos/dostags.h>
#include <dos/filehandler.h>
#include <exec/alerts.h>
#include <exec/devices.h>
#include <exec/execbase.h>
#include <exec/interrupts.h>
#include <exec/io.h>
#include <exec/memory.h>
#include <exec/types.h>
#include <graphics/displayinfo.h>
#include <graphics/gfx.h>
#include <graphics/gfxbase.h>
#include <graphics/gfxmacros.h>
#include <graphics/text.h>
#include <hardware/cia.h>
#include <hardware/intbits.h>
#include <hardware/custom.h>
#include <intuition/classes.h>
#include <intuition/classusr.h>
#include <intuition/gadgetclass.h>
#include <intuition/imageclass.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <intuition/preferences.h>
#include <libraries/dos.h>
#include <libraries/dosextens.h>
#include <libraries/expansionbase.h>
#include <libraries/gadtools.h>
#include <libraries/asl.h>
#include <libraries/commodities.h>
#include <libraries/diskfont.h>
#include <libraries/translator.h>
#include <libraries/iffparse.h>
#include <workbench/startup.h>
#include <workbench/workbench.h>
#include <limits.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdarg.h>
#include <ctype.h>
#include <libraries/amigaguide.h>
#include <clib/amigaguide_protos.h>
#include <pragmas/amigaguide_pragma.h>
#define NAME "RSys"
#define VERSION "1.21"
#define DATE __DATE__
#define TIME __TIME__
#define COPYRIGHT "(c) by Rolf Boehme (GiftWare and PD)"
#define UNSETLVPOS -1
#define NO_CASE 0
#define CASE 1
#define HOTKEYS 7
#define MAXSHOW 10
#define SYSTEMINFO 12
#define TITLELEN 15
#define PWDLEN 20
#define ENVLEN 20
#define PARTSIZE 20
#define MAXSTRLEN 30
#define BUFSIZE 47
#define PATTERNLEN 50
#define SEC 50
#define HELPLINESIZE 50
#define PATHPARTWIDTH 80
#define PARSEPATLEN 102
#define MAXFULLNAME 108
#define MAXLINESIZE 150
#define MAXWRITESIZE 200
#define CRCTABSIZE 256
#define MAXLARGEMEM 512
#define FRAC 8192
#define FULL 65536
#define NOSCREENTITLECHANGE ((UBYTE *)(-1))
#define R13 TRUE
#define CRY FALSE
#define ESC '\33'
#define ACTION_TOKEN "#"
#define COUNT_FLAGS (GD_HandlerInpGad+1)
#define KEY_RELEASE 0x80
#define KEY_HELP 0x5F
#define KEY_q 0x10
#define KEY_ESC 0x45
#define custom (*(struct Custom *)0xDFF000)
#define EVT_HOTKEY 1L
#define CNTMASK LDF_DEVICES
#define MASK (CNTMASK|LDF_READ)
#define B2C(x) ((VOID *)(((LONG)(x))<<2))
#define ID_PORT_NAME (UBYTE *)"RSys-ID-Port"
#define STRINGEND '\0'
#define KILL TRUE
#define NO_KILL FALSE
#define YES TRUE
#define NO FALSE
#define SORT TRUE
#define NO_SORT FALSE
#define SPEAK TRUE
#define NO_SPEAK FALSE
#define ErrorHandle(nr1,nr2,kill) ErrorHandleFull(nr1,nr2,kill,__FILE__,__FUNC__,__LINE__)
enum {
GD_TasksGad, /* 0 */
GD_LibrariesGad, /* 1 */
GD_MemoryGad, /* 2 */
GD_PortsGad, /* 3 */
GD_VolumesGad, /* 4 */
GD_AssignsGad, /* 5 */
GD_FontsGad, /* 6 */
GD_ResourcesGad, /* 7 */
GD_InterruptsGad, /* 8 */
GD_WindowsGad, /* 9 */
GD_ScreensGad, /* 10 */
GD_HandlerInpGad, /* 11 */
GD_SystemGad, /* 12 */
GD_HardwareGad, /* 13 */
GD_SaveListGad, /* 14 */
GD_JumpGad, /* 15 */
GD_ListeLV, /* 16 */
GD_TextHeader, /* 17 */
GD_InfoMsgGad /* 18 */
};
enum {
GD_FileTypeTGad, /* 0 */
GD_ActionLV, /* 1 */
GD_FInfo, /* 2 */
GD_NextEntryGad /* 3 */
};
enum {
TYPE_DIR, /* 0 */
TYPE_FILE, /* 1 */
TYPE_ICON, /* 2 */
TYPE_TEXT, /* 3 */
TYPE_C, /* 4 */
TYPE_H, /* 5 */
TYPE_ASM, /* 6 */
TYPE_I, /* 7 */
TYPE_MOD, /* 8 */
TYPE_REXX, /* 9 */
TYPE_BASIC, /* 10 */
TYPE_TEX, /* 11 */
TYPE_METAFONT, /* 12 */
TYPE_GF, /* 13 */
TYPE_TEXFONT, /* 14 */
TYPE_TEXDVI, /* 15 */
TYPE_FLIB, /* 16 */
TYPE_OLDMANX, /* 17 */
TYPE_NEWMANX, /* 18 */
TYPE_OLDMANXLIB, /* 19 */
TYPE_NEWMANXLIB, /* 20 */
TYPE_OBJECT, /* 21 */
TYPE_LIB, /* 22 */
TYPE_EXECUTABLE, /* 23 */
TYPE_LIBRARY, /* 24 */
TYPE_DEVICE, /* 25 */
TYPE_FILESYS, /* 26 */
TYPE_HANDLER, /* 27 */
TYPE_GIF, /* 28 */
TYPE_ILBM, /* 29 */
TYPE_ANIM, /* 30 */
TYPE_8SVX, /* 31 */
TYPE_SMUS, /* 32 */
TYPE_FTXT, /* 33 */
TYPE_PREFS, /* 34 */
TYPE_TERM, /* 35 */
TYPE_IMPLODER, /* 36 */
TYPE_POWERPACKER, /* 37 */
TYPE_ARC, /* 38 */
TYPE_LHARC, /* 39 */
TYPE_ZOO, /* 30 */
TYPE_ZIP, /* 41 */
TYPE_DMS, /* 42 */
TYPE_WARP, /* 43 */
TYPE_ZOOM, /* 44 */
TYPE_WORDPERFECT /* 45 */
};
enum ListTypes {
TASKS, /* 0 */
LIBRARIES, /* 1 */
MEMORY, /* 2 */
PORTS, /* 3 */
VOLUMES, /* 4 */
ASSIGNS, /* 5 */
FONTS, /* 6 */
RESOURCES, /* 7 */
INTERRUPTS, /* 8 */
WINDOWS, /* 9 */
SCREENS, /* 10 */
INPUTHDL, /* 11 */
SYSINFO, /* 12 */
HARDWARE, /* 13 */
HELP, /* 14 */
PREFS, /* 15 */
DEVS, /* 16 */
ALLFONTS, /* 17 */
ENVVARS, /* 18 */
CLI, /* 19 */
RESIDENTS, /* 20 */
SEMAPHORES, /* 21 */
SYSVECTORS, /* 22 */
SYSSOFTDEV, /* 23 */
SYSPUBSCR, /* 24 */
BLITTERWAIT, /* 25 */
TOFWAIT, /* 26 */
COMMODITIES, /* 27 */
PRINTERDATA, /* 28 */
LIBRARYOFFS, /* 29 */
DISPLAYMODES, /* 30 */
VOLLOCKS, /* 31 */
AGUIDEXREF, /* 32 */
ALLGADGETS /* 33 */
};
enum err_objects {
BROKER_ERR,
PORT_ERR,
FILE_ERR,
SCREEN_ERR,
WINDOW_ERR,
LIBRARY_ERR,
DEVICE_ERR,
ICON_ERR,
GADGET_MENU_ERR,
ENV_ERR,
DOS_EXALL_ERR,
FONT_ERR,
LIST_NODE_ERR,
MEMORY_ERR,
TASK_ERR,
CLIPBOARD_ERR,
MISC_ERR
};
enum err_actions {
DUPLICATE_FAIL,
CREATE_FAIL,
FIND_FAIL,
KILL_FAIL,
OPEN_FAIL,
READ_FAIL,
WRITE_FAIL,
EXALL_FAIL,
SIZE_FAIL,
SAVED_FAIL,
WRONG_FAIL,
INFO_FAIL,
EXIST_FAIL,
TYPE_FAIL,
ALLOC_FAIL
};
enum _field {
NO_FIELD,
NO_LIB_ID,
NO_FLAGS,
NO_TASK,
NO_NODE,
WRONG_TYPE_FMT,
NO_TYPE,
NO_TITLE,
NO_BAUD,
NO_PARITY,
NO_HANDSHK,
NO_HANDLER,
NO_FILE,
NO_LOCK,
BLANK_FIELD
};
extern char *str_err_objects[], *str_err_actions[];
extern int wb_start;
extern struct Screen *Scr;
extern APTR VisualInfo;
extern struct Window *SysWnd;
extern struct Gadget *SysGList;
extern struct Menu *SysMenus;
extern UWORD SysZoom[];
extern struct Gadget *SysGadgets[];
extern UWORD SysLeft;
extern UWORD SysTop;
extern UWORD SysWidth;
extern UWORD SysHeight;
extern UBYTE *SysWdt;
extern struct TextAttr *Font;
extern UWORD FontX, FontY;
extern UWORD OffX, OffY;
extern struct TextAttr Topaz80;
extern struct NewMenu SysNewMenu[];
extern struct List ListeLVList;
/*
typedef struct {
char ea_type[BUFSIZE];
char ea_header[BUFSIZE];
char ea_dataformat[BUFSIZE];
void (*ea_func)(void);
unsigned ea_counted : 1;
} EntryAttribute;
*/
typedef struct {
char *ea_type;
char *ea_header;
char *ea_dataformat;
void (*ea_func)(void);
unsigned ea_counted : 1;
} EntryAttribute;
extern EntryAttribute EntryAttr[];
struct objectid {
char fullname[MAXFULLNAME];
APTR address;
};
typedef struct SE {
struct Node se_Node;
char se_Entry[BUFSIZE];
struct objectid se_obj_id;
} ScrollEntry;
typedef struct SysMessage {
struct Message sm_message;
int sm_newtype;
} SysMsg;
extern struct MsgPort *SysIdPort;
extern ScrollEntry *Entries;
extern struct Library *AslBase;
extern struct Library *GadToolsBase;
extern struct IntuitionBase *IntuitionBase;
extern struct GfxBase *GfxBase;
extern struct ExecBase *SysBase;
extern struct ExpansionBase *ExpansionBase;
extern struct Library *CxBase;
extern struct WorkbenchBase *WorkbenchBase;
extern struct Library *DiskfontBase;
extern struct Library *UtilityBase;
extern struct Library *IFFParseBase;
extern struct AmigaGuideBase *AmigaGuideBase;
extern UBYTE namebuffer[];
extern int topentry,countentries;
extern int quit_flag;
extern int LastID;
extern char *mess[];
extern const char *field[];
extern struct AppIcon *appicon;
extern UWORD AppIcon1IData[];
extern struct Image AppIconI1;
extern UWORD AppIconI2Data[];
extern struct Image AppIconI2;
extern struct MsgPort *broker_mp;
extern CxObj *broker;
extern struct NewBroker newbroker;
struct _acts {
struct Node act_Node;
int act_filetype;
char act_listviewheader[20];
char act_name[30];
char act_command[255];
};
extern struct _acts *Actions;
struct _flags {
unsigned fastmode : 1;
unsigned sortmode : 1;
unsigned workingbar : 1;
unsigned speakmode : 1;
unsigned autofront : 1;
unsigned mousewindow : 1;
unsigned sysfont : 1;
unsigned saveasking : 1;
unsigned appicon : 1;
/* RSys private */
unsigned wb_start : 1;
unsigned quit_clip : 1;
unsigned quit_sw : 1;
unsigned quit_crc : 1;
unsigned quit_flag : 1;
unsigned quit_cp : 1;
unsigned quit_action_flag : 1;
unsigned quit_cr : 1;
unsigned quit_ff : 1;
unsigned quit_fd : 1;
unsigned quit_tree : 1;
unsigned quit_hunk : 1;
unsigned quit_iconify: 1;
};
extern struct _flags Flags;
extern char hotkey[][];
extern char *RSysName;
extern char _fullpath[];
/*
struct _funcproc
{
struct MinNode fp_node;
struct Process *fp_process;
char fp_name[MAXSTRLEN];
};
extern struct _funcproc *funcproc;
extern struct MinList proclist;
*/