diff options
Diffstat (limited to '')
-rw-r--r-- | private/nw/nwscript/inc/nwlibs.h | 371 |
1 files changed, 371 insertions, 0 deletions
diff --git a/private/nw/nwscript/inc/nwlibs.h b/private/nw/nwscript/inc/nwlibs.h new file mode 100644 index 000000000..64a187e52 --- /dev/null +++ b/private/nw/nwscript/inc/nwlibs.h @@ -0,0 +1,371 @@ + +/************************************************************************* +* +* 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_ */ |