home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 110 / EnigmaAmiga110CD.iso / indispensabili / utility / apdf / xpdf-0.80 / xpdf / acomm.h < prev    next >
C/C++ Source or Header  |  1999-06-24  |  4KB  |  236 lines

  1. //========================================================================
  2. //
  3. // AComm.h
  4. //
  5. // Copyright 1999 Emmanuel Lesueur
  6. //
  7. //========================================================================
  8.  
  9. #ifndef ACOMM_H
  10. #define ACOMM_H
  11.  
  12. #define VMAGIC      100
  13.  
  14. #define st_unchanged 0
  15. #define st_changed   1
  16. #define st_url       2
  17. #define st_run       3
  18.  
  19.  
  20. #ifdef POWERUP
  21.  
  22. typedef void PPCMsg;
  23. typedef void PPCPort;
  24. typedef void PPCPortList;
  25. typedef void PPCTask;
  26.  
  27. #ifdef DEBUGMSG
  28.  
  29. #include <stdio.h>
  30.  
  31. #ifdef __PPC__
  32. #   define ID "PPC"
  33. #else
  34. #   define ID "68k"
  35. #endif
  36.  
  37. static void* myPPCGetMessage(void* p) {
  38.     void* m=PPCGetMessage(p);
  39.     if(m)
  40.     printf(ID": got msg %x (%d) at port %x\n",m,PPCGetMessageAttr(m,PPCMSGTAG_MSGID),p);
  41.     else
  42.     printf(ID": got no msg at port %x\n",p);
  43.     return m;
  44. }
  45.  
  46. #define PPCSendMessage(p,m,d,l,i) \
  47.     (printf(ID": sending msg %x (%d) to port %x\n",m,i,p), \
  48.      PPCSendMessage(p,m,d,l,i))
  49. #define PPCReplyMessage(m) \
  50.     (printf(ID": replying to msg %x\n",m), \
  51.      PPCReplyMessage(m))
  52. #define PPCWaitPort(p) \
  53.     (printf(ID": waiting at port %x\n",p), \
  54.      PPCWaitPort(p))
  55. #define PPCWaitPortList(p) \
  56.     (printf(ID": waiting for ports\n"), \
  57.      PPCWaitPortList(p))
  58. #define PPCGetMessage(p) myPPCGetMessage(p)
  59.  
  60. #endif
  61.  
  62.  
  63. struct StartupData {
  64.     void* port;
  65.     int in;
  66.     int out;
  67.     int err;
  68.     int status;
  69.     int flags;
  70.     int colors;
  71.     int id;
  72.     char gzipcmd[1];
  73. };
  74.  
  75. struct msg_base {
  76.     int success;
  77. /*#if DEBUGMSG
  78.     char id[40];
  79. #endif*/
  80. };
  81.  
  82. struct msg_create_output_dev {
  83.     struct msg_base base;
  84.     struct ColorMap* colormap;
  85.     int depth;
  86. };
  87.  
  88. struct msg_info {
  89.     struct msg_base base;
  90.     int num_pages;
  91. };
  92.  
  93. struct msg_pagesize {
  94.     struct msg_base base;
  95.     int page;
  96.     int width;
  97.     int height;
  98. };
  99.  
  100. struct msg_page {
  101.     struct msg_base base;
  102.     int page_num;
  103.     int zoom;
  104. };
  105.  
  106. struct msg_createdoc {
  107.     struct msg_base base;
  108.     long dir;
  109.     size_t cachesz;
  110.     size_t blocsz;
  111.     char filename[256];
  112. };
  113.  
  114. struct msg_find {
  115.     struct msg_base base;
  116.     int xmin;
  117.     int xmax;
  118.     int ymin;
  119.     int ymax;
  120.     int top;
  121.     int bottom;
  122.     int page;
  123.     char str[100];
  124. };
  125.  
  126. struct msg_chklink {
  127.     struct msg_base base;
  128.     int x;
  129.     int y;
  130.     void* action;
  131.     char str[256];
  132. };
  133.  
  134.  
  135. struct msg_dolink {
  136.     struct msg_base base;
  137.     int x;
  138.     int y;
  139.     int state;
  140.     int page;
  141.     char str[256];
  142. };
  143.  
  144. struct msg_write {
  145.     struct msg_base base;
  146.     int first_page;
  147.     int last_page;
  148.     int zoom;
  149.     int rotate;
  150.     int type;
  151.     char filename[256];
  152. };
  153.  
  154. struct msg_gettext {
  155.     struct msg_base base;
  156.     int xmin;
  157.     int xmax;
  158.     int ymin;
  159.     int ymax;
  160.     int size;
  161. };
  162.  
  163. struct msg_showfonts {
  164.     struct msg_base base;
  165.     int flag;
  166. };
  167.  
  168. struct msg_fontmap {
  169.     struct msg_base base;
  170.     char pdffont[128];
  171.     char afont[128];
  172.     int m;
  173.     int style;
  174.     int encoding;
  175. };
  176.  
  177. struct msg_scan_fonts {
  178.     struct msg_base base;
  179.     int first_page;
  180.     int last_page;
  181. };
  182.  
  183. union msg_max {
  184.     struct msg_create_output_dev m1;
  185.     struct msg_info m2;
  186.     struct msg_page m3;
  187.     struct msg_createdoc m4;
  188.     struct msg_find m5;
  189.     struct msg_dolink m6;
  190.     struct msg_chklink m7;
  191.     struct msg_write m8;
  192.     struct msg_gettext m9;
  193.     struct msg_showfonts m10;
  194.     struct msg_fontmap m11;
  195.     struct msg_scan_fonts m12;
  196. };
  197.  
  198. #define MSGID_SYNC            0
  199. #define MSGID_QUIT            1
  200. #define MSGID_GFX             2
  201. #define MSGID_INFO            3
  202. #define MSGID_PAGE            4
  203. #define MSGID_CREATEOUTPUTDEV 5
  204. #define MSGID_DELETEOUTPUTDEV 6
  205. #define MSGID_CREATEDOC       7
  206. #define MSGID_DELETEDOC       8
  207. #define MSGID_FIND            9
  208. #define MSGID_CHKLINK         10
  209. #define MSGID_DOLINK          11
  210. #define MSGID_SIMPLEFIND      12
  211. #define MSGID_WRITE           13
  212. #define MSGID_GFXPIPE         14
  213. #define MSGID_GFXSYNC         15
  214. #define MSGID_GETTEXT         16
  215. #define MSGID_SHOWFONTS       17
  216. #define MSGID_ADDFONTMAP      18
  217. /*#define MSGID_REMFONTMAP      19*/
  218. #define MSGID_CLEARFONTMAP    20
  219. /*#define MSGID_SETFONTMAP      21*/
  220. #define MSGID_SCANFONTS       22
  221. #define MSGID_ENDSCANFONTS    23
  222. #define MSGID_GETFONT         24
  223. #define MSGID_DEFAULTFONTS    25
  224. #define MSGID_PAGESIZE        26
  225. #define MSGID_INITFIND        27
  226. #define MSGID_ENDFIND         28
  227. #define MSGID_INITWRITE       29
  228. #define MSGID_ENDWRITE        30
  229. #define MSGID_INITSCAN        31
  230.  
  231. #endif
  232.  
  233.  
  234. #endif
  235.  
  236.