home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 380.lha / post_v1.1 / source / postlib.h < prev   
Encoding:
C/C++ Source or Header  |  1990-06-10  |  3.3 KB  |  108 lines

  1. /* PostScript interpreter file "postlib.h" - library interface header (Amiga)
  2.  * (C) Adrian Aylward 1989, 1990.  Version 1.1
  3.  *
  4.  * You may freely copy and use this file.  It was written for Lattice C
  5.  * V5.05.  N.B. all ints are 32 bits!
  6.  *
  7.  * This file defines the library interface, so that other programs can
  8.  * use the PostScript drawing machinery.  It is totally Amiga specific.
  9.  *
  10.  * N.B. the symbol STATICLINK is used for building a statically linked
  11.  * version of Post for debugging purposes.  It should not be defined for
  12.  * normal use.
  13.  */
  14.  
  15. /* The version number */
  16.  
  17. # define POSTVER "Post V1.1"
  18.  
  19. /* The parameter block */
  20.  
  21. struct PSparm
  22. {   struct
  23.     {   char *buf[24];
  24.         int len;
  25.         short depth, reserved[5];
  26.         short xbytes, xsize, ysize, ybase, yheight;
  27.         short xden, yden, ydir;
  28.     } page;
  29.     int memvlen, memflen, memllen, memhlen;
  30.     APTR userdata, flushfunc, copyfunc;
  31.     BPTR infh, outfh, errfh;
  32.     int reserved[4];
  33. };
  34.  
  35. /* Flags */
  36.  
  37. # define PSFLAGSTRING  1 /* Interpret string */
  38. # define PSFLAGFILE    2 /* Interpret file */
  39. # define PSFLAGINTER   4 /* Interactive, issue propmts */
  40. # define PSFLAGCLEAR   8 /* Clear stacks afterwards */
  41. # define PSFLAGSAVE   16 /* Save and restore */
  42. # define PSFLAGERASE  32 /* Erase page afterwards */
  43.  
  44. /* Errors */
  45.  
  46. # ifndef errmax
  47. # define errdictfull             1
  48. # define errdictstackoverflow    2
  49. # define errdictstackunderflow   3
  50. # define errexecstackoverflow    4
  51. # define errinterrupt            5
  52. # define errinvalidaccess        6
  53. # define errinvalidexit          7
  54. # define errinvalidfileaccess    8
  55. # define errinvalidfont          9
  56. # define errinvalidrestore      10
  57. # define errinvalidstop         11
  58. # define errioerror             12
  59. # define errlimitcheck          13
  60. # define errnocurrentpoint      14
  61. # define errrangecheck          15
  62. # define errstackoverflow       16
  63. # define errstackunderflow      17
  64. # define errsyntaxerror         18
  65. # define errtimeout             19
  66. # define errtypecheck           20
  67. # define errundefined           21
  68. # define errundefinedfilename   22
  69. # define errundefinedresult     23
  70. # define errunmatchedmark       24
  71. # define errunregistered        25
  72. # define errVMerror             26
  73. # define errmax                 26
  74. # endif
  75.  
  76. /* Entry points */
  77.  
  78. # ifdef STATICLINK
  79. # define PScreateact(parm)          initialise(parm)
  80. # define PSdeleteact(arec)          terminate()
  81. # define PSintstring(arec, s, l, f) intstring(s, l, f)
  82. # define PSsignalint(arec, f)       signalint(f)
  83. # define PSsignalfpe(arec)          signalfpe()
  84. # define PSerror(arec, n)           error(n)
  85. # endif
  86.  
  87. /* Entry points */
  88.  
  89. extern int  PScreateact(struct PSparm *parm);
  90. extern void PSdeleteact(int arec);
  91. extern int  PSintstring(int arec, char *string, int length, int flags);
  92. extern void PSsignalint(int arec, int flag);
  93. extern void PSsignalfpe(int arec);
  94. extern void PSerror(int arec, int errnum);
  95.  
  96. # ifndef STATICLINK
  97. # ifdef LATTICE
  98. # pragma libcall PSbase PScreateact  1e    901 ; d0 = (a1)
  99. # pragma libcall PSbase PSdeleteact  24    801 ;      (a0)
  100. # pragma libcall PSbase PSintstring  2A 109804 ; d0 = (a0, a1, d0, d1)
  101. # pragma libcall PSbase PSsignalint  30   0802 ;      (a0, d0)
  102. # pragma libcall PSbase PSsignalfpe  36    801 ;      (a0)
  103. # pragma libcall PSbase PSerror      3C   0802 ;      (a0, d0)
  104. # endif
  105. # endif
  106.  
  107. /* End of file "postlib.h" */
  108.