跳转到内容

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)
华夏公益教科书