]> git.sesse.net Git - pistorm/blob - platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/libraries/reqtools.h
Add file retrieval to GUI
[pistorm] / platforms / amiga / pistorm-dev / pistorm_dev_amiga / reqtools / libraries / reqtools.h
1 #ifndef LIBRARIES_REQTOOLS_H
2 #define LIBRARIES_REQTOOLS_H
3 /*
4 **      $Filename: libraries/reqtools.h $
5 **      $Release: 2.2 $
6 **      $Revision: 38.11 $
7 **
8 **      reqtools.library definitions
9 **
10 **      (C) Copyright 1991-1994 Nico François
11 **      All Rights Reserved
12 */
13
14 #ifndef EXEC_TYPES_H
15 #include <exec/types.h>
16 #endif  /* EXEC_TYPES_H */
17
18 #ifndef EXEC_LISTS_H
19 #include <exec/lists.h>
20 #endif  /* EXEC_LISTS_H */
21
22 #ifndef EXEC_LIBRARIES_H
23 #include <exec/libraries.h>
24 #endif  /* EXEC_LIBRARIES_H */
25
26 #ifndef EXEC_SEMAPHORES_H
27 #include <exec/semaphores.h>
28 #endif  /* EXEC_SEMAPHORES_H */
29
30 #ifndef LIBRARIES_DOS_H
31 #include <libraries/dos.h>
32 #endif  /* LIBRARIES_DOS_H */
33
34 #ifndef LIBRARIES_DOSEXTENS_H
35 #include <libraries/dosextens.h>
36 #endif  /* LIBRARIES_DOSEXTENS_H */
37
38 #ifndef LIBRARIES_DISKFONT_H
39 #include <libraries/diskfont.h>
40 #endif  /* LIBRARIES_DISKFONT_H */
41
42 #ifndef GRAPHICS_TEXT_H
43 #include <graphics/text.h>
44 #endif  /* GRAPHICS_TEXT_H */
45
46 #ifndef UTILITY_TAGITEM_H
47 #include <utility/tagitem.h>
48 #endif  /* UTILITY_TAGITEM_H */
49
50 #define REQTOOLSNAME             "reqtools.library"
51 #define REQTOOLSVERSION          38L
52
53 /***********************
54 *                      *
55 *     Preferences      *
56 *                      *
57 ***********************/
58
59 #define RTPREF_FILEREQ           0L
60 #define RTPREF_FONTREQ           1L
61 #define RTPREF_PALETTEREQ        2L
62 #define RTPREF_SCREENMODEREQ     3L
63 #define RTPREF_VOLUMEREQ         4L
64 #define RTPREF_OTHERREQ          5L
65 #define RTPREF_NR_OF_REQ         6L
66
67 struct ReqDefaults {
68    ULONG Size;
69    ULONG ReqPos;
70    UWORD LeftOffset;
71    UWORD TopOffset;
72         UWORD MinEntries;
73         UWORD MaxEntries;
74    };
75
76 struct ReqToolsPrefs {
77    /* Size of preferences (_without_ this field and the semaphore) */
78    ULONG PrefsSize;
79    struct SignalSemaphore PrefsSemaphore;
80    /* Start of real preferences */
81    ULONG Flags;
82    struct ReqDefaults ReqDefaults[RTPREF_NR_OF_REQ];
83    };
84
85 #define RTPREFS_SIZE \
86    (sizeof (struct ReqToolsPrefs) - sizeof (struct SignalSemaphore) - 4)
87
88 /* Flags */
89
90 #define RTPRB_DIRSFIRST          0L
91 #define RTPRF_DIRSFIRST          (1L<<RTPRB_DIRSFIRST)
92 #define RTPRB_DIRSMIXED          1L
93 #define RTPRF_DIRSMIXED          (1L<<RTPRB_DIRSMIXED)
94 #define RTPRB_IMMSORT            2L
95 #define RTPRF_IMMSORT            (1L<<RTPRB_IMMSORT)
96 #define RTPRB_NOSCRTOFRONT       3L
97 #define RTPRF_NOSCRTOFRONT       (1L<<RTPRB_NOSCRTOFRONT)
98 #define RTPRB_NOLED              4L
99 #define RTPRF_NOLED              (1L<<RTPRB_NOLED)
100
101 /***********************
102 *                      *
103 *     Library Base     *
104 *                      *
105 ***********************/
106
107 struct ReqToolsBase {
108    struct Library LibNode;
109    UBYTE RTFlags;
110    UBYTE pad[3];
111    BPTR SegList;
112
113    /* PUBLIC FIELDS */
114
115    /* NOTE: Some versions of the Manx C compiler contain a bug so it gets
116             confused by the library bases below.  Add the rt_ prefix to the
117             library names to fix the problem (e.g. rt_IntuitionBase). */
118
119    /* The following library bases may be read and used by your program */
120    struct IntuitionBase *IntuitionBase;
121    struct GfxBase *GfxBase;
122    struct DosLibrary *DOSBase;
123    /* Next two library bases are only (and always) valid on Kickstart 2.0!
124       (1.3 version of reqtools also initializes these when run on 2.0) */
125    struct Library *GadToolsBase;
126    struct Library *UtilityBase;
127
128    /* PRIVATE FIELDS, THESE WILL CHANGE FROM RELEASE TO RELEASE! */
129
130    /* The RealOpenCnt is for the buffered AvailFonts feature.  Since
131       Kickstart 3.0 offers low memory handlers a release of ReqTools for 3.0
132       will not use this field and start using the normal OpenCnt again. */
133    UWORD RealOpenCnt;
134    UWORD AvailFontsLock;
135    struct AvailFontsHeader *AvailFontsHeader;
136    ULONG FontsAssignType;
137    BPTR FontsAssignLock;
138    struct AssignList *FontsAssignList;
139    struct ReqToolsPrefs ReqToolsPrefs;
140    UWORD prefspad;
141    };
142
143 /* types of requesters, for rtAllocRequestA() */
144 #define RT_FILEREQ               0L
145 #define RT_REQINFO               1L
146 #define RT_FONTREQ               2L
147 /* (V38) */
148 #define RT_SCREENMODEREQ         3L
149
150 /***********************
151 *                      *
152 *    File requester    *
153 *                      *
154 ***********************/
155
156 /* structure _MUST_ be allocated with rtAllocRequest() */
157
158 struct rtFileRequester {
159    ULONG ReqPos;
160    UWORD LeftOffset;
161    UWORD TopOffset;
162    ULONG Flags;
163    /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
164    /* */
165    char  *Dir;               /* READ ONLY! Change with rtChangeReqAttrA()! */
166    char  *MatchPat;          /* READ ONLY! Change with rtChangeReqAttrA()! */
167    /* */
168    struct TextFont *DefaultFont;
169    ULONG WaitPointer;
170    /* (V38) */
171    ULONG LockWindow;
172    ULONG ShareIDCMP;
173    struct Hook *IntuiMsgFunc;
174    UWORD reserved1;
175    UWORD reserved2;
176    UWORD reserved3;
177    UWORD ReqHeight;          /* READ ONLY!  Use RTFI_Height tag! */
178    /* Private data follows! HANDS OFF :-) */
179    };
180
181 /* returned by rtFileRequestA() if multiselect is enabled,
182    free list with rtFreeFileList() */
183
184 struct rtFileList {
185    struct rtFileList *Next;
186    ULONG StrLen;             /* -1 for directories */
187    char *Name;
188    };
189
190 /* structure passed to RTFI_FilterFunc callback hook by
191    volume requester (see RTFI_VolumeRequest tag) */
192
193 struct rtVolumeEntry {
194    ULONG Type;               /* DLT_DEVICE or DLT_DIRECTORY */
195    char *Name;
196    };
197
198 /***********************
199 *                      *
200 *    Font requester    *
201 *                      *
202 ***********************/
203
204 /* structure _MUST_ be allocated with rtAllocRequest() */
205
206 struct rtFontRequester {
207    ULONG ReqPos;
208    UWORD LeftOffset;
209    UWORD TopOffset;
210    ULONG Flags;
211    /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
212    /* */
213    struct TextAttr Attr;         /* READ ONLY! */
214    /* */
215    struct TextFont *DefaultFont;
216    ULONG WaitPointer;
217    /* (V38) */
218    ULONG LockWindow;
219    ULONG ShareIDCMP;
220    struct Hook *IntuiMsgFunc;
221    UWORD reserved1;
222    UWORD reserved2;
223    UWORD reserved3;
224    UWORD ReqHeight;              /* READ ONLY!  Use RTFO_Height tag! */
225    /* Private data follows! HANDS OFF :-) */
226    };
227
228 /*************************
229 *                        *
230 *  ScreenMode requester  *
231 *                        *
232 *************************/
233
234 /* structure _MUST_ be allocated with rtAllocRequest() */
235
236 struct rtScreenModeRequester {
237    ULONG ReqPos;
238    UWORD LeftOffset;
239    UWORD TopOffset;
240    ULONG Flags;
241    ULONG private1;
242    /* */
243    ULONG DisplayID;              /* READ ONLY! */
244    UWORD DisplayWidth;           /* READ ONLY! */
245    UWORD DisplayHeight;          /* READ ONLY! */
246    /* */
247    struct TextFont *DefaultFont;
248    ULONG WaitPointer;
249    ULONG LockWindow;
250    ULONG ShareIDCMP;
251    struct Hook *IntuiMsgFunc;
252    UWORD reserved1;
253    UWORD reserved2;
254    UWORD reserved3;
255    UWORD ReqHeight;              /* READ ONLY!  Use RTSC_Height tag! */
256    /* */
257    UWORD DisplayDepth;           /* READ ONLY! */
258    UWORD OverscanType;           /* READ ONLY! */
259    ULONG AutoScroll;             /* READ ONLY! */
260    /* Private data follows! HANDS OFF :-) */
261    };
262
263 /***********************
264 *                      *
265 *    Requester Info    *
266 *                      *
267 ***********************/
268
269 /* for rtEZRequestA(), rtGetLongA(), rtGetStringA() and rtPaletteRequestA(),
270    _MUST_ be allocated with rtAllocRequest() */
271
272 struct rtReqInfo {
273    ULONG ReqPos;
274    UWORD LeftOffset;
275    UWORD TopOffset;
276    ULONG Width;                  /* not for rtEZRequestA() */
277    char *ReqTitle;               /* currently only for rtEZRequestA() */
278    ULONG Flags;
279    struct TextFont *DefaultFont; /* currently only for rtPaletteRequestA() */
280    ULONG WaitPointer;
281    /* (V38) */
282    ULONG LockWindow;
283    ULONG ShareIDCMP;
284    struct Hook *IntuiMsgFunc;
285    /* structure may be extended in future */
286    };
287
288 /***********************
289 *                      *
290 *     Handler Info     *
291 *                      *
292 ***********************/
293
294 /* for rtReqHandlerA(), will be allocated for you when you use
295    the RT_ReqHandler tag, never try to allocate this yourself! */
296
297 struct rtHandlerInfo {
298    ULONG private1;
299    ULONG WaitMask;
300    ULONG DoNotWait;
301    /* Private data follows, HANDS OFF :-) */
302    };
303
304 /* possible return codes from rtReqHandlerA() */
305
306 #define CALL_HANDLER             (ULONG)0x80000000
307
308
309 /*************************************
310 *                                    *
311 *                TAGS                *
312 *                                    *
313 *************************************/
314
315 #define RT_TagBase               TAG_USER
316
317 /*** tags understood by most requester functions ***
318 */
319 /* optional pointer to window */
320 #define RT_Window                (RT_TagBase+1)
321 /* idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) */
322 #define RT_IDCMPFlags            (RT_TagBase+2)
323 /* position of requester window (see below) - default REQPOS_POINTER */
324 #define RT_ReqPos                (RT_TagBase+3)
325 /* leftedge offset of requester relative to position specified by RT_ReqPos */
326 #define RT_LeftOffset            (RT_TagBase+4)
327 /* topedge offset of requester relative to position specified by RT_ReqPos */
328 #define RT_TopOffset             (RT_TagBase+5)
329 /* name of public screen to put requester on (Kickstart 2.0 only!) */
330 #define RT_PubScrName            (RT_TagBase+6)
331 /* address of screen to put requester on */
332 #define RT_Screen                (RT_TagBase+7)
333 /* tagdata must hold the address of (!) an APTR variable */
334 #define RT_ReqHandler            (RT_TagBase+8)
335 /* font to use when screen font is rejected, _MUST_ be fixed-width font!
336    (struct TextFont *, not struct TextAttr *!)
337    - default GfxBase->DefaultFont */
338 #define RT_DefaultFont           (RT_TagBase+9)
339 /* boolean to set the standard wait pointer in window - default FALSE */
340 #define RT_WaitPointer           (RT_TagBase+10)
341 /* (V38) char preceding keyboard shortcut characters (will be underlined) */
342 #define RT_Underscore            (RT_TagBase+11)
343 /* (V38) share IDCMP port with window - default FALSE */
344 #define RT_ShareIDCMP            (RT_TagBase+12)
345 /* (V38) lock window and set standard wait pointer - default FALSE */
346 #define RT_LockWindow            (RT_TagBase+13)
347 /* (V38) boolean to make requester's screen pop to front - default TRUE */
348 #define RT_ScreenToFront         (RT_TagBase+14)
349 /* (V38) Requester should use this font - default: screen font */
350 #define RT_TextAttr              (RT_TagBase+15)
351 /* (V38) call this hook for every IDCMP message not for requester */
352 #define RT_IntuiMsgFunc          (RT_TagBase+16)
353 /* (V38) Locale ReqTools should use for text */
354 #define RT_Locale                (RT_TagBase+17)
355
356 /*** tags specific to rtEZRequestA ***
357 */
358 /* title of requester window - english default "Request" or "Information" */
359 #define RTEZ_ReqTitle            (RT_TagBase+20)
360 /* (RT_TagBase+21) reserved */
361 /* various flags (see below) */
362 #define RTEZ_Flags               (RT_TagBase+22)
363 /* default response (activated by pressing RETURN) - default TRUE */
364 #define RTEZ_DefaultResponse     (RT_TagBase+23)
365
366 /*** tags specific to rtGetLongA ***
367 */
368 /* minimum allowed value - default MININT */
369 #define RTGL_Min                 (RT_TagBase+30)
370 /* maximum allowed value - default MAXINT */
371 #define RTGL_Max                 (RT_TagBase+31)
372 /* suggested width of requester window (in pixels) */
373 #define RTGL_Width               (RT_TagBase+32)
374 /* boolean to show the default value - default TRUE */
375 #define RTGL_ShowDefault         (RT_TagBase+33)
376 /* (V38) string with possible responses - english default " _Ok |_Cancel" */
377 #define RTGL_GadFmt              (RT_TagBase+34)
378 /* (V38) optional arguments for RTGL_GadFmt */
379 #define RTGL_GadFmtArgs          (RT_TagBase+35)
380 /* (V38) invisible typing - default FALSE */
381 #define RTGL_Invisible           (RT_TagBase+36)
382 /* (V38) window backfill - default TRUE */
383 #define RTGL_BackFill            (RT_TagBase+37)
384 /* (V38) optional text above gadget */
385 #define RTGL_TextFmt             (RT_TagBase+38)
386 /* (V38) optional arguments for RTGS_TextFmt */
387 #define RTGL_TextFmtArgs         (RT_TagBase+39)
388 /* (V38) various flags (see below) */
389 #define RTGL_Flags               RTEZ_Flags
390
391 /*** tags specific to rtGetStringA ***
392 */
393 /* suggested width of requester window (in pixels) */
394 #define RTGS_Width               RTGL_Width
395 /* allow empty string to be accepted - default FALSE */
396 #define RTGS_AllowEmpty          (RT_TagBase+80)
397 /* (V38) string with possible responses - english default " _Ok |_Cancel" */
398 #define RTGS_GadFmt              RTGL_GadFmt
399 /* (V38) optional arguments for RTGS_GadFmt */
400 #define RTGS_GadFmtArgs          RTGL_GadFmtArgs
401 /* (V38) invisible typing - default FALSE */
402 #define RTGS_Invisible           RTGL_Invisible
403 /* (V38) window backfill - default TRUE */
404 #define RTGS_BackFill            RTGL_BackFill
405 /* (V38) optional text above gadget */
406 #define RTGS_TextFmt             RTGL_TextFmt
407 /* (V38) optional arguments for RTGS_TextFmt */
408 #define RTGS_TextFmtArgs         RTGL_TextFmtArgs
409 /* (V38) various flags (see below) */
410 #define RTGS_Flags               RTEZ_Flags
411
412 /*** tags specific to rtFileRequestA ***
413 */
414 /* various flags (see below) */
415 #define RTFI_Flags               (RT_TagBase+40)
416 /* suggested height of file requester */
417 #define RTFI_Height              (RT_TagBase+41)
418 /* replacement text for 'Ok' gadget (max 6 chars) */
419 #define RTFI_OkText              (RT_TagBase+42)
420 /* (V38) bring up volume requester, tag data holds flags (see below) */
421 #define RTFI_VolumeRequest       (RT_TagBase+43)
422 /* (V38) call this hook for every file in the directory */
423 #define RTFI_FilterFunc          (RT_TagBase+44)
424 /* (V38) allow empty file to be accepted - default FALSE */
425 #define RTFI_AllowEmpty          (RT_TagBase+45)
426
427 /*** tags specific to rtFontRequestA ***
428 */
429 /* various flags (see below) */
430 #define RTFO_Flags               RTFI_Flags
431 /* suggested height of font requester */
432 #define RTFO_Height              RTFI_Height
433 /* replacement text for 'Ok' gadget (max 6 chars) */
434 #define RTFO_OkText              RTFI_OkText
435 /* suggested height of font sample display - default 24 */
436 #define RTFO_SampleHeight        (RT_TagBase+60)
437 /* minimum height of font displayed */
438 #define RTFO_MinHeight           (RT_TagBase+61)
439 /* maximum height of font displayed */
440 #define RTFO_MaxHeight           (RT_TagBase+62)
441 /* [(RT_TagBase+63) to (RT_TagBase+66) used below] */
442 /* (V38) call this hook for every font */
443 #define RTFO_FilterFunc          RTFI_FilterFunc
444
445 /*** (V38) tags for rtScreenModeRequestA ***
446 */
447 /* various flags (see below) */
448 #define RTSC_Flags               RTFI_Flags
449 /* suggested height of screenmode requester */
450 #define RTSC_Height              RTFI_Height
451 /* replacement text for 'Ok' gadget (max 6 chars) */
452 #define RTSC_OkText              RTFI_OkText
453 /* property flags (see also RTSC_PropertyMask) */
454 #define RTSC_PropertyFlags       (RT_TagBase+90)
455 /* property mask - default all bits in RTSC_PropertyFlags considered */
456 #define RTSC_PropertyMask        (RT_TagBase+91)
457 /* minimum display width allowed */
458 #define RTSC_MinWidth            (RT_TagBase+92)
459 /* maximum display width allowed */
460 #define RTSC_MaxWidth            (RT_TagBase+93)
461 /* minimum display height allowed */
462 #define RTSC_MinHeight           (RT_TagBase+94)
463 /* maximum display height allowed */
464 #define RTSC_MaxHeight           (RT_TagBase+95)
465 /* minimum display depth allowed */
466 #define RTSC_MinDepth            (RT_TagBase+96)
467 /* maximum display depth allowed */
468 #define RTSC_MaxDepth            (RT_TagBase+97)
469 /* call this hook for every display mode id */
470 #define RTSC_FilterFunc          RTFI_FilterFunc
471
472 /*** tags for rtChangeReqAttrA ***
473 */
474 /* file requester - set directory */
475 #define RTFI_Dir                 (RT_TagBase+50)
476 /* file requester - set wildcard pattern */
477 #define RTFI_MatchPat            (RT_TagBase+51)
478 /* file requester - add a file or directory to the buffer */
479 #define RTFI_AddEntry            (RT_TagBase+52)
480 /* file requester - remove a file or directory from the buffer */
481 #define RTFI_RemoveEntry         (RT_TagBase+53)
482 /* font requester - set font name of selected font */
483 #define RTFO_FontName            (RT_TagBase+63)
484 /* font requester - set font size */
485 #define RTFO_FontHeight          (RT_TagBase+64)
486 /* font requester - set font style */
487 #define RTFO_FontStyle           (RT_TagBase+65)
488 /* font requester - set font flags */
489 #define RTFO_FontFlags           (RT_TagBase+66)
490 /* (V38) screenmode requester - get display attributes from screen */
491 #define RTSC_ModeFromScreen      (RT_TagBase+80)
492 /* (V38) screenmode requester - set display mode id (32-bit extended) */
493 #define RTSC_DisplayID           (RT_TagBase+81)
494 /* (V38) screenmode requester - set display width */
495 #define RTSC_DisplayWidth        (RT_TagBase+82)
496 /* (V38) screenmode requester - set display height */
497 #define RTSC_DisplayHeight       (RT_TagBase+83)
498 /* (V38) screenmode requester - set display depth */
499 #define RTSC_DisplayDepth        (RT_TagBase+84)
500 /* (V38) screenmode requester - set overscan type, 0 for regular size */
501 #define RTSC_OverscanType        (RT_TagBase+85)
502 /* (V38) screenmode requester - set autoscroll */
503 #define RTSC_AutoScroll          (RT_TagBase+86)
504
505 /*** tags for rtPaletteRequestA ***
506 */
507 /* initially selected color - default 1 */
508 #define RTPA_Color               (RT_TagBase+70)
509
510 /*** tags for rtReqHandlerA ***
511 */
512 /* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or
513    in case of rtEZRequest to the return value */
514 #define RTRH_EndRequest          (RT_TagBase+60)
515
516 /*** tags for rtAllocRequestA ***/
517 /* no tags defined yet */
518
519
520 /************
521 * RT_ReqPos *
522 ************/
523 #define REQPOS_POINTER           0L
524 #define REQPOS_CENTERWIN         1L
525 #define REQPOS_CENTERSCR         2L
526 #define REQPOS_TOPLEFTWIN        3L
527 #define REQPOS_TOPLEFTSCR        4L
528
529 /******************
530 * RTRH_EndRequest *
531 ******************/
532 #define REQ_CANCEL               0L
533 #define REQ_OK                   1L
534
535 /***************************************
536 * flags for RTFI_Flags and RTFO_Flags  *
537 * or filereq->Flags and fontreq->Flags *
538 ***************************************/
539 #define FREQB_NOBUFFER           2L
540 #define FREQF_NOBUFFER           (1L<<FREQB_NOBUFFER)
541
542 /*****************************************
543 * flags for RTFI_Flags or filereq->Flags *
544 *****************************************/
545 #define FREQB_MULTISELECT        0L
546 #define FREQF_MULTISELECT        (1L<<FREQB_MULTISELECT)
547 #define FREQB_SAVE               1L
548 #define FREQF_SAVE               (1L<<FREQB_SAVE)
549 #define FREQB_NOFILES            3L
550 #define FREQF_NOFILES            (1L<<FREQB_NOFILES)
551 #define FREQB_PATGAD             4L
552 #define FREQF_PATGAD             (1L<<FREQB_PATGAD)
553 #define FREQB_SELECTDIRS         12L
554 #define FREQF_SELECTDIRS         (1L<<FREQB_SELECTDIRS)
555
556 /*****************************************
557 * flags for RTFO_Flags or fontreq->Flags *
558 *****************************************/
559 #define FREQB_FIXEDWIDTH         5L
560 #define FREQF_FIXEDWIDTH         (1L<<FREQB_FIXEDWIDTH)
561 #define FREQB_COLORFONTS         6L
562 #define FREQF_COLORFONTS         (1L<<FREQB_COLORFONTS)
563 #define FREQB_CHANGEPALETTE      7L
564 #define FREQF_CHANGEPALETTE      (1L<<FREQB_CHANGEPALETTE)
565 #define FREQB_LEAVEPALETTE       8L
566 #define FREQF_LEAVEPALETTE       (1L<<FREQB_LEAVEPALETTE)
567 #define FREQB_SCALE              9L
568 #define FREQF_SCALE              (1L<<FREQB_SCALE)
569 #define FREQB_STYLE              10L
570 #define FREQF_STYLE              (1L<<FREQB_STYLE)
571
572 /*****************************************************
573 * (V38) flags for RTSC_Flags or screenmodereq->Flags *
574 *****************************************************/
575 #define SCREQB_SIZEGADS          13L
576 #define SCREQF_SIZEGADS          (1L<<SCREQB_SIZEGADS)
577 #define SCREQB_DEPTHGAD          14L
578 #define SCREQF_DEPTHGAD          (1L<<SCREQB_DEPTHGAD)
579 #define SCREQB_NONSTDMODES       15L
580 #define SCREQF_NONSTDMODES       (1L<<SCREQB_NONSTDMODES)
581 #define SCREQB_GUIMODES          16L
582 #define SCREQF_GUIMODES          (1L<<SCREQB_GUIMODES)
583 #define SCREQB_AUTOSCROLLGAD     18L
584 #define SCREQF_AUTOSCROLLGAD     (1L<<SCREQB_AUTOSCROLLGAD)
585 #define SCREQB_OVERSCANGAD       19L
586 #define SCREQF_OVERSCANGAD       (1L<<SCREQB_OVERSCANGAD)
587
588 /*****************************************
589 * flags for RTEZ_Flags or reqinfo->Flags *
590 *****************************************/
591 #define EZREQB_NORETURNKEY       0L
592 #define EZREQF_NORETURNKEY       (1L<<EZREQB_NORETURNKEY)
593 #define EZREQB_LAMIGAQUAL        1L
594 #define EZREQF_LAMIGAQUAL        (1L<<EZREQB_LAMIGAQUAL)
595 #define EZREQB_CENTERTEXT        2L
596 #define EZREQF_CENTERTEXT        (1L<<EZREQB_CENTERTEXT)
597
598 /***********************************************
599 * (V38) flags for RTGL_Flags or reqinfo->Flags *
600 ***********************************************/
601 #define GLREQB_CENTERTEXT        EZREQB_CENTERTEXT
602 #define GLREQF_CENTERTEXT        EZREQF_CENTERTEXT
603 #define GLREQB_HIGHLIGHTTEXT     3L
604 #define GLREQF_HIGHLIGHTTEXT     (1L<<GLREQB_HIGHLIGHTTEXT)
605
606 /***********************************************
607 * (V38) flags for RTGS_Flags or reqinfo->Flags *
608 ***********************************************/
609 #define GSREQB_CENTERTEXT        EZREQB_CENTERTEXT
610 #define GSREQF_CENTERTEXT        EZREQF_CENTERTEXT
611 #define GSREQB_HIGHLIGHTTEXT     GLREQB_HIGHLIGHTTEXT
612 #define GSREQF_HIGHLIGHTTEXT     GLREQF_HIGHLIGHTTEXT
613
614 /*****************************************
615 * (V38) flags for RTFI_VolumeRequest tag *
616 *****************************************/
617 #define VREQB_NOASSIGNS          0L
618 #define VREQF_NOASSIGNS          (1L<<VREQB_NOASSIGNS)
619 #define VREQB_NODISKS            1L
620 #define VREQF_NODISKS            (1L<<VREQB_NODISKS)
621 #define VREQB_ALLDISKS           2L
622 #define VREQF_ALLDISKS           (1L<<VREQB_ALLDISKS)
623
624 /*
625    Following things are obsolete in ReqTools V38.
626    DON'T USE THESE IN NEW CODE!
627 */
628 #ifndef NO_REQTOOLS_OBSOLETE
629 #define REQHOOK_WILDFILE 0L
630 #define REQHOOK_WILDFONT 1L
631 #define FREQB_DOWILDFUNC 11L                   
632 #define FREQF_DOWILDFUNC (1L<<FREQB_DOWILDFUNC)
633 #endif
634
635 #endif /* LIBRARIES_REQTOOLS_H */