50#if defined(HAVE_IF_INDEXTONAME) && defined(_MSC_VER)
74 wchar_t const *
const *
arr,
int args);
134#if defined(_WIN32_WCE) || defined(WINNT)
135#define APR_HAS_ANSI_FS 0
137#define APR_HAS_ANSI_FS 1
144#if APR_HAS_ANSI_FS && APR_HAS_UNICODE_FS
145#define IF_WIN_OS_IS_UNICODE if (apr_os_level >= APR_WIN_UNICODE)
146#define ELSE_WIN_OS_IS_ANSI else
148#define IF_WIN_OS_IS_UNICODE
149#define ELSE_WIN_OS_IS_ANSI
152#if defined(_MSC_VER) && !defined(_WIN32_WCE)
199#define APR_DECLARE_LATE_DLL_FUNC(lib, rettype, calltype, fn, ord, args, names) \
200 typedef rettype (calltype *apr_winapi_fpt_##fn) args; \
201 static volatile apr_winapi_fpt_##fn apr_winapi_pfn_##fn = (apr_winapi_fpt_##fn) (ULONG_PTR) (-1); \
202 static APR_INLINE int apr_winapi_ld_##fn(void) \
204 apr_winapi_fpt_##fn cached_func = apr_winapi_pfn_##fn; \
205 if (cached_func == (apr_winapi_fpt_##fn) (ULONG_PTR) (-1)) { \
206 cached_func = (apr_winapi_fpt_##fn) apr_load_dll_func(lib, #fn, ord); \
208 apr_winapi_pfn_##fn = cached_func; \
210 if (cached_func) return 1; else return 0; }; \
211 static APR_INLINE rettype apr_winapi_##fn args \
212 { if (apr_winapi_ld_##fn()) \
213 return (*(apr_winapi_pfn_##fn)) names; \
214 else { SetLastError(ERROR_INVALID_FUNCTION); return 0;} }; \
216#define APR_HAVE_LATE_DLL_FUNC(fn) apr_winapi_ld_##fn()
237#if !defined(_WIN32_WCE) && !defined(WINNT)
240#ifdef GetFileAttributesExA
241#undef GetFileAttributesExA
248#define GetFileAttributesExA apr_winapi_GetFileAttributesExA
249#undef GetFileAttributesEx
250#define GetFileAttributesEx apr_winapi_GetFileAttributesExA
252#ifdef GetFileAttributesExW
253#undef GetFileAttributesExW
260#define GetFileAttributesExW apr_winapi_GetFileAttributesExW
265#define CancelIo apr_winapi_CancelIo
270#define TryEnterCriticalSection apr_winapi_TryEnterCriticalSection
275#define SwitchToThread apr_winapi_SwitchToThread
282#define GetEffectiveRightsFromAclW apr_winapi_GetEffectiveRightsFromAclW
295#define GetNamedSecurityInfoW apr_winapi_GetNamedSecurityInfoW
308#define GetNamedSecurityInfoA apr_winapi_GetNamedSecurityInfoA
309#undef GetNamedSecurityInfo
310#define GetNamedSecurityInfo apr_winapi_GetNamedSecurityInfoA
323#define GetSecurityInfo apr_winapi_GetSecurityInfo
329#define CommandLineToArgvW apr_winapi_CommandLineToArgvW
333#if !defined(_WIN32_WCE)
338#ifdef GetCompressedFileSizeA
339#undef GetCompressedFileSizeA
345#define GetCompressedFileSizeA apr_winapi_GetCompressedFileSizeA
346#undef GetCompressedFileSize
347#define GetCompressedFileSize apr_winapi_GetCompressedFileSizeA
349#ifdef GetCompressedFileSizeW
350#undef GetCompressedFileSizeW
356#define GetCompressedFileSizeW apr_winapi_GetCompressedFileSizeW
364#define QueryTimerResolution apr_winapi_NtQueryTimerResolution
371#define SetTimerResolution apr_winapi_NtSetTimerResolution
389#define QueryInformationProcess apr_winapi_NtQueryInformationProcess
398#define QueryObject apr_winapi_NtQueryObject
423#define ZwQueryInformationFile apr_winapi_ZwQueryInformationFile
425#ifdef CreateToolhelp32Snapshot
426#undef CreateToolhelp32Snapshot
432#define CreateToolhelp32Snapshot apr_winapi_CreateToolhelp32Snapshot
434#ifdef Process32FirstW
435#undef Process32FirstW
441#define Process32FirstW apr_winapi_Process32FirstW
450#define Process32NextW apr_winapi_Process32NextW
454#define POLLRDNORM 0x0100
455#define POLLRDBAND 0x0200
456#define POLLIN (POLLRDNORM | POLLRDBAND)
457#define POLLPRI 0x0400
459#define POLLWRNORM 0x0010
460#define POLLOUT (POLLWRNORM)
461#define POLLWRBAND 0x0020
463#define POLLERR 0x0001
464#define POLLHUP 0x0002
465#define POLLNVAL 0x0004
483#define WSAPoll apr_winapi_WSAPoll
486#ifdef SetDllDirectoryW
487#undef SetDllDirectoryW
492#define SetDllDirectoryW apr_winapi_SetDllDirectoryW
494#if HAVE_IF_NAMETOINDEX
501#define if_nametoindex apr_winapi_if_nametoindex
504#if HAVE_IF_INDEXTONAME
512#define if_indextoname apr_winapi_if_indextoname
APR Miscellaneous library routines.
APR Command Arguments (getopt)
APR Portability Routines.
APR Thread and Process Library.
apr_pool_t const char apr_dbd_t ** handle
apr_size_t const char * filename
const apr_array_header_t * arr
const char const char *const * args
apr_uintptr_t Information
apr_uintptr_t UniqueProcessId
apr_uintptr_t AffinityMask
apr_uintptr_t InheritedFromUniqueProcessId
void(* maintenance)(int, void *, int)
struct apr_other_child_rec_t * next
#define GetNamedSecurityInfoW
IN SE_OBJECT_TYPE IN SECURITY_INFORMATION OUT PSID OUT PSID OUT PACL OUT PACL OUT PSECURITY_DESCRIPTOR * ppSecurityDescriptor
struct pollfd * PWSAPOLLFD
#define APR_DECLARE_LATE_DLL_FUNC(lib, rettype, calltype, fn, ord, args, names)
typedef int(WSAAPI *apr_winapi_fpt_WSAPoll)(IN OUT LPWSAPOLLFD fdArray
typedef HANDLE(WINAPI *apr_winapi_fpt_CreateToolhelp32Snapshot)(DWORD dwFlags
#define GetFileAttributesExA
struct pollfd * LPWSAPOLLFD
IN PTRUSTEE_W OUT PACCESS_MASK pAccessRights
APR_DECLARE_DATA apr_oslevel_e apr_os_level
IN SE_OBJECT_TYPE IN SECURITY_INFORMATION OUT PSID OUT PSID OUT PACL OUT PACL * ppSacl
#define GetCompressedFileSizeA
#define CreateToolhelp32Snapshot
#define GetFileAttributesExW
#define ZwQueryInformationFile
INT PVOID ULONG ULONG * pSizePI
IN SE_OBJECT_TYPE IN SECURITY_INFORMATION OUT PSID OUT PSID OUT PACL * ppDacl
OUT LPDWORD lpFileSizeHigh
#define GetNamedSecurityInfoA
IN GET_FILEEX_INFO_LEVELS OUT LPVOID lpFileInformation
IN SE_OBJECT_TYPE ObjectType
IN GET_FILEEX_INFO_LEVELS fInfoLevelId
static APR_INLINE void * apr_realloc_dbg(void *userData, size_t newSize, const char *filename, int linenumber)
IN SE_OBJECT_TYPE IN SECURITY_INFORMATION OUT PSID * ppsidOwner
static APR_INLINE void * apr_malloc_dbg(size_t size, const char *filename, int linenumber)
#define CommandLineToArgvW
INT PVOID ULONG ULONG * pSizeOI
FARPROC apr_load_dll_func(apr_dlltoken_e fnLib, char *fnName, int ordinal)
#define TryEnterCriticalSection
apr_status_t apr_get_oslevel(apr_oslevel_e *)
typedef DWORD(WINAPI *apr_winapi_fpt_GetCompressedFileSizeA)(IN LPCSTR lpFileName
int APR_DECLARE_DATA apr_app_init_complete
int apr_wastrtoastr(char const *const **retarr, wchar_t const *const *arr, int args)
#define GetCompressedFileSizeW
IN SE_OBJECT_TYPE IN SECURITY_INFORMATION SecurityInfo
IN SE_OBJECT_TYPE IN SECURITY_INFORMATION OUT PSID OUT PSID * ppsidGroup
#define GetEffectiveRightsFromAclW