* ======================.============< >=================================== *
typedef	struct printer_type {
	unsigned char		devicename[13];
	unsigned char		reserved[13];
	unsigned char		node[13];
	unsigned char		location[25];
	unsigned char		spooled;
	unsigned char		banner;
	unsigned char		queuenameroot[13];
	unsigned char		atmaster;
} PRINTER;

typedef struct gpsnetlist_type {
	unsigned			printers;
	unsigned char		rgprinter[2];
	unsigned char		version[8];
	PRINTER				printer[30];
} GPSNETLIST;

typedef struct jobparameter_type {
	unsigned char		bdocname[93];	* document name *
	unsigned char		busername[31];	* name of logged in user *
	unsigned char		fsecurity;		* if true, output in security mode *
	unsigned char		fsuppresspage;	* if true, no formfeed at begin job *
	unsigned char		fsuppressbanner;* if true, banner not printed *
	unsigned char		ftypethrough;	* not implemented *
	unsigned char		fimmediate;		* not implemented *
	unsigned long		doccreationtime;* date  time document created *
	unsigned long		reqoutputstarttime;	* date  time to start job *
	unsigned			ccopies;		* must be > 0, default is 1 *
	unsigned char		gbstartlocation[29];* if not 0, start page *
	unsigned char		gbendlocation[29];	* if not 0, end page *
	unsigned char		fsinglesheet;	* if true, pause between pages *
	unsigned			wtimetoprint;	* minutes to print field *
	unsigned char		priority;		* standard default is 5 *
} JOBPARAMETER;

define DEVICE_IDLE			0
define DEVICE_PAUSED		1
define DEVICE_PRINTING		2
define DEVICE_OFFLINE		3
define DEVICE_DOWN			4
define DEVICE_PASSWORD		5
define DEVICE_NOTINSTALL	6
define DEVICE_INSTALLED	7

typedef struct pagelocation_type {
	unsigned char		class;
	unsigned			pages;
	unsigned char		section[13];
	unsigned char		page[13];
} PAGELOCATION;

typedef struct devicestatus_type {
	unsigned			table;
	unsigned char		devicename[13];
	unsigned char		jobstate;
	unsigned char		status;
	unsigned char		needfontchange;
	unsigned char		needformschange;
	unsigned char		showpausemessage;
	unsigned char		pausemessage[61];
	unsigned char		fontneeded[21];
	unsigned char		formneeded[21];
	unsigned			color;
	unsigned char		form[21];
	unsigned char		font[21];
	unsigned char		document[93];
	unsigned char		username[31];
	PAGELOCATION		pageloccurrent;
	unsigned			currentcopy;
	unsigned long		outputstarttime;
} DEVICESTATUS;

 *pb = '\n'  *pb = '\0') {
			session>queue[i++] = *pb++;
		}	
		session>squeue = i;
		server_do_status( session, mode  '\003');
		server_transport_failure( sessio