home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / gnu / ixemul-39.47-env-bin.lha / include / libraries / reqtools.i < prev   
Text File  |  1993-08-25  |  18KB  |  585 lines

  1.     IFND LIBRARIES_REQTOOLS_I
  2. LIBRARIES_REQTOOLS_I SET 1
  3. **
  4. **    $Filename: libraries/reqtools.i $
  5. **    $Release: 2.1 $
  6. **    $Revision: 38.10 $
  7. **
  8. **    reqtools.library definitions
  9. **
  10. **    (C) Copyright 1991-1993 Nico François
  11. **    All Rights Reserved
  12. **
  13.  
  14.    IFND EXEC_LISTS_I
  15.    include "exec/lists.i"
  16.    ENDC
  17.  
  18.    IFND EXEC_LIBRARIES_I
  19.    include "exec/libraries.i"
  20.    ENDC
  21.  
  22.    IFND EXEC_SEMAPHORES_I
  23.    include "exec/semaphores.i"
  24.    ENDC
  25.  
  26.    IFND LIBRARIES_DOS_I
  27.    include "libraries/dos.i"
  28.    ENDC
  29.  
  30.    IFND LIBRARIES_DOSEXTENS_I
  31.    include "libraries/dosextens.i"
  32.    ENDC
  33.  
  34.    IFND GRAPHICS_TEXT_I
  35.    include "graphics/text.i"
  36.    ENDC
  37.  
  38.    IFND UTILITY_TAGITEM_I
  39.    include "utility/tagitem.i"
  40.    ENDC
  41.  
  42. REQTOOLSNAME   MACRO
  43.    dc.b "reqtools.library",0
  44.    ENDM
  45.  
  46. REQTOOLSVERSION        equ     38
  47.  
  48. ************************
  49. *                      *
  50. *     Preferences      *
  51. *                      *
  52. ************************
  53.  
  54. RTPREF_FILEREQ        equ     0
  55. RTPREF_FONTREQ        equ     1
  56. RTPREF_PALETTEREQ    equ     2
  57. RTPREF_SCREENMODEREQ    equ     3
  58. RTPREF_VOLUMEREQ    equ     4
  59. RTPREF_OTHERREQ        equ     5
  60. RTPREF_NR_OF_REQ    equ     6
  61.  
  62.    STRUCTURE ReqDefaults,0
  63.       ULONG rtrd_Size
  64.       ULONG rtrd_ReqPos
  65.       UWORD rtrd_LeftOffset
  66.       UWORD rtrd_TopOffset
  67.       UWORD rtrd_MinEntries
  68.       UWORD rtrd_MaxEntries
  69.       LABEL ReqDefaults_SIZE
  70.  
  71.    STRUCTURE ReqToolsPrefs,0
  72.       * Size of preferences (_without_ this field and the semaphore)
  73.       ULONG  rtpr_PrefsSize
  74.       STRUCT rtpr_PrefsSemaphore,SS_SIZE
  75.       * Start of real preferences
  76.       ULONG  rtpr_Flags
  77.       STRUCT rtpr_ReqDefaults,RTPREF_NR_OF_REQ*ReqDefaults_SIZE
  78.       LABEL ReqToolsPrefs_SIZE
  79.  
  80. RTPREFS_SIZE    equ      (ReqToolsPrefs_SIZE-SS_SIZE-4)
  81.  
  82. * Flags
  83.  
  84.    BITDEF RTPR,DIRSFIRST,0
  85.    BITDEF RTPR,DIRSMIXED,1
  86.    BITDEF RTPR,IMMSORT,2
  87.    BITDEF RTPR,NOSCRTOFRONT,3
  88.  
  89. ************************
  90. *                      *
  91. *     Library Base     *
  92. *                      *
  93. ************************
  94.  
  95.    STRUCTURE ReqToolsBase,LIB_SIZE
  96.       UBYTE  rt_RTFlags
  97.       STRUCT rt_pad,3
  98.       ULONG  rt_SegList
  99.  
  100.       * PUBLIC FIELDS *
  101.  
  102.       * The following library bases may be read and used by your program
  103.       APTR   rt_IntuitionBase
  104.       APTR   rt_GfxBase
  105.       APTR   rt_DOSBase
  106.       * Next two library bases are only (and always) valid on Kickstart 2.0!
  107.       * (1.3 version of reqtools also initializes these when run on 2.0)
  108.       APTR   rt_GadToolsBase
  109.       APTR   rt_UtilityBase
  110.  
  111.       * PRIVATE FIELDS, THESE WILL CHANGE FROM RELEASE TO RELEASE!
  112.  
  113.       * The RealOpenCnt is for the buffered AvailFonts feature.  Since
  114.       * Kickstart 3.0 offers low memory handlers a release of ReqTools for
  115.       * 3.0 will not use this field and start using the normal OpenCnt again.
  116.       UWORD  rt_RealOpenCnt
  117.       UWORD  rt_AvailFontsLock
  118.       APTR   rt_AvailFontsHeader
  119.       ULONG  rt_FontsAssignType
  120.       BPTR   rt_FontsAssignLock
  121.       APTR   rt_FontsAssignList
  122.       STRUCT rt_ReqToolsPrefs,ReqToolsPrefs_SIZE
  123.       UWORD  rt_prefspad
  124.       LABEL  ReqToolsBase_SIZE
  125.  
  126. * types of requesters, for rtAllocRequestA()
  127. RT_FILEREQ        equ     0
  128. RT_REQINFO        equ     1
  129. RT_FONTREQ        equ     2
  130. * (V38) *
  131. RT_SCREENMODEREQ    equ     3
  132.  
  133. ************************
  134. *                      *
  135. *    File requester    *
  136. *                      *
  137. ************************
  138.  
  139. * structure _MUST_ be allocated with rtAllocRequest()
  140.  
  141.    STRUCTURE rtFileRequester,0
  142.       ULONG rtfi_ReqPos
  143.       UWORD rtfi_LeftOffset
  144.       UWORD rtfi_TopOffset
  145.       ULONG rtfi_Flags
  146.       ULONG rtfi_private1
  147.       APTR  rtfi_Dir        * READ ONLY! Change with rtChangeReqAttrA()!
  148.       APTR  rtfi_MatchPat    * READ ONLY! Change with rtChangeReqAttrA()!
  149.       APTR  rtfi_DefaultFont
  150.       ULONG rtfi_WaitPointer
  151.       * (V38) *
  152.       ULONG rtfi_LockWindow
  153.       ULONG rtfi_ShareIDCMP
  154.       APTR  rtfi_IntuiMsgFunc
  155.       UWORD rtfi_reserved1
  156.       UWORD rtfi_reserved2
  157.       UWORD rtfi_reserved3
  158.       UWORD rtfi_ReqHeight    * READ ONLY!  Use RTFI_Height tag!
  159.       * Lots of private data follows! HANDS OFF :-)
  160.  
  161. * returned by rtFileRequestA() if multiselect is enabled,
  162. * free list with rtFreeFileList()
  163.  
  164.    STRUCTURE rtFileList,0
  165.       APTR  rtfl_Next
  166.       ULONG rtfl_StrLen
  167.       APTR  rtfl_Name
  168.       LABEL rtFileList_SIZE
  169.  
  170. * structure passed to RTFI_FilterFunc callback hook by
  171. * volume requester (see RTFI_VolumeRequest tag)
  172.  
  173.    STRUCTURE rtVolumeEntry,0
  174.       ULONG rtve_Type        * DLT_DEVICE or DLT_DIRECTORY
  175.       APTR  rtve_Name
  176.       LABEL rtVolumeEntry_SIZE
  177.  
  178. ************************
  179. *                      *
  180. *    Font requester    *
  181. *                      *
  182. ************************
  183.  
  184. * structure _MUST_ be allocated with rtAllocRequest()
  185.  
  186.    STRUCTURE rtFontRequester,0
  187.       ULONG  rtfo_ReqPos
  188.       UWORD  rtfo_LeftOffset
  189.       UWORD  rtfo_TopOffset
  190.       ULONG  rtfo_Flags
  191.       APTR   rtfo_private1
  192.       STRUCT rtfo_Attr,ta_SIZEOF * READ ONLY!
  193.       APTR   rtfo_DefaultFont
  194.       ULONG  rtfo_WaitPointer
  195.       * (V38) *
  196.       ULONG  rtfo_LockWindow
  197.       ULONG  rtfo_ShareIDCMP
  198.       APTR   rtfo_IntuiMsgFunc
  199.       UWORD  rtfo_reserved1
  200.       UWORD  rtfo_reserved2
  201.       UWORD  rtfo_reserved3
  202.       UWORD  rtfo_ReqHeight    * READ ONLY!  Use RTFO_Height tag!
  203.       * Lots of private data follows! HANDS OFF :-)
  204.  
  205. **************************
  206. *                        *
  207. *  ScreenMode requester  *
  208. *                        *
  209. **************************
  210.  
  211. * structure _MUST_ be allocated with rtAllocRequest()
  212.  
  213.    STRUCTURE rtScreenModeRequester,0
  214.       ULONG rtsc_ReqPos
  215.       UWORD rtsc_LeftOffset
  216.       UWORD rtsc_TopOffset
  217.       ULONG rtsc_Flags
  218.       APTR  rtsc_private1
  219.       *
  220.       ULONG rtsc_DisplayID    * READ ONLY!
  221.       UWORD rtsc_DisplayWidth    * READ ONLY!
  222.       UWORD rtsc_DisplayHeight    * READ ONLY!
  223.       *
  224.       APTR  rtsc_DefaultFont
  225.       ULONG rtsc_WaitPointer
  226.       ULONG rtsc_LockWindow
  227.       ULONG rtsc_ShareIDCMP
  228.       APTR  rtsc_IntuiMsgFunc
  229.       UWORD rtsc_reserved1
  230.       UWORD rtsc_reserved2
  231.       UWORD rtsc_reserved3
  232.       UWORD rtsc_ReqHeight    * READ ONLY!  Use RTSC_Height tag!
  233.       *
  234.       UWORD rtsc_DisplayDepth    * READ ONLY!
  235.       UWORD rtsc_OverscanType    * READ ONLY!
  236.       ULONG rtsc_AutoScroll    * READ ONLY!
  237.       * Lots of private data follows! HANDS OFF :-)
  238.  
  239. ************************
  240. *                      *
  241. *    Requester Info    *
  242. *                      *
  243. ************************
  244.  
  245. * for rtEZRequestA(), rtGetLongA(), rtGetStringA() and rtPaletteRequestA(),
  246. * _MUST_ be allocated with rtAllocRequest()
  247.  
  248.    STRUCTURE rtReqInfo,0
  249.       ULONG rtri_ReqPos
  250.       UWORD rtri_LeftOffset
  251.       UWORD rtri_TopOffset
  252.       ULONG rtri_Width         * not for rtEZRequestA()
  253.       APTR  rtri_ReqTitle     * currently only for rtEZRequestA()
  254.       ULONG rtri_Flags
  255.       APTR  rtri_DefaultFont     * currently only for rtPaletteRequestA()
  256.       ULONG rtri_WaitPointer
  257.       * (V38) *
  258.       ULONG rtri_LockWindow
  259.       ULONG rtri_ShareIDCMP
  260.       ULONG rtri_IntuiMsgFunc
  261.       * structure may be extended in future
  262.  
  263. ************************
  264. *                      *
  265. *     Handler Info     *
  266. *                      *
  267. ************************
  268.  
  269. * for rtReqHandlerA(), will be allocated for you when you use
  270. * the RT_ReqHandler tag, never try to allocate this yourself!
  271.  
  272.    STRUCTURE rtHandlerInfo,4    * first longword is private!
  273.       ULONG rthi_WaitMask
  274.       ULONG rthi_DoNotWait
  275.       * Private data follows, HANDS OFF :-)
  276.  
  277. * possible return codes from rtReqHandlerA()
  278.  
  279. CALL_HANDLER        equ     $80000000
  280.  
  281.  
  282. **************************************
  283. *                                    *
  284. *                TAGS                *
  285. *                                    *
  286. **************************************
  287.  
  288. RT_TagBase        equ     TAG_USER
  289.  
  290. *** tags understood by most requester functions ***
  291. *
  292. * optional pointer to window
  293. RT_Window        equ     (RT_TagBase+1)
  294. * idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED)
  295. RT_IDCMPFlags        equ     (RT_TagBase+2)
  296. * position of requester window (see below) - default REQPOS_POINTER
  297. RT_ReqPos        equ     (RT_TagBase+3)
  298. * leftedge offset of requester relative to position specified by RT_ReqPos
  299. RT_LeftOffset        equ     (RT_TagBase+4)
  300. * topedge offset of requester relative to position specified by RT_ReqPos
  301. RT_TopOffset        equ     (RT_TagBase+5)
  302. * name of public screen to put requester on (use on Kickstart 2.0 only!)
  303. RT