mirror of https://github.com/lianthony/NT4.0
1852 lines
69 KiB
1852 lines
69 KiB
/***************************************************************************
|
|
*
|
|
* File Name: ./netware/nwpsrv.h
|
|
*
|
|
* Copyright (C) 1993-1996 Hewlett-Packard Company.
|
|
* All rights reserved.
|
|
*
|
|
* 11311 Chinden Blvd.
|
|
* Boise, Idaho 83714
|
|
*
|
|
* This is a part of the HP JetAdmin Printer Utility
|
|
*
|
|
* This source code is only intended as a supplement for support and
|
|
* localization of HP JetAdmin by 3rd party Operating System vendors.
|
|
* Modification of source code cannot be made without the express written
|
|
* consent of Hewlett-Packard.
|
|
*
|
|
*
|
|
* Description:
|
|
*
|
|
* Author: Name
|
|
*
|
|
*
|
|
* Modification history:
|
|
*
|
|
* date initials change description
|
|
*
|
|
* mm-dd-yy MJB
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
***************************************************************************/
|
|
|
|
/*------------------------------------------------------------------*
|
|
* Copyright Unpublished Work of Novell, Inc. All Rights Reserved
|
|
*
|
|
* THIS WORK IS AN UNPUBLISHED WORK AND CONTAINS CONFIDENTIAL,
|
|
* PROPRIETARY AND TRADE SECRET INFORMATION OF NOVELL, INC.
|
|
* ACCESS TO THIS WORK IS RESTRICTED TO (I) NOVELL EMPLOYEES
|
|
* WHO HAVE A NEED TO KNOW TO PERFORM TASKS WITHIN THE SCOPE
|
|
* OF THEIR ASSIGNMENTS AND (ii) ENTITIES OTHER THAN NOVELL
|
|
* WHO HAVE ENTERED INTO APPROPRIATE LICENSE AGREEMENTS.
|
|
* NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED, COPIED,
|
|
* DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED,
|
|
* CONDENSED, EXPANDED, COLLECTED, COMPILED, LINKED, RECAST,
|
|
* TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN CONSENT OF
|
|
* NOVELL. ANY USE OR EXPLOITATION OF THIS WORK WITHOUT AUTHORIZATION
|
|
* COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND CIVIL LIABILITY.
|
|
*------------------------------------------------------------------*/
|
|
|
|
/********************************************************************
|
|
:
|
|
: Program Name: NetWare Print Services Header File.
|
|
:
|
|
: Filename: NWPSrv.H
|
|
:
|
|
: Date Created: August 21, 1991
|
|
:
|
|
: Version: 1.0
|
|
:
|
|
: Programmers: Joe Ivie
|
|
:
|
|
: Files Used:
|
|
:
|
|
: Modifications:
|
|
:
|
|
: Comments:
|
|
:
|
|
: COPYRIGHT (c) 1992 Novell, Inc. All Rights Reserved
|
|
:
|
|
********************************************************************/
|
|
|
|
|
|
/* Don't let the header be included twice */
|
|
#ifndef NWPS_EXTERNAL_H
|
|
#define NWPS_EXTERNAL_H
|
|
|
|
|
|
/* My definitions in case someone forgot theirs */
|
|
#ifndef DWORD
|
|
#define DWORD unsigned long
|
|
#endif
|
|
|
|
#ifndef WORD
|
|
#define WORD unsigned int
|
|
#endif
|
|
|
|
#ifndef BYTE
|
|
#define BYTE unsigned short
|
|
#endif
|
|
|
|
#ifndef NWCCODE
|
|
#define NWCCODE WORD
|
|
#endif
|
|
|
|
#ifndef NWFAR
|
|
|
|
#ifdef NLM
|
|
#define NWFAR
|
|
#define NWPASCAL
|
|
#else
|
|
#define NWFAR far
|
|
#define NWPASCAL pascal
|
|
#endif /* NLM */
|
|
|
|
#endif /* NWFAR */
|
|
|
|
/*
|
|
Maximum name sizes
|
|
*/
|
|
/* General Name sizes */
|
|
#define NWPS_BIND_NAME_SIZE 48 /* Bindery name byte size */
|
|
#define NWPS_MAX_NAME_SIZE 512 /* D.S. MAX_DN_CHARS * 2 */
|
|
|
|
/* PrintCon name sizes */
|
|
#define NWPS_JOB_NAME_SIZE 12 /* 12 bytes and a '\0' */
|
|
#define NWPS_BANNER_NAME_SIZE 12 /* 12 bytes and a '\0' */
|
|
#define NWPS_BANNER_FILE_SIZE 12 /* 12 bytes and a '\0' */
|
|
#define NWPS_HDRFILE_SIZE 12 /* 12 bytes and a '\0' */
|
|
|
|
/* PrintDef name sizes */
|
|
#define NWPS_FORM_NAME_SIZE 12 /* 12 bytes and a '\0' */
|
|
#define NWPS_DEVI_NAME_SIZE 32 /* 32 bytes and a '\0' */
|
|
#define NWPS_MODE_NAME_SIZE 32 /* 32 bytes and a '\0' */
|
|
#define NWPS_FUNC_NAME_SIZE 32 /* 32 bytes and a '\0' */
|
|
|
|
/* Print Server Configuration Sizes */
|
|
#define NWPS_DESCRIPT_SIZE 128 /* matches Bind. prop. value */
|
|
#define NWPS_APPLE_NAME_SIZE 32 /* 32 bytes and a '\0' */
|
|
#define NWPS_APPLE_TYPE_SIZE 32 /* 32 bytes and a '\0' */
|
|
#define NWPS_APPLE_ZONE_SIZE 32 /* 32 bytes and a '\0' */
|
|
#define NWPS_UNIX_HOST_SIZE 255 /* 255 bytes and a '\0' */
|
|
#define NWPS_UNIX_PRNT_SIZE 255 /* 255 bytes and a '\0' */
|
|
#define NWPS_OTHER_SIZE 1024 /* bytes for NWPS_P_OTHER */
|
|
|
|
/*
|
|
Maximum number of objects
|
|
*/
|
|
/*
|
|
If -1 is used for a Printer or Form number,
|
|
the first available number will be substituted.
|
|
*/
|
|
#define NWPS_MAX_PRINTERS 255 /* numbered 0 - 254 */
|
|
#define NWPS_MAX_FORMS 255 /* numbered 0 - 254 */
|
|
|
|
/* ConnectionType values used below */
|
|
#define NWPS_BINDERY_SERVICE 0 /* ID is a connection id */
|
|
#define NWPS_DIRECTORY_SERVICE 1 /* ID is a context id */
|
|
|
|
/* Print server communication (NPT) errors */
|
|
#define NWPSE_SUCCESSFUL 0x0000
|
|
#define NWPSE_NO_AVAILABLE_SPX_CONNECTI 0x0040
|
|
#define NWPSE_SPX_NOT_INITIALIZED 0x0041
|
|
#define NWPSE_NO_SUCH_PSERVER 0x0042
|
|
#define NWPSE_UNABLE_TO_GET_SERVER_ADDR 0x0043
|
|
#define NWPSE_UNABLE_TO_CONNECT_TO_SERV 0x0044
|
|
#define NWPSE_NO_AVAILABLE_IPX_SOCKETS 0x0045
|
|
#define NWPSE_ALREADY_ATTACH_TO_A_PRINT 0x0046
|
|
#define NWPSE_IPX_NOT_INITIALIZED 0x0047
|
|
|
|
/* Print server error codes */
|
|
#define NWPSE_TOO_MANY_FILE_SERVERS 0x0101
|
|
#define NWPSE_UNKNOWN_FILE_SERVER 0x0102
|
|
#define NWPSE_BINDERY_LOCKED 0x0103
|
|
#define NWPSE_SERVER_MAXED_OUT 0x0104
|
|
#define NWPSE_NO_RESPONSE 0x0105
|
|
#define NWPSE_ALREADY_ATTACHED 0x0106
|
|
#define NWPSE_CANT_ATTACH 0x0107
|
|
#define NWPSE_NO_ACCOUNT_BALANCE 0x0108
|
|
#define NWPSE_NO_CREDIT_LEFT 0x0109
|
|
#define NWPSE_INTRUDER_DETECTION_LOCK 0x010A
|
|
#define NWPSE_TOO_MANY_CONNECTIONS 0x010B
|
|
#define NWPSE_ACCOUNT_DISABLED 0x010C
|
|
#define NWPSE_UNAUTHORIZED_TIME 0x010D
|
|
#define NWPSE_UNAUTHORIZED_STATION 0x010E
|
|
#define NWPSE_NO_MORE_GRACE 0x010F
|
|
#define NWPSE_LOGIN_DISABLED 0x0110
|
|
#define NWPSE_ILLEGAL_ACCT_NAME 0x0111
|
|
#define NWPSE_PASSWORD_HAS_EXPIRED 0x0112
|
|
#define NWPSE_ACCESS_DENIED 0x0113
|
|
#define NWPSE_CANT_LOGIN 0x0114
|
|
#define NWPSE_PRINTER_ALREADY_INSTALLED 0x0115
|
|
#define NWPSE_CANT_OPEN_CONFIG_FILE 0x0116
|
|
#define NWPSE_CANT_READ_CONFIG_FILE 0x0117
|
|
#define NWPSE_UNKNOWN_PRINTER_TYPE 0x0118
|
|
#define NWPSE_NO_SUCH_QUEUE 0x0200
|
|
#define NWPSE_NOT_AUTHORIZED_FOR_QUEUE 0x0201
|
|
#define NWPSE_QUEUE_HALTED 0x0202
|
|
#define NWPSE_UNABLE_TO_ATTACH_TO_QUEUE 0x0203
|
|
#define NWPSE_TOO_MANY_QUEUE_SERVERS 0x0204
|
|
#define NWPSE_INVALID_REQUEST 0x0300
|
|
#define NWPSE_NOT_ENOUGH_MEMORY 0x0301
|
|
#define NWPSE_NO_SUCH_PRINTER 0x0302
|
|
#define NWPSE_INVALID_PARAMETER 0x0303
|
|
#define NWPSE_PRINTER_BUSY 0x0304
|
|
#define NWPSE_CANT_DETACH_PRIMARY_SERVE 0x0305
|
|
#define NWPSE_GOING_DOWN 0x0306
|
|
#define NWPSE_NOT_CONNECTED 0x0307
|
|
#define NWPSE_ALREADY_IN_USE 0x0308
|
|
#define NWPSE_NO_JOB_ACTIVE 0x0309
|
|
#define NWPSE_NOT_ATTACHED_TO_SERVER 0x030A
|
|
#define NWPSE_ALREADY_IN_LIST 0x030B
|
|
#define NWPSE_DOWN 0x030C
|
|
#define NWPSE_NOT_IN_LIST 0x030D
|
|
#define NWPSE_NO_RIGHTS 0x030E
|
|
#define NWPSE_UNABLE_TO_VERIFY_IDENTITY 0x0400
|
|
#define NWPSE_NOT_REMOTE_PRINTER 0x0401
|
|
|
|
/* Other Error Messages */
|
|
#define NWPSE_BAD_VERSION (WORD)0x7770
|
|
#define NWPSE_END_SCAN (WORD)0x7771
|
|
#define NWPSE_ERROR_EXPANDING_DB (WORD)0x7772
|
|
#define NWPSE_ERROR_GETTING_DEFAULT (WORD)0x7773
|
|
#define NWPSE_ERROR_OPENING_DB (WORD)0x7774
|
|
#define NWPSE_ERROR_READING_DB (WORD)0x7775
|
|
#define NWPSE_ERROR_READING_RECORD (WORD)0x7776
|
|
#define NWPSE_ERROR_WRITING_DB (WORD)0x7777
|
|
#define NWPSE_ERROR_WRITING_RECORD (WORD)0x7778
|
|
#define NWPSE_INTERNAL_ERROR (WORD)0x7779
|
|
#define NWPSE_JOB_NOT_FOUND (WORD)0x777A
|
|
#define NWPSE_NO_DEFAULT_SPECIFIED (WORD)0x777B
|
|
#define NWPSE_OUT_OF_MEMORY (WORD)0x777C
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/*---------- PrintCon - Print Job Configuration Information ---------*/
|
|
#ifndef NWPS_EXCLUDE_PCON
|
|
|
|
/* PrintCon search flags */
|
|
#define NWPS_EXTENDED_SEARCH 0
|
|
#define NWPS_SINGLE_SEARCH 1
|
|
#define NWPS_DBOWNER_PUBLIC "(PUBLIC)"
|
|
|
|
/* Flags used for printControlFlags in the PJob structure */
|
|
#define NWPS_SUPPRESS_FF 0x0800
|
|
#define NWPS_NOTIFY_USER 0x1000
|
|
#define NWPS_TEXT_MODE 0x4000
|
|
#define NWPS_PRINT_BANNER 0x8000
|
|
|
|
typedef struct {
|
|
long clientStation;
|
|
long clientTaskNumber;
|
|
long clientIDNumber;
|
|
long targetServerIDNumber;
|
|
BYTE targetExecutionTime[6];
|
|
BYTE entryTime[6];
|
|
long jobNumber;
|
|
WORD formNumber;
|
|
WORD jobPosition;
|
|
WORD jobControlFlags;
|
|
BYTE fileName[14];
|
|
long fileHandle;
|
|
long serverStation;
|
|
long serverTaskNumber;
|
|
long serverIDNumber;
|
|
BYTE jobDescription[50];
|
|
BYTE versionNumber;
|
|
BYTE tabSize;
|
|
WORD numberOfCopies;
|
|
WORD printControlFlags;
|
|
WORD maxLinesPerPage;
|
|
WORD maxCharsPerLine;
|
|
BYTE formName[13];
|
|
BYTE reserve[9];
|
|
BYTE bannerNameField[13];
|
|
BYTE bannerFileField[13];
|
|
BYTE headerFileName[14];
|
|
BYTE directoryPath[80];
|
|
} NWPS_PJob;
|
|
|
|
/*
|
|
NWPS_Job_Rec is the type of record in the third and
|
|
last section of the PrnConDB database. Each one of
|
|
these records contains all the fields that make up a
|
|
print job configuration as described in the NetWare 386
|
|
Print Server documentation.
|
|
*/
|
|
/* Flags for the NWPS_PJob structure printJobFlag */
|
|
#define NWPS_JOB_EXPAND_TABS 0x00000001 /*File type:0=Stream 1=Tab*/
|
|
#define NWPS_JOB_NO_FORMFEED 0x00000002 /*Formfeed tail:0=Yes 1=No*/
|
|
#define NWPS_JOB_NOTIFY 0x00000004 /*Notify:0=No 1=Yes */
|
|
#define NWPS_JOB_PRINT_BANNER 0x00000008 /*Banner:0=No 1=Yes */
|
|
#define NWPS_JOB_AUTO_END 0x00000010 /*Auto endcap:0=No 1=Yes*/
|
|
#define NWPS_JOB_TIMEOUT 0x00000020 /*Enable T.O.:0=No 1=Yes*/
|
|
|
|
#define NWPS_JOB_ENV_DS 0x00000040 /*Use D.S. Environment */
|
|
#define NWPS_JOB_ENV_MASK 0x000001C0 /*Bindery vs. D.S. Mask */
|
|
|
|
#define NWPS_JOB_DS_PRINTER 0x00000200 /*D.S. Printer not Queue */
|
|
#define NWPS_JOB_PRINTER_MASK 0x00000E00 /*D.S. Printer vs. Queue */
|
|
|
|
/* Default Flags */
|
|
#define NWPS_JOB_DEFAULT (NWPS_JOB_PRINT_BANNER | NWPS_JOB_AUTO_END)
|
|
#define NWPS_JOB_DEFAULT_COPIES 1 /*Default Number of Copies*/
|
|
#define NWPS_JOB_DEFAULT_TAB 8 /*Default Tab Expansion*/
|
|
|
|
typedef struct {
|
|
DWORD printJobFlag; /* Bits 31 30 29 ... 2 1 0 contain: */
|
|
/* 0: File type: 0=Text 1=Byte stream*/
|
|
/* 1: Suppress formfeed: 0=No 1=Yes */
|
|
/* 2: Notify when done: 0=No 1=Yes */
|
|
/* 3: Print banner: 0=No 1=Yes */
|
|
/* 4: Auto endcap: 0=No 1=Yes */
|
|
/* 5: Enable timeout: 0=No 1=Yes */
|
|
/* 8-6: Environment: */
|
|
/* 000=Bindary */
|
|
/* 001=Directory Services */
|
|
/* 11-9: Destination Type: */
|
|
/* 000=Queue_Name */
|
|
/* 001=Printer_Name */
|
|
/* 31-12: Unused */
|
|
WORD copies; /* 1 - 65,000 */
|
|
WORD timeOutCount; /* 1 - 1,000 */
|
|
BYTE tabSize; /* 1 - 18 */
|
|
BYTE localPrinter; /* 0=Lpt1, 1=Lpt2, 2=Lpt3 */
|
|
char formName[NWPS_FORM_NAME_SIZE + 2];
|
|
/* 1 - 12 chars long */
|
|
char name[NWPS_JOB_NAME_SIZE + 2];
|
|
/* 1 - 12 chars long */
|
|
char bannerName[NWPS_BANNER_NAME_SIZE + 2];
|
|
/* 1 - 12 chars long */
|
|
char device[NWPS_DEVI_NAME_SIZE + 2];
|
|
/* 1 - 32 chars long */
|
|
char mode[NWPS_MODE_NAME_SIZE + 2];
|
|
/* 1 - 32 chars long */
|
|
union {
|
|
struct {
|
|
/* pad structures on even boundries */
|
|
char fileServer[NWPS_BIND_NAME_SIZE + 2];
|
|
/* 2 - 48 chars long */
|
|
char printQueue[NWPS_BIND_NAME_SIZE + 2];
|
|
/* 1 - 48 chars long */
|
|
char printServer[NWPS_BIND_NAME_SIZE + 2];
|
|
/* 1 - 48 chars long */
|
|
} nonDS;
|
|
char DSObjectName[(NWPS_MAX_NAME_SIZE + 1) * 2];
|
|
} u;
|
|
BYTE reserved[392]; /* Adds up to 1024 total bytes */
|
|
} NWPS_Job_Rec;
|
|
|
|
|
|
/*
|
|
DBOwner values and their meanings-
|
|
---------------------------------
|
|
NULL : Use the current user. No return possible.
|
|
Empty : Use the current user. Return real object name.
|
|
UserName : Use the specified user.
|
|
DS Object : Use the specified DS object.
|
|
*/
|
|
/*
|
|
NWPSInitPrintJob: Initializes a print job record with default values.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSInitPrintJob(
|
|
NWPS_Job_Rec NWFAR *pJobRecord);
|
|
|
|
/*
|
|
NWPSSetPrintJob: Sets a print job record with defined values.
|
|
The pJobRecord should have been set to 0 before this call and
|
|
any name that is not defined will be left as '\0'.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSSetPrintJob(
|
|
WORD connType, /* bindery or directory service */
|
|
NWPS_Job_Rec NWFAR *pJobRecord, /* structure to set */
|
|
char NWFAR *formName,
|
|
char NWFAR *deviceName,
|
|
char NWFAR *modeName,
|
|
char NWFAR *bannerName,
|
|
char NWFAR *jobName,
|
|
char NWFAR *bindFserver,
|
|
char NWFAR *bindQueue,
|
|
char NWFAR *bindPserver,
|
|
WORD dsUseQueueName, /* if TRUE, next field is queue */
|
|
char NWFAR *dsObjectName); /* queue or printer name */
|
|
|
|
/*
|
|
NWPSScanPrintJob is used repetatively to get a list of
|
|
the print jobs in the printcon database(s).
|
|
|
|
-PJSequence needs to be set to -1 to indicate the
|
|
beginning of the search (i.e. the first time
|
|
NWPSScanPrintJob is called).
|
|
-SearchFlag specifies whether to search all the public
|
|
databases (NWPS_EXTENDED_SEARCH) or to use only the
|
|
specified database (NWPS_SINGLE_SEARCH).
|
|
-DbOwner specifies the search start point and returns
|
|
the directory object name, or bindery user name of
|
|
the owner.
|
|
-PJobName returns the name of the next print job
|
|
record found.
|
|
-DefaultPJ will be TRUE if the job is the current
|
|
user's default print job, otherwise it is FALSE.
|
|
|
|
If the function is successful in finding a next record,
|
|
the return value of the function is 0, else an error code
|
|
is returned.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSScanPrintJob(
|
|
WORD connType,
|
|
DWORD connID,
|
|
WORD NWFAR *pJSequence,
|
|
WORD searchFlag,
|
|
char NWFAR *dbOwner,
|
|
char NWFAR *pJobName,
|
|
WORD NWFAR *defaultPJ);
|
|
|
|
/*
|
|
NWPSWritePrintJob is used both to create and modify
|
|
records in the printcon database.
|
|
|
|
-DbOwner is used to specify the location of the
|
|
database to modify. This field must be specified.
|
|
-PJobName contains the name of the NWPS_Job_Rec to
|
|
be written.
|
|
If a record with the same name already exists in
|
|
the database then it is overwritten with the data
|
|
in the buffer pointed to by -pJobRecord, otherwise
|
|
a new record is created in the database.
|
|
|
|
The function returns a 0 if successful, otherwise an error code.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSWritePrintJob(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *dbOwner,
|
|
char NWFAR *pJobName,
|
|
NWPS_Job_Rec NWFAR *pJobRecord);
|
|
|
|
/*
|
|
NWPSReadPrintJob searches for a record in the
|
|
printcon database.
|
|
|
|
-DbOwner specifies the database to read from.
|
|
-PJobName contains the name of the print job to find.
|
|
If the function is successful in finding the specified
|
|
record, the buffer pointed to by -pJobRecord is filled
|
|
with the contents of the record found
|
|
|
|
The return value is 0 if the function is successful,
|
|
otherwise an error code is returned.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSReadPrintJob(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *dbOwner,
|
|
char NWFAR *pJobName,
|
|
NWPS_Job_Rec NWFAR *pJobRecord);
|
|
|
|
/*
|
|
NWPSDeletePrintJob removes a record from the
|
|
printcon database.
|
|
-DbName specifies the database where the print
|
|
job is defined.
|
|
-PJobName is the name of the NWPS_Job_Rec to be
|
|
deleted from the database and is required.
|
|
|
|
The function returns a 0 if it is successful,
|
|
otherwise it returns the pertinent error code.
|
|
If the print job does not exist in the database,
|
|
success is returned.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSDeletePrintJob(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *dbOwner,
|
|
char NWFAR *pJobName);
|
|
|
|
/*
|
|
NWPSGetDefaultPrintJob gets the name and/or
|
|
contents of the default NWPS_Job_Rec record in
|
|
the PrnConDB database.
|
|
|
|
-SearchFlag specifies whether to do look only
|
|
in the specified database (NWPS_SINGLE_SEARCH)
|
|
or to look in all the public databases until
|
|
a default is found (NWPS_EXTENDED_SEARCH);
|
|
-DbOwner specifies the start point of the search
|
|
for a default print job. And returns the actual
|
|
location where the default print job was found.
|
|
-PJobName returns the name of the default
|
|
print job.
|
|
-PJobRecord returns the print job information.
|
|
|
|
The return value is 0 of the call is successful,
|
|
otherwise an error code is returned.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSGetDefaultPrintJob(
|
|
WORD connType,
|
|
DWORD connID,
|
|
WORD searchFlag,
|
|
char NWFAR *dbOwner,
|
|
char NWFAR *pJobName,
|
|
NWPS_Job_Rec NWFAR *pJobRecord);
|
|
|
|
/*
|
|
NWPSSetDefaultPrintJob sets the default NWPS_Job_Rec
|
|
record in either the user or one of the public
|
|
printcon databases.
|
|
|
|
-DbOwner specifies the database to set/reset the
|
|
default print job.
|
|
-PJobName should contain the name of the NWPS_Job_Rec
|
|
to be set as the system's default. If PJobName is
|
|
NULL or empty, the current default is erased.
|
|
-PJobOwner is similar to dbOwner, but it specifies
|
|
where the print job is defined. No attempt is made
|
|
to verify that the print job exists in the
|
|
pjobOwner database.
|
|
|
|
The function returns a 0 if successful otherwise an
|
|
error code.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSSetDefaultPrintJob(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *dbOwner,
|
|
char NWFAR *pJobName,
|
|
char NWFAR *pJobOwner);
|
|
|
|
#endif /* NWPS_EXCLUDE_PCON */
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/*---------- PrintDef - Printer Definition Information --------------*/
|
|
#ifndef NWPS_EXCLUDE_PDEF
|
|
|
|
/* PrintDef reset string (one for each device) */
|
|
#define NWPS_RESET_MODE "(Re-initialize)"
|
|
|
|
/* General Database calls */
|
|
/*
|
|
Get the Version number stored in the database. The database
|
|
file/stream is automaticly opened and closed by this call.
|
|
This call returns 0 on success, or non-zero error code on failure.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfGetVersion(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
DWORD NWFAR *pdfVersion); /* Returns db version */
|
|
|
|
/*
|
|
Set the Version number stored in the database. The database
|
|
file/stream is automaticly opened and closed by this call.
|
|
This call returns 0 on success, or non-zero error code on failure.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfSetVersion(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
DWORD pdfVersion); /* Returns db version */
|
|
|
|
/*
|
|
Turn on the debug printf messages in the PrintDef program.
|
|
These messages are in English only and are normally not displayed.
|
|
*/
|
|
void NWFAR NWPASCAL NWPSPdfDebug(
|
|
BYTE flag); /* 0-turn off; 1-turn on */
|
|
|
|
|
|
/* Form Calls */
|
|
/*
|
|
Add a form to the PrintDef database. Forms are independent
|
|
of printers and are unique on each file server or context.
|
|
This call returns 0 on success, or non-zero error code on failure.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfAddForm(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *formName, /* form name */
|
|
WORD formNumber, /* form number */
|
|
WORD formLength, /* form length */
|
|
WORD formWidth); /* form width */
|
|
|
|
/*
|
|
Delete a form from the PrintDef database.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfDeleteForm(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *formName); /* form name */
|
|
|
|
/*
|
|
Find a Form in the PrintDef database.
|
|
If the user wants to find all the forms, sequence should be
|
|
set to -1 on the first call, and the sequence value will be
|
|
updated when the call returns.
|
|
If the user wants to find a specific Form, the sequence pointer
|
|
should be NULL and the formName should be set to the desired form.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfScanForm(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
DWORD NWFAR *sequence, /* -1 for first call */
|
|
char NWFAR *formName); /* name or NULL */
|
|
|
|
/*
|
|
Read the form information from the PrintDef database.
|
|
If the form does not exist, an error code is returned,
|
|
otherwise, the form's information is set and a 0 is returned.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfReadForm(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *formName, /* form name */
|
|
WORD NWFAR *formNumber, /* number or NULL */
|
|
WORD NWFAR *formLength, /* length space or NULL */
|
|
WORD NWFAR *formWidth); /* width space or NULL */
|
|
|
|
/*
|
|
Update the form information. If you don't want to change the
|
|
name, set newFormName to NULL. If you don't want to change a
|
|
parameter set the value to -1.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfUpdateForm(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *oldFormName, /* old form name */
|
|
char NWFAR *newFormName, /* new form name or NULL */
|
|
WORD newFormNumber, /* new form length or -1 */
|
|
WORD newFormLength, /* new form length or -1 */
|
|
WORD newFormWidth); /* new form width or -1 */
|
|
|
|
|
|
/* Device Calls */
|
|
/*
|
|
Add a device to the PrintDef database. The Device is created
|
|
without any Functions or modes.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfAddDevice(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName); /* device name */
|
|
|
|
/*
|
|
Delete a device from the PrintDef database.
|
|
When a Device is deleted, all of the device's Functions and Modes
|
|
are also deleted.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfDeleteDevice(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName); /* device to be removed */
|
|
|
|
/*
|
|
Find a Device in the PrintDef database.
|
|
To find all of the Devices, set sequence to -1 on the first call
|
|
and it will be reset by the call if a Device if found.
|
|
To find a specific Device, set sequence to NULL and set deviceName
|
|
to the desired search name.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfScanDevice(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
DWORD NWFAR *sequence, /* must give seq. or name */
|
|
char NWFAR *deviceName); /* returned name found */
|
|
|
|
/*
|
|
Find out how many functions and modes are defined for a device.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfReadDevice(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of device */
|
|
WORD NWFAR *modeCount, /* number of modes defined */
|
|
WORD NWFAR *funcCount); /* number of func's defined */
|
|
|
|
/*
|
|
Change a Device name in the PrintDef database.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfUpdateDevice(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *oldDeviceName, /* old device name */
|
|
char NWFAR *newDeviceName); /* new device name */
|
|
|
|
/* Mode Calls */
|
|
/*
|
|
Create a new Mode for a specific Device.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfAddMode(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *modeName); /* new mode name */
|
|
|
|
/*
|
|
Delete a Mode from a Device.
|
|
When the Mode is deleted, the Functions are left intact.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfDeleteMode(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *modeName); /* name of mode to remove */
|
|
|
|
/*
|
|
Find a Mode in the PrintDef database.
|
|
To find all of the Modes, set sequence to -1 on the first call
|
|
and it will be reset by the call if a Mode is found.
|
|
To find a specific Mode, set sequence to NULL and set modeName
|
|
to the desired search name.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfScanMode(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
DWORD NWFAR *sequence, /* -1 on first call */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *modeName); /* returned mode name */
|
|
|
|
/*
|
|
Find information on a defined Mode.
|
|
If the Mode is defined, and funcCount is not NULL, the number
|
|
of functins in the mode is returned in funcCount.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfReadMode(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *reqModeName, /* request mode name */
|
|
WORD NWFAR *funcCount); /* function count or NULL */
|
|
|
|
/*
|
|
Change the name of a Mode.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfUpdateMode(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *oldModeName, /* old mode name */
|
|
char NWFAR *newModeName); /* new mode name or NULL */
|
|
|
|
|
|
/* Mode-Function Grouping Calls */
|
|
/*
|
|
Add a previously defined functin to a previously defined mode list.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfAddModeFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *modeName, /* name of associated mode */
|
|
char NWFAR *funcName, /* func to add to group */
|
|
WORD location); /* where to insert function or -1 */
|
|
|
|
/*
|
|
Delete a function from a defined mode list.
|
|
Neither the Mode or Function is deleted from the Device lists.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfDeleteModeFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *modeName, /* name of associated mode */
|
|
char NWFAR *funcName); /* func to remove from group */
|
|
|
|
/*
|
|
Find the name of a Function associated with a Mode.
|
|
To find all of the Functions associated with a Mode, set
|
|
sequence to -1 on the first call and it will be reset by
|
|
the call if a Functions is found.
|
|
To find a specific Function associated with a Mode, set sequence
|
|
to NULL and set functName to the desired search name.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfScanModeFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
DWORD NWFAR *sequence, /* -1 on first call */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *modeName, /* name of associated mode */
|
|
char NWFAR *funcName); /* returned function name */
|
|
|
|
/*
|
|
Read the actual function values associated with a mode.
|
|
On the first call, funcOffset should be set to 0, and funcSize
|
|
should be set to the size of the buffer pointed to by funcBuffer.
|
|
On return funcSize will contain the actual number of bytes copied
|
|
to the funcBuffer and the return value will be 0.
|
|
There are no more bytes to get if the returned funcSize is less
|
|
than the requested funcSize, or if a call is made with a funcOffset
|
|
equal to or greater to than the end of the list.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfReadModeFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *modeName, /* name of associated mode */
|
|
/* no function name because this is a mode group */
|
|
WORD funcOffset, /* number of bytes to skip */
|
|
WORD NWFAR *funcSize, /* req:buff size; ret:# read*/
|
|
BYTE NWFAR *funcBuffer); /* buffer for read block */
|
|
|
|
/* Function Calls */
|
|
/*
|
|
Add a Function to a Device.
|
|
funcSize should be set to the number of bytes in funcString.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfAddFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *funcName, /* name of func. to add */
|
|
WORD funcSize, /* count of bytes in function */
|
|
BYTE NWFAR *funcString); /* list of bytes in function */
|
|
|
|
/*
|
|
Delete a function from the Device in the PrintDef database.
|
|
If the Function is refered to in any Mode, the Function
|
|
will be automaticly deleted from the Mode as well.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfDeleteFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *funcName); /* name of func. to delete */
|
|
|
|
/*
|
|
Find a Function defined for a specific Device.
|
|
To find all of the Functions associated with a Device, set
|
|
sequence to -1 on the first call and it will be reset by
|
|
the call if a Functions is found.
|
|
To find a specific Function associated with a Device, set sequence
|
|
to NULL and set functName to the desired search name.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfScanFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
DWORD NWFAR *sequence, /* -1 on first call */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *funcName); /* name of next function */
|
|
|
|
/*
|
|
Read the byte string associated with a function.
|
|
funcSize should be set equal to the size of the buffer funcString.
|
|
funcSize will be set to the actual size of the byte string if the
|
|
call is successful.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfReadFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *funcName, /* name of the function */
|
|
WORD funcOffset, /* bytes to skip past */
|
|
WORD NWFAR *funcSize, /* req: buff size; ret:# read */
|
|
BYTE NWFAR *funcString); /* byte list or NULL */
|
|
|
|
/*
|
|
Change the function string assigned to a function name.
|
|
To change the function's name, set newFuncName to a new name.
|
|
To leave the Function name the same, set newFuncName to NULL.
|
|
To change the function string, set funcSize to the number of
|
|
bytes in the funcString and set funcString to point to the
|
|
new string. To leave the string the same, set funcSize to -1.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfUpdateFunction(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *deviceName, /* name of associated device */
|
|
char NWFAR *oldFuncName, /* current function name */
|
|
char NWFAR *newFuncName, /* new name or NULL */
|
|
WORD funcSize, /* number of bytes or -1 */
|
|
BYTE NWFAR *funcString); /* byte list or NULL */
|
|
|
|
/* Import and Export Functions */
|
|
/*
|
|
Import a device from a file to the database
|
|
The file name should be in the form
|
|
"\\<file server>\<volume>\<path>\<file name>.PDF"
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfImportDevice(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *fileName); /* name of .PDF file */
|
|
|
|
/*
|
|
Export a device to a Pdf file from the database
|
|
The file name should be in the form
|
|
"\\<file server>\<volume>\<path>\<file name>.PDF"
|
|
or NULL to create the file "<device name>.PDF" in
|
|
the local directory.
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSPdfExportDevice(
|
|
WORD connectionType, /* Type of server/network */
|
|
DWORD connectionID, /* File Server Connection ID */
|
|
char NWFAR *fileName, /* name of .PDF file */
|
|
char NWFAR *deviceName); /* name of device to export */
|
|
|
|
#endif /* NWPS_EXCLUDE_PDEF */
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/*---------- NPT - Pserver Transport Interface ----------------------*/
|
|
#ifndef NWPS_EXCLUDE_NPT
|
|
|
|
/* Client privilege levels from the print server */
|
|
#define NWPS_LIMITED 0 /* Limited access only */
|
|
#define NWPS_USER 1 /* User access */
|
|
#define NWPS_OPERATOR 2 /* Operator access */
|
|
|
|
/* Job Outcomes (0 [PLACE_ON_HOLD] is no longer valid) */
|
|
#define NWPS_RETURN_TO_QUEUE 1 /* Return job to queue */
|
|
#define NWPS_THROW_AWAY 2 /* Throw job away */
|
|
|
|
/* Printer Problem codes */
|
|
#define NWPS_PRINTER_RUNNING 0 /* Printer is running */
|
|
#define NWPS_PRINTER_OFFLINE 1 /* Printer is offline */
|
|
#define NWPS_PRINTER_PAPER_OUT 2 /* Printer is out of paper */
|
|
|
|
/* Remote Printer and Extended Remote Printer Info flags */
|
|
#define NWPS_REMOTE_SHARED 0 /* Rprinter is shared with net */
|
|
#define NWPS_REMOTE_PRIVATE 1 /* Rprinter is private to ws */
|
|
|
|
/* Print Server info structure returned by NWPSGetPrintServerInfo */
|
|
typedef struct
|
|
{
|
|
BYTE status, /* Print server status */
|
|
numPrinters, /* Number of attached printers */
|
|
numModes, /* Number of queue service modes */
|
|
majorVersion, /* Print server protocol, major vers*/
|
|
minorVersion, /* Print server protocol, minor vers*/
|
|
revision, /* Print server protocol, revision */
|
|
serialNumber[4], /* Serial number in BCD */
|
|
serverType; /* Print Server Type */
|
|
/* 0 - Unknown */
|
|
/* 1 - Dedicate print server for DOS*/
|
|
/* 2 - NetWare Loadable Module */
|
|
/* 3 - VAP, in file server */
|
|
/* 4 - VAP, in Bridge */
|
|
BYTE futureUse[9]; /* Reserved for future use */
|
|
} NWPS_PSInfo;
|
|
|
|
typedef struct /* Remote printer info structure */
|
|
{
|
|
WORD printerType, /* Type of remote printer */
|
|
useInterrupts, /* Should we use interrupts? */
|
|
irqNumber, /* IRQ number for printer */
|
|
numBlocks, /* Number of blocks in buffer */
|
|
useXonXoff, /* Use Xon/Xoff? */
|
|
baudRate, /* Baud rate */
|
|
dataBits, /* Number of data bits */
|
|
stopBits, /* Number of stop bits */
|
|
parity, /* Parity type */
|
|
socket; /* Socket number for remote printer */
|
|
} NWPS_RInfo;
|
|
|
|
|
|
|
|
/* print server attachment calls */
|
|
NWCCODE NWFAR NWPASCAL NWPSAttachToPrintServer(
|
|
WORD connType, /* connection type */
|
|
DWORD connID, /* connection ID */
|
|
char NWFAR *pserverName, /* Print server name */
|
|
WORD NWFAR *spxID); /* SPX Connection number */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSDetachFromPrintServer(
|
|
WORD spxID); /* SPX Connection number */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSGetPrintServerInfo(
|
|
WORD spxID, /* SPX Connection number */
|
|
NWPS_PSInfo NWFAR *psInfo, /* Server info structure */
|
|
WORD size); /* Size of information requested */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSLoginToPrintServer(
|
|
WORD connType, /* Connection type to use */
|
|
DWORD connID, /* Connection ID to file server */
|
|
WORD spxID, /* SPX Connection number */
|
|
BYTE NWFAR *access); /* Client's access level */
|
|
|
|
/* Print Server Controls */
|
|
NWCCODE NWFAR NWPASCAL NWPSAttachPServerToFileServer(
|
|
WORD spxID, /* SPX Connection number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *password); /* Password */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSDetachPServerFromFileServer(
|
|
WORD spxID, /* SPX Connection number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
BYTE detach, /* Detach immediately? */
|
|
BYTE outcome); /* Outcome of current jobs */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSGetAttachedServers(
|
|
WORD spxID, /* SPX Connection number */
|
|
BYTE NWFAR *sequence, /* Sequence number. 0 first time */
|
|
char NWFAR *fileServer); /* File server name */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSDownPrintServer(
|
|
WORD spxID, /* SPX Connection number */
|
|
BYTE immediate, /* Go down immediately? */
|
|
BYTE outcome); /* Outcome of current jobs */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSCancelDownRequest(
|
|
WORD spxID); /* SPX Connection number */
|
|
|
|
/* notify controls */
|
|
NWCCODE NWFAR NWPASCAL NWPSAddNotifyObject(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *notifyName, /* Object name */
|
|
WORD notifyType, /* Object type */
|
|
WORD notifyDelay, /* First notify delay */
|
|
WORD notifyInterval); /* Notify interval */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSChangeNotifyInterval(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *notifyName, /* Object name */
|
|
WORD notifyType, /* Object type */
|
|
WORD notifyDelay, /* First notify delay */
|
|
WORD notifyInterval); /* Notify interval */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSDeleteNotifyObject(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *notifyName, /* Object name */
|
|
WORD notifyType); /* Object type */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSGetNotifyObject(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
WORD NWFAR *sequence, /* Sequence number. 0 first time */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *notifyName, /* Object name */
|
|
WORD NWFAR *notifyType, /* Object type */
|
|
WORD NWFAR *notifyDelay, /* First notify delay */
|
|
WORD NWFAR *notifyInterval); /* Notify interval */
|
|
|
|
/* Queue controls */
|
|
NWCCODE NWFAR NWPASCAL NWPSAddQueueToPrinter(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *queueName, /* Queue name */
|
|
WORD priority); /* Priority */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSChangeQueuePriority(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *queueName, /* Queue name */
|
|
WORD priority); /* New priority */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSDeleteQueueFromPrinter(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *queueName, /* Queue name */
|
|
BYTE detach, /* Detach immediately? */
|
|
BYTE outcome); /* Outcome of current job */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSGetQueuesServiced(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
WORD NWFAR *sequence, /* Sequence number. 0 first time */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *queueName, /* Queue name */
|
|
WORD NWFAR *priority); /* Priority */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSGetPrintersServicingQueue(
|
|
WORD spxID, /* SPX Connection number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *queueName, /* Queue name */
|
|
WORD maximum, /* Maximum # of returned printers */
|
|
WORD NWFAR *actual, /* Actual # of returned printers */
|
|
WORD NWFAR *buffer); /* Array for returned printer #s */
|
|
|
|
/* print job controls */
|
|
NWCCODE NWFAR NWPASCAL NWPSAbortPrintJob(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
BYTE outcome); /* Job outcome */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSChangeServiceMode(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerName, /* Printer number */
|
|
BYTE serviceMode); /* New service mode */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSEjectForm(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID); /* Printer number */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSGetPrintJobStatus(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
char NWFAR *fileServer, /* File server name */
|
|
char NWFAR *queueName, /* Queue name */
|
|
WORD NWFAR *jobID, /* Job number */
|
|
char NWFAR *jobName, /* Description of job */
|
|
WORD NWFAR *copies, /* Number of copies to be printed */
|
|
DWORD NWFAR *size, /* Size of print job */
|
|
WORD NWFAR *copiesDone, /* Copies finished */
|
|
DWORD NWFAR *bytesDone, /* Bytes into current copy */
|
|
WORD NWFAR *formNumber, /* Form number for job */
|
|
BYTE NWFAR *textFlag); /* Is job text? */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSGetPrinterStatus(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
BYTE NWFAR *status, /* Printer status */
|
|
BYTE NWFAR *problem, /* On line/Off line/Out of paper */
|
|
BYTE NWFAR *active, /* Printer has an active job */
|
|
BYTE NWFAR *serviceMode, /* Queue service mode */
|
|
WORD NWFAR *formNumber, /* Mounted form number */
|
|
char NWFAR *formName, /* Mounted form name */
|
|
char NWFAR *printerName); /* Printer name */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSMarkTopOfForm(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
char mark); /* Character to mark form with */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSRewindPrintJob(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
BYTE byPage, /* Rewind by page? */
|
|
BYTE relative, /* Rewind relative to curr. position?*/
|
|
WORD copy, /* Copy to rewind to (if absolute) */
|
|
DWORD offset); /* Offset */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSSetMountedForm(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
BYTE form); /* Form number */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSStartPrinter(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID); /* Printer number */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSStopPrinter(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
BYTE outcome); /* Job outcome */
|
|
|
|
/* Remote Printer Calls */
|
|
NWCCODE NWFAR NWPASCAL NWPSGetNextRemotePrinter(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD NWFAR *printerID, /* Printer number */
|
|
WORD NWFAR *type, /* Printer type */
|
|
char NWFAR *name); /* Name of printer */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSRequestRemotePrinter(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
NWPS_RInfo NWFAR *info); /* Remote printer info structure */
|
|
|
|
NWCCODE NWFAR NWPASCAL NWPSSetRemoteMode(
|
|
WORD spxID, /* SPX Connection number */
|
|
WORD printerID, /* Printer number */
|
|
BYTE mode); /* New mode */
|
|
|
|
|
|
#endif /* NWPS_EXCLUDE_NPT */
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/*---------- Config - Print Server Configuration Information --------*/
|
|
#ifndef NWPS_EXCLUDE_CONF
|
|
|
|
/* configuration attributes */
|
|
#define NWPS_ATTR_CART 0 /* Cartridge */
|
|
#define NWPS_ATTR_CLASS 1 /* Object Class */
|
|
#define NWPS_ATTR_CN 2 /* CN or Common Name */
|
|
#define NWPS_ATTR_CONF 3 /* Printer Configuration */
|
|
#define NWPS_ATTR_DQUEUE 4 /* Default Queue */
|
|
#define NWPS_ATTR_DESC 5 /* Description */
|
|
#define NWPS_ATTR_DEVICE 6 /* Device */
|
|
#define NWPS_ATTR_HOST_DEV 7 /* Host Device */
|
|
#define NWPS_ATTR_HOST_RES 8 /* Host Resource */
|
|
#define NWPS_ATTR_HOST_SER 9 /* Host Server */
|
|
#define NWPS_ATTR_L 10 /* L or Locality */
|
|
#define NWPS_ATTR_MEMORY 11 /* Memory */
|
|
#define NWPS_ATTR_NADD 12 /* Network Address */
|
|
#define NWPS_ATTR_NADD_REST 13 /* Network Address Restriction */
|
|
#define NWPS_ATTR_NOTIFY 14 /* Notify */
|
|
#define NWPS_ATTR_O 15 /* O or Organization */
|
|
#define NWPS_ATTR_OPER 16 /* Operator */
|
|
#define NWPS_ATTR_OU 17 /* OU or Organizational Unit */
|
|
#define NWPS_ATTR_OWNER 18 /* Owner */
|
|
#define NWPS_ATTR_PAGE 19 /* Page Description Language */
|
|
#define NWPS_ATTR_PJOB 20 /* Print Job Configuration */
|
|
#define NWPS_ATTR_PCTRL 21 /* Printer Control */
|
|
#define NWPS_ATTR_PRINT_SER 22 /* Queue Volume Name */
|
|
#define NWPS_ATTR_PRINTER 23 /* Printer */
|
|
#define NWPS_ATTR_PRIV_KEY 24 /* Private Key */
|
|
#define NWPS_ATTR_PUBL_KEY 25 /* Public Key */
|
|
#define NWPS_ATTR_QUEUE 26 /* Queue */
|
|
#define NWPS_ATTR_QUE_DIR 27 /* Queue Directory */
|
|
#define NWPS_ATTR_SAP 28 /* SAP Name */
|
|
#define NWPS_ATTR_SEE_ALSO 29 /* See Also */
|
|
#define NWPS_ATTR_SERIAL 30 /* Serial Number */
|
|
#define NWPS_ATTR_SERVER 31 /* Server */
|
|
#define NWPS_ATTR_STAT 32 /* Status */
|
|
#define NWPS_ATTR_TYPE 33 /* Supported Typefaces */
|
|
#define NWPS_ATTR_USER 34 /* User */
|
|
#define NWPS_ATTR_VERS 35 /* Version */
|
|
#define NWPS_ATTR_VOLUME 36 /* Queue Volume Name */
|
|
#define NWPS_ATTR_ACL 37 /* Access Control */
|
|
|
|
/* LocalFlag meanings */
|
|
#define NWPS_P_LOCAL 1
|
|
#define NWPS_P_REMOTE 0
|
|
|
|
/* For operator notification purposes, this means notify job owner */
|
|
#define NWPS_JOB_OWNER -1
|
|
|
|
/* Banner types */
|
|
#define NWPS_BANNER_TEXT 0 /* Text banner is generated */
|
|
#define NWPS_BANNER_POST 1 /* PostScript banner generated */
|
|
|
|
/* Flags for NWPSrvGetPrinterDefaults: */
|
|
#define NWPS_DEFAULT (WORD) -2/* Default type, or subtype */
|
|
/* Printer Types */
|
|
#define NWPS_P_ELSEWHERE (WORD) -1 /* Printer defined elsewhere*/
|
|
#define NWPS_P_OTHER 0 /* Other or Unknown Printer */
|
|
#define NWPS_P_PAR 1 /* Parallel Printer */
|
|
#define NWPS_P_SER 2 /* Serial Printer */
|
|
#define NWPS_P_XRP 3 /* eXtended Remote Printer */
|
|
#define NWPS_P_APPLE 4 /* AppleShare Printer */
|
|
#define NWPS_P_UNIX 5 /* Unix Printer */
|
|
|
|
/* SubType (port numbers) */
|
|
#define NWPS_PORT_1 0
|
|
#define NWPS_PORT_2 1
|
|
#define NWPS_PORT_3 2
|
|
#define NWPS_PORT_4 3
|
|
#define NWPS_PORT_5 4
|
|
#define NWPS_PORT_6 5
|
|
#define NWPS_PORT_7 6
|
|
#define NWPS_PORT_8 7
|
|
#define NWPS_PORT_9 8
|
|
#define NWPS_PORT_10 9
|
|
|
|
/* Possible Print Server status codes */
|
|
#define NWPS_RUNNING 0 /* Running */
|
|
#define NWPS_GOING_DOWN 1 /* Ready to quit when jobs finish */
|
|
#define NWPS_DOWN 2 /* Ready to quit */
|
|
#define NWPS_INITIALIZING 3 /* Initialization in progress */
|
|
|
|
/* Possible Printer status codes */
|
|
#define NWPS_PSTAT_JOB_WAIT 0
|
|
#define NWPS_PSTAT_FORM_WAIT 1
|
|
#define NWPS_PSTAT_PRINTING 2
|
|
#define NWPS_PSTAT_PAUSED 3
|
|
#define NWPS_PSTAT_STOPPED 4
|
|
#define NWPS_PSTAT_MARK_EJECT 5
|
|
#define NWPS_PSTAT_READY_TO_DOWN 6
|
|
#define NWPS_PSTAT_NOT_CONNECTED 7
|
|
#define NWPS_PSTAT_PRIVATE 8
|
|
|
|
/* Queue service modes */
|
|
#define NWPS_QUEUE_ONLY 0
|
|
#define NWPS_QUEUE_BEFORE_FORM 1
|
|
#define NWPS_FORM_ONLY 2
|
|
#define NWPS_FORM_BEFORE_QUEUE 3
|
|
|
|
/* Values for serial port control as stored in configuration files */
|
|
/* Baud rates */
|
|
#define NWPS_BAUD_RATE_0300 0
|
|
#define NWPS_BAUD_RATE_0600 1
|
|
#define NWPS_BAUD_RATE_1200 2
|
|
#define NWPS_BAUD_RATE_2400 3
|
|
#define NWPS_BAUD_RATE_4800 4
|
|
#define NWPS_BAUD_RATE_9600 5
|
|
#define NWPS_BAUD_RATE_19200 6
|
|
|
|
/* Stop bits */
|
|
#define NWPS_STOP_BITS_1 0
|
|
#define NWPS_STOP_BITS_1_5 1
|
|
#define NWPS_STOP_BITS_2 2
|
|
|
|
/* Parity type */
|
|
#define NWPS_PARITY_NONE 0
|
|
#define NWPS_PARITY_EVEN 1
|
|
#define NWPS_PARITY_ODD 2
|
|
|
|
/* Possible types of print servers */
|
|
#define NWPS_TYPE_UNKNOWN 0 /* Pre 1.1 pserver type */
|
|
#define NWPS_TYPE_EXE 1 /* Dedicate pserver for DOS */
|
|
#define NWPS_TYPE_NLM 2 /* NetWare Loadable Module */
|
|
#define NWPS_TYPE_SERVER_VAP 3 /* VAP, in server*/
|
|
#define NWPS_TYPE_BRIDGE_VAP 4 /* VAP, in Bridge */
|
|
#define NWPS_TYPE_UNIX 5 /* NetWare For Unix PServer */
|
|
|
|
/*
|
|
Printer configuration structures
|
|
*/
|
|
/* Serial Printer Config Info */
|
|
typedef struct {
|
|
WORD portNumber; /* COMn port number */
|
|
WORD localFlag; /* TRUE - local Printer */
|
|
/* FALSE - remote */
|
|
WORD useInterrupts; /* TRUE - use irq driver */
|
|
WORD irqNumber; /* IRQ number for printer */
|
|
WORD baudRate; /* Baud rate (Serial) */
|
|
WORD dataBits; /* Data bits (Serial) */
|
|
WORD stopBits; /* Stop bits (Serial) */
|
|
WORD parity; /* Parity type (Serial) */
|
|
WORD useXonXoff; /* Use X-On/X-Off? (Serial) */
|
|
} NWPS_Serial;
|
|
|
|
/* Parallel Printer Config Info */
|
|
typedef struct {
|
|
WORD portNumber; /* LPTn port number */
|
|
WORD localFlag; /* TRUE - local Printer */
|
|
/* FALSE - remote */
|
|
WORD useInterrupts; /* TRUE - use irq driver */
|
|
WORD irqNumber; /* IRQ number for printer */
|
|
} NWPS_Parallel;
|
|
|
|
/* AppleTalk Printer Configuration info */
|
|
typedef struct {
|
|
char netPrinterName[NWPS_APPLE_NAME_SIZE + 2];
|
|
/* AppleTalk Network Printer Name */
|
|
char netPrinterType[NWPS_APPLE_TYPE_SIZE + 2];
|
|
/* AppleTalk Network Printer Type */
|
|
char netPrinterZone[NWPS_APPLE_ZONE_SIZE + 2];
|
|
/* AppleTalk Network Printer Zone */
|
|
WORD hideFlag; /* TRUE - hide printer */
|
|
WORD errorFlag; /* TRUE - print error banner */
|
|
} NWPS_AppleTalk;
|
|
|
|
/* Unix Printer Configuration info */
|
|
typedef struct {
|
|
char hostName[NWPS_UNIX_HOST_SIZE + 1];
|
|
/* Name of the unix host */
|
|
char hostPrinter[NWPS_UNIX_PRNT_SIZE + 1];
|
|
/* Unix printer name */
|
|
} NWPS_Unix;
|
|
|
|
/* Other Printer Configuration info */
|
|
typedef struct {
|
|
DWORD length; /* The length of Other data */
|
|
BYTE data[NWPS_OTHER_SIZE];
|
|
/* Buffer for the Other data */
|
|
} NWPS_Other;
|
|
|
|
typedef struct {
|
|
WORD printerType; /* Type of printer */
|
|
WORD currentForm; /* Currently mounted form */
|
|
WORD bufferSize; /* Buffer size in K */
|
|
WORD serviceMode; /* Queue service mode */
|
|
WORD pollTime; /* Queue poll time */
|
|
WORD bannerType; /* FALSE - text banner page */
|
|
/* TRUE - postscript banner page*/
|
|
union {
|
|
NWPS_Serial ser;
|
|
NWPS_Parallel par;
|
|
NWPS_AppleTalk apl;
|
|
NWPS_Unix unx;
|
|
NWPS_Other oth;
|
|
} type;
|
|
} NWPS_PConfig;
|
|
|
|
/*
|
|
Operator, User, Owner, and Notify attributes use
|
|
this structure to get the object types back.
|
|
For Notify attributes the tName points to a Typed_Name_T
|
|
structure, while the others point to a char array
|
|
*/
|
|
typedef struct {
|
|
WORD objectType;
|
|
void NWFAR *tName;
|
|
} NWPS_Typed_Name;
|
|
|
|
|
|
/*
|
|
The following types are used for the listed attribute:
|
|
- NWPS_Typed_Name (name field is a char*) Operator, Owner, User
|
|
- NWPS_Typed_Name (name field is a Typed_Name_T*) Notify
|
|
- Typed_Name_T used by Queue, Printer and Print Server values
|
|
- Octet_String_T used by Printer Configuration value
|
|
- Net_Address_T used by Network Address and Restriction values
|
|
These attributes are defined in the directory services header:
|
|
nwdsattr.h
|
|
*/
|
|
|
|
/* internal table of known attribute names */
|
|
extern char *_attrName[];
|
|
|
|
/* calls to make attribute name/number conversions */
|
|
/*
|
|
Convert an attribute name to a print service attribute id.
|
|
If the name can not be mapped, a -1 is returned.
|
|
*/
|
|
int NWFAR NWPASCAL NWPSrvAttrNameToNumber(
|
|
char NWFAR *attrName); /* Attribute name */
|
|
|
|
/*
|
|
Convert a print service attribute id to an attribute name.
|
|
if the attribute id is invalid a NULL is returned.
|
|
*/
|
|
char NWFAR *NWFAR NWPASCAL NWPSrvAttrNumberToName(
|
|
WORD attrNumber); /* Attribute Number */
|
|
|
|
/*
|
|
Get the default settings for a specified printer type.
|
|
PrinterType should be NWPS_DEFAULT or NWPS_P_xxx.
|
|
SubType is the port number for Parallel and Serial printers.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvGetPrinterDefaults(
|
|
WORD printerType, /* Type of printer defaults */
|
|
WORD subtype, /* Device SubType (Port) value */
|
|
NWPS_PConfig NWFAR *defaults); /* Buffer to store defaults in */
|
|
|
|
/*
|
|
Information stored in the bindery configuration file has a
|
|
different format than NWPS_PConfig. Those applications needing
|
|
the old format can use these calls to do the conversion.
|
|
*/
|
|
void NWPSApiConfigToFileConfig(
|
|
char NWFAR *name,
|
|
NWPS_PConfig NWFAR *apiConfig,
|
|
BYTE NWFAR *fileConfig);
|
|
|
|
void NWPSFileConfigToApiConfig(
|
|
BYTE NWFAR *fileConfig,
|
|
char NWFAR *name,
|
|
DWORD NWFAR *length,
|
|
NWPS_PConfig NWFAR *apiConfig);
|
|
|
|
/* calls to change the print server list */
|
|
/*
|
|
PSERVER ATTRIBUTE ATTRIB VALUE DEFAULT MULTI-VALUED
|
|
----------------- ------------ ------- ------------
|
|
NWPS_ATTR_ACL Object_ACL_T pserver R/W YES
|
|
NWPS_ATTR_CN char[] pserver name YES
|
|
NWPS_ATTR_DESC char[] " " NO
|
|
NWPS_ATTR_HOST_DEV char[] (none) NO
|
|
NWPS_ATTR_L char[] (none) YES
|
|
NWPS_ATTR_NADD Net_Address_T (none) YES
|
|
NWPS_ATTR_O char[] (none) YES
|
|
NWPS_ATTR_OPER char[] current user YES
|
|
NWPS_ATTR_OU char[] (none) YES
|
|
NWPS_ATTR_PRINTER Typed_Name_T (none) YES
|
|
NWPS_ATTR_PRIV_KEY Octet_String_T (none) NO
|
|
NWPS_ATTR_PUBL_KEY Octet_String_T (none) NO
|
|
NWPS_ATTR_SAP char[] (none) NO
|
|
NWPS_ATTR_SEE_ALSO char[] (none) YES
|
|
NWPS_ATTR_STAT integer NWPS_DOWN NO
|
|
NWPS_ATTR_USER char[] current OU YES
|
|
NWPS_ATTR_VERS char[] (none) NO
|
|
*/
|
|
|
|
/*
|
|
Create a new Print Server object in the bindery/directory.
|
|
A default Operator and User is created. In the bindery the
|
|
operator is SUPERVISOR and the user is group EVERYONE. In the
|
|
directory the operator is the current user and the user is
|
|
the current Organizational Unit. Account Balances and a
|
|
Password are also created.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvAddPrintServer(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
char NWFAR *pserverName); /* Name of print server to add */
|
|
|
|
/*
|
|
Delete a Print Server. Any configuration information is also
|
|
removed from the bindery/directory.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvDeletePrintServer(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
char NWFAR *pserverName); /* Name of print server to delete */
|
|
|
|
/*
|
|
Find a print server.
|
|
To find all the defined print servers, sequence should be set
|
|
to -1 on the first call and the call will update the number.
|
|
To verify a print server name, set sequence to NULL and
|
|
pserverName to the name you want to find.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvScanPrintServer(
|
|
WORD connType, /* Directory or bindery flag */
|
|
DWORD connID, /* Connection identifier */
|
|
DWORD NWFAR *sequence, /* Sequence number; start at -1 */
|
|
char NWFAR *pserverName); /* Name of print server */
|
|
|
|
/*
|
|
Create a print server attribute in the bindery/directory.
|
|
Attributes that do not exist in the bindery will fail (Sorry).
|
|
See above for the list of legal attributes.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvAddPrintServerAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *pserverName, /* name of the print server */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Delete a print server attribute from the bindery/directory.
|
|
Attributes that do not exist in the bindery will fail (Sorry).
|
|
See above for the list of legal attributes.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvDeletePrintServerAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *pserverName, /* name of the print server */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Find an attribute value in the bindery or directory.
|
|
On the first call, sequence should be set to -1, attrID is set
|
|
to identify the attribute to read and attrValue is a pointer
|
|
to the buffer to write the attribute value to.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvScanPrintServerAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
DWORD NWFAR *sequence, /* attribute index number */
|
|
char NWFAR *pserverName, /* name of the print server */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Modify an attribute value in the bindery or directory.
|
|
If the attribute is single valued, the AddPrintServerAttr()
|
|
will perform almost the same function.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvModifyPrintServerAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *pserverName, /* name of the print server */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *oldValue, /* pointer to the old attribute value */
|
|
void NWFAR *newValue); /* pointer to the new attribute value */
|
|
|
|
|
|
/* calls to change the file server list */
|
|
/*
|
|
FSERVER ATTRIBUTE ATTRIB VALUE DEFAULT MULTI-VALUED
|
|
----------------- ------------ ------- ------------
|
|
(none)
|
|
*/
|
|
/*
|
|
Add a new file server for the print server to use. Since print
|
|
servers are context oriented in directory services, this call
|
|
does not make sense and will fail in directory services mode.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvAddFileServer(
|
|
WORD connType, /* Directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
char NWFAR *pserverName, /* Name of print server */
|
|
char NWFAR *fserverName); /* Name of file server to add */
|
|
|
|
/*
|
|
Delete a file server from the print server's service list.
|
|
Since file servers are context oriented in directory services,
|
|
this call does not make sense and will fail in directory mode.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvDeleteFileServer(
|
|
WORD connType, /* Directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
char NWFAR *pserverName, /* Name of print server */
|
|
char NWFAR *fserverName); /* Name of file server to delete */
|
|
|
|
/*
|
|
Find a file server from the print server's service list.
|
|
Since file servers are context oriented in directory services,
|
|
this call does not make sense and will fail in directory mode.
|
|
On the first call sequence should be set to -1 and the routine
|
|
will change the number before returning. To verify a specific
|
|
file server is in the serivce list, set sequence to NULL and
|
|
set fserveName before making the call.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvScanFileServer(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
DWORD NWFAR *sequence, /* sequence number; start at -1 */
|
|
char NWFAR *pserverName, /* Name of print server */
|
|
char NWFAR *fserverName); /* Name of found file server */
|
|
|
|
|
|
/* calls to change the printer configuration */
|
|
/*
|
|
PRINTER ATTRIBUTE ATTRIB VALUE DEFAULT MULTI-VALUED
|
|
----------------- ------------ ------- ------------
|
|
NWPS_ATTR_ACL Object_ACL_T printer R/W YES
|
|
NWPS_ATTR_CART char[] (none) YES
|
|
NWPS_ATTR_CN char[] printer name YES
|
|
NWPS_ATTR_CONF Octet_String_T LPT1 NO
|
|
NWPS_ATTR_DESC char[] " " NO
|
|
NWPS_ATTR_DQUEUE char[] (none) NO
|
|
NWPS_ATTR_HOST_DEV char[] (none) NO
|
|
NWPS_ATTR_HOST_SER char[] (none) NO
|
|
NWPS_ATTR_L char[] (none) YES
|
|
NWPS_ATTR_MEMORY integer (none) NO
|
|
NWPS_ATTR_NADD Net_Address_T (none) YES
|
|
NWPS_ATTR_NADD_REST Net_Address_T (none) YES
|
|
NWPS_ATTR_NOTIFY NWPS_Typed_Name Job Owner YES
|
|
NWPS_ATTR_O char[] (none) YES
|
|
NWPS_ATTR_OPER char[] current user YES
|
|
NWPS_ATTR_OU char[] (none) YES
|
|
NWPS_ATTR_OWNER char[] current user YES
|
|
NWPS_ATTR_PAGE char[] (none) YES
|
|
NWPS_ATTR_PRINT_SER Typed_Name_T pserver/number NO
|
|
NWPS_ATTR_QUEUE Typed_Name_T (none) YES
|
|
NWPS_ATTR_SEE_ALSO char[] (none) YES
|
|
NWPS_ATTR_SERIAL char[] (none) YES
|
|
NWPS_ATTR_STAT integer NWPS_PSTAT_NOT_CONNECTED NO
|
|
NWPS_ATTR_TYPE(faces)char[] (none) YES
|
|
*/
|
|
|
|
/*
|
|
Create a new printer object.
|
|
Printer number is required for bindery identification only.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvAddPrinter(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
char NWFAR *pserverName, /* Name of print server */
|
|
char NWFAR *printerName, /* Name of the Printer to add */
|
|
WORD NWFAR *printerNumber); /* Number of the Printer to add */
|
|
|
|
/*
|
|
Delete a printer from the bindery/directory.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvDeletePrinter(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
char NWFAR *pserverName, /* Name of print server */
|
|
char NWFAR *printerName); /* Name of printer to delete */
|
|
|
|
/*
|
|
Find a printer in the directory/bindery. To find all of the
|
|
printers and their configurations, set sequence to -1 before
|
|
the first call and the routine will update the number before
|
|
returning. To verify the existance of a specific printer,
|
|
set sequence to NULL and set the name in the PConfig strucutre.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvScanPrinter(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
DWORD NWFAR *sequence, /* sequence number; start at -1 */
|
|
char NWFAR *pserverName, /* Name of print server */
|
|
char NWFAR *printerName); /* Name of the Printer to add */
|
|
|
|
/*
|
|
Add a printer attribute to the bindery/directory. The only legal
|
|
bindery attributes are; Configuration, Default Queue, Host Server,
|
|
Notify, Queue, Status, and Description.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvAddPrinterAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *pserverName, /* name of the print server */
|
|
char NWFAR *printerName, /* name of the printer */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Delete a printer attribute from the bindery/directory.
|
|
See AddPrinterAttr for a list of legal bindery attributes.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvDeletePrinterAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *pserverName, /* name of the print server */
|
|
char NWFAR *printerName, /* name of the printer */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Find a printer attribute in the bindery/directory.
|
|
See AddPrinterAttr for a list of legal bindery attributes.
|
|
To find the first value of a multi-valued attribute, set sequence
|
|
to -1 before making the call. Sequence is updated internally
|
|
in preparation for each call. attrValue should be a buffer large
|
|
enough to hold each attribute value.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvScanPrinterAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
DWORD NWFAR *sequence, /* attribute index number */
|
|
char NWFAR *pserverName, /* name of the print server */
|
|
char NWFAR *printerName, /* name of the printer */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Change a printer attribute in the bindery/directory.
|
|
This function is similar to a add attribute to a single value
|
|
attribute, however, some attributes must be changed in one call.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvModifyPrinterAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *pserverName, /* name of the print server */
|
|
char NWFAR *printerName, /* name of the printer */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *oldValue, /* pointer to old attribute buffer */
|
|
void NWFAR *newValue); /* pointer to new attribute buffer */
|
|
|
|
|
|
/* calls to change a printer's queue list */
|
|
/*
|
|
QUEUE ATTRIBUTE ATTRIB VALUE DEFAULT MULTI-VALUED
|
|
----------------- ------------ ------- ------------
|
|
NWPS_ATTR_ACL Object_ACL_T queue R/W YES
|
|
NWPS_ATTR_CN char[] printer name YES
|
|
NWPS_ATTR_DESC char[] " " NO
|
|
NWPS_ATTR_DEVICE char[] (none) YES
|
|
NWPS_ATTR_HOST_RES char[] (none) NO
|
|
NWPS_ATTR_HOST_SER char[] File Server NO
|
|
NWPS_ATTR_L char[] (none) YES
|
|
NWPS_ATTR_NADD Net_Address_T (none) YES
|
|
NWPS_ATTR_O char[] (none) YES
|
|
NWPS_ATTR_OPER NWPS_TYPED_NAME current user YES
|
|
NWPS_ATTR_OU char[] (none) YES
|
|
NWPS_ATTR_QUE_DIR char[] <Vol>:\QUEUE\<ID>.QDR YES
|
|
NWPS_ATTR_SEE_ALSO char[] (none) YES
|
|
NWPS_ATTR_SERVER char[] (none) YES
|
|
NWPS_ATTR_USER NWPS_Typed_Name current OU YES
|
|
NWPS_ATTR_VOLUME char[] Volume NO
|
|
*/
|
|
|
|
/*
|
|
Add a print queue to the bindery/directory. In bindery mode,
|
|
the volumeName is automatically assigned. In directory mode,
|
|
default values are added for the following fields;
|
|
Host Server, Operator, and User.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvAddPrintQueue(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
char NWFAR *queueName, /* Name of the print queue */
|
|
char NWFAR *volumeName); /* Name of the print queue's volume */
|
|
|
|
/*
|
|
Delete a print queue from the bindery/directory. Any reference
|
|
to the queue is also removed from Printers and Print Servers
|
|
that are within the same context as the Print Queue.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvDeletePrintQueue(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
char NWFAR *queueName); /* Name of the queue to delete */
|
|
|
|
/*
|
|
Find a print queue in the directory/bindery.
|
|
On the first call, sequence should be set to -1 and the function
|
|
will change it for subsequent calls.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvScanPrintQueue(
|
|
WORD connType, /* directory or bindery flag */
|
|
DWORD connID, /* connection identifier */
|
|
DWORD NWFAR *sequence, /* sequence number; start at -1 */
|
|
char NWFAR *queueName); /* Name of the print queue */
|
|
|
|
/*
|
|
Create or Add a Print Queue attribute to the bindery/directory.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvAddPrintQueueAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *queueName, /* name of the print queue */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Delete a Print Queue attribute from the bindery/directory.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvDeletePrintQueueAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *queueName, /* name of the print queue */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Find an attribute for the Print Queue.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvScanPrintQueueAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
DWORD NWFAR *index, /* attribute index number */
|
|
char NWFAR *queueName, /* name of the print queue */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *attrValue); /* pointer to attribute buffer */
|
|
|
|
/*
|
|
Modify an attribute for the Print Queue.
|
|
A zero is returned on succecss, or a non-zero error code on failure
|
|
*/
|
|
NWCCODE NWFAR NWPASCAL NWPSrvModifyPrintQueueAttr(
|
|
WORD connType,
|
|
DWORD connID,
|
|
char NWFAR *queueName, /* name of the print queue */
|
|
WORD attrID, /* attribute name identifier */
|
|
void NWFAR *oldValue, /* pointer to old attribute buffer */
|
|
void NWFAR *newValue); /* pointer to new attribute buffer */
|
|
|
|
#endif /* NWPS_EXCLUDE_CONF */
|
|
|
|
|
|
/*------------------------------------------------------------*/
|
|
|
|
#endif /* NWPS_EXTERNAL_H */
|
|
|
|
/**************************************************************/
|
|
/**************************************************************/
|
|
|