pswrap
PSWRAP(1) PSWRAP(1)
NAME
pswrap - creates C procedures from segments of PostScript language
code
SYNOPSIS
pswrap [ -apr ] [ -o outputCfile ] [ -h outputHfile ] [ -s maxstring ]
inputfile
DESCRIPTION
pswrap reads input from inputfile and creates C-callable procedures,
known as wraps, that send PostScript language code to the PostScript
interpreter. inputfile contains segments of PostScript language code
wrapped with a C-like procedure syntax.
Wraps are the most efficient way for an application to communicate
with the PostScript interpreter. For complete documentation of pswrap
and the language it accepts, see "pswrap Reference Manual" in Program-
ming the Display PostScript System with X.
OPTIONS
inputfile
A file that contains one or more wrap definitions. pswrap
transforms the definitions in inputfile into C procedures. If
no input file is specified, the standard input (which can be
redirected from a file or pipe) is used. The input file can
include text other than wrap definitions. pswrap converts wrap
definitions to C procedures and passes the other text through
unchanged. Therefore, it is possible to intersperse C-language
source code with wrap definitions in the input file.
Note: Although C code is allowed in a pswrap input file, it is
not allowed within a wrap body. In particular, no CPP macros
(for example, #define) are allowed inside a wrap.
-a Generates ANSI C procedure prototypes for procedure definitions
in outputCfile and, optionally, outputHfile. The -a option
allows compilers that recognize the ANSI C standard to do more
complete type checking of parameters. The -a option also causes
pswrap to generate const declarations.
Note: ANSI C procedure prototype syntax is not recognized by
most non-ANSI C compilers, including many compilers based on
the Portable C Compiler. Use the -a option only in conjunction
with a compiler that conforms to the ANSI C Standard.
-h outputHFile
Generates a header file that contains extern declarations for
non-static wraps. This file can be used in #include statements
in modules that use wraps. If the -a option is specified, the
declarations in the header file are ANSI C procedure proto-
types. If the -h option is omitted, a header file is not pro-
duced.
-o outputCFile
Specifies the file to which the generated wraps and passed-
through text are written. If omitted, the standard output is
used. If the -a option is also specified, the procedure defini-
tions generated by pswrap are in ANSI C procedure prototype
syntax.
-p Specifies that strings passed by wraps are padded so that each
data object begins on a long-word (4-byte) boundary. This
option allows wraps to run on architectures that restrict data
alignment to 4-byte boundaries and improves performance on some
other architectures.
-r Generates reentrant code for wraps shared by more than one pro-
cess (as in shared libraries). Reentrant code can be called
recursively or by more than one thread. The -r option causes
pswrap to generate extra code, so use it only when necessary.
-s maxstring
Sets the maximum allowable length of a PostScript string object
or hexadecimal string object in the wrap body input. A syntax
error is reported if a string is not terminated with ) or >
within maxstring characters. maxstring cannot be set lower
than 80; the default is 200.
SEE ALSO
Programming the Display PostScript System with X (Addison-Wesley Pub-
lishing Company, Inc., 1993).
AUTHOR
Adobe Systems Incorporated
NOTES
PostScript and Display PostScript are trademarks of Adobe Systems
Incorporated which may be registered in certain jurisdictions.
Copyright (c) 1988-1994 Adobe Systems Incorporated. All rights
reserved.
Adobe Systems 4 Apr 1994 PSWRAP(1)