home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / at-inc-bin.lha / os-include / utility / tagitem.i < prev    next >
Text File  |  1993-10-15  |  2KB  |  63 lines

  1.     IFND UTILITY_TAGITEM_I
  2. UTILITY_TAGITEM_I SET    1
  3. **
  4. **    $VER: tagitem.i 40.1 (19.7.93)
  5. **    Includes Release 40.15
  6. **
  7. **    Extended specification mechanism
  8. **
  9. **    (C) Copyright 1989-1993 Commodore-Amiga Inc.
  10. **    All Rights Reserved
  11. **
  12.  
  13. ;---------------------------------------------------------------------------
  14.  
  15.     IFND EXEC_TYPES_I
  16.     INCLUDE "exec/types.i"
  17.     ENDC
  18.  
  19. ;---------------------------------------------------------------------------
  20.  
  21. ; Tags are a general mechanism of extensible data arrays for parameter
  22. ; specification and property inquiry. In practice, tags are used in arrays,
  23. ; or chain of arrays.
  24.  
  25.    STRUCTURE TagItem,0
  26.     ULONG    ti_Tag        ; identifies the type of the data
  27.     ULONG    ti_Data        ; type-specific data
  28.    LABEL ti_SIZEOF
  29.  
  30. ; constants for Tag.ti_Tag, control tag values
  31. TAG_DONE   equ 0  ; terminates array of TagItems. ti_Data unused
  32. TAG_END       equ 0  ; synonym for TAG_DONE
  33. TAG_IGNORE equ 1  ; ignore this item, not end of array
  34. TAG_MORE   equ 2  ; ti_Data is pointer to another array of TagItems
  35.           ; note that this tag terminates the current array
  36. TAG_SKIP   equ 3  ; skip this and the next ti_Data items
  37.  
  38. ; differentiates user tags from control tags
  39. TAG_USER   equ $80000000
  40.  
  41. ; If the TAG_USER bit is set in a tag number, it tells utility.library that
  42. ; the tag is not a control tag (like TAG_DONE, TAG_IGNORE, TAG_MORE) and is
  43. ; instead an application tag. "USER" means a client of utility.library in
  44. ; general, including system code like Intuition or ASL, it has nothing to do
  45. ; with user code.
  46. ;
  47.  
  48. ;---------------------------------------------------------------------------
  49.  
  50. ; Tag filter logic specifiers for use with FilterTagItems()
  51. TAGFILTER_AND equ 0    ; exclude everything but filter hits
  52. TAGFILTER_NOT equ 1    ; exclude only filter hits
  53.  
  54. ;---------------------------------------------------------------------------
  55.  
  56. ; Mapping types for use with MapTags()
  57. MAP_REMOVE_NOT_FOUND equ 0    ; remove tags that aren't in mapList
  58. MAP_KEEP_NOT_FOUND   equ 1    ; keep tags that aren't in mapList
  59.  
  60. ;---------------------------------------------------------------------------
  61.  
  62.     ENDC    ; UTILITY_TAGITEM_I
  63.