Apache2
apr_arch_file_io.h File Reference
#include "apr.h"
#include "apr_private.h"
#include "apr_pools.h"
#include "apr_general.h"
#include "apr_tables.h"
#include "apr_thread_mutex.h"
#include "apr_file_io.h"
#include "apr_file_info.h"
#include "apr_errno.h"
#include "apr_arch_misc.h"
#include "apr_poll.h"
#include <malloc.h>
#include "arch/win32/apr_arch_utf8.h"
#include <wchar.h>
Include dependency graph for apr_arch_file_io.h:

Go to the source code of this file.

Data Structures

struct  apr_file_t
 
struct  apr_dir_t
 

Macros

#define APR_FILE_MAX   MAX_PATH
 
#define APR_FILE_DEFAULT_BUFSIZE   4096
 
#define APR_FILE_BUFSIZE   APR_FILE_DEFAULT_BUFSIZE
 
#define APR_OPENINFO   0x00100000 /* Open without READ or WRITE access */
 
#define APR_OPENLINK   0x00200000 /* Open a link itself, if supported */
 
#define APR_READCONTROL   0x00400000 /* Read the file's owner/perms */
 
#define APR_WRITECONTROL   0x00800000 /* Modify the file's owner/perms */
 
#define APR_STDIN_FLAG   0x02000000 /* Obtained via apr_file_open_stdin() */
 
#define APR_STDOUT_FLAG   0x04000000 /* Obtained via apr_file_open_stdout() */
 
#define APR_STDERR_FLAG   0x06000000 /* Obtained via apr_file_open_stderr() */
 
#define APR_STD_FLAGS   (APR_STDIN_FLAG | APR_STDOUT_FLAG | APR_STDERR_FLAG)
 
#define APR_WRITEATTRS   0x08000000 /* Modify the file's attributes */
 
#define FILE_ATTRIBUTE_DEVICE   0x00000040
 
#define FILE_ATTRIBUTE_REPARSE_POINT   0x00000400
 
#define FILE_FLAG_OPEN_NO_RECALL   0x00100000
 
#define FILE_FLAG_OPEN_REPARSE_POINT   0x00200000
 
#define TRUSTEE_IS_WELL_KNOWN_GROUP   5
 
#define APR_FINFO_WIN32_DIR
 
#define APR_FREADONLY   0x10000000
 
#define MORE_OF_HANDLE   0
 
#define MORE_OF_WFSPEC   2
 
#define filedes   filehand
 
#define IS_FNCHAR(c)   (apr_c_is_fnchar[(unsigned char)(c)] & 1)
 
#define IS_SHCHAR(c)   ((apr_c_is_fnchar[(unsigned char)(c)] & 2) == 2)
 

Enumerations

enum  apr_filetype_e {
  APR_NOFILE = 0 , APR_REG , APR_DIR , APR_CHR ,
  APR_BLK , APR_PIPE , APR_LNK , APR_SOCK ,
  APR_UNKFILE = 127 , APR_FILETYPE_FILE = 0 , APR_FILETYPE_PIPE
}
 

Functions

apr_status_t utf8_to_unicode_path (apr_wchar_t *dststr, apr_size_t dstchars, const char *srcstr)
 
apr_status_t unicode_to_utf8_path (char *dststr, apr_size_t dstchars, const apr_wchar_t *srcstr)
 
void * res_name_from_filename (const char *file, int global, apr_pool_t *pool)
 
int fillin_fileinfo (apr_finfo_t *finfo, WIN32_FILE_ATTRIBUTE_DATA *wininfo, int byhandle, int finddata, const char *fname, apr_int32_t wanted)
 
apr_status_t more_finfo (apr_finfo_t *finfo, const void *ufile, apr_int32_t wanted, int whatfile)
 
apr_status_t filepath_root_test (char *path, apr_pool_t *p)
 
apr_status_t filepath_drive_get (char **rootpath, char drive, apr_int32_t flags, apr_pool_t *p)
 
apr_status_t filepath_root_case (char **rootpath, char *root, apr_pool_t *p)
 
apr_status_t file_cleanup (void *)
 

Variables

const char apr_c_is_fnchar [256]
 

Macro Definition Documentation

◆ APR_FILE_BUFSIZE

#define APR_FILE_BUFSIZE   APR_FILE_DEFAULT_BUFSIZE

◆ APR_FILE_DEFAULT_BUFSIZE

#define APR_FILE_DEFAULT_BUFSIZE   4096

◆ APR_FILE_MAX

#define APR_FILE_MAX   MAX_PATH

◆ APR_FINFO_WIN32_DIR

#define APR_FINFO_WIN32_DIR
Value:
#define APR_FINFO_ATIME
Definition: apr_file_info.h:148
#define APR_FINFO_NAME
Definition: apr_file_info.h:161
#define APR_FINFO_CTIME
Definition: apr_file_info.h:147
#define APR_FINFO_MTIME
Definition: apr_file_info.h:146
#define APR_FINFO_TYPE
Definition: apr_file_info.h:154
#define APR_FINFO_SIZE
Definition: apr_file_info.h:149

◆ APR_FREADONLY

#define APR_FREADONLY   0x10000000

◆ APR_OPENINFO

#define APR_OPENINFO   0x00100000 /* Open without READ or WRITE access */

◆ APR_OPENLINK

#define APR_OPENLINK   0x00200000 /* Open a link itself, if supported */

◆ APR_READCONTROL

#define APR_READCONTROL   0x00400000 /* Read the file's owner/perms */

◆ APR_STD_FLAGS

#define APR_STD_FLAGS   (APR_STDIN_FLAG | APR_STDOUT_FLAG | APR_STDERR_FLAG)

◆ APR_STDERR_FLAG

#define APR_STDERR_FLAG   0x06000000 /* Obtained via apr_file_open_stderr() */

◆ APR_STDIN_FLAG

#define APR_STDIN_FLAG   0x02000000 /* Obtained via apr_file_open_stdin() */

◆ APR_STDOUT_FLAG

#define APR_STDOUT_FLAG   0x04000000 /* Obtained via apr_file_open_stdout() */

◆ APR_WRITEATTRS

#define APR_WRITEATTRS   0x08000000 /* Modify the file's attributes */

◆ APR_WRITECONTROL

#define APR_WRITECONTROL   0x00800000 /* Modify the file's owner/perms */

◆ FILE_ATTRIBUTE_DEVICE

#define FILE_ATTRIBUTE_DEVICE   0x00000040

◆ FILE_ATTRIBUTE_REPARSE_POINT

#define FILE_ATTRIBUTE_REPARSE_POINT   0x00000400

◆ FILE_FLAG_OPEN_NO_RECALL

#define FILE_FLAG_OPEN_NO_RECALL   0x00100000

◆ FILE_FLAG_OPEN_REPARSE_POINT

#define FILE_FLAG_OPEN_REPARSE_POINT   0x00200000

◆ filedes

#define filedes   filehand

◆ IS_FNCHAR

#define IS_FNCHAR (   c)    (apr_c_is_fnchar[(unsigned char)(c)] & 1)

◆ IS_SHCHAR

#define IS_SHCHAR (   c)    ((apr_c_is_fnchar[(unsigned char)(c)] & 2) == 2)

◆ MORE_OF_HANDLE

#define MORE_OF_HANDLE   0

◆ MORE_OF_WFSPEC

#define MORE_OF_WFSPEC   2

◆ TRUSTEE_IS_WELL_KNOWN_GROUP

#define TRUSTEE_IS_WELL_KNOWN_GROUP   5

Enumeration Type Documentation

◆ apr_filetype_e

Enumerator
APR_NOFILE 

no file type determined

APR_REG 

a regular file

APR_DIR 

a directory

APR_CHR 

a character device

APR_BLK 

a block device

APR_PIPE 

a FIFO / pipe

APR_LNK 

a symbolic link

APR_SOCK 

a [unix domain] socket

APR_UNKFILE 

a file of some other unknown type

APR_FILETYPE_FILE 
APR_FILETYPE_PIPE 

Function Documentation

◆ file_cleanup()

apr_status_t file_cleanup ( void *  )

◆ filepath_drive_get()

apr_status_t filepath_drive_get ( char **  rootpath,
char  drive,
apr_int32_t  flags,
apr_pool_t p 
)

◆ filepath_root_case()

apr_status_t filepath_root_case ( char **  rootpath,
char *  root,
apr_pool_t p 
)

◆ filepath_root_test()

apr_status_t filepath_root_test ( char *  path,
apr_pool_t p 
)

◆ fillin_fileinfo()

int fillin_fileinfo ( apr_finfo_t finfo,
WIN32_FILE_ATTRIBUTE_DATA *  wininfo,
int  byhandle,
int  finddata,
const char *  fname,
apr_int32_t  wanted 
)

◆ more_finfo()

apr_status_t more_finfo ( apr_finfo_t finfo,
const void *  ufile,
apr_int32_t  wanted,
int  whatfile 
)

◆ res_name_from_filename()

void* res_name_from_filename ( const char *  file,
int  global,
apr_pool_t pool 
)

◆ unicode_to_utf8_path()

apr_status_t unicode_to_utf8_path ( char *  dststr,
apr_size_t  dstchars,
const apr_wchar_t srcstr 
)

◆ utf8_to_unicode_path()

apr_status_t utf8_to_unicode_path ( apr_wchar_t dststr,
apr_size_t  dstchars,
const char *  srcstr 
)

Variable Documentation

◆ apr_c_is_fnchar

const char apr_c_is_fnchar[256]
extern