mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
273 lines
9.1 KiB
273 lines
9.1 KiB
/********************************************************************/
|
|
/** Microsoft LAN Manager **/
|
|
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
|
/********************************************************************/
|
|
|
|
/********************************************************************
|
|
* *
|
|
* About this file ... SPOOL.H *
|
|
* *
|
|
* This file contains information about the DosPrint APIs. *
|
|
* *
|
|
* Function prototypes. *
|
|
* *
|
|
* Data structure templates. *
|
|
* *
|
|
* Definition of special values. *
|
|
* *
|
|
* *
|
|
* NOTE: You must include NETCONS.H before this file, since this *
|
|
* file depends on values defined in NETCONS.H. *
|
|
* *
|
|
********************************************************************/
|
|
|
|
|
|
/****************************************************************
|
|
* *
|
|
* Function prototypes *
|
|
* *
|
|
****************************************************************/
|
|
|
|
|
|
#ifndef NO_INCL_PROTOTYPES /* default is to define everything */
|
|
|
|
extern API_FUNCTION
|
|
DosPrintDestEnum ( const char far *, short, char far *, unsigned short,
|
|
unsigned short far *, unsigned short far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintDestControl ( const char far *, char far *, int );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintDestGetInfo ( const char far *, char far *, short,char far *,
|
|
unsigned short, unsigned short far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintDestStatus ( char far *, unsigned short, unsigned short, char far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintQEnum ( const char far *, short, char far *, unsigned short,
|
|
unsigned short far *, unsigned short far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintQGetInfo ( const char far *, char far *, short, char far *, unsigned short, unsigned short far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintQSetInfo ( const char far *, char far *, short, char far *, unsigned short, short);
|
|
|
|
extern API_FUNCTION
|
|
DosPrintQPause ( const char far *, char far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintQContinue ( const char far *, char far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintQPurge ( const char far *, char far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintQAdd ( const char far *, short, char far *, unsigned short );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintQDel ( const char far *, char far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintJobGetInfo ( const char far *, unsigned short, short,char far *,
|
|
unsigned short, unsigned short far * );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintJobSetInfo ( const char far *, unsigned short,short, char far *,
|
|
unsigned short, short );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintJobPause ( const char far *, unsigned short );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintJobContinue ( const char far *, unsigned short );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintJobDel ( const char far *, unsigned short );
|
|
|
|
extern API_FUNCTION
|
|
DosPrintJobEnum( const char far *, const char far *, short, char far *,
|
|
unsigned short, unsigned short far *,unsigned short far *);
|
|
|
|
extern API_FUNCTION
|
|
DosPrintJobGetId(unsigned short, char far *, unsigned short);
|
|
|
|
#endif
|
|
|
|
/****************************************************************
|
|
* *
|
|
* Data structure templates *
|
|
* *
|
|
****************************************************************/
|
|
|
|
|
|
struct prjob_info {
|
|
unsigned short prjob_id; /* job ID */
|
|
char prjob_username[UNLEN+1]; /* submitting user name */
|
|
char prjob_pad_1; /* byte to pad to word boundary */
|
|
char prjob_notifyname[CNLEN+1]; /* message name to notify */
|
|
char prjob_datatype[DTLEN+1]; /* spool file data type name */
|
|
char far * prjob_parms; /* implementation defined parameter string */
|
|
unsigned short prjob_position; /* position of the job in the queue */
|
|
/* For SetInfo */
|
|
/* 0 means do not change position */
|
|
/* position > # of jobs means the end */
|
|
unsigned short prjob_status; /* job status */
|
|
char far * prjob_status_string; /* status string posted by print processor */
|
|
unsigned long prjob_submitted; /* time when the job is submitted */
|
|
/* (from 1970-1-1 in seconds) */
|
|
unsigned long prjob_size; /* job size */
|
|
char far *prjob_comment; /* comment associated with this job */
|
|
}; /* prjob_info */
|
|
|
|
struct prdest_info {
|
|
char prdest_name[PDLEN+1]; /* name of the print destination */
|
|
char prdest_username[UNLEN+1]; /* the username of current job. */
|
|
unsigned short prdest_jobid; /* current printing job ID or 0 if none */
|
|
unsigned short prdest_status; /* status of the destination, a bit mask */
|
|
char far * prdest_status_string; /* status string posted by the processor */
|
|
unsigned short prdest_time; /* printing time in minutes. */
|
|
}; /* prdest_info */
|
|
|
|
struct prq_info {
|
|
char prq_name[QNLEN+1]; /* queue name */
|
|
char prq_pad_1; /* byte to pad to word boundary */
|
|
unsigned short prq_priority; /* Priority (0-9) with 1 lowest */
|
|
unsigned short prq_starttime; /* time to start the queue. */
|
|
/* (from 00:00 of the day in minutes) */
|
|
unsigned short prq_untiltime; /* time to stop the queue. */
|
|
/* (from 00:00 of the day in minutes) */
|
|
char far * prq_separator; /* separator file name */
|
|
char far * prq_processor; /* command string to invoke print processor */
|
|
/* ("PATHNAME PARM1=VAL1 PARM2=VAL2 ...") */
|
|
char far * prq_destinations; /* destination names the queue is routed to */
|
|
/* ("DEST1 DEST2 ...") */
|
|
char far * prq_parms; /* implementation defined parameter string */
|
|
char far * prq_comment; /* comment string */
|
|
unsigned short prq_status; /* queue status mask: */
|
|
/* 0 Queue active */
|
|
/* 1 Queue paused */
|
|
/* 2 Queue unscheduled */
|
|
/* 3 Queue pending delete */
|
|
unsigned short prq_jobcount; /* number of jobs in the queue */
|
|
}; /* prq_info */
|
|
|
|
/*
|
|
* structure for DosPrintJobGetId
|
|
*/
|
|
struct prid_info {
|
|
unsigned short prjid_id;
|
|
char prjid_server[CNLEN + 1]; /* server name */
|
|
char prjid_qname[QNLEN+1]; /* queue to which the job is queued */
|
|
char prjid_pad_1; /* byte to pad to word boundary */
|
|
}; /* prid_info */
|
|
|
|
|
|
/****************************************************************
|
|
* *
|
|
* Special values and constants *
|
|
* *
|
|
****************************************************************/
|
|
|
|
|
|
|
|
|
|
/*
|
|
* Values for parmnum in DosPrintQSetInfo.
|
|
*/
|
|
|
|
#define PRQ_PRIORITY_PARMNUM 2
|
|
#define PRQ_STARTTIME_PARMNUM 3
|
|
#define PRQ_UNTILTIME_PARMNUM 4
|
|
#define PRQ_SEPARATOR_PARMNUM 5
|
|
#define PRQ_PROCESSOR_PARMNUM 6
|
|
#define PRQ_DESTINATIONS_PARMNUM 7
|
|
#define PRQ_PARMS_PARMNUM 8
|
|
#define PRQ_COMMENT_PARMNUM 9
|
|
#define PRQ_MAXPARMNUM 11
|
|
|
|
/*
|
|
* Print Queue Priority
|
|
*/
|
|
|
|
#define PRQ_MAX_PRIORITY 1
|
|
#define PRQ_DEF_PRIORITY 5
|
|
#define PRQ_MIN_PRIORITY 9
|
|
|
|
/*
|
|
* Print queue status bitmask and values.
|
|
*/
|
|
|
|
#define PRQ_STATUS_MASK 3
|
|
#define PRQ_ACTIVE 0
|
|
#define PRQ_PAUSE 1
|
|
#define PRQ_ERROR 2
|
|
#define PRQ_PENDING 3
|
|
|
|
/*
|
|
* Values for parmnum in DosPrintJobSetInfo.
|
|
*/
|
|
|
|
#define PRJOB_NOTIFYNAME_PARMNUM 3
|
|
#define PRJOB_DATATYPE_PARMNUM 4
|
|
#define PRJOB_PARMS_PARMNUM 5
|
|
#define PRJOB_POSITION_PARMNUM 6
|
|
#define PRJOB_COMMENT_PARMNUM 11
|
|
#define PRJOB_MAXPARMNUM 11
|
|
|
|
/*
|
|
* Bitmap masks for prjob_status field of PRINTJOB.
|
|
*/
|
|
|
|
/* 2-7 bits also used in device status */
|
|
|
|
#define PRJOB_QSTATUS 0x3 /* Bits 0,1 */
|
|
#define PRJOB_DEVSTATUS 0x1fc /* 2-8 bits */
|
|
#define PRJOB_COMPLETE 0x4 /* Bit 2 */
|
|
#define PRJOB_INTERV 0x8 /* Bit 3 */
|
|
#define PRJOB_ERROR 0x10 /* Bit 4 */
|
|
#define PRJOB_DESTOFFLINE 0x20 /* Bit 5 */
|
|
#define PRJOB_DESTPAUSED 0x40 /* Bit 6 */
|
|
#define PRJOB_NOTIFY 0x80 /* BIT 7 */
|
|
#define PRJOB_DESTNOPAPER 0x100 /* BIT 8 */
|
|
#define PRJOB_DELETED 0x8000 /* BIT 15 */
|
|
|
|
/*
|
|
* Values of PRJOB_QSTATUS bits in prjob_status field of PRINTJOB.
|
|
*/
|
|
|
|
#define PRJOB_QS_QUEUED 0
|
|
#define PRJOB_QS_PAUSED 1
|
|
#define PRJOB_QS_SPOOLING 2
|
|
#define PRJOB_QS_PRINTING 3
|
|
|
|
/*
|
|
* Control codes used in DosPrintDestControl.
|
|
*/
|
|
|
|
#define PRDEST_DELETE 0
|
|
#define PRDEST_PAUSE 1
|
|
#define PRDEST_CONT 2
|
|
#define PRDEST_RESTART 3
|
|
|
|
/*
|
|
* These manifests define a two-bit field in prdest_status, and
|
|
* two of the values that field may take.
|
|
*/
|
|
|
|
#define PRDEST_STATUS_MASK 0x3
|
|
#define PRDEST_PAUSED 0x1
|
|
#define PRDEST_ACTIVE 0x0
|
|
|
|
|
|
/*
|
|
* Standard command argument when invoking print processor
|
|
*/
|
|
#define PPINPUT "INPUT="
|
|
#define PPOUTPUT "OUTPUT="
|
|
#define PPQUEUE "QUEUE="
|
|
#define PPPARMS "PARMS="
|
|
#define PPJOBID "JOBID="
|
|
|