winfsp/tst/winfsp-tests/winfsp-tests.h
2016-10-26 12:02:30 -07:00

88 lines
2.3 KiB
C

/**
* @file winfsp-tests.h
*
* @copyright 2015-2016 Bill Zissimopoulos
*/
/*
* This file is part of WinFsp.
*
* You can redistribute it and/or modify it under the terms of the GNU
* General Public License version 3 as published by the Free Software
* Foundation.
*
* Licensees holding a valid commercial license may use this file in
* accordance with the commercial license agreement provided with the
* software.
*/
#include <windows.h>
#define ABORT(s)\
do\
{\
void tlib_printf(const char *fmt, ...);\
tlib_printf("ABORT: %s: %s\n", __func__, s);\
abort();\
} while (0,0)
#define testalpha(c) ('a' <= ((c) | 0x20) && ((c) | 0x20) <= 'z')
#define togglealpha(c) ((c) ^ 0x20)
#define CreateFileW HookCreateFileW
#define CloseHandle HookCloseHandle
#define DeleteFileW HookDeleteFileW
HANDLE HookCreateFileW(
LPCWSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);
BOOL HookCloseHandle(
HANDLE hObject);
BOOL HookDeleteFileW(
LPCWSTR lpFileName);
HANDLE ResilientCreateFileW(
LPCWSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);
BOOL ResilientCloseHandle(
HANDLE hObject);
BOOL ResilientDeleteFileW(
LPCWSTR lpFileName);
typedef struct
{
BOOLEAN Disposition;
} MY_FILE_DISPOSITION_INFO;
void *memfs_start_ex(ULONG Flags, ULONG FileInfoTimeout);
void *memfs_start(ULONG Flags);
void memfs_stop(void *data);
PWSTR memfs_volumename(void *data);
int mywcscmp(PWSTR a, int alen, PWSTR b, int blen);
int myrand(void);
extern int NtfsTests;
extern int WinFspDiskTests;
extern int WinFspNetTests;
extern BOOLEAN OptResilient;
extern BOOLEAN OptCaseInsensitive;
extern BOOLEAN OptCaseRandomize;
extern WCHAR OptMountPointBuf[], *OptMountPoint;
extern WCHAR OptShareNameBuf[], *OptShareName, *OptShareTarget;
extern WCHAR OptShareComputer[];
extern ULONG OptSharePrefixLength;
extern HANDLE OptNoTraverseToken;
extern LUID OptNoTraverseLuid;
extern int memfs_running;