/* * DEFS.H * * (C)Copyright 1987 by Matthew Dillon, All Rights Reserved * * ARexx support added 03/19/88 - Kim DeVaughn * */ #define AREXX 1 #include #include #include #include #include #include #include #include #include /* * Need the prototypes for inline library call pragmas so we don't * need to reference amiga.lib which has absolute references to * various variables (can't have absolutes for a residentable program) */ #include #ifdef LATTICE #include #include #endif /*#include */ #include #include #if AREXX #include "rexx/storage.h" #include "rexx/rxslib.h" #include "rexx/rexxio.h" #include "rexx/errors.h" #endif #define MAXTOGGLE 256 #define QMOVE (0x6B|0x80) #define COLT(n) (XTbase + (n) * Xsize) #define ROWT(n) (YTbase + (n) * Ysize) #define COL(n) (Xbase + (n) * Xsize) #define ROW(n) (Ybase + (n) * Ysize) #ifdef LATTICE #define ARGS(args) args /* ANSI-C */ #define reg /* let lattice pick regs */ #else #define ARGS(args) () /* no prototypes */ #define __stdargs /* no lattice keywords */ #define __saveds #define reg register /* req program pick regs */ #endif typedef unsigned char ubyte; typedef unsigned short uword; typedef unsigned long ulong; typedef struct MinNode MNODE; typedef struct Node NODE; typedef struct MinList MLIST; typedef struct List LIST; typedef struct MsgPort PORT; typedef struct Window WIN; typedef struct Message MSG; typedef struct TextAttr TA; typedef struct TextFont FONT; typedef struct RastPort RP; typedef struct FileInfoBlock FIB; typedef struct Process PROC; typedef struct IntuiMessage IMESS; typedef struct IntuitionBase IBASE; typedef struct Menu MENU; typedef struct MenuItem ITEM; typedef struct IntuiText ITEXT; typedef struct WBStartup WBS; typedef struct DiskObject DISKOBJ; extern WBS *Wbs; extern short Xsize, Ysize; extern short XTbase, YTbase; extern short Rows, Columns; extern short Xbase, Ybase; extern short Xpixs, Ypixs; extern ubyte *av[]; extern char Wdisable; typedef struct _ED { MNODE Node; WIN *Win; FONT *Font; /* da font, da font! */ long Topline, Topcolumn; long Line, Column; long Lines, Maxlines; ubyte **List; ubyte Name[64]; ubyte Wtitle[130]; char Modified; ubyte Tabstop; ubyte Margin; char Insertmode; char IgnoreCase; char Wordwrap; char iconmode; /* window in icon mode */ short Winx; /* save state of non-icon window */ short Winy; short Winwidth; short Winheight; short IWinx, IWiny; /* save state of icon window */ long dirlock; /* directory lock */ } ED; extern long BSline, BEline; extern short BSchar, BEchar; extern ED *BEp; #ifndef NULL #define NULL 0 #endif #ifdef E #undef E #endif extern MLIST DBase; extern MLIST PBase; extern ED *Ep; extern char Overide; extern char Savetabs; extern char memoryfail, Nsu, Msgchk; extern ubyte CtlC; extern ubyte Current[256]; extern ubyte Space[32]; extern short Clen; extern char Abortcommand, MShowTitle; extern char Comlinemode; extern RP *Rp; extern WIN *Win; extern char *Partial; extern char *String; extern long Dirlock; extern PORT *IPCPort; extern long DResBase; /* * PROTOTYPES */ /* external protos */ extern void *xfopen ARGS((char *, char *, long)); /* Prototypes for functions defined in cmd1.c */ void escapecomlinemode ARGS((void)); void setpen ARGS((int)); void text_cursor ARGS((int)); int text_init ARGS((void)); int text_switch ARGS((struct Window *)); int text_sync ARGS((void)); int text_load ARGS((void)); int text_colno ARGS((void)); int text_lineno ARGS((void)); int text_lines ARGS((void)); int text_cols ARGS((void)); int text_imode ARGS((void)); int text_tabsize ARGS((void)); unsigned char *text_name ARGS((void)); void text_uninit ARGS((void)); void inversemode ARGS((int)); void text_position ARGS((int, int)); void displayblock ARGS((int)); void text_redrawblock ARGS((int)); void text_redisplaycurrline ARGS((void)); void text_redisplay ARGS((void)); void text_write ARGS((unsigned char *)); void text_displayseg ARGS((int, int)); void movetocursor ARGS((void)); void do_up ARGS((void)); void do_scrolldown ARGS((void)); void do_scrollup ARGS((void)); void do_down ARGS((void)); void do_page ARGS((void)); void do_downadd ARGS((void)); void do_left ARGS((void)); void do_right ARGS((void)); void do_col ARGS((void)); void do_tab ARGS((void)); void do_backtab ARGS((void)); void do_return ARGS((void)); void do_bs ARGS((void)); void do_recall ARGS((void)); void do_esc ARGS((void)); void do_del ARGS((void)); void do_top ARGS((void)); void do_bottom ARGS((void)); void do_firstcolumn ARGS((void)); void do_firstnb ARGS((void)); void do_lastcolumn ARGS((void)); void do_goto ARGS((void)); void do_screentop ARGS((void)); void do_screenbottom ARGS((void)); void do_findstr ARGS((void)); void do_findr ARGS((void)); void do_find ARGS((void)); void search_operation ARGS((void)); int case_strncmp ARGS((char *, char *, int)); /* Prototypes for functions defined in cmd2.c */ struct _ED *uninit_init ARGS((struct _ED *)); void do_remeol ARGS((void)); void do_wleft ARGS((void)); void do_wright ARGS((void)); void do_split ARGS((void)); int do_join ARGS((void)); void do_margin ARGS((void)); void do_wordwrap ARGS((void)); void do_reformat ARGS((int)); void do_tabstop ARGS((void)); void do_insertmode ARGS((void)); void do_insline ARGS((void)); void do_deline ARGS((void)); void do_chfilename ARGS((void)); void do_edit ARGS((void)); void do_bsave ARGS((void)); void do_save ARGS((void)); void do_saveas ARGS((void)); void do_savetabs ARGS((void)); void do_block ARGS((void)); int blockok ARGS((void)); void do_bdelete ARGS((void)); void do_bcopy ARGS((void)); void do_bmove ARGS((void)); void do_if ARGS((void)); int do_toggle ARGS((int)); void do_tlate ARGS((void)); void do_bsource ARGS((void)); void do_scanf ARGS((void)); int extend ARGS((struct _ED *, int)); int makeroom ARGS((int)); void freelist ARGS((char **, int)); /* Prototypes for functions defined in cmd3.c */ void do_setfont ARGS((void)); void do_ignorecase ARGS((void)); void do_cd ARGS((void)); void do_set ARGS((void)); void do_setenv ARGS((void)); void do_unset ARGS((void)); void do_unsetenv ARGS((void)); char *getvar ARGS((char *)); /* Prototypes for functions defined in command.c */ void init_command ARGS((void)); int do_command ARGS((char *)); void do_null ARGS((void)); void do_source ARGS((void)); void do_quit ARGS((void)); void do_execute ARGS((void)); void do_repeat ARGS((void)); char *breakout ARGS((char **, char *, char **)); /* Prototypes for functions defined in filereq.c */ void do_arpinsfile ARGS((void)); void do_arpload ARGS((void)); void do_arpsave ARGS((void)); void fixfile ARGS((char *, char *)); void splitpath ARGS((char *, char *, char *)); /* Prototypes for functions defined in globals.c */ /* Prototypes for functions defined in keyboard.c */ void keyctl ARGS((struct IntuiMessage *, int, unsigned short)); void dealloc_hash ARGS((void)); void resethash ARGS((void)); int returnoveride ARGS((int)); void addhash ARGS((ubyte, ubyte, ubyte, ubyte, ubyte *)); int remhash ARGS((ubyte, ubyte, ubyte)); char *keyspectomacro ARGS((char *)); void do_map ARGS((void)); void do_unmap ARGS((void)); void do_clearmap ARGS((void)); void do_savemap ARGS((void)); void keyboard_init ARGS((void)); unsigned char *cqtoa ARGS((int, int)); int get_codequal ARGS((ubyte *, ubyte *, ubyte *)); /* Prototypes for functions defined in main.c */ void ipchandler ARGS((void)); void initipc ARGS((void)); void do_ipc ARGS((void)); void do_iconify ARGS((void)); void do_tomouse ARGS((void)); void iconify ARGS((void)); void uniconify ARGS((void)); void do_newwindow ARGS((int, int)); struct Window *TOpenWindow ARGS((struct NewWindow *)); struct Window *opensharedwindow ARGS((struct NewWindow *)); void closesharedwindow ARGS((struct Window *)); int getyn ARGS((char *)); void title ARGS((char *)); void window_title ARGS((void)); void set_window_params ARGS((void)); void exiterr ARGS((char *)); int breakcheck ARGS((void)); void breakreset ARGS((void)); void do_windowparm ARGS((void)); void do_resize ARGS((void)); int ops ARGS((char **, int)); /* Prototypes for functions defined in menu.c */ void menu_strip ARGS((struct Window *)); void menu_off ARGS((void)); void menu_on ARGS((void)); void do_menuoff ARGS((void)); void do_menuon ARGS((void)); char *menutomacro ARGS((char *)); char *menu_cmd ARGS((struct IntuiMessage *)); void fixmenu ARGS((void)); void do_menuclear ARGS((void)); void do_menuadd ARGS((void)); void do_menudelhdr ARGS((void)); int do_menudel ARGS((void)); /* Prototypes for functions defined in mods.c */ void PMAdd ARGS((void)); void PMRem ARGS((void)); void PMKill ARGS((struct _ED *)); int do_pushmark ARGS((void)); void do_popmark ARGS((void)); void do_swapmark ARGS((void)); void do_purgemark ARGS((void)); void do_ping ARGS((void)); void do_pong ARGS((void)); void do_undo ARGS((void)); /* Prototypes for functions defined in refs.c */ void do_addpath ARGS((void)); void do_rempath ARGS((void)); void do_ctags ARGS((void)); void do_refs ARGS((void)); int searchref ARGS((char *, char *, char **, char **, int *, char **)); int dirpart ARGS((char *)); /* Prototypes for functions defined in rexx.c */ void openrexx ARGS((void)); void closerexx ARGS((void)); void do_rx ARGS((void)); void do_rx1 ARGS((void)); void do_rx2 ARGS((void)); void do_rxImplied ARGS((char *, char *)); int do_rexx ARGS((char *)); /* Prototypes for functions defined in subs.c */ void makemygadget ARGS((struct Gadget *)); int firstns ARGS((char *)); int lastns ARGS((char *)); int wordlen ARGS((char *)); int getpathto ARGS((char *, char *)); void *allocb ARGS((int)); void *allocl ARGS((int)); void bmovl ARGS((void *, void *, long)); int detab ARGS((char *, char *, int)); int xefgets ARGS((void *, char *, int)); int ncstrcmp ARGS((unsigned char *, unsigned char *)); struct _ED *finded ARGS((char *, int)); extern __stdargs int arpreq ARGS((char *, char *, char *, WIN *));