📄 xb.h
字号:
/* -*-Mode:C; tab-width:4; indent-tabs-mode:t; c-file-style:"bsd";-*- */// $Id: xb.h,v 1.1 2001/12/02 16:27:08 burgbach Exp $#ifndef __XB_H__#define __XB_H__#include "progect.h"enum { Extra_NULL = 0, // sentinel for block tail, must be subkey is zero. Extra_Description, // currently not used. Extra_Note, // currently not used. Extra_Link_ToDo = 20, Extra_Link_LinkMaster, Extra_Icon = 50, Extra_Numeric, // for numeric type};// OLD WARNING (until 0.22)// This structer could not contain field large than 8bit.// becouse in task record. this structer stay on not even(word aligned) addr.// in this case motrola m68k serieas CPU gots bus-error.//// FROM 0.23 : This is not true anymore, synce this struct is now stored in// the first part of a task, at an even address.typedef struct { UInt8 type; UInt8 subkey; // subkey for same type chunks. 0xff is reserved. // if not use, must be set zero. UInt8 reserve1; // UInt8 size; // not contain head size. please care word alignment. UInt8 body[0]; // data body. next chunk head exists at (body + size)} ExtraChunkHeadType;#define NextChunk(p) ((ExtraChunkHeadType*)((p)->body + (p)->size))// get the address of the TaskStandardFields struct#define StdFields(p) ( \ (p->format.bits.hasXB) ? \ ( \ (TaskStandardFields*) \ (p->fields.XB.data + p->fields.XB.size) \ ) \ : \ &p->fields.task \ )// get the offset of the TaskStandardFields struct in p#define StdFieldsOffset(p) (UInt16)( \ ( \ (p->format.bits.hasXB) ? \ ( \ (UInt8*)p->fields.XB.data + p->fields.XB.size \ ) \ : \ (UInt8*)(&p->fields.task) \ ) - (UInt8*)p )pgErr TaskSetExtraBlock(DmOpenRef dbP, UInt16 index, MemPtr s, UInt16 size) TASKSECT;UInt16 TaskGetExtraBlock(DmOpenRef dbP, UInt16 index, MemPtr dest) TASKSECT;UInt16 TaskGetExtraBlockV022(DmOpenRef dbP, UInt16 index, MemPtr dest) TASKSECT;pgErr TaskCopyExtraBlock(DmOpenRef dbP, UInt16 source, UInt16 dest) TASKSECT;pgErr TaskGetExtraChunkV022(DmOpenRef dbP, UInt16 index, UInt8 type, UInt8 subkey, MemPtr dest, UInt16* size/*in bytes*/) TASKSECT;pgErr TaskGetExtraChunkByTaskPtrV022(TaskExtendedRecordType* pTask, UInt8 type, UInt8 subkey, MemPtr dest, UInt16* size/*in bytes*/) TASKSECT;pgErr TaskGetExtraChunk(DmOpenRef dbP, UInt16 index, UInt8 type, UInt8 subkey, MemPtr dest, UInt16* size/*in bytes*/) TASKSECT;pgErr TaskGetExtraChunkByTaskPtr(TaskExtendedRecordType* pTask, UInt8 type, UInt8 subkey, MemPtr dest, UInt16* size/*in bytes*/) TASKSECT;void TaskRemoveExtraChunk(DmOpenRef dbP, UInt16 index, UInt8 type, UInt8 subkey) TASKSECT;pgErr TaskSetExtraChunk(DmOpenRef dbP, UInt16 index, UInt8 type, UInt8 subkey, MemPtr src, UInt16 size) TASKSECT;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -