18#include "apr_arch_file_io.h"
60 if (
len && (*new)->dirname[
len - 1] !=
'/') {
61 (*new)->dirname[
len++] =
'/';
63 (*new)->dirname[
len++] =
'\0';
64 (*new)->dirname[
len] =
'\0';
91 (*new)->rootlen =
len - 1;
120#if APR_HAS_UNICODE_FS
236#if APR_HAS_UNICODE_FS
253#if APR_HAS_UNICODE_FS
292#if APR_HAS_UNICODE_FS
383#if APR_HAS_UNICODE_FS
const char apr_size_t len
APR Portability Routines.
request_rec int int apr_table_t const char * path
#define APR_STATUS_IS_EEXIST(s)
#define APR_STATUS_IS_ENOENT(s)
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
apr_int32_t apr_dir_t * thedir
#define apr_get_os_error()
apr_int32_t apr_fileperms_t
const char apr_int32_t apr_fileperms_t perm
const char apr_int32_t wanted
#define APR_FILEPATH_NATIVE
#define apr_pcalloc(p, size)
static apr_status_t dir_cleanup(void *thedir)
struct apr_dir_t::@60::@62 n
apr_status_t apr_dir_read(apr_finfo_t *finfo, apr_int32_t wanted, apr_dir_t *thedir)
apr_status_t apr_dir_make(const char *path, apr_fileperms_t perm, apr_pool_t *pool)
apr_status_t apr_dir_remove(const char *path, apr_pool_t *pool)
apr_status_t apr_dir_close(apr_dir_t *thedir)
apr_status_t apr_dir_open(apr_dir_t **new, const char *dirname, apr_pool_t *pool)
apr_status_t apr_dir_make_recursive(const char *path, apr_fileperms_t perm, apr_pool_t *pool)
apr_status_t apr_os_dir_get(apr_os_dir_t **thedir, apr_dir_t *dir)
apr_status_t apr_dir_rewind(apr_dir_t *thedir)
apr_status_t apr_os_dir_put(apr_dir_t **dir, apr_os_dir_t *thedir, apr_pool_t *pool)
#define ELSE_WIN_OS_IS_ANSI
APR_DECLARE_DATA apr_oslevel_e apr_os_level
#define IF_WIN_OS_IS_UNICODE
static apr_status_t dir_make_parent(char *path, apr_fileperms_t perm, apr_pool_t *pool)
apr_status_t more_finfo(apr_finfo_t *finfo, const void *ufile, apr_int32_t wanted, int whatfile)
int fillin_fileinfo(apr_finfo_t *finfo, WIN32_FILE_ATTRIBUTE_DATA *wininfo, int byhandle, int finddata, const char *fname, apr_int32_t wanted)