home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 389.lha / dme_v1.40 / src / defs.h < prev    next >
C/C++ Source or Header  |  1990-07-03  |  9KB  |  382 lines

  1.  
  2. /*
  3.  * DEFS.H
  4.  *
  5.  *    (C)Copyright 1987 by Matthew Dillon, All Rights Reserved
  6.  *
  7.  *    ARexx support added 03/19/88  -  Kim DeVaughn
  8.  *
  9.  */
  10.  
  11. #define AREXX 1
  12.  
  13. #include <exec/types.h>
  14. #include <exec/memory.h>
  15. #include <exec/ports.h>
  16. #include <intuition/intuition.h>
  17.  
  18. /*
  19.  *  Need the prototypes for inline library call pragmas so we don't
  20.  *  need to reference amiga.lib which has absolute references to
  21.  *  various variables (can't have absolutes for a residentable program)
  22.  */
  23.  
  24.  
  25. #include <stdio.h>
  26. #include <stdlib.h>
  27. #include <string.h>
  28.  
  29. #ifdef LATTICE
  30. typedef long size_t;
  31. #endif
  32.  
  33. #define MAXTOGGLE   256
  34. #define QMOVE        (0x6B|0x80)
  35.  
  36. #define COLT(n)  (XTbase + (n) * Xsize)
  37. #define ROWT(n)  (YTbase + (n) * Ysize)
  38. #define COL(n)   (Xbase  + (n) * Xsize)
  39. #define ROW(n)   (Ybase  + (n) * Ysize)
  40.  
  41. /*
  42.  *  code compatibility... try to phase these usages out.
  43.  */
  44.  
  45. #define ARGS(args)  args
  46.  
  47. typedef unsigned char        ubyte;
  48. typedef unsigned short        uword;
  49. typedef unsigned long        ulong;
  50.  
  51. typedef struct MinNode        MNODE;
  52. typedef struct Node        NODE;
  53. typedef struct MinList        MLIST;
  54. typedef struct List        LIST;
  55. typedef struct MsgPort        PORT;
  56. typedef struct Window        WIN;
  57. typedef struct Message        MSG;
  58. typedef struct TextAttr     TA;
  59. typedef struct TextFont     FONT;
  60. typedef struct RastPort     RP;
  61. typedef struct IntuiMessage    IMESS;
  62. typedef struct IntuitionBase    IBASE;
  63. typedef struct Menu        MENU;
  64. typedef struct MenuItem     ITEM;
  65. typedef struct IntuiText    ITEXT;
  66.  
  67. extern short Xsize, Ysize;
  68. extern short XTbase, YTbase;
  69. extern short Rows, Columns;
  70. extern short Xbase, Ybase;
  71. extern short Xpixs, Ypixs;
  72. extern ubyte *av[];
  73. extern char Wdisable;
  74.  
  75. typedef struct _ED {
  76.     MNODE Node;
  77.     WIN *Win;
  78.     FONT *Font;         /*    da font, da font!            */
  79.     long Topline, Topcolumn;
  80.     long Line, Column;
  81.     long Lines, Maxlines;
  82.     ubyte **List;
  83.     ubyte Name[64];
  84.     ubyte Wtitle[130];
  85.     char Modified;
  86.     long  dirlock;        /* directory lock                */
  87.     char iconmode;        /*    window in icon mode            */
  88.  
  89.     /*
  90.      *    CONFIG INFORMATION
  91.      */
  92.  
  93.     char  BeginConfig;
  94.     ubyte Tabstop;
  95.     ubyte Margin;
  96.     char Insertmode;
  97.     char IgnoreCase;
  98.     char Wordwrap;
  99.     short WWCol;        /*    word wrap column            */
  100.     short Winx;         /*    save state of non-icon window        */
  101.     short Winy;
  102.     short Winwidth;
  103.     short Winheight;
  104.     short IWinx, IWiny;     /*    save state of icon window        */
  105.     int   FGPen;
  106.     int   BGPen;
  107.     int   HGPen;
  108.     char  EndConfig;
  109. } ED;
  110.  
  111. extern long  BSline, BEline;
  112. extern short BSchar, BEchar;
  113. extern ED    *BEp;
  114.  
  115.  
  116. #ifndef NULL
  117. #define NULL 0
  118. #endif
  119. #ifdef E
  120. #undef E
  121. #endif
  122.  
  123. extern MLIST DBase;
  124. extern MLIST PBase;
  125. extern ED    *Ep;
  126.  
  127. extern char    Overide;
  128. extern char    Savetabs;
  129. extern char    memoryfail, Nsu, Msgchk;
  130. extern ubyte    CtlC;
  131. extern ubyte    Current[256];
  132. extern ubyte    Space[32];
  133. extern short    Clen;
  134. extern char    Abortcommand, MShowTitle;
  135. extern char    Comlinemode;
  136. extern char    *Partial;
  137. extern char    *String;
  138.  
  139. extern long    Dirlock;
  140.  
  141. extern PORT    *IPCPort;
  142. extern long    DResBase;
  143.  
  144. /*
  145.  *  PROTOTYPES
  146.  */
  147.  
  148. /* external protos  */
  149.  
  150. extern void    *xfopen (char *, char *, long);
  151.  
  152. /* Prototypes for functions defined in cmd1.c */
  153.  
  154. void escapecomlinemode (void);
  155. void setpen (int);
  156. void text_cursor (int);
  157. int text_init (ED *, WIN *, struct NewWindow *);
  158. int text_switch (struct Window *);
  159. int text_sync (void);
  160. int text_load (void);
  161. int text_colno (void);
  162. int text_lineno (void);
  163. int text_lines (void);
  164. int text_cols (void);
  165. int text_imode (void);
  166. int text_tabsize (void);
  167. unsigned char *text_name (void);
  168. void text_uninit (void);
  169. void inversemode (int);
  170. void text_position (int, int);
  171. void displayblock (int);
  172. void text_redrawblock (int);
  173. void text_redisplaycurrline (void);
  174. void text_redisplay (void);
  175. void text_write (unsigned char *);
  176. void text_displayseg (int, int);
  177. void movetocursor (void);
  178. void do_up (void);
  179. void do_scrolldown (void);
  180. void do_scrollup (void);
  181. void do_down (void);
  182. void do_page (void);
  183. void do_downadd (void);
  184. void do_left (void);
  185. void do_right (void);
  186. void do_col (void);
  187. void do_tab (void);
  188. void do_backtab (void);
  189. void do_return (void);
  190. void do_bs (void);
  191. void do_recall (void);
  192. void do_esc (void);
  193. void do_del (void);
  194. void do_top (void);
  195. void do_bottom (void);
  196. void do_firstcolumn (void);
  197. void do_firstnb (void);
  198. void do_lastcolumn (void);
  199. void do_goto (void);
  200. void do_screentop (void);
  201. void do_screenbottom (void);
  202. void do_findstr (void);
  203. void do_findr (void);
  204. void do_find (void);
  205. void search_operation (void);
  206. void do_saveconfig(void);
  207. void do_fgpen(void);
  208. void do_bgpen(void);
  209. void do_hgpen(void);
  210. int case_strncmp (char *, char *, int);
  211.  
  212. /* Prototypes for functions defined in cmd2.c */
  213.  
  214. struct _ED *uninit_init (struct _ED *);
  215. void do_remeol (void);
  216. void do_wleft (void);
  217. void do_wright (void);
  218. void do_split (void);
  219. int do_join (void);
  220. void do_margin (void);
  221. void do_wordwrap (void);
  222. void do_setparcol (void);
  223. void do_reformat (int);
  224. void do_tabstop (void);
  225. void do_insertmode (void);
  226. void do_insline (void);
  227. void do_deline (void);
  228. void do_chfilename (void);
  229. void do_edit (void);
  230. void do_bsave (void);
  231. void do_save (void);
  232. void do_saveas (void);
  233. void do_savetabs (void);
  234. void do_block (void);
  235. int blockok (void);
  236. void do_bdelete (void);
  237. void do_bcopy (void);
  238. void do_bmove (void);
  239. void do_if (void);
  240. int do_toggle (int);
  241. void do_tlate (void);
  242. void do_bsource (void);
  243. void do_scanf (void);
  244. int extend (struct _ED *, int);
  245. int makeroom (int);
  246. void freelist (char **, int);
  247.  
  248. /* Prototypes for functions defined in cmd3.c */
  249.  
  250. void do_setfont (void);
  251. void do_ignorecase (void);
  252. void do_cd (void);
  253. void do_set (void);
  254. void do_setenv (void);
  255. void do_unset (void);
  256. void do_unsetenv (void);
  257. char *getvar (char *);
  258.  
  259. /* Prototypes for functions defined in command.c */
  260. void init_command (void);
  261. int do_command (char *);
  262. void do_lrow();
  263. void do_urow();
  264. void do_null (void);
  265. void do_source (void);
  266. void do_quit (void);
  267. void do_execute (void);
  268. void do_repeat (void);
  269. char *breakout (char **, char *, char **);
  270.  
  271. /* Prototypes for functions defined in filereq.c */
  272.  
  273. void do_arpinsfile (void);
  274. void do_arpload (void);
  275. void do_arpsave (void);
  276. void fixfile (char *, char *);
  277. void splitpath (char *, char *, char *);
  278.  
  279. /* Prototypes for functions defined in globals.c */
  280.  
  281. /* Prototypes for functions defined in keyboard.c */
  282. void keyctl (struct IntuiMessage *, int, unsigned short);
  283. void dealloc_hash (void);
  284. void resethash (void);
  285. int returnoveride (int);
  286. void addhash (ubyte, ubyte, ubyte, ubyte, ubyte *);
  287. int remhash (ubyte, ubyte, ubyte);
  288. char *keyspectomacro (char *);
  289. void do_map (void);
  290. void do_unmap (void);
  291. void do_clearmap (void);
  292. void do_savemap (void);
  293. void keyboard_init (void);
  294. unsigned char *cqtoa (int, int);
  295. int get_codequal (ubyte *, ubyte *, ubyte *);
  296.  
  297. /* Prototypes for functions defined in main.c */
  298.  
  299. void ipchandler (void);
  300. void initipc (void);
  301. void do_ipc (void);
  302. void do_iconify (void);
  303. void do_tomouse (void);
  304. void iconify (void);
  305. void uniconify (void);
  306. void do_newwindow ();
  307. void do_openwindow();
  308. struct Window *TOpenWindow (struct NewWindow *);
  309. struct Window *opensharedwindow (struct NewWindow *);
  310. void closesharedwindow (struct Window *);
  311. int getyn (char *);
  312. void title (char *);
  313. void window_title (void);
  314. void set_window_params (void);
  315. void exiterr (char *);
  316. int breakcheck (void);
  317. void breakreset (void);
  318. void do_resize (void);
  319. int ops (char **, int);
  320.  
  321. /* Prototypes for functions defined in menu.c */
  322.  
  323. void menu_strip (struct Window *);
  324. void menu_off (void);
  325. void menu_on (void);
  326. void do_menuoff (void);
  327. void do_menuon (void);
  328. char *menutomacro (char *);
  329. char *menu_cmd (struct IntuiMessage *);
  330. void fixmenu (void);
  331. void do_menuclear (void);
  332. void do_menuadd (void);
  333. void do_menudelhdr (void);
  334. int do_menudel (void);
  335.  
  336. /* Prototypes for functions defined in mods.c */
  337. void PMAdd (void);
  338. void PMRem (void);
  339. void PMKill (struct _ED *);
  340. int do_pushmark (void);
  341. void do_popmark (void);
  342. void do_swapmark (void);
  343. void do_purgemark (void);
  344. void do_ping (void);
  345. void do_pong (void);
  346. void do_undo (void);
  347.  
  348. /* Prototypes for functions defined in refs.c */
  349. void do_addpath (void);
  350. void do_rempath (void);
  351. void do_ctags (void);
  352. void do_refs (void);
  353. int searchref (char *, char *, char **, char **, int *, char **);
  354. int dirpart (char *);
  355.  
  356. /* Prototypes for functions defined in rexx.c */
  357. void openrexx (void);
  358. void closerexx (void);
  359. void do_rx (void);
  360. void do_rx1 (void);
  361. void do_rx2 (void);
  362. void do_rxImplied (char *, char *);
  363. int do_rexx (char *);
  364.  
  365. /* Prototypes for functions defined in subs.c */
  366. void makemygadget (struct Gadget *);
  367. int firstns (char *);
  368. int lastns (char *);
  369. int wordlen (char *);
  370. int getpathto (char *, char *);
  371. void *allocb (int);
  372. void *allocl (int);
  373. void bmovl (void *, void *, long);
  374. int detab (char *, char *, int);
  375. int xefgets (FILE *, char *, int);
  376. int ncstrcmp (unsigned char *, unsigned char *);
  377. struct _ED *finded (char *, int);
  378.  
  379. extern int arpreq (char *, char *, char *, WIN *);
  380.  
  381. extern void *clrmem(void *, size_t);
  382.