home *** CD-ROM | disk | FTP | other *** search
- #ifndef PUBLIC_PROTO_QUARK_SYSCALL_H
- #define PUBLIC_PROTO_QUARK_SYSCALL_H
-
- #include <public/quark/task.h>
- #include <public/quark/message.h>
- #include <public/quark/mmu.h>
- #include <public/quark/interrupt.h>
- #include <public/quark/tags.h>
-
- /**********************************************************/
-
- void QFinishThread(void);
- void QDeleteThread(q_tid_t);
- q_tid_t QCreateThread(q_pid_t,
- q_tags_t);
- q_pid_t QCreateTask(q_tags_t);
- void QDeleteTask(q_pid_t);
-
- /**********************************************************/
-
- bool_t QAllocInterrupt(u_int32_t,
- u_int32_t,
- q_tags_t);
- void QFreeInterrupt(q_iid_t);
-
- bool_t QWaitInterrupt(u_int32_t);
-
-
- /**********************************************************/
-
- q_mid_t QCreatePort(q_tags_t);
- void QDeletePort(q_mid_t);
- size_t QGetPortAttr(q_mid_t MyMID,
- void *MyData,
- u_int32_t MySize,
- u_int32_t MyTag,
- ...);
-
- q_message_t QCreateMessage(q_mid_t MyReplyPort,
- q_tags_t MyTags);
- size_t QDeleteMessage(q_message_t MyMessage);
-
- size_t QSetMessageAttr(q_message_t MyMessage,
- size_t MyTag,
- ...);
-
- size_t QGetMessageAttr(q_message_t MyMessage,
- size_t MyTag,
- ...);
-
- size_t QSendMessage(q_mid_t MID, /* gpr3-gpr4 */
- q_message_t MyMessage, /* gpr5 */
- size_t Arg1, /* gpr6 */
- size_t Arg2, /* gpr7 */
- size_t Arg3, /* gpr8 */
- size_t MyLength, /* gpr9 */
- void *MyData); /* gpr10 */
- size_t QReplyMessage(q_message_t MyMessage);
-
- void QWaitPort(q_mid_t);
- q_message_t QGetMessage(q_mid_t MID,
- q_messageinfo_t MyMessageInfo);
-
- q_message_t QGetLinkMessage(q_message_t MyMessage,
- q_messageinfo_t MyMessageInfo);
-
- size_t QAddLinkMessage(q_message_t MyMessage, /* gpr3 */
- q_message_t MyLinkMessage, /* gpr4 */
- size_t Arg1, /* gpr5 */
- size_t Arg2, /* gpr6 */
- size_t Arg3, /* gpr7 */
- size_t MyLength, /* gpr8 */
- void *MyData); /* gpr9 */
-
- /**********************************************************/
-
- int32_t QAllocSignal(int32_t);
- void QFreeSignal(int32_t);
- u_int32_t QSignal(q_tid_t,
- q_signalmask_t);
-
- q_signalmask_t QSetSignal(q_signalmask_t,
- q_signalmask_t);
- q_signalmask_t QWait(q_signalmask_t);
-
-
- /**********************************************************/
-
- u_int32_t QGetThreadAttr(q_tid_t,
- void*,
- u_int32_t,
- u_int32_t,
- ...);
-
- u_int32_t QSetThreadAttr(q_tid_t,
- u_int32_t,
- u_int32_t,
- u_int32_t,
- ...);
-
- bool_t QMMUSetPageMode(q_pid_t MyPID,
- u_int32_t SourcePage,
- u_int32_t DestPage,
- u_int32_t PageCount,
- u_int32_t SetMode,
- u_int32_t PageMode);
-
- u_int32_t QMMUGetTranslation(q_pid_t MyPID,
- struct QMMUTranslation *MyTable,
- q_tags_t *MyTags);
-
- u_int32_t QMMUMapping(q_pid_t MyPID,
- void *MyAddress,
- u_int32_t MySize,
- struct QMMUMapEntry *MyTable,
- q_tags_t MyTags);
-
- void dprintf(char*,...);
-
-
- void QInvalidInstCacheArea(void*,
- u_int32_t);
-
- void QInvalidDataCacheArea(void*,
- u_int32_t);
-
- void QFlushDataCacheArea(void*,
- u_int32_t);
-
- void QFlushDataInstCacheArea(void*,
- u_int32_t);
-
- void QTrashDataCacheArea(void*,
- u_int32_t);
-
- void QTrashDataInstCacheArea(void*,
- u_int32_t);
-
-
- /**********************************************************/
-
- void *QKAllocMem(size_t Size,
- u_int32_t Flags);
-
- void QKFreeMem(void *Address,
- size_t Size);
-
- void *QKAllocVec(size_t Size,
- u_int32_t Flags);
-
- void QKFreeVec(void *Address);
-
- /**********************************************************/
-
- u_int32_t QGetAttr(void*,
- u_int32_t,
- u_int32_t,
- ...);
-
- u_int32_t QSetAttr(u_int32_t,
- u_int32_t,
- u_int32_t,
- ...);
-
- #endif
-