154 lines
4.1 KiB
C
154 lines
4.1 KiB
C
/*++
|
|
|
|
Copyright (c) 1989-1993 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
locals.h
|
|
|
|
Abstract:
|
|
|
|
Provides the common definitions for this project.
|
|
|
|
Author:
|
|
|
|
Chuck Y Chan (ChuckC) 25-Mar-1993
|
|
|
|
Revision History:
|
|
|
|
|
|
|
|
--*/
|
|
|
|
#define LFN 1
|
|
#include <winnet.h>
|
|
#include <wfwnet.h>
|
|
#include <spl_wnt.h>
|
|
#include <bseerr.h>
|
|
|
|
/*
|
|
* global manifests
|
|
*/
|
|
|
|
//
|
|
// used to figure out how to get the last error.
|
|
//
|
|
#define LAST_CALL_IS_LOCAL (0)
|
|
#define LAST_CALL_IS_LANMAN_DRV (1)
|
|
#define LAST_CALL_IS_WIN32 (2)
|
|
|
|
//
|
|
// the various DLLs we rely on to do the real work.
|
|
//
|
|
#define LANMAN_DRV "LANMAN.DRV"
|
|
#define MPR_DLL "MPR.DLL"
|
|
#define MPRUI_DLL "MPRUI.DLL"
|
|
#define NTLANMAN_DLL "NTLANMAN.DLL"
|
|
#define KERNEL32_DLL "KERNEL32.DLL"
|
|
#define WINSPOOL_DRV "WINSPOOL.DRV"
|
|
|
|
//
|
|
// some convenient manifests for above so we dont need to
|
|
// do strcmp()s all the time.
|
|
//
|
|
#define USE_MPR_DLL (0)
|
|
#define USE_MPRUI_DLL (1)
|
|
#define USE_NTLANMAN_DLL (2)
|
|
#define USE_KERNEL32_DLL (3)
|
|
#define USE_WINSPOOL_DRV (4)
|
|
|
|
//
|
|
// resource type expected by Win32 APIs
|
|
//
|
|
#define RESOURCETYPE_ANY 0x00000000
|
|
#define RESOURCETYPE_DISK 0x00000001
|
|
#define RESOURCETYPE_PRINT 0x00000002
|
|
#define RESOURCETYPE_ERROR 0xFFFFFFFF
|
|
|
|
//
|
|
// errors unknown in 16bit world.
|
|
//
|
|
#define WIN32_EXTENDED_ERROR 1208L
|
|
#define WIN32_WN_CANCEL 1223L
|
|
|
|
//
|
|
// misc convenient macros
|
|
//
|
|
#define UNREFERENCED(x) (void)x
|
|
#define TO_HWND32(x) (0xFFFF0000 | (DWORD)x)
|
|
|
|
|
|
/*
|
|
* various typedefs for the 16 bit functions we dynamically load
|
|
*/
|
|
typedef void (API *LPFN)();
|
|
typedef WORD (API *LPWNETOPENJOB)(LPSTR,LPSTR,WORD,LPINT);
|
|
typedef WORD (API *LPWNETCLOSEJOB)(WORD,LPINT,LPSTR);
|
|
typedef WORD (API *LPWNETWRITEJOB)(HANDLE,LPSTR,LPINT);
|
|
typedef WORD (API *LPWNETABORTJOB)(WORD,LPSTR);
|
|
typedef WORD (API *LPWNETHOLDJOB)(LPSTR,WORD);
|
|
typedef WORD (API *LPWNETRELEASEJOB)(LPSTR,WORD);
|
|
typedef WORD (API *LPWNETCANCELJOB)(LPSTR,WORD);
|
|
typedef WORD (API *LPWNETSETJOBCOPIES)(LPSTR,WORD,WORD);
|
|
typedef WORD (API *LPWNETWATCHQUEUE)(HWND,LPSTR,LPSTR,WORD);
|
|
typedef WORD (API *LPWNETUNWATCHQUEUE)(LPSTR);
|
|
typedef WORD (API *LPWNETLOCKQUEUEDATA)(LPSTR,LPSTR,LPQUEUESTRUCT FAR *);
|
|
typedef WORD (API *LPWNETUNLOCKQUEUEDATA)(LPSTR);
|
|
typedef WORD (API *LPWNETQPOLL)(HWND,WORD,WORD,LONG);
|
|
typedef WORD (API *LPWNETDEVICEMODE)(HWND);
|
|
typedef WORD (API *LPWNETVIEWQUEUEDIALOG)(HWND,LPSTR);
|
|
typedef WORD (API *LPWNETGETCAPS)(WORD);
|
|
typedef WORD (API *LPWNETGETERROR)(LPINT);
|
|
typedef WORD (API *LPWNETGETERRORTEXT)(WORD,LPSTR,LPINT);
|
|
|
|
typedef WORD (API *LPLFNFINDFIRST)(LPSTR,WORD,LPINT,LPINT,WORD,PFILEFINDBUF2);
|
|
typedef WORD (API *LPLFNFINDNEXT)(HANDLE,LPINT,WORD,PFILEFINDBUF2);
|
|
typedef WORD (API *LPLFNFINDCLOSE)(HANDLE);
|
|
typedef WORD (API *LPLFNGETATTRIBUTES)(LPSTR,LPINT);
|
|
typedef WORD (API *LPLFNSETATTRIBUTES)(LPSTR,WORD);
|
|
typedef WORD (API *LPLFNCOPY)(LPSTR,LPSTR,PQUERYPROC);
|
|
typedef WORD (API *LPLFNMOVE)(LPSTR,LPSTR);
|
|
typedef WORD (API *LPLFNDELETE)(LPSTR);
|
|
typedef WORD (API *LPLFNMKDIR)(LPSTR);
|
|
typedef WORD (API *LPLFNRMDIR)(LPSTR);
|
|
typedef WORD (API *LPLFNGETVOLUMELABEL)(WORD,LPSTR);
|
|
typedef WORD (API *LPLFNSETVOLUMELABEL)(WORD,LPSTR);
|
|
typedef WORD (API *LPLFNPARSE)(LPSTR,LPSTR,LPSTR);
|
|
typedef WORD (API *LPLFNVOLUMETYPE)(WORD,LPINT);
|
|
|
|
/*
|
|
* other misc global data/functions
|
|
*/
|
|
extern WORD vLastCall ;
|
|
extern WORD vLastError ;
|
|
extern WORD wNetTypeCaps ;
|
|
extern WORD wUserCaps ;
|
|
extern WORD wConnectionCaps ;
|
|
extern WORD wErrorCaps ;
|
|
extern WORD wDialogCaps ;
|
|
extern WORD wAdminCaps ;
|
|
extern WORD wSpecVersion;
|
|
extern WORD wDriverVersion;
|
|
|
|
WORD API WNetGetCaps16(WORD p1) ;
|
|
WORD API WNetGetError16(LPINT p1) ;
|
|
WORD API WNetGetErrorText16(WORD p1, LPSTR p2, LPINT p3) ;
|
|
|
|
DWORD API GetLastError32(VOID) ;
|
|
|
|
WORD SetLastError(WORD err) ;
|
|
|
|
DWORD MapWNType16To32(WORD nType) ;
|
|
WORD MapWin32ErrorToWN16(DWORD err) ;
|
|
WORD GetLanmanDrvEntryPoints(LPFN *lplpfn,
|
|
LPSTR lpName) ;
|
|
//
|
|
// we define this because the compiler chokes if we add yet
|
|
// more to the include path to get to lmerr.h.
|
|
//
|
|
// this is not that bad since the value below will never change.
|
|
//
|
|
|
|
#define NERR_BASE 2100
|
|
#define NERR_UseNotFound (NERR_BASE+150)
|