Cover V02, I04
Article
Figure 1
Listing 1
Listing 2
Listing 3
Listing 4
Listing 5
Listing 6

jul93.tar


Figure 1: The shar_vars structure

/* ********************************************************************* */
/* Pointers To Vertical Spacing Values Shared With the Formatter Driver  */
/* NOTE: All pointers in the table, and all values they point to (except */
/*       "_vtab_base"), are initialized and maintained by the formatter. */
/*       "Vres units" is the number of units into which a vertical inch  */
/*       is divided.                                                     */
/* ********************************************************************* */
struct shar_vars {
int    *_pl;        /* page length, in Vres units.  A value of zero means
that page boundaries will be ignored. */
int    *_tmarg;     /* top margin, in Vres units */
int    *_bmarg;     /* bottom margin, in Vres units */
int    *_vpos;      /* vertical position where the next line is to be
be printed (in Vres units, relative to the top
of the physical page) */
int    *_vtab_base; /* base vertical position for vertical tab stops.
Adjusted to reflect top margin and security label.
Set by formatter driver.  Used by formatter
to calculate the new vertical position when a
vertical tab is encountered */
int    *_vincr;     /* vertical increment: the number of Vres units
that the command whose attribute name is pointed
to by "_vincr_cmd" will advance the page */
char   *_vincr_cmd; /* pointer to the attribute name of the vertical
spacing command (e.g., a line feed, or line
feed/carrier return) that will space down the
number of Vres units specified by the the integer
pointed to by "_vincr". */
int    *_vdecr;     /* vertical decrement: the number of Vres units
that the command whose attribute name is pointed
to by "_vdecr_cmd" will back up the page */
char   *_vdecr_cmd; /* pointer to the attribute name of the vertical
backspacing command (e.g., a reverse line feed)
that will space up the number of Vres units
specified by the the integer pointed to by
"_vdecr". */
char   *_ff_cmd;    /* pointer to the attribute name for the form feed
command. */
int    *_ff_at_eof; /* if TRUE, output form feed at end of input file */
char   *_set_cmd;   /* pointer to the attribute name of the command to be
sent to the printer by the formatter driver to put
the printer in the proper state when switching back
& forth between "current" (PIO_CURR_MODE) mode and
"security label" (PIO_SECUR_MODE) mode. The command
should normally be similar to the printer
initialization and restore commands, except that the
page length should not be changed. */
int    *_reserved1; /* reserved for future use; must be set to NULL */
int    *_reserved2; /* reserved for future use; must be set to NULL */
char   *_reserved3; /* reserved for future use; must be set to NULL */
char   *_reserved4; /* reserved for future use; must be set to NULL */

};