home *** CD-ROM | disk | FTP | other *** search
/ Amiga GigaPD 3 / Amiga_GigaPD_v3_3of3.iso / fred_fish / fish_601-700_lha / fish_674.lha / IFFLIB / ifflib.doc < prev    next >
Text File  |  1993-06-02  |  19KB  |  623 lines

  1. TABLE OF CONTENTS
  2.  
  3. iff.library/IFFL_CloseIFF
  4. iff.library/IFFL_CompressBlock
  5. iff.library/IFFL_DecodePic
  6. iff.library/IFFL_DecompressBlock
  7. iff.library/IFFL_FindChunk
  8. iff.library/IFFL_GetBMHD
  9. iff.library/IFFL_GetColorTab
  10. iff.library/IFFL_GetViewModes
  11. iff.library/IFFL_IFFError
  12. iff.library/IFFL_ModifyFrame
  13. iff.library/IFFL_OpenIFF
  14. iff.library/IFFL_PopChunk
  15. iff.library/IFFL_PushChunk
  16. iff.library/IFFL_SaveBitMap
  17. iff.library/IFFL_SaveClip
  18. iff.library/IFFL_WriteChunkBytes
  19. iff.library/NewOpenIFF
  20. iff.library/OpenIFF
  21. iff.library/IFFL_CloseIFF                           iff.library/IFFL_CloseIFF
  22.  
  23.     NAME
  24.     IFFL_CloseIFF -- Close an IFF file and deallocate buffers
  25.  
  26.     SYNOPSIS
  27.     IFFL_CloseIFF( iff )
  28.                    A1
  29.  
  30.     void IFFL_CloseIFF( IFFL_HANDLE )
  31.  
  32.     FUNCTION
  33.     Returns the memory previously allocated by IFFL_OpenIFF().
  34.  
  35.     INPUTS
  36.     iff - IFF file handle, from IFFL_OpenIFF()
  37.  
  38.     RESULTS
  39.     For now, always results TRUE (this may change in the future).
  40.  
  41.     SEE ALSO
  42.     IFFL_OpenIFF()
  43.  
  44. iff.library/IFFL_CompressBlock                 iff.library/IFFL_CompressBlock
  45.  
  46.     NAME
  47.     IFFL_CompressBlock -- Compress a memory block
  48.  
  49.     SYNOPSIS
  50.     result = IFFL_CompressBlock( source, destination, size, mode )
  51.                                    A0      A1           D0    D1
  52.  
  53.     ULONG IFFL_CompressBlock( APTR, APTR, ULONG, ULONG )
  54.  
  55.     FUNCTION
  56.     Compress the memory block using the appropriate compression mode.
  57.     If the compressed data would become longer than the uncompressed,
  58.     an error is returned.
  59.  
  60.     INPUTS
  61.     source      - Pointer to data to compress
  62.     destination - Target address for compression
  63.     size        - Number of data bytes to compress
  64.     mode        - Compression mode. Currently, the following modes
  65.                   are supported:
  66.  
  67.                   IFFL_COMPR_NONE     - Vanilla copy
  68.                   IFFL_COMPR_BYTERUN1 - CmpByteRun1 (ILBM BODY data)
  69.                   IFFL_COMPR_FIBDELTA - Fibonacci Delta (8SVX BODY data)
  70.  
  71.     RESULTS
  72.     Length of compressed data or 0 if an error occurred.
  73.     IFFL_IFFError() returns IFFL_ERROR_BADCOMPRESSION if you ask for
  74.     an unsupported compression mode.
  75.  
  76.     SEE ALSO
  77.     IFFL_DecompressBlock()
  78.  
  79. iff.library/IFFL_DecodePic                         iff.library/IFFL_DecodePic
  80.  
  81.     NAME
  82.     IFFL_DecodePic -- decode the BODY of an ILBM file into a BitMap
  83.  
  84.     SYNOPSIS
  85.     success = IFFL_DecodePic( iff, bitmap )
  86.      D0                       A1   A0
  87.  
  88.     BOOL IFFL_DecodePic( IFFL_HANDLE, struct BitMap * )
  89.  
  90.     FUNCTION
  91.     Decodes and decompresses a picture into the user supplied BitMap.
  92.     If the picture is larger than your BitMap's planes, it will be
  93.     truncated. If your BitMap is larger than the picture, the picture
  94.     will be drawn into the top left corner of your BitMap.
  95.     If the picture has less planes than the BitMap, the unused planes
  96.     are NOT touched by this routine, so you may wish to clear them
  97.     before calling IFFL_DecodePic(). If the picture has more planes
  98.     than your BitMap, the surplus planes of the picture are ignored.
  99.  
  100.     INPUTS
  101.     iff    - IFF file handle, from IFFL_OpenIFF()
  102.     bitmap - Pointer to a properly initialized BitMap structure:
  103.          bm_Planes[] must point to valid BitPlanes,
  104.          bm_Depth contains the number of planes.
  105.          bm_Width and bm_Height must be set according to the
  106.          size of your bit planes.
  107.  
  108.     RESULTS
  109.     Non-zero if successful, zero if error. Call IFFL_IFFError() to
  110.     know the reason of the failure
  111.  
  112.     NOTE
  113.     This routine needs at least 650 bytes of stack space
  114.  
  115.     SEE ALSO
  116.  
  117. iff.library/IFFL_DecompressBlock             iff.library/IFFL_DecompressBlock
  118.  
  119.     NAME
  120.     IFFL_DecompressBlock -- Decompress a memory block
  121.  
  122.     SYNOPSIS
  123.     result = IFFL_DecompressBlock( source, destination, size, mode )
  124.                                    A0      A1           D0    D1
  125.  
  126.     ULONG IFFL_DecompressBlock( APTR, APTR, ULONG, ULONG )
  127.  
  128.     FUNCTION
  129.     Decompress the memory block using the appropriate Decompression mode.
  130.     If the Decompressed data would become longer than the unDecompressed,
  131.     an error is returned.
  132.  
  133.     INPUTS
  134.     source      - Pointer to data to decompress
  135.     destination - Target address for decompression
  136.     size        - Number of _DECOMPRESSED_ data bytes
  137.     mode        - Compression mode. Currently, the following modes
  138.                   are supported:
  139.  
  140.                   IFFL_COMPR_NONE     - Vanilla copy
  141.                   IFFL_COMPR_BYTERUN1 - CmpByteRun1 (ILBM BODY data)
  142.                   IFFL_COMPR_FIBDELTA - Fibonacci Delta (8SVX BODY data)
  143.  
  144.     RESULTS
  145.     Length of uncompressed data or 0 if an error occurred.
  146.     IFFL_IFFError() returns IFFL_ERROR_BADCOMPRESSION if you ask for
  147.     an unsupported compression mode.
  148.  
  149.     SEE ALSO
  150.     IFFL_CompressBlock()
  151.  
  152. iff.library/IFFL_FindChunk                         iff.library/IFFL_FindChunk
  153.  
  154.    NAME
  155.     IFFL_FindChunk -- find an IFF-chunk
  156.  
  157.    SYNOPSIS
  158.     chunk = IFFL_FindChunk( iff, chunkname )
  159.     D0                      A1   D0
  160.  
  161.     APTR IFFL_FindChunk( IFFL_HANDLE, ULONG )
  162.  
  163.    FUNCTION
  164.     Find a specific chunk in an IFF file
  165.  
  166.    INPUTS
  167.     iff       - IFF file handle, from IFFL_OpenIFF()
  168.     chunkname - 4 characters packed ASCII ('BODY', 'VHDR' ...)
  169.                 if chunkname is 0, FindChunk() returns a pointer to the
  170.                 first byte after the end of the current FORM. This can
  171.                 be used by ANIM readers for jumping from FORM to FORM.
  172.  
  173.    RESULTS
  174.     Pointer to the beginning of the chunk (that means to the chunk
  175.     name itself, followed by the chunk size); zero if chunk not found
  176.  
  177.    BUGS
  178.     none known
  179.  
  180.    SEE ALSO
  181.     IFFL_GetBMHD(), IFFL_GetColorTab()
  182.  
  183. iff.library/IFFL_GetBMHD                             iff.library/IFFL_GetBMHD
  184.  
  185.     NAME
  186.     IFFL_GetBMHD -- find a BitMapHeader of an IFF-file
  187.  
  188.     SYNOPSIS
  189.     header = IFFL_GetBMHD( iff )
  190.     D0                     A1
  191.  
  192.     struct BitMapHeader *IFFL_GetBMHD( IFFL_HANDLE )
  193.  
  194.     FUNCTION
  195.     Returns a pointer to a BMHD (BitMapHeader) structure as defined
  196.     in iff.h and iff.i
  197.  
  198.     INPUTS
  199.     iff - IFF file handle, from IFFL_OpenIFF()
  200.  
  201.     RESULTS
  202.     Pointer to the BitMapHeader, or NULL if no BMHD chunk found
  203.  
  204.     SEE ALSO
  205.     IFFL_FindChunk(), IFFL_GetColorTab()
  206.  
  207. iff.library/IFFL_GetColorTab                     iff.library/IFFL_GetColorTab
  208.  
  209.     NAME
  210.     IFFL_GetColorTab -- find a CMAP and convert it to a ColorTable
  211.  
  212.     SYNOPSIS
  213.     count = IFFL_GetColorTab( iff, colortable )
  214.     D0                        A1   A0
  215.  
  216.     LONG IFFFL_GetColorTab( IFF_HANDLE, UWORD * )
  217.  
  218.     FUNCTION
  219.     Searches the CMAP chunk of an IFF file and converts it, if it's
  220.     there, to an Amiga color table structure. This colortable can
  221.     directly be used as a parameter for the LoadRGB4() function.
  222.  
  223.     INPUTS
  224.     iff        - IFF file handle, from IFFL_OpenIFF()
  225.     colortable - Pointer to a block of memory which must be large
  226.                  enough to hold the colortable (2 bytes per color).
  227.                  Must be WORD aligned.
  228.  
  229.     RESULT
  230.     Number of colors actually found, or zero if the file has no
  231.     CMAP chunk
  232.  
  233.     SEE ALSO
  234.     IFFL_FindChunk(), IFFL_GetBMHD()
  235.  
  236. iff.library/IFFL_GetViewModes                   iff.library/IFFL_GetViewModes
  237.  
  238.     NAME
  239.     IFFL_GetViewModes() -- Get Amiga-specific ViewModes
  240.  
  241.     SYNOPSIS
  242.     viewmodes = IFFL_GetViewModes( iff )
  243.     D0                             A1
  244.  
  245.     ULONG IFFL_GetViewModes( IFFL_HANDLE )
  246.  
  247.     FUNCTION
  248.     Searches the IFF file for a 'CAMG' chunk which holds the view modes
  249.     information. If there is no CAMG chunk, the view modes are calcu-
  250.     lated using the information in the BitMapHeader structure.
  251.     You can directly put the low WORD of the result of a call to
  252.     IFFL_ GetViewModes() into the ns_ViewModes field of a NewScreen
  253.     structure, or you can use the whole ULONG for the SA_DisplayID tag
  254.     under OS 2.x.
  255.  
  256.     INPUTS
  257.     iff - IFF file handle, from OpenIFF()
  258.  
  259.     RESULT
  260.     viewmodes - ULONG containing the view modes (HAM, LACE, HIRES ...)
  261.     All forbidden bits are masked out, as suggested by CBM.
  262.     Under Kickstart V1.3, only the lower WORD is used.
  263.  
  264.     BUGS
  265.     If the IFF file has no CAMG chunk and 6 bitplanes, the HAM bit
  266.     will be set. This is not always correct since the picture could
  267.     be in the Extra Halfbrite mode. You can load such Halfbrite
  268.     pictures into DPaint III and save them again, DPaint will generate
  269.     the correct CAMG chunk.
  270.  
  271.     SEE ALSO
  272.     <graphics/displayinfo.h>
  273.  
  274. iff.library/IFFL_IFFError                           iff.library/IFFL_IFFError
  275.  
  276.     NAME
  277.     IFFL_IFFError -- Get detailed error descrpition after an error
  278.  
  279.     SYNOPSIS
  280.     error = IFFL_IFFError()
  281.     D0
  282.  
  283.     LONG IFFL_IFFError( VOID )
  284.  
  285.     FUNCTION
  286.     If one of the iff.library functions returns zero, you can call
  287.     IFFL_IFFError() to know the reason for the failure. An error
  288.     code is returned, please refer to the files 'iff.h' or 'iff.i'
  289.     for the complete list of errors.
  290.  
  291.     INPUTS
  292.     none
  293.  
  294.     RESULT
  295.     Error-number generated by the latest function call, or zero if
  296.     no error.
  297.  
  298.     BUGS
  299.     If you don't close the IFF library at the end of your program
  300.     (using CloseLibrary()) the error node will not be freed. The
  301.     same task will then not be able to re-open the iff.library.
  302.     (This is not a bug, it's a feature ;-))
  303.  
  304.     SEE ALSO
  305.     <iff.h>
  306.  
  307. iff.library/IFFL_ModifyFrame                     iff.library/IFFL_ModifyFrame
  308.  
  309.     NAME
  310.     IFFL_ModifyFrame -- Modify an anim frame using a DLTA chunk
  311.  
  312.     SYNOPSIS
  313.     success = IFFL_ModifyFrame( modifyform, bitmap )
  314.     D0                          A1          A0
  315.  
  316.     BOOL IFFL_ModifyFrame( VOID *, struct BitMap * )
  317.  
  318.     FUNCTION
  319.     Uses the DLTA chunk of the supplied FORM to modify the planes-data
  320.     of the bitmap. Usually, playback of ANIMs will require two buffers,
  321.     and double-buffering between them. So the data in the bitmap must
  322.     be two frames back, and the DLTA chunk is used to modify the hidden
  323.     frame to the next frame to be shown.
  324.  
  325.     INPUTS
  326.     modifyform - pointer to the FORM containing the actual DLTA chunk
  327.     bitmap     - Pointer to a properly initialized BitMap structure,
  328.              the planes must contain the image which was displayed
  329.              to frames back (using double-buffering)
  330.  
  331.     RESULT
  332.     Non-zero if OK, 0 if error; call IFFL_IFFError() to know the reason
  333.     of the failure
  334.  
  335.     RESTRICTIONS
  336.     Currently, only compression type 5 (Byte Vertical Delta Mode) is
  337.     implemented. If you have animations which use modes 1 to 4, try
  338.     loading them with DPaint III and saving them again.
  339.     Sculpt-Animate ('J' type ANIM, Movie format) support will be
  340.     added soon.
  341.     I will implement some more compression types upon request.
  342.  
  343.     NOTE
  344.     This routine needs at least 820 bytes of stack.
  345.     The size of the bitmap is not checked by this routine, the planes
  346.     must have at least the size described in the BMHD of the anim
  347.     file.
  348.  
  349.     SEE ALSO
  350.     IFFL_IFFError()
  351.  
  352. iff.library/IFFL_OpenIFF                             iff.library/IFFL_OpenIFF
  353.  
  354.    NAME
  355.     IFFL_OpenIFF -- Open an IFF file for reading or writing
  356.  
  357.    SYNOPSIS
  358.     iff = IFFL_OpenIFF( filename, mode )
  359.     D0                  A0        D0
  360.  
  361.     IFFL_HANDLE IFFL_OpenIFF( char *, ULONG )
  362.  
  363.    FUNCTION
  364.     If mode == IFFL_MODE_READ:
  365.       This function opens a file on a disk and looks whether it's an IFF
  366.       file or not. If it is an IFF file, memory is allocated and the file
  367.       is read into memory.
  368.  
  369.          New for V22:
  370.          If xpkmaster.library is installed in your system, IFFL_OpenIFF()
  371.          will be able to read and decompress compressed IFF files, if they
  372.          use one of the xpk standard compression schemes.
  373.  
  374.     If mode == IFFL_MODE_WRITE:
  375.       Initializes an IFF file handle for writing. You may create chunks
  376.       with IFFL_PushChunk() and IFFL_PopChunk(), and you can write data
  377.       using the IFFL_WriteChunkBytes() routine.
  378.  
  379.    INPUTS
  380.     filename - Pointer to a null-terminated string
  381.     mode     - IFFL_MODE_READ:  Open file for reading
  382.                IFFL_MODE_WRITE: Open file for writing
  383.  
  384.    RESULT
  385.     iff - IFF handle. Making assumptions about the internal structure
  386.           of this handle is unwise, and may break in the future.
  387.           If this function fails, NULL will be returned, and you may
  388.           call IFFL_IFFError() to know the reason of the failure.
  389.  
  390.    SEE ALSO
  391.     IFFL_CloseIFF(), IFFL_PushChunk(), IFFL_PopChunk(),
  392.     IFFL_WriteChunkBytes(), IFFL_IFFError()
  393.  
  394.    BUGS
  395.     None known
  396.  
  397. iff.library/IFFL_PopChunk                           iff.library/IFFL_PopChunk
  398.  
  399.     NAME
  400.     IFFL_PopChunk -- Pop top context node off context stack.
  401.  
  402.     SYNOPSIS
  403.     success = IFFL_PopChunk( iff )
  404.     D0                       A0
  405.  
  406.     BOOL IFFL_PopChunk( IFFL_HANDLE )
  407.  
  408.     FUNCTION
  409.     Pops top context chunk and updates the file accordingly.
  410.     The function is normally called only for writing files and signals
  411.     the end of a chunk.
  412.  
  413.     INPUTS
  414.     iff - IFF handle
  415.  
  416.     RESULTS
  417.     Non-zero  if successful or 0 if not successful (call IFFL_IFFError()
  418.     to get an IFFL_ERROR_... error code.
  419.  
  420.     SEE ALSO
  421.     IFFL_PushChunk(), IFFL_WriteChunkBytes()
  422.  
  423. iff.library/IFFL_PushChunk                         iff.library/IFFL_PushChunk
  424.  
  425.     NAME
  426.     IFFL_PushChunk -- Push a new context node on the context stack.
  427.  
  428.     SYNOPSIS
  429.     success = IFFL_PushChunk( iff, type, id )
  430.     D0                        A0   D0    D1
  431.  
  432.     BOOL IFFL_PushChunk( IFFL_HANDLE, ULONG, ULONG )
  433.  
  434.     FUNCTION
  435.     Pushes a new context node on the context stack by reading it from the
  436.     stream if this is a read file, or by creating it from the passed
  437.     parameters if this is a write file.  Normally this function is only
  438.     called in write mode, where the type and id codes specify the new
  439.     chunk to create.  If this is a leaf chunk, i.e. a local chunk inside
  440.     a FORM or PROP chunk, then the type argument is ignored.
  441.  
  442.     INPUTS
  443.     iff  - IFF handle
  444.     type - chunk type specifier (ex. ILBM) (ignored for read mode or
  445.            leaf chunks).
  446.     id   - chunk id specifier (ex. CMAP) (ignored for read mode).
  447.  
  448.     RESULTS
  449.     Non-zero if successful or 0 if not successful (call IFFL_IFFError()
  450.     to get an IFFL_ERROR_... error code.
  451.  
  452.     SEE ALSO
  453.     IFFL_PopChunk(), IFFL_WriteChunkBytes()
  454.  
  455. iff.library/IFFL_SaveBitMap                       iff.library/IFFL_SaveBitMap
  456.  
  457.     NAME
  458.     IFFL_SaveBitMap -- save the planes of a BitMap as an IFF-file
  459.  
  460.     SYNOPSIS
  461.     result = IFFL_SaveBitMap( filename, bitmap, colortable, flags )
  462.     D0                        A0        A1      A2          D0
  463.  
  464.     BOOL IFFL_SaveBitMap(char *, struct BitMap *, UWORD *, ULONG )
  465.  
  466.     FUNCTION
  467.     Save the planes of a BitMap as an IFF-file, optionally with a
  468.     colortable. The IFF file will contain the following chunks:
  469.  
  470.     FORM  -  The IFF header, with the type ILBM
  471.     BMHD  -  The BitMap Header structre
  472.     CMAP  -  The color map, this chunk is omitted if colortable is zero
  473.     CAMG  -  The Amiga ViewModes word, contains the special ViewModes
  474.              information (HAM, LACE, HIRES ...)
  475.     BODY  -  The (crunched or uncompressed) picture
  476.  
  477.    INPUTS
  478.     filename    - Name of the IFF file to create
  479.     bitmap      - Pointer to the BitMap holding your picture
  480.     colortable  - Pointer to an Amiga ColorTable structure or zero
  481.                   (if colortable = 0, no CMAP chunk will be generated).
  482.     flags       - Bit 0: 1 = Use the "CmpByteRun1" compression algorythm,
  483.                          0 = Save the file uncompressed
  484.                       Bit 7: 1 = This is a HAM (Hold and modify) picture
  485.                          0 = This is a normal or Extra-Halfbrite picture
  486.  
  487.    RESULT
  488.     Non-zero if successful, 0 if an error occurred. You can then call
  489.     IFFL_IFFError() to know more about the reason of the failure.
  490.  
  491.    NOTE
  492.     Up to V19 this routine needs at least 650 bytes of stack space
  493.  
  494.    SEE ALSO
  495.     IFFL_SaveClip()
  496.  
  497. iff.library/IFFL_SaveClip                           iff.library/IFFL_SaveClip
  498.  
  499.     NAME
  500.     IFFL_SaveClip -- save a part of a BitMap as an IFF-file
  501.  
  502.     SYNOPSIS
  503.     result = IFFL_SaveClip
  504.     D0       ( filename, bitmap, coltab, flags, xoff, yoff, width, height )
  505.                A0        A1      A2      D0     D1    D2    D3     D4
  506.  
  507.     FUNCTION
  508.     Save a part of a BitMap as an IFF file
  509.  
  510.     INPUTS
  511.     filename    - Name of the IFF file to create
  512.     bitmap      - Pointer to the BitMap holding your picture
  513.     colortable  - Pointer to an Amiga ColorTable structure or zero
  514.                   (if colortable = 0, no CMAP chunk will be generated).
  515.     flags       - Bit 0: 1 = Use the "CmpByteRun1" compression algorythm,
  516.                          0 = Save the file uncompressed
  517.                      Bit 7: 1 = This is a HAM (Hold and modify) picture
  518.                          0 = This is a normal or Extra-Halfbrite picture
  519.     xoff        - X offset of the clip to be saved (bytes from the left)
  520.     yoff        - Y offset of the clip to be saved (lines from the top)
  521.     width       - width in bytes of the rectangle
  522.     height      - height in lines of the rectangle
  523.  
  524.     RESULTS
  525.     Non-zero if successful, 0 if an error occurred. You can then call
  526.     IFFL_IFFError() to know more about the reason of the failure.
  527.  
  528.     NOTE
  529.     Up to V19 this routine needs at least 650 bytes of stack space
  530.  
  531.     BUGS
  532.     The width of the rectangle will be truncated to WORD boundaries,
  533.     because DPAINT wants it!
  534.  
  535.     SEE ALSO
  536.     IFFL_SaveBitMap()
  537.  
  538. iff.library/IFFL_WriteChunkBytes             iff.library/IFFL_WriteChunkBytes
  539.  
  540.    NAME
  541.     IFFL_WriteChunkBytes -- Write data into the current chunk
  542.  
  543.    SYNOPSIS
  544.     success = IFFL_WriteChunkBytes( iff, buf, size )
  545.     D0                              A0   A1   D0
  546.  
  547.     LONG IFFL_WriteChunkBytes( IFFL_HANDLE, APTR, LONG )
  548.  
  549.    FUNCTION
  550.     Writes "size" bytes from the specified buffer into the current chunk.
  551.  
  552.    INPUTS
  553.     iff   - IFF file handle, from IFFL_OpenIFF().
  554.     buf   - pointer to buffer area with bytes to be written.
  555.     size  - number of bytes to write.
  556.  
  557.    RESULT
  558.     Non-NULL if the write was successful, or NULL if an error
  559.     occurred. Call IFFL_IFFError() to know what's going on.
  560.  
  561.    SEE ALSO
  562.     IFFL_PushChunk(), IFFL_PopChunk(), IFFL_IFFError()
  563.  
  564. iff.library/NewOpenIFF                                 iff.library/NewOpenIFF
  565.  
  566.    NAME
  567.     NewOpenIFF -- allocate memory for an IFF-file and read it
  568.  
  569.    SYNOPSIS
  570.     ifffile = NewOpenIFF( filename, memattr )
  571.     D0                    A0        D0
  572.  
  573.     IFFFILE OpenIFF( char * )
  574.  
  575.    FUNCTION
  576.     THIS FUNCTION IS OBSOLETE. USE IFFL_OpenIFF() INSTEAD.
  577.  
  578.    INPUTS
  579.     filename - Pointer to a null-terminated string
  580.     memattr  - Memory requirements as used for Exec's AllocMem(),
  581.                such as MEMF_CHIP, MEMF_PUBLIC ...
  582.                (MEMF_CLEAR is not necessary)
  583.  
  584.    RESULT
  585.     ifffile - 'FileHandle', points to the beginning of the IFF file
  586.     ("FORM...."), Zero if unsuccessful. Call IFFError() to get
  587.     the reason of the failure.
  588.  
  589.    SEE ALSO
  590.     IFFL_OpenIFF(), IFFL_CloseIFF(), IFFL_IFFError()
  591.  
  592.    BUGS
  593.     None known
  594.  
  595. iff.library/OpenIFF                                       iff.library/OpenIFF
  596.  
  597.     NAME
  598.     OpenIFF -- allocate memory for an IFF-file and read it
  599.  
  600.     SYNOPSIS
  601.     ifffile = OpenIFF( filename )
  602.     D0                 A0
  603.  
  604.     IFFFILE OpenIFF( char * )
  605.  
  606.     FUNCTION
  607.     THIS FUNCTION IS OBSOLETE. USE IFFL_OpenIFF() INSTEAD.
  608.  
  609.    INPUTS
  610.     filename - Pointer to a null-terminated string
  611.  
  612.    RESULT
  613.     ifffile - 'FileHandle', points to the beginning of the IFF file
  614.     ("FORM...."), 0 if unsuccessful. Call IFFError() to get the
  615.     reason of the failure.
  616.  
  617.    BUGS
  618.     None
  619.  
  620.    SEE ALSO
  621.     IFFL_OpenIFF(), IFFL_CloseIFF(), IFFL_IFFError()
  622.  
  623.