17#include "apr_private.h"
18#include "apr_arch_file_io.h"
32#include "apr_arch_misc.h"
33#include "apr_arch_inherit.h"
142#if APR_HAS_UNICODE_FS
163 while ((*
file & 0xC0) == 0x80) {
175 if (*
ch ==
':' || *
ch ==
'/' || *
ch ==
'\\')
187#if !APR_HAS_UNICODE_FS
217 if (*
ch ==
':' || *
ch ==
'/' || *
ch ==
'\\')
225#if APR_HAS_UNICODE_FS
406#if APR_HAS_UNICODE_FS
440 (*new)->filehand =
handle;
442 (*new)->flags =
flag;
443 (*new)->timeout = -1;
444 (*new)->ungetchar = -1;
451 (*new)->buffered = 1;
456 if ((*new)->buffered || (*new)->append) {
467#if APR_HAS_UNICODE_FS
481#if APR_FILES_AS_SOCKETS
510#if APR_HAS_UNICODE_FS
537#if APR_HAS_UNICODE_FS
593#if APR_HAS_UNICODE_FS
634 (*file)->pool =
pool;
637 (*file)->timeout = -1;
638 (*file)->flags =
flags;
644 (*file)->buffered = 1;
649 if ((*file)->append || (*file)->buffered) {
658#if APR_FILES_AS_SOCKETS
#define CreateFileW(nm, d1, d2, sd, d3, d4, h)
#define SetStdHandle(d, h)
#define CreateFileA(nm, d1, d2, sd, d3, d4, h)
#define WaitForSingleObject(h, d)
APR Miscellaneous library routines.
APR Portability Routines.
apr_size_t const unsigned char unsigned int unsigned int d
APR Thread Mutex Routines.
request_rec int int apr_table_t const char * path
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
apr_pool_t const char apr_dbd_t ** handle
const char apr_ssize_t int flags
const void apr_status_t(*) apr_status_t(* APR_DECLARE)(void) apr_pool_pre_cleanup_register(apr_pool_t *p
const char int apr_pool_t * pool
#define APR_FROM_OS_ERROR(e)
#define apr_set_os_error(e)
#define apr_get_os_error()
apr_int32_t apr_fileperms_t
const char apr_int32_t flag
apr_fileattrs_t attributes
const char apr_file_t * file
const char apr_int32_t apr_fileperms_t perm
#define APR_FOPEN_TRUNCATE
#define APR_FOPEN_NONBLOCK
#define APR_FOPEN_NOCLEANUP
#define APR_FOPEN_XTHREAD
#define APR_FOPEN_DELONCLOSE
#define APR_FOPEN_SENDFILE_ENABLED
#define APR_FOPEN_BUFFERED
#define APR_POOL_IMPLEMENT_ACCESSOR(type)
#define apr_pcalloc(p, size)
#define APR_FILE_DEFAULT_BUFSIZE
#define APR_IMPLEMENT_INHERIT_UNSET(name, flag, pool, cleanup)
#define APR_IMPLEMENT_INHERIT_SET(name, flag, pool, cleanup)
apr_interval_time_t timeout
apr_thread_mutex_t * mutex
static apr_status_t file_cleanup(apr_file_t *file, int is_child)
#define FILE_FLAG_OPEN_REPARSE_POINT
#define ELSE_WIN_OS_IS_ANSI
typedef HANDLE(WINAPI *apr_winapi_fpt_CreateToolhelp32Snapshot)(DWORD dwFlags
APR_DECLARE_DATA apr_oslevel_e apr_os_level
#define IF_WIN_OS_IS_UNICODE
typedef DWORD(WINAPI *apr_winapi_fpt_GetCompressedFileSizeA)(IN LPCSTR lpFileName
void * res_name_from_filename(const char *file, int global, apr_pool_t *pool)