Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
/* Copyright (C) 1995, 1996, 1999 Aladdin Enterprises.  All rights reserved.
2
 
3
  This software is provided AS-IS with no warranty, either express or
4
  implied.
5
 
6
  This software is distributed under license and may not be copied,
7
  modified or distributed except as expressly authorized under the terms
8
  of the license contained in the file LICENSE in this distribution.
9
 
10
  For more information about licensing, please refer to
11
  http://www.ghostscript.com/licensing/. For information on
12
  commercial licensing, go to http://www.artifex.com/licensing/ or
13
  contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14
  San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15
*/
16
 
17
/* $Id: opextern.h,v 1.6 2002/06/16 04:47:10 lpd Exp $ */
18
/* Externally accessible operator declarations */
19
 
20
#ifndef opextern_INCLUDED
21
#  define opextern_INCLUDED
22
 
23
/*
24
 * Normally, the procedures that implement PostScript operators (named zX
25
 * where X is the name of the operator, e.g., zadd) are private to the
26
 * file in which they are defined.  There are, however, a surprising
27
 * number of these procedures that are used from other files.
28
 * This file, opextern.h, declares all z* procedures that are
29
 *      - referenced from outside their defining file, and
30
 *      - present in *all* configurations of the interpreter.
31
 * For z* procedures referenced from outside their file but not present
32
 * in all configurations (e.g., Level 2 operators), the file making the
33
 * reference must include a local extern.  Not pretty, but c'est la vie.
34
 */
35
 
36
/* Operators exported for the special operator encoding in interp.c. */
37
int zadd(i_ctx_t *);
38
int zdef(i_ctx_t *);
39
int zdup(i_ctx_t *);
40
int zexch(i_ctx_t *);
41
int zif(i_ctx_t *);
42
int zifelse(i_ctx_t *);
43
int zindex(i_ctx_t *);
44
int zpop(i_ctx_t *);
45
int zroll(i_ctx_t *);
46
int zsub(i_ctx_t *);
47
/* Internal entry points for the interpreter. */
48
int zop_add(ref *);
49
int zop_def(i_ctx_t *);
50
int zop_sub(ref *);
51
 
52
/* Operators exported for server loop implementations. */
53
int zflush(i_ctx_t *);
54
int zflushpage(i_ctx_t *);
55
int zsave(i_ctx_t *);
56
int zrestore(i_ctx_t *);
57
 
58
/* Operators exported for save/restore. */
59
int zgsave(i_ctx_t *);
60
int zgrestore(i_ctx_t *);
61
 
62
/* Operators exported for Level 2 pagedevice facilities. */
63
int zcopy_gstate(i_ctx_t *);
64
int zcurrentgstate(i_ctx_t *);
65
int zgrestoreall(i_ctx_t *);
66
int zgstate(i_ctx_t *);
67
int zreadonly(i_ctx_t *);
68
int zsetdevice(i_ctx_t *);
69
int zsetgstate(i_ctx_t *);
70
 
71
/* Operators exported for Level 2 "wrappers". */
72
int zcopy(i_ctx_t *);
73
int zimage(i_ctx_t *);
74
int zimagemask(i_ctx_t *);
75
int zwhere(i_ctx_t *);
76
 
77
/* Operators exported for specific-VM operators. */
78
int zarray(i_ctx_t *);
79
int zdict(i_ctx_t *);
80
int zpackedarray(i_ctx_t *);
81
int zstring(i_ctx_t *);
82
 
83
/* Operators exported for user path decoding. */
84
/* Note that only operators defined in all configurations are declared here. */
85
int zclosepath(i_ctx_t *);
86
int zcurveto(i_ctx_t *);
87
int zlineto(i_ctx_t *);
88
int zmoveto(i_ctx_t *);
89
int zrcurveto(i_ctx_t *);
90
int zrlineto(i_ctx_t *);
91
int zrmoveto(i_ctx_t *);
92
 
93
/* Operators exported for the FunctionType 4 interpreter. */
94
/* zarith.c: */
95
int zabs(i_ctx_t *);
96
int zceiling(i_ctx_t *);
97
int zdiv(i_ctx_t *);
98
int zfloor(i_ctx_t *);
99
int zidiv(i_ctx_t *);
100
int zmod(i_ctx_t *);
101
int zmul(i_ctx_t *);
102
int zneg(i_ctx_t *);
103
int zround(i_ctx_t *);
104
int ztruncate(i_ctx_t *);
105
/* zmath.c: */
106
int zatan(i_ctx_t *);
107
int zcos(i_ctx_t *);
108
int zexp(i_ctx_t *);
109
int zln(i_ctx_t *);
110
int zlog(i_ctx_t *);
111
int zsin(i_ctx_t *);
112
int zsqrt(i_ctx_t *);
113
/* zrelbit.c: */
114
int zand(i_ctx_t *);
115
int zbitshift(i_ctx_t *);
116
int zeq(i_ctx_t *);
117
int zge(i_ctx_t *);
118
int zgt(i_ctx_t *);
119
int zle(i_ctx_t *);
120
int zlt(i_ctx_t *);
121
int zne(i_ctx_t *);
122
int znot(i_ctx_t *);
123
int zor(i_ctx_t *);
124
int zxor(i_ctx_t *);
125
/* ztype.c: */
126
int zcvi(i_ctx_t *);
127
int zcvr(i_ctx_t *);
128
 
129
/* Operators exported for CIE cache loading. */
130
int zcvx(i_ctx_t *);
131
int zexec(i_ctx_t *);		/* also for .runexec */
132
int zfor(i_ctx_t *);
133
 
134
/* Odds and ends */
135
int zbegin(i_ctx_t *);
136
int zcleartomark(i_ctx_t *);
137
int zclosefile(i_ctx_t *);	/* for runexec_cleanup */
138
int zcopy_dict(i_ctx_t *);	/* for zcopy */
139
int zend(i_ctx_t *);
140
int zfor_samples(i_ctx_t *); /* for function sampling */
141
int zsetfont(i_ctx_t *);	/* for cshow_continue */
142
 
143
/* Operators exported for special customer needs. */
144
int zcurrentdevice(i_ctx_t *);
145
int ztoken(i_ctx_t *);
146
int ztokenexec(i_ctx_t *);
147
int zwrite(i_ctx_t *);
148
 
149
#endif /* opextern_INCLUDED */