home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 15 / AACD15.ISO / AACD / System / MorphOS / Developer / include / public / proto / quark / syscall_protos.h
Encoding:
C/C++ Source or Header  |  2000-11-02  |  4.8 KB  |  166 lines

  1. #ifndef    PUBLIC_PROTO_QUARK_SYSCALL_H
  2. #define    PUBLIC_PROTO_QUARK_SYSCALL_H
  3.  
  4. #include <public/quark/task.h>
  5. #include <public/quark/message.h>
  6. #include <public/quark/mmu.h>
  7. #include <public/quark/interrupt.h>
  8. #include <public/quark/tags.h>
  9.  
  10. /**********************************************************/
  11.  
  12. void    QFinishThread(void);
  13. void    QDeleteThread(q_tid_t);
  14. q_tid_t    QCreateThread(q_pid_t,
  15.                       q_tags_t);
  16. q_pid_t    QCreateTask(q_tags_t);
  17. void    QDeleteTask(q_pid_t);
  18.  
  19. /**********************************************************/
  20.  
  21. bool_t    QAllocInterrupt(u_int32_t,
  22.                         u_int32_t,
  23.                         q_tags_t);
  24. void    QFreeInterrupt(q_iid_t);
  25.  
  26. bool_t    QWaitInterrupt(u_int32_t);
  27.  
  28.  
  29. /**********************************************************/
  30.  
  31. q_mid_t    QCreatePort(q_tags_t);
  32. void    QDeletePort(q_mid_t);
  33. size_t    QGetPortAttr(q_mid_t    MyMID,
  34.                      void    *MyData,
  35.                      u_int32_t    MySize,
  36.                      u_int32_t    MyTag,
  37.                      ...);
  38.  
  39. q_message_t    QCreateMessage(q_mid_t    MyReplyPort,
  40.                                q_tags_t    MyTags);
  41. size_t    QDeleteMessage(q_message_t    MyMessage);
  42.  
  43. size_t    QSetMessageAttr(q_message_t    MyMessage,
  44.                         size_t        MyTag,
  45.                         ...);
  46.  
  47. size_t    QGetMessageAttr(q_message_t    MyMessage,
  48.                         size_t        MyTag,
  49.                         ...);
  50.  
  51. size_t    QSendMessage(q_mid_t        MID,        /* gpr3-gpr4 */
  52.                      q_message_t    MyMessage,    /* gpr5 */
  53.                      size_t        Arg1,        /* gpr6 */
  54.                      size_t        Arg2,        /* gpr7 */
  55.                      size_t        Arg3,        /* gpr8 */
  56.                      size_t        MyLength,    /* gpr9 */
  57.                      void        *MyData);    /* gpr10 */
  58. size_t    QReplyMessage(q_message_t    MyMessage);
  59.  
  60. void    QWaitPort(q_mid_t);
  61. q_message_t    QGetMessage(q_mid_t        MID,
  62.                             q_messageinfo_t    MyMessageInfo);
  63.  
  64. q_message_t    QGetLinkMessage(q_message_t    MyMessage,
  65.                                 q_messageinfo_t    MyMessageInfo);
  66.  
  67. size_t    QAddLinkMessage(q_message_t        MyMessage,    /* gpr3 */
  68.                         q_message_t        MyLinkMessage,    /* gpr4 */
  69.                         size_t            Arg1,        /* gpr5 */
  70.                         size_t            Arg2,        /* gpr6 */
  71.                         size_t            Arg3,        /* gpr7 */
  72.                         size_t            MyLength,    /* gpr8 */
  73.                         void            *MyData);    /* gpr9 */
  74.  
  75. /**********************************************************/
  76.  
  77. int32_t        QAllocSignal(int32_t);
  78. void        QFreeSignal(int32_t);
  79. u_int32_t    QSignal(q_tid_t,
  80.                         q_signalmask_t);
  81.  
  82. q_signalmask_t    QSetSignal(q_signalmask_t,
  83.                            q_signalmask_t);
  84. q_signalmask_t    QWait(q_signalmask_t);
  85.  
  86.  
  87. /**********************************************************/
  88.  
  89. u_int32_t    QGetThreadAttr(q_tid_t,
  90.                                void*,
  91.                                u_int32_t,
  92.                                u_int32_t,
  93.                                ...);
  94.  
  95. u_int32_t    QSetThreadAttr(q_tid_t,
  96.                                u_int32_t,
  97.                                u_int32_t,
  98.                                u_int32_t,
  99.                                ...);
  100.  
  101. bool_t    QMMUSetPageMode(q_pid_t    MyPID,
  102.                         u_int32_t    SourcePage,
  103.                         u_int32_t    DestPage,
  104.                         u_int32_t    PageCount,
  105.                         u_int32_t    SetMode,
  106.                         u_int32_t    PageMode);
  107.  
  108. u_int32_t    QMMUGetTranslation(q_pid_t            MyPID,
  109.                                    struct QMMUTranslation    *MyTable,
  110.                                    q_tags_t            *MyTags);
  111.  
  112. u_int32_t    QMMUMapping(q_pid_t        MyPID,
  113.                             void        *MyAddress,
  114.                             u_int32_t        MySize,
  115.                             struct QMMUMapEntry    *MyTable,
  116.                             q_tags_t        MyTags);
  117.  
  118. void    dprintf(char*,...);
  119.  
  120.  
  121. void    QInvalidInstCacheArea(void*,
  122.                               u_int32_t);
  123.  
  124. void    QInvalidDataCacheArea(void*,
  125.                               u_int32_t);
  126.  
  127. void    QFlushDataCacheArea(void*,
  128.                             u_int32_t);
  129.  
  130. void    QFlushDataInstCacheArea(void*,
  131.                                 u_int32_t);
  132.  
  133. void    QTrashDataCacheArea(void*,
  134.                             u_int32_t);
  135.  
  136. void    QTrashDataInstCacheArea(void*,
  137.                                 u_int32_t);
  138.  
  139.  
  140. /**********************************************************/
  141.  
  142. void    *QKAllocMem(size_t    Size,
  143.                     u_int32_t    Flags);
  144.  
  145. void    QKFreeMem(void    *Address,
  146.                   size_t    Size);
  147.  
  148. void    *QKAllocVec(size_t    Size,
  149.                     u_int32_t    Flags);
  150.  
  151. void    QKFreeVec(void    *Address);
  152.  
  153. /**********************************************************/
  154.  
  155. u_int32_t    QGetAttr(void*,
  156.                          u_int32_t,
  157.                          u_int32_t,
  158.                          ...);
  159.  
  160. u_int32_t    QSetAttr(u_int32_t,
  161.                          u_int32_t,
  162.                          u_int32_t,
  163.                          ...);
  164.  
  165. #endif
  166.