a1200   NEWS   APPS   DOCS   ABOUT
a1200
----
a1200
----
Autodocs
 Libraries:
 iffparse.library
  AllocIFF
  AllocLocalItem
  CloseClipboard
  CloseIFF
  CollectionChunk
  CollectionChunks
  CurrentChunk
  EntryHandler
  ExitHandler
  FindCollection
  FindLocalItem
  FindProp
  FindPropContext
  FreeIFF
  FreeLocalItem
  GoodID
  GoodType
  IDtoStr
  InitIFF
  InitIFFasClip
  InitIFFasDOS
  LocalItemData
  OpenClipboard
  OpenIFF
  ParentChunk
  ParseIFF
  PopChunk
  PropChunk
  PropChunks
  PushChunk
  ReadChunkBytes
  ReadChunkRecords
  SetLocalItemPurge
  StopChunk
  StopChunks
  StopOnExit
  StoreItemInContext
  StoreLocalItem
  WriteChunkBytes
  WriteChunkRecords
Include
GuruMeditation
Docs » Autodocs » iffparse.library » EntryHandler

NAME

	EntryHandler -- add an entry handler to the IFFHandle context. (V36)

SYNOPSIS

	error = EntryHandler(iff, type, id, position, handler, object);
D0 A0 D0 D1 D2 A1 A2
LONG EntryHandler(struct IFFHandle *, LONG, LONG, LONG,
struct Hook *, APTR);

FUNCTION

	Installs an entry handler vector for a specific type of chunk into
the context for the given IFFHandle structure. Type and id are the
longword identifiers for the chunk to handle. The handler is a client-
supplied standard Hook structure, properly initialized. position
tells where to put the handler in the context. The handler will be
called whenever the parser enters a chunk of the given type, so the
IFF stream will be positioned to read the first data byte in the
chunk. The handler will execute in the same context as whoever
called ParseIFF(). The handler will be called (through the hook)
with the following arguments:
A0: the Hook pointer you passed.
A2: the 'object' pointer you passed.
A1: pointer to a LONG containing the value
IFFCMD_ENTRY.
The error code your call-back routine returns will affect the parser
in three different ways:
Return value Result
------------ ------
0: Normal success; ParseIFF() will continue
through the file.
IFF_RETURN2CLIENT: ParseIFF() will stop and return the value 0.
(StopChunk() is internally implemented using
this return value.)
Any other value: ParseIFF() will stop and return the value
you supplied. This is how errors should be
returned.

INPUTS

	iff - pointer to IFFHandle structure.
type - type code for chunk to handle (ex. "ILBM").
id - ID code for chunk to handle (ex. "CMAP").
position- local context item position. One of the IFFSLI_#? codes.
handler - pointer to Hook structure.
object - a client-defined pointer which is passed in A2 during call-
back.

RESULT

	error - 0 if successful or an IFFERR_#? error code if unsuccessful.

BUGS

	Returning the values IFFERR_EOF or IFFERR_EOC from the call-back
routine *may* confuse the parser.
There is no way to explicitly remove a handler once installed.
However, by installing a do-nothing handler using IFFSLI_TOP,
previous handlers will be overridden until the context expires.

SEE ALSO

ExitHandler(), StoreLocalItem(), StoreItemInContext(), <utility/hooks.h>, <libraries/iffparse.h>

Comments

Name:
E-mail: Use this if you want a message if you get a response, will not be shown.
Comment:
Select correct short for:

Alpha Flight 1970

FC
FLT
AFL
TRSI

Comments:

$VER: d0.se 1.14 Copyright © 2011-2021 Tobias Geijersson support at d0 dot se