Aros/開發者/文件/庫/IFFParse
外觀
資料型別在很大程度上取代了 EA / Commodore 時代啟發的 IFF 檔案格式。
IBM 有關於 IFF 檔案格式的條目。
只有很少幾次它被稱作塊長度 128 位元組 1。
一次讀取一個指標/IFF 偏移量,然後讀取以下資料塊? (磁碟塊編號和檔案條目?)
尤其是 IFF
- 讀取 FORM(LONG)
- 讀取長度(LONG)
- 讀取型別(LONG)
- 讀取塊長度(LONG)
- 讀取塊內容(偶數個位元組)
struct IFFHandle *AllocIFF() () LONG OpenIFF(struct IFFHandle *iff, LONG rwMode) LONG ParseIFF(struct IFFHandle *iff, LONG mode) void CloseIFF(struct IFFHandle *iff) void FreeIFF(struct IFFHandle *iff) LONG ReadChunkBytes(struct IFFHandle *iff, APTR buf, LONG numBytes) (A0, A1, D0) LONG WriteChunkBytes(struct IFFHandle *iff, APTR buf, LONG numBytes) (A0, A1, D0) LONG ReadChunkRecords(struct IFFHandle *iff, APTR buf, LONG bytesPerRecord, LONG numRecords) (A0, A1, D0, D1) LONG WriteChunkRecords(struct IFFHandle *iff, APTR buf, LONG bytesPerRecord, LONG numRecords) (A0, A1, D0, D1) LONG PushChunk(struct IFFHandle *iff, LONG type, LONG id, LONG size) (A0, D0, D1, D2) LONG PopChunk(struct IFFHandle *iff) (A0) LONG EntryHandler(struct IFFHandle *iff, LONG type, LONG id, LONG position, struct Hook *handler, APTR object) (A0, D0, D1, D2, A1, A2) LONG ExitHandler(struct IFFHandle *iff, LONG type, LONG id, LONG position, struct Hook *handler, APTR object) (A0, D0, D1, D2, A1, A2) LONG PropChunk(struct IFFHandle *iff, LONG type, LONG id) (A0, D0, D1) LONG PropChunks(struct IFFHandle *iff, LONG *propArray, LONG numPairs) (A0, A1, D0) LONG StopChunk(struct IFFHandle *iff, LONG type, LONG id) (A0, D0, D1) LONG StopChunks(struct IFFHandle *iff, LONG *propArray, LONG numPairs) (A0, A1, D0) LONG CollectionChunk(struct IFFHandle *iff, LONG type, LONG id) (A0, D0, D1) LONG CollectionChunks(struct IFFHandle *iff, LONG *propArray, LONG numPairs) (A0, A1, D0) struct CollectionItem *FindCollection(struct IFFHandle *iff, LONG type, LONG id) (A0, D0, D1) LONG StopOnExit(struct IFFHandle *iff, LONG type, LONG id) (A0, D0, D1) struct StoredProperty *FindProp(struct IFFHandle *iff, LONG type, LONG id) (A0, D0, D1) struct ContextNode *FindPropContext(struct IFFHandle *iff) (A0) struct ContextNode *CurrentChunk(struct IFFHandle *iff) (A0) struct ContextNode *ParentChunk(struct ContextNode *contextNode) (A0) struct LocalContextItem *AllocLocalItem(LONG type, LONG id, LONG ident, ULONG dataSize) (D0, D1, D2, D3) APTR LocalItemData(struct LocalContextItem *localItem) (A0) void SetLocalItemPurge(struct LocalContextItem *localItem, struct Hook *purgeHook) (A0, A1) void FreeLocalItem(struct LocalContextItem *localItem) (A0) struct LocalContextItem *FindLocalItem(struct IFFHandle *iff, LONG type, LONG id, LONG ident) (A0, D0, D1, D2) LONG StoreLocalItem(struct IFFHandle *iff, struct LocalContextItem *localItem, LONG position) (A0, A1, D0) void StoreItemInContext(struct IFFHandle *iff, struct LocalContextItem *localItem, struct ContextNode *contextNode) (A0, A1, A2) void InitIFF(struct IFFHandle *iff, LONG flags, struct Hook *streamHook) (A0, D0, A1) void InitIFFasDOS(struct IFFHandle *iff) (A0) void InitIFFasClip(struct IFFHandle *iff) (A0) struct ClipboardHandle *OpenClipboard(LONG unitNumber) (D0) void CloseClipboard(struct ClipboardHandle *clipHandle) (A0) LONG GoodID(LONG id) (D0) LONG GoodType(LONG type) (D0) STRPTR IDtoStr(LONG id, STRPTR buf) (D0, A0)