跳轉到內容

Aros/開發者/文件/庫/IFFParse

來自華夏公益教科書,開放的書籍,為開放的世界
用於 Aros 華夏公益教科書的導航欄
Aros 使用者
Aros 使用者文件
Aros 使用者常見問題解答
Aros 使用者應用程式
Aros 使用者 DOS Shell
Aros/使用者/AmigaLegacy
Aros 開發文件
Aros 開發者文件
從 AmigaOS/SDL 移植軟體
適用於 Zune 初學者
Zune .MUI 類
適用於 SDL 初學者
Aros 開發者構建系統
特定平臺
Aros x86 完整系統 HCL
Aros x86 音訊/影片支援
Aros x86 網路支援
Aros Intel AMD x86 安裝
Aros 儲存支援 IDE SATA 等
Aros Poseidon USB 支援
x86-64 支援
摩托羅拉 68k Amiga 支援
Linux 和 FreeBSD 支援
Windows Mingw 和 MacOSX 支援
Android 支援
Arm 樹莓派支援
PPC Power Architecture
雜項
Aros 公共許可證

資料型別在很大程度上取代了 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)
華夏公益教科書