home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / useful / os-include / utility / tagitem.i < prev    next >
Text File  |  1992-09-24  |  3KB  |  71 lines

  1.     IFND UTILITY_TAGITEM_I
  2. UTILITY_TAGITEM_I SET    1
  3. **
  4. **    $VER: tagitem.i 39.1 (20.01.92)
  5. **    Includes Release 39.108
  6. **
  7. **    Extended specification mechanism
  8. **
  9. **    (C) Copyright 1989-1992 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, system 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. ; Indication of user tag, OR this in with user tag values */
  39. TAG_USER   equ $80000000  ; differentiates user tags from system tags
  40.  
  41. ; NOTE: Until further notice, tag bits 16-30 are RESERVED and should be zero.
  42. ;    Also, the value (TAG_USER | 0) should never be used as a tag value.
  43. ;
  44.  
  45. ;---------------------------------------------------------------------------
  46.  
  47. ; Tag filter logic specifiers for use with FilterTagItems()
  48. TAGFILTER_AND equ 0    ; exclude everything but filter hits
  49. TAGFILTER_NOT equ 1    ; exclude only filter hits
  50.  
  51. ;---------------------------------------------------------------------------
  52.  
  53. ; Mapping types for use with MapTags()
  54. MAP_REMOVE_NOT_FOUND equ 0    ; remove tags that aren't in mapList
  55. MAP_KEEP_NOT_FOUND   equ 1    ; keep tags that aren't in mapList
  56.  
  57. ;---------------------------------------------------------------------------
  58.  
  59. ; Merging types for use with MergeTagItems() */
  60. MERGE_OR_LIST_1   equ 0    ; list 1's item is preferred
  61. MERGE_OR_LIST_2   equ 1    ; list 2's item is preferred
  62. MERGE_AND_LIST_1  equ 2    ; item must appear in both lists
  63. MERGE_AND_LIST_2  equ 3    ; item must appear in both lists
  64. MERGE_NOT_LIST_1  equ 4    ; item must not appear in list 1
  65. MERGE_NOT_LIST_2  equ 5 ; item must not appear in list 2
  66. MERGE_XOR      equ 6    ; item must appear in only one list
  67.  
  68. ;---------------------------------------------------------------------------
  69.  
  70.     ENDC    ; UTILITY_TAGITEM_I
  71.