home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / psion / opp16f_zip / INCLUDE / SDK / APPMAN.OPH < prev    next >
Encoding:
Text File  |  1996-02-03  |  2.9 KB  |  173 lines

  1. #define APPMAN_OPH
  2.  
  3. #ifndef VARRAY_OPH
  4. #include <sdk\varray>
  5. #endif
  6.  
  7. /* Constants for cleanup */
  8.  
  9. #define TY_CLEANUP_DYL        -5
  10. #define TY_CLEANUP_SHARED    -4
  11. #define TY_CLEANUP_VOID        -3
  12. #define TY_CLEANUP_ALLOC    -2
  13. #define TY_CLEANUP_IOCHAN    -1
  14. #define TY_CLEANUP_OBJECT    0
  15.  
  16. /* Types for cleanup */
  17.  
  18. STRUCT RC_CLEANUP
  19.     type#
  20.     level#
  21.     h%
  22. ENDS
  23.  
  24. STRUCT SHARED_ALLOC
  25.     nref%
  26. ENDS
  27.  
  28. /* Property of cleanup */
  29.  
  30. STRUCT PRS_CLEANUP
  31.     level%
  32. ENDS
  33.  
  34. STRUCT PR_CLEANUP
  35.     root#(SIZEOF(PRS_ROOT))
  36.     varoot#(SIZEOF(PRS_VAROOT))
  37.     vafix#(SIZEOF(PRS_VAFIX))
  38.     vaflat#(SIZEOF(PRS_VAFLAT))
  39.     cleanup#(SIZEOF(PRS_CLEANUP))
  40. ENDS
  41.  
  42. /* Constants for active */
  43.  
  44. #define PRIORITY_ACTIVE_POSTER    100
  45. #define PRIORITY_ACTIVE_IPCS    80
  46. #define PRIORITY_ACTIVE_VOICE    70
  47. #define PRIORITY_ACTIVE_WSERV    60
  48. #define PRIORITY_ACTIVE_COMMAND    40
  49. #define PRIORITY_ACTIVE_SERIAL    20
  50. #define PRIORITY_ACTIVE_ALARM    0
  51. #define PRIORITY_ACTIVE_FILES    -20
  52. #define PRIORITY_ACTIVE_REPEATER-40
  53. #define PRIORITY_ACTIVE_PRINT    -60
  54. #define PRIORITY_ACTIVE_COMPUTE    -100
  55.  
  56. /* Property of active */
  57.  
  58. STRUCT PRS_ACTIVE
  59.     q#(SIZEOF(P_QUE))
  60.     priority#
  61.     isactive#
  62.     pcb%
  63.     stat%
  64. ENDS
  65.  
  66. STRUCT PR_ACTIVE
  67.     root#(SIZEOF(PRS_ROOT))
  68.     active#(SIZEOF(PRS_ACTIVE))
  69. ENDS
  70.  
  71. /* Property of aidle */
  72.  
  73. STRUCT PR_AIDLE
  74.     root#(SIZEOF(PRS_ROOT))
  75.     active#(SIZEOF(PRS_ACTIVE))
  76. ENDS
  77.  
  78. /* Types for rscfile */
  79.  
  80. STRUCT PR_RSCFILE_HEAD
  81.     pos%
  82.     len%
  83. ENDS
  84.  
  85. /* Property of rscfile */
  86.  
  87. STRUCT PRS_RSCFILE
  88.     pcb%
  89.     ix#(SIZEOF(PR_RSCFILE_HEAD))
  90.     offset%
  91.     hftree&
  92. ENDS
  93.  
  94. STRUCT PR_RSCFILE
  95.     root#(SIZEOF(PRS_ROOT))
  96.     rscfile#(SIZEOF(PRS_RSCFILE))
  97. ENDS
  98.  
  99. /* Constants for system */
  100.  
  101. #define IC_SYSTEM_ALLOC        0
  102. #define IC_SYSTEM_REMOVE    1
  103. #define IC_SYSTEM_REPLACE    2
  104.  
  105. /* Property of system */
  106.  
  107. STRUCT PRS_SYSTEM
  108.     pid%
  109. ENDS
  110.  
  111. STRUCT PR_SYSTEM
  112.     root#(SIZEOF(PRS_ROOT))
  113.     system#(SIZEOF(PRS_SYSTEM))
  114. ENDS
  115.  
  116. /* Property of ipcs */
  117.  
  118. STRUCT PRS_IPCS
  119.     hd#(SIZEOF(P_QUE))
  120. ENDS
  121.  
  122. STRUCT PR_IPCS
  123.     root#(SIZEOF(PRS_ROOT))
  124.     active#(SIZEOF(PRS_ACTIVE))
  125.     ipcs#(SIZEOF(PRS_IPCS))
  126. ENDS
  127.  
  128. /* Constants for appman */
  129.  
  130. #define FLG_APPMAN_CLEAN    0x01
  131. #define FLG_APPMAN_SYSTEM    0x02
  132. #define FLG_APPMAN_RSCFILE    0x04
  133. #define FLG_APPMAN_SRSCFILE    0x08
  134. #define FLG_APPMAN_IPCS        0x10
  135. #define FLG_APPMAN_ONLYONE    0x20
  136. #define FLG_APPMAN_NODBG    0x40
  137. #define RUN_ACTIVE_UNUSED    0
  138. #define RUN_ACTIVE_USED        1
  139. #define ERR_APPMAN_APPL        -512
  140.  
  141. /* Property of appman */
  142.  
  143. STRUCT PRS_APPMAN
  144.     clean%
  145.     system%
  146.     rcb%
  147.     srcb%
  148.     ipcs%
  149.     task#(SIZEOF(P_QUE))
  150.     stop%
  151.     nrid%
  152.     err%
  153.     spare1%
  154.     spare2%
  155. ENDS
  156.  
  157. STRUCT PR_APPMAN
  158.     root#(SIZEOF(PRS_ROOT))
  159.     appman#(SIZEOF(PRS_APPMAN))
  160. ENDS
  161.  
  162. #include <opp\process>
  163.  
  164. /* AC:Load a resource into a buffer which MUST be big enough */
  165.  
  166. #define LOAD_RESBUF(id,buf)    send(peekw(DatAppMan),O_AM_LOAD_RES_BUF,#id,buf)
  167.  
  168. /* AC:Load a resource, allocating memory as required */
  169.  
  170. #define LOAD_RESOURCE(id,ptr)    send(peekw(DatAppMan),O_AM_LOAD_RESOURCE,#id,ptr)
  171. #define FREE_RESOURCE(ptr)    freealloc(ptr)
  172.  
  173.