mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
375 lines
8.7 KiB
375 lines
8.7 KiB
/*++
|
|
|
|
Copyright (c) 1991-1993 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
RxTest.h
|
|
|
|
Abstract:
|
|
|
|
This file contains prototypes for the test code the RpcXlate.
|
|
|
|
Author:
|
|
|
|
John Rogers (JohnRo) 01-Apr-1991
|
|
|
|
Environment:
|
|
|
|
Portable to any flat, 32-bit environment. (Uses Win32 typedefs.)
|
|
Requires ANSI C extensions: slash-slash comments, long external names.
|
|
|
|
Revision History:
|
|
|
|
01-Apr-1991 JohnRo
|
|
Created.
|
|
03-Apr-1991 JohnRo
|
|
Added Unicode tests.
|
|
03-May-1991 JohnRo
|
|
Use transitional Unicode types.
|
|
Implemented NetServer tests.
|
|
Added general display routines.
|
|
09-May-1991 JohnRo
|
|
Added TestServerGetInfo() and DisplayServerType().
|
|
15-May-1991 JohnRo
|
|
Added print Q and print job APIs support.
|
|
20-May-1991 JohnRo
|
|
Removed some prototypes for routines which don't need to be here.
|
|
14-Jun-1991 JohnRo
|
|
Added use APIs support.
|
|
09-Jul-1991 JohnRo
|
|
Added SetDebugMode function and RxtestTrace global variable.
|
|
17-Jul-1991 JohnRo
|
|
Implement downlevel NetGetDCName.
|
|
22-Jul-1991 JohnRo
|
|
Implement downlevel NetConnectionEnum.
|
|
03-Aug-1991 JohnRo
|
|
Implement downlevel NetWksta APIs.
|
|
Got rid of obsolete DisplayPrint routines (use NetDebug.h).
|
|
21-Aug-1991 JohnRo
|
|
Got rid of rest of obsolete Display routines.
|
|
21-Aug-1991 JohnRo
|
|
Downlevel NetFile APIs.
|
|
11-Sep-1991 JohnRo
|
|
Downlevel NetService APIs. Made changes as suggested by PC-LINT.
|
|
14-Sep-1991 JohnRo
|
|
Made changes toward UNICODE.
|
|
31-Oct-1991 JohnRo
|
|
TestSupports now defaults to local server.
|
|
Reduce recompiles (don't need lmremutl.h here).
|
|
19-Nov-1991 JohnRo
|
|
Moved TestMemory() to its own source file.
|
|
25-Aug-1992 JohnRo
|
|
Added user-mode option.
|
|
Work toward un-hard-coding domain for NetServerEnum.
|
|
30-Sep-1992 JohnRo
|
|
Allow server name to be optional (default to NULL).
|
|
23-Oct-1992 JohnRo
|
|
Domain name is optional to TestServer() and TestServerEnum().
|
|
28-Oct-1992 JohnRo
|
|
Use RxTestIsAccessDenied().
|
|
28-Oct-1992 JohnRo
|
|
RAID 9355: Event viewer: won't focus on LM UNIX machine.
|
|
02-Nov-1992 JohnRo
|
|
Allow cmd-line service name parameter.
|
|
10-Nov-1992 JohnRo
|
|
Use RxTestIsApiNotSupported().
|
|
10-Dec-1992 JohnRo
|
|
Added share name parameter to TestFile().
|
|
Made changes suggested by PC-LINT 5.0
|
|
18-Jan-1993 JohnRo
|
|
Share some remote file routines with the connection tests.
|
|
08-Feb-1993 JohnRo
|
|
Added TestCanon() and TestRap().
|
|
23-Feb-1993 JohnRo
|
|
Added support for continuing on error.
|
|
09-Apr-1993 JohnRo
|
|
RAID 5483: server manager: wrong path given in repl dialog.
|
|
18-May-1993 JohnRo
|
|
Added -z option for size of buffer (mainly for DosPrint tests).
|
|
21-Jun-1993 JohnRo
|
|
Pass buffer size to TestServerEnum too.
|
|
23-Jun-1993 JohnRo
|
|
Add TestUser().
|
|
29-Jun-1993 JohnRo
|
|
Help PC-LINT a little with different IF_DEBUG() macros.
|
|
29-Jun-1993 JohnRo
|
|
Use TestAssert() (which may allow continue-on-error).
|
|
29-Jun-1993 JohnRo
|
|
Added trace bit for TestRap().
|
|
07-Jul-1993 JohnRo
|
|
Added -m (multiple copy) option.
|
|
23-Jul-1993 JohnRo
|
|
Added MultipleCopy parameter to TestUse(), etc.
|
|
18-Aug-1993 JohnRo
|
|
Added Display().
|
|
|
|
--*/
|
|
|
|
#ifndef _RXTEST_
|
|
#define _RXTEST_
|
|
|
|
|
|
// These must be included first:
|
|
|
|
#define NOMINMAX // avoid <stdib.h> vs. <windef.h> warnings.
|
|
#include <windef.h> // IN, DWORD, etc.
|
|
#include <lmcons.h> // NET_API_STATUS, etc.
|
|
|
|
// These may be included in any order:
|
|
|
|
// Don't complain about "unneeded" includes of these files:
|
|
/*lint -efile(764,lmerr.h,stdio.h) */
|
|
/*lint -efile(766,lmerr.h,stdio.h) */
|
|
#include <lmerr.h> // NO_ERROR, ERROR_ , and NERR_ equates.
|
|
#include <netdebug.h> // LPDEBUG_STRING.
|
|
#include <stdio.h> // printf().
|
|
|
|
|
|
#define INDENT " "
|
|
#define FIXED_WIDTH_STRING "%-30s: "
|
|
|
|
|
|
// Debug trace level bits:
|
|
|
|
#define RXTEST_DEBUG_AUDIT 0x10000000
|
|
#define RXTEST_DEBUG_CANON 0x20000000
|
|
#define RXTEST_DEBUG_CONNECT 0x40000000
|
|
#define RXTEST_DEBUG_DOMAIN 0x08000000
|
|
#define RXTEST_DEBUG_ERRLOG 0x04000000
|
|
#define RXTEST_DEBUG_FILE 0x02000000
|
|
#define RXTEST_DEBUG_MEMORY 0x00010000
|
|
#define RXTEST_DEBUG_PRINTDEST 0x00004000
|
|
#define RXTEST_DEBUG_PRINTJOB 0x00002000
|
|
#define RXTEST_DEBUG_PRINTQ 0x00001000
|
|
#define RXTEST_DEBUG_RAP 0x00000800
|
|
#define RXTEST_DEBUG_REMUTL 0x00000400
|
|
#define RXTEST_DEBUG_SERVER 0x00000200
|
|
#define RXTEST_DEBUG_SERVICE 0x00000100
|
|
#define RXTEST_DEBUG_UNICODE 0x00000020
|
|
#define RXTEST_DEBUG_USE 0x00000010
|
|
#define RXTEST_DEBUG_USER 0x00000008
|
|
#define RXTEST_DEBUG_WKSTA 0x00000004
|
|
|
|
#define RXTEST_DEBUG_ALL 0xFFFFFFFF
|
|
|
|
|
|
/*lint -save -e767 */ // Don't complain about different definitions
|
|
#if DBG
|
|
|
|
extern DWORD RxtestTrace; // See RxDebug.c for initial value, etc.
|
|
|
|
#define IF_DEBUG(Function) if (RxtestTrace & RXTEST_DEBUG_ ## Function)
|
|
|
|
#else
|
|
|
|
#define IF_DEBUG(Function) \
|
|
/*lint -save -e506 */ /* don't complain about constant values here */ \
|
|
if (FALSE) \
|
|
/*lint -restore */
|
|
|
|
#endif // DBG
|
|
/*lint -restore */ // Resume checking for different macro definitions
|
|
|
|
|
|
extern BOOL RxTestExitOnFirstError;
|
|
|
|
//
|
|
// Prototypes and function-like-macros, in alphabetical order:
|
|
//
|
|
|
|
VOID
|
|
CloseARemoteFile(
|
|
IN int OpenFileHandle,
|
|
IN BOOL FailureOK
|
|
);
|
|
|
|
//#define Display NetpDbgPrint
|
|
#define Display printf
|
|
|
|
// BUGBUG: Convert all calls to Fail() into FailGotWrongStatus() or
|
|
// FailApi().
|
|
VOID
|
|
Fail(
|
|
IN NET_API_STATUS Status
|
|
);
|
|
|
|
// Note: FailApi() may or may not return, depending on the
|
|
// value of RxTestExitOnFirstError.
|
|
VOID
|
|
FailApi(
|
|
IN LPDEBUG_STRING Header
|
|
);
|
|
|
|
// Note: FailGotWrongStatus() may or may not return, depending on the
|
|
// value of RxTestExitOnFirstError.
|
|
VOID
|
|
FailGotWrongStatus(
|
|
IN LPDEBUG_STRING Header,
|
|
IN NET_API_STATUS ExpectStatus,
|
|
IN NET_API_STATUS Status
|
|
);
|
|
|
|
DWORD
|
|
FindARemoteFileId(
|
|
IN LPTSTR UncServerName
|
|
);
|
|
|
|
int
|
|
OpenARemoteFile(
|
|
IN LPTSTR UncServerName,
|
|
IN LPTSTR ShareName
|
|
);
|
|
|
|
// BUGBUG: LMX sometimes gives up ERROR_NETWORK_ACCESS_DENIED!
|
|
#define RxTestIsAccessDenied( someApiStatus ) \
|
|
( ((someApiStatus)==ERROR_ACCESS_DENIED) || \
|
|
((someApiStatus)==ERROR_NETWORK_ACCESS_DENIED) )
|
|
|
|
|
|
// BUGBUG: some NT code (NetAuditRead, by me) gives ERROR_NOT_SUPPORTED,
|
|
// where other NT code (XactSrv, by JohnsonA) gives NERR_InvalidAPI.
|
|
// Perhaps one of these is wrong? --JR
|
|
#define RxTestIsApiNotSupported( someApiStatus ) \
|
|
( ((someApiStatus)==ERROR_NOT_SUPPORTED) || \
|
|
((someApiStatus)==NERR_InvalidAPI) )
|
|
|
|
|
|
VOID
|
|
SetDebugMode (
|
|
IN BOOL DebugOn
|
|
);
|
|
|
|
VOID
|
|
TestAssertFailed(
|
|
IN LPDEBUG_STRING FailedAssertion,
|
|
IN LPDEBUG_STRING FileName,
|
|
IN DWORD LineNumber
|
|
);
|
|
|
|
#define TestAssert(Predicate) \
|
|
{ \
|
|
/*lint -save -e506 */ /* don't complain about constant values here */ \
|
|
if (!(Predicate)) \
|
|
TestAssertFailed( #Predicate, __FILE__, __LINE__ ); \
|
|
/*lint -restore */ \
|
|
}
|
|
|
|
VOID
|
|
TestAudit(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
VOID
|
|
TestCanon(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
TestConfig(
|
|
IN LPTSTR UncServerName OPTIONAL
|
|
);
|
|
|
|
VOID
|
|
TestConnection(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN LPTSTR ShareName,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
VOID
|
|
TestDomain(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN LPTSTR DomainName
|
|
);
|
|
|
|
VOID
|
|
TestErrorLog(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
VOID
|
|
TestFile(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN LPTSTR ShareName,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
VOID
|
|
TestLocks(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
TestMemory(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
TestPrint(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN LPTSTR QueueName,
|
|
IN DWORD BufferSize,
|
|
IN BOOL MultipleCopy,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
VOID
|
|
TestRap(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
TestServer(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN LPTSTR DomainName OPTIONAL,
|
|
IN DWORD BufferSize,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
VOID
|
|
TestService(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN LPTSTR ServiceName,
|
|
IN BOOL MultipleCopy,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
NET_API_STATUS
|
|
TestSupports(
|
|
IN LPTSTR UncServerName OPTIONAL
|
|
);
|
|
|
|
VOID
|
|
TestTod(
|
|
IN LPTSTR UncServerName OPTIONAL
|
|
);
|
|
|
|
VOID
|
|
TestUnicode(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
TestUse(
|
|
IN LPTSTR RemoteDevice,
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN LPTSTR RemoteServerShare,
|
|
IN BOOL MultipleCopy
|
|
);
|
|
|
|
VOID
|
|
TestUser(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
VOID
|
|
TestWksta(
|
|
IN LPTSTR UncServerName OPTIONAL,
|
|
IN BOOL OrdinaryUserOnly
|
|
);
|
|
|
|
#endif // ndef _RXTEST_
|