372 lines
9.6 KiB
C
372 lines
9.6 KiB
C
|
||
/*************************************************************************
|
||
*
|
||
* NWLIBS.H
|
||
*
|
||
* Prototypes
|
||
*
|
||
* Copyright (c) 1995 Microsoft Corporation
|
||
*
|
||
* $Log: N:\NT\PRIVATE\NW4\NWSCRIPT\INC\VCS\NWLIBS.H $
|
||
*
|
||
* Rev 1.1 22 Dec 1995 14:20:28 terryt
|
||
* Add Microsoft headers
|
||
*
|
||
* Rev 1.0 15 Nov 1995 18:05:36 terryt
|
||
* Initial revision.
|
||
*
|
||
* Rev 1.1 25 Aug 1995 17:03:46 terryt
|
||
* CAPTURE support
|
||
*
|
||
* Rev 1.0 15 May 1995 19:09:40 terryt
|
||
* Initial revision.
|
||
*
|
||
*************************************************************************/
|
||
|
||
/*++
|
||
|
||
Copyright (c) 1994 Micro Computer Systems, Inc.
|
||
|
||
Module Name:
|
||
|
||
nwlibs\nwlibs.h
|
||
|
||
Abstract:
|
||
|
||
NW Libs prototypes.
|
||
|
||
Author:
|
||
|
||
Shawn Walker (v-swalk) 10-10-1994
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
#ifndef _NWLIBS_H_
|
||
#define _NWLIBS_H_
|
||
|
||
|
||
/*++
|
||
*******************************************************************
|
||
NetWare defaults
|
||
*******************************************************************
|
||
--*/
|
||
#define NCP_BINDERY_OBJECT_NAME_LENGTH 48
|
||
#define NCP_SERVER_NAME_LENGTH NCP_BINDERY_OBJECT_NAME_LENGTH
|
||
|
||
#define NCP_MAX_PATH_LENGTH 255
|
||
#define NCP_VOLUME_LENGTH 256 // 16 in 3X
|
||
|
||
|
||
/*++
|
||
*******************************************************************
|
||
Defines for GetDrive Status
|
||
*******************************************************************
|
||
--*/
|
||
|
||
#define NETWARE_UNMAPPED_DRIVE 0x0000
|
||
#define NETWARE_FREE_DRIVE 0x0000
|
||
#define NETWARE_LOCAL_FREE_DRIVE 0x0800
|
||
#define NETWARE_LOCAL_DRIVE 0x1000
|
||
#define NETWARE_NETWORK_DRIVE 0x2000
|
||
#define NETWARE_LITE_DRIVE 0x4000
|
||
#define NETWARE_PNW_DRIVE 0x4000
|
||
#define NETWARE_NETWARE_DRIVE 0x8000
|
||
|
||
#define NETWARE_FORMAT_NETWARE 0
|
||
#define NETWARE_FORMAT_SERVER_VOLUME 1
|
||
#define NETWARE_FORMAT_DRIVE 2
|
||
#define NETWARE_FORMAT_UNC 3
|
||
|
||
#define NCP_JOB_DESCRIPTION_LENGTH 50
|
||
#define NCP_BANNER_TEXT_LENGTH 13
|
||
#define NCP_FORM_NAME_LENGTH 13
|
||
#define NCP_QUEUE_NAME_LENGTH 65
|
||
|
||
#define CAPTURE_FLAG_PRINT_BANNER 0x80
|
||
#define CAPTURE_FLAG_EXPAND_TABS 0x40
|
||
#define CAPTURE_FLAG_NOTIFY 0x10
|
||
#define CAPTURE_FLAG_NO_FORMFEED 0x08
|
||
#define CAPTURE_FLAG_KEEP 0x04
|
||
#define DEFAULT_PRINT_FLAGS 0xC0
|
||
#define DEFAULT_BANNER_TEXT "LPT:"
|
||
|
||
typedef struct _NETWARE_CAPTURE_FLAGS_RW {
|
||
unsigned char JobDescription[NCP_JOB_DESCRIPTION_LENGTH];
|
||
unsigned char JobControlFlags;
|
||
unsigned char TabSize;
|
||
unsigned short NumCopies;
|
||
unsigned short PrintFlags;
|
||
unsigned short MaxLines;
|
||
unsigned short MaxChars;
|
||
unsigned char FormName[NCP_FORM_NAME_LENGTH];
|
||
unsigned char Reserved1[9];
|
||
unsigned short FormType;
|
||
unsigned char BannerText[NCP_BANNER_TEXT_LENGTH];
|
||
unsigned char Reserved2;
|
||
unsigned short FlushCaptureTimeout;
|
||
unsigned char FlushCaptureOnClose;
|
||
} NETWARE_CAPTURE_FLAGS_RW, *PNETWARE_CAPTURE_FLAGS_RW, *LPNETWARE_CAPTURE_FLAGS_RW;
|
||
|
||
typedef struct _NETWARE_CAPTURE_FLAGS_RO {
|
||
unsigned short ConnectionID;
|
||
unsigned short SetupStringMaxLen;
|
||
unsigned short ResetStringMaxLen;
|
||
unsigned char LPTCaptureFlag;
|
||
unsigned char FileCaptureFlag;
|
||
unsigned char TimingOutFlag;
|
||
unsigned char InProgress;
|
||
unsigned char PrintQueueFlag;
|
||
unsigned char PrintJobValid;
|
||
unsigned char QueueName[NCP_QUEUE_NAME_LENGTH];
|
||
unsigned char ServerName[NCP_SERVER_NAME_LENGTH];
|
||
} NETWARE_CAPTURE_FLAGS_RO, *PNETWARE_CAPTURE_FLAGS_RO, *LPNETWARE_CAPTURE_FLAGS_RO;
|
||
|
||
#define NETWARE_CAPTURE_FLAGS_RO_SIZE sizeof(NETWARE_CAPTURE_FLAGS_RO)
|
||
#define NETWARE_CAPTURE_FLAGS_RW_SIZE sizeof(NETWARE_CAPTURE_FLAGS_RW)
|
||
|
||
#define PS_FORM_NAME_SIZE 12
|
||
#define PS_BANNER_NAME_SIZE 12
|
||
#define PS_BANNER_FILE_SIZE 12
|
||
#define PS_DEVICE_NAME_SIZE 32
|
||
#define PS_MODE_NAME_SIZE 32
|
||
|
||
#define PS_BIND_NAME_SIZE NCP_BINDERY_OBJECT_NAME_LENGTH
|
||
#define PS_MAX_NAME_SIZE 514
|
||
|
||
/** Flags for the PS_JOB_REC structure PrintJobFlag field **/
|
||
|
||
#define PS_JOB_EXPAND_TABS 0x00000001 /* File type:0=Stream 1=Tab */
|
||
#define PS_JOB_NO_FORMFEED 0x00000002 /* Formfeed tail:0=Yes 1=No */
|
||
#define PS_JOB_NOTIFY 0x00000004 /* Notify:0=No 1=Yes */
|
||
#define PS_JOB_PRINT_BANNER 0x00000008 /* Banner:0=No 1=Yes */
|
||
#define PS_JOB_AUTO_END 0x00000010 /* Auto endcap:0=No 1=Yes */
|
||
#define PS_JOB_TIMEOUT 0x00000020 /* Enable T.O.:0=No 1=Yes */
|
||
|
||
#define PS_JOB_ENV_DS 0x00000040 /* Use D.S. Environment */
|
||
#define PS_JOB_ENV_MASK 0x000001C0 /* Bindery vs. D.S. Mask */
|
||
|
||
#define PS_JOB_DS_PRINTER 0x00000200 /* D.S. Printer not Queue */
|
||
#define PS_JOB_PRINTER_MASK 0x00000E00 /* D.S. Printer vs. Queue */
|
||
|
||
/** Default Flags **/
|
||
|
||
#define PS_JOB_DEFAULT (NWPS_JOB_PRINT_BANNER | NWPS_JOB_AUTO_END)
|
||
#define PS_JOB_DEFAULT_COPIES 1 /* Default Number of Copies */
|
||
#define PS_JOB_DEFAULT_TAB 8 /* Default Tab Expansion */
|
||
|
||
typedef struct _PS_JOB_RECORD {
|
||
DWORD PrintJobFlag;
|
||
SHORT Copies;
|
||
SHORT TimeOutCount;
|
||
UCHAR TabSize;
|
||
UCHAR LocalPrinter;
|
||
CHAR FormName[PS_FORM_NAME_SIZE + 2];
|
||
CHAR Name[PS_BANNER_NAME_SIZE + 2];
|
||
CHAR BannerName[PS_BANNER_FILE_SIZE + 2];
|
||
CHAR Device[PS_DEVICE_NAME_SIZE + 2];
|
||
CHAR Mode[PS_MODE_NAME_SIZE + 2];
|
||
union {
|
||
struct {
|
||
/** Pad structures on even boundries **/
|
||
|
||
CHAR FileServer[PS_BIND_NAME_SIZE + 2];
|
||
CHAR PrintQueue[PS_BIND_NAME_SIZE + 2];
|
||
CHAR PrintServer[PS_BIND_NAME_SIZE + 2];
|
||
} NonDS;
|
||
CHAR DSObjectName[PS_MAX_NAME_SIZE];
|
||
} u;
|
||
UCHAR Reserved[392];
|
||
} PS_JOB_RECORD, *PPS_JOB_RECORD;
|
||
|
||
#define PS_JOB_RECORD_SIZE sizeof(PS_JOB_RECORD)
|
||
|
||
|
||
/*++
|
||
*******************************************************************
|
||
FUCNTION PROTOTYPES
|
||
*******************************************************************
|
||
--*/
|
||
|
||
/** ATTACH.C **/
|
||
|
||
unsigned int
|
||
AttachToFileServer(
|
||
unsigned char *pServerName,
|
||
unsigned int *pNewConnectionId
|
||
);
|
||
|
||
unsigned int
|
||
DetachFromFileServer(
|
||
unsigned int ConnectionId
|
||
);
|
||
|
||
/** NCP.C **/
|
||
|
||
unsigned int
|
||
GetBinderyObjectID(
|
||
unsigned int ConnectionHandle,
|
||
char *pObjectName,
|
||
unsigned short ObjectType,
|
||
unsigned long *pObjectId
|
||
);
|
||
|
||
|
||
/** CONNECT.C **/
|
||
|
||
unsigned int
|
||
GetDefaultConnectionID(
|
||
unsigned int *pConnectionHandle
|
||
);
|
||
|
||
unsigned int
|
||
GetConnectionHandle(
|
||
unsigned char *pServerName,
|
||
unsigned int *pConnectionHandle
|
||
);
|
||
|
||
unsigned int
|
||
GetConnectionNumber(
|
||
unsigned int ConnectionHandle,
|
||
unsigned int *pConnectionNumber
|
||
);
|
||
|
||
unsigned int
|
||
GetFileServerName(
|
||
unsigned int ConnectionHandle,
|
||
char *pServerName
|
||
);
|
||
|
||
unsigned int
|
||
GetInternetAddress(
|
||
unsigned int ConnectionHandle,
|
||
unsigned int ConnectionNumber,
|
||
unsigned char *pInternetAddress
|
||
);
|
||
|
||
/** DRIVE.C **/
|
||
|
||
unsigned int
|
||
GetDriveStatus(
|
||
unsigned short DriveNumber,
|
||
unsigned short PathFormat,
|
||
unsigned short *pStatus,
|
||
unsigned int *pConnectionHandle,
|
||
unsigned char *pRootPath,
|
||
unsigned char *pRelativePath,
|
||
unsigned char *pFullPath
|
||
);
|
||
|
||
unsigned int
|
||
GetFirstDrive(
|
||
unsigned short *pFirstDrive
|
||
);
|
||
|
||
unsigned int
|
||
ParsePath(
|
||
unsigned char *pPath,
|
||
unsigned char *pServerName, //OPTIONAL
|
||
unsigned char *pVolumeName, //OPTIONAL
|
||
unsigned char *pDirPath //OPTIONAL
|
||
);
|
||
|
||
unsigned int
|
||
SetDriveBase(
|
||
unsigned short DriveNumber,
|
||
unsigned char *ServerName,
|
||
unsigned int DirHandle,
|
||
unsigned char *pDirPath
|
||
);
|
||
|
||
unsigned int
|
||
DeleteDriveBase(
|
||
unsigned short DriveNumber
|
||
);
|
||
|
||
unsigned int
|
||
GetDirectoryPath(
|
||
unsigned char ConnectionHandle,
|
||
unsigned char Handle,
|
||
unsigned char *pPath
|
||
);
|
||
|
||
unsigned int
|
||
IsDriveRemote(
|
||
unsigned char DriveNumber,
|
||
unsigned int *pRemote
|
||
);
|
||
|
||
/** CAPTURE.C **/
|
||
|
||
unsigned int
|
||
EndCapture(
|
||
unsigned char LPTDevice
|
||
);
|
||
|
||
#define PS_ERR_BAD_VERSION 0x7770
|
||
#define PS_ERR_GETTING_DEFAULT 0x7773
|
||
#define PS_ERR_OPENING_DB 0x7774
|
||
#define PS_ERR_READING_DB 0x7775
|
||
#define PS_ERR_READING_RECORD 0x7776
|
||
#define PS_ERR_INTERNAL_ERROR 0x7779
|
||
#define PS_ERR_NO_DEFAULT_SPECIFIED 0x777B
|
||
|
||
unsigned int
|
||
PSJobGetDefault(
|
||
unsigned int ConnectionHandle,
|
||
unsigned short SearchFlag,
|
||
unsigned char *pOwner,
|
||
unsigned char *pJobName,
|
||
PPS_JOB_RECORD pJobRecord
|
||
);
|
||
|
||
unsigned int
|
||
PSJobRead(
|
||
unsigned int ConnectionHandle,
|
||
unsigned char *pOwner,
|
||
unsigned char *pJobName,
|
||
PPS_JOB_RECORD pJobRecord
|
||
);
|
||
|
||
unsigned int
|
||
PS40JobGetDefault(
|
||
unsigned int NDSCaptureFlag,
|
||
unsigned short SearchFlag,
|
||
unsigned char *pOwner,
|
||
unsigned char *pJobName,
|
||
PPS_JOB_RECORD pJobRecord
|
||
);
|
||
|
||
unsigned int
|
||
PS40JobRead(
|
||
unsigned int NDSCaptureFlag,
|
||
unsigned char *pOwner,
|
||
unsigned char *pJobName,
|
||
PPS_JOB_RECORD pJobRecord
|
||
);
|
||
|
||
unsigned int
|
||
GetCaptureFlags(
|
||
unsigned char LPTDevice,
|
||
PNETWARE_CAPTURE_FLAGS_RW pCaptureFlagsRW,
|
||
PNETWARE_CAPTURE_FLAGS_RO pCaptureFlagsRO
|
||
);
|
||
|
||
unsigned int
|
||
StartQueueCapture(
|
||
unsigned int ConnectionHandle,
|
||
unsigned char LPTDevice,
|
||
unsigned char *pServerName,
|
||
unsigned char *pQueueName
|
||
);
|
||
|
||
unsigned int
|
||
GetDefaultPrinterQueue (
|
||
unsigned int ConnectionHandle,
|
||
unsigned char *pServerName,
|
||
unsigned char *pQueueName
|
||
);
|
||
|
||
#endif /* _NWLIBS_H_ */
|