home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / packery / crmv1.9t / developer / include / libraries / crm.i < prev   
Text File  |  1980-01-10  |  3KB  |  124 lines

  1.     IFND    LIBRARIES_CRM_I
  2. LIBRARIES_CRM_I    SET    1
  3. **
  4. **    $Filename: libraries/crm.i $
  5. **    $Release: 4.0 $
  6. **      $Date: 21-Sep-93 $
  7. **
  8. **    CrM.library include and definition file
  9. **
  10. **    (c) 1992-3 Thomas Schwarz
  11. **    All Rights Reserved
  12. **
  13.  
  14.     IFND    EXEC_TYPES_I
  15.     include    "exec/types.i"
  16.     ENDC
  17.     IFND    UTILITY_TAGITEM_I
  18.     include    "utility/tagitem.i"
  19.     ENDC
  20.  
  21. CRMNAME    MACRO
  22.     dc.b    "CrM.library",0
  23.     ENDM
  24.  
  25. CRMVERSION    equ    4
  26.  
  27. ** Data Header
  28. ***************
  29.     STRUCTURE    DataHeader,0
  30.     ULONG    dh_ID
  31.     UWORD    dh_MinSecDist
  32.     ULONG    dh_OriginalLen
  33.     ULONG    dh_CrunchedLen
  34.     LABEL    dh_SIZEOF
  35.  
  36. ** CurrentStats
  37. ****************
  38.     STRUCTURE    cmCurrentStats,0
  39.     ULONG    cmcu_ToGo
  40.     ULONG    cmcu_Len
  41.     LABEL    cmcu_SIZEOF
  42.  
  43. ** CrunchStruct(ure)
  44. *********************
  45.     STRUCTURE    cmCrunchStruct,0
  46.     APTR    cmcr_Src        ;Source Start
  47.     ULONG    cmcr_SrcLen        ;Source Len
  48.     APTR    cmcr_Dest        ;Destination Start
  49.     ULONG    cmcr_DestLen        ;Destination Len (maximum)
  50.     APTR    cmcr_DataHdr        ;DataHeader
  51.     APTR    cmcr_DisplayHook    ;Hook to display ToGo/Gain Counters
  52. ** Registers hold these values when the Hook is called:
  53. ** a0:struct Hook*  a2:struct cmCrunchStruct*  a1:struct cmCurrentStats*
  54. ** you have to return TRUE/FALSE in d0 to continue/abort crunching!
  55.     UWORD    cmcr_DisplayStep    ;time between 2 calls to the Hook
  56. *******    readonly:
  57.     UWORD    cmcr_Offset        ;desired Offset
  58.     UWORD    cmcr_HuffSize        ;HuffLen in KBytes
  59.     UWORD    cmcr_Algo        ;desired Packalgorithm
  60.     ULONG    cmcr_MaxOffset        ;biggest possible Offset (Buffer allocated)
  61.     ULONG    cmcr_RealOffset        ;currently used Offset
  62.     ULONG    cmcr_MinSecDist        ;MinSecDist for packed Data
  63.     ULONG    cmcr_CrunchedLen    ;Length of crunched Data at cmcr_Dest
  64. ******* private:
  65.     APTR    cmcr_HuffTabs
  66.     APTR    cmcr_HuffBuf
  67.     ULONG    cmcr_HuffLen
  68.     ULONG    cmcr_SpeedLen
  69.     APTR    cmcr_SpeedTab
  70.     APTR    cmcr_MegaSpeedTab
  71.     BYTE    cmcr_QuitFlag        ;readonly: reason for failure
  72.     BYTE    cmcr_OverlayFlag
  73.     BYTE    cmcr_LEDFlashFlag
  74.     BYTE    cmcr_Pad
  75.     LABEL    cmcr_SIZEOF        * upto here: CrunchStruct for User
  76.  
  77. ** Result Codes of cmCheckCrunched()
  78. ** and Symbols for the CMCS_Algo Tag
  79. *************************************
  80. cm_Normal    equ    1
  81. cm_LZH        equ    2
  82. cmB_Sample    equ    4
  83. cmF_Sample    equ    1<<cmB_Sample
  84. cmB_PW        equ    5
  85. cmF_PW        equ    1<<cmB_PW
  86. cmB_Overlay    equ    8            ;only for the
  87. cmF_Overlay    equ    1<<cmB_Overlay        ;CMCS_Algo Tag!
  88. cmB_LEDFlash    equ    9            ;only for the
  89. cmF_LEDFlash    equ    1<<cmB_LEDFlash        ;CMCS_Algo Tag!
  90.  
  91. ** Use this mask to get the crunch algorithm without any other flags:
  92. cm_AlgoMask    equ    %0000000000001111
  93.  
  94. ** Action Codes for cmProcessPW()
  95. **********************************
  96. cm_AddPW    equ    1
  97. cm_RemovePW    equ    2
  98. cm_RemoveAll    equ    3
  99.  
  100. ** Action Codes for cmCryptData()
  101. **********************************
  102. cm_EnCrypt    equ    4
  103. cm_DeCrypt    equ    5
  104.  
  105. ** Action Codes for cmProcessCrunchStruct()
  106. ********************************************
  107. cm_AllocStruct    equ    6
  108. cm_FreeStruct    equ    7
  109.  
  110. ** Tags for cmProcessCrunchStruct()
  111. ************************************
  112. CM_TagBase    equ    TAG_USER
  113. CMCS_Algo    equ    CM_TagBase+1        ;default: cm_LZH
  114. CMCS_Offset    equ    CM_TagBase+2        ;default: $7ffe
  115. CMCS_HuffSize    equ    CM_TagBase+3        ;default: 16
  116.  
  117. ** for older Code, _DON'T_ use in new code:
  118. ********************************************
  119. dh_OrginalLen    equ    dh_OriginalLen
  120. cm_Sample    equ    16
  121. cm_NormSamp    equ    cm_Normal!cm_Sample
  122. cm_LZHSamp    equ    cm_LZH!cm_Sample
  123.     ENDC    ; LIBRARIES_CRM_I
  124.