/* <pccdef.h>
 *
 *	Printer/Terminal Carriage Control specifiers
 */
#ifndef _PCCDEF_H
#define _PCCDEF_H

#define PCC$V_CHAR	0
#define PCC$M_CHAR	0x1F
#define PCC$S_CHAR	5
#define PCC$V_EIGHTBIT	6
#define PCC$M_EIGHTBIT	0x40
#define PCC$S_EIGHTBIT	1
#define PCC$V_SINGLE	7
#define PCC$M_SINGLE	0x80
#define PCC$S_SINGLE	1
#define PCC$V_LINECNT	8
#define PCC$M_LINECNT	0x7F
#define PCC$S_LINECNT	7
/* Fortran constants */
#define PCC$_FTN_SINGLE 32	/* ' ' = single space */
#define PCC$_FTN_DOUBLE 48	/* '0' = double space */
#define PCC$_FTN_PAGE	49	/* '1' = page space */
#define PCC$_FTN_OVRPRT 43	/* '+' = over print */
#define PCC$_FTN_PROMPT 36	/* '$' = prompt */
struct pccdef {
    unsigned short pcc$w_fortran;	/* fortran field */
    union {				/* prefix field */
	unsigned char pcc$b_prefix;
	struct {
	    unsigned pccdef$$_bits0 : 1;
	    unsigned		    : 7;
	} pcc$r_prefix_bits0;
	struct {
	    unsigned pccdef$$_bits1 : 1;
	    unsigned		    : 7;
	} pcc$r_prefix_bits1;
    } pcc$r_prefix_overlay;
    union {
	unsigned char pcc$b_postfix;	/* postfix field */
	struct {
	    unsigned pcc$v_char     : 5; /* character field */
	    unsigned		    : 1;
	    unsigned pcc$v_eightbit : 1; /* eightbit character set */
	    unsigned pcc$v_single   : 1; /* single character */
	} pcc$r_postfix_bits0;
	struct {
	    unsigned pcc$v_linecnt  : 7; /* line count for newlines */
	    unsigned		    : 1;
	} pcc$r_postfix_bits1;
    } pcc$r_postfix_overlay;
};

#endif	/*_PCCDEF_H*/