Apache Portable Runtime
|
typedef struct apr_file_t apr_file_t |
Structure for referencing files.
typedef apr_uint32_t apr_fileattrs_t |
File attributes
typedef int apr_seek_where_t |
Type to pass as whence argument to apr_file_seek.
apr_status_t apr_dir_make | ( | const char * | path, |
apr_fileperms_t | perm, | ||
apr_pool_t * | pool | ||
) |
Create a new directory on the file system.
path | the path for the directory to be created. (use / on all systems) |
perm | Permissions for the new directory. |
pool | the pool to use. |
apr_status_t apr_dir_make_recursive | ( | const char * | path, |
apr_fileperms_t | perm, | ||
apr_pool_t * | pool | ||
) |
Creates a new directory on the file system, but behaves like 'mkdir -p'. Creates intermediate directories as required. No error will be reported if PATH already exists.
path | the path for the directory to be created. (use / on all systems) |
perm | Permissions for the new directory. |
pool | the pool to use. |
apr_status_t apr_dir_remove | ( | const char * | path, |
apr_pool_t * | pool | ||
) |
Remove directory from the file system.
path | the path for the directory to be removed. (use / on all systems) |
pool | the pool to use. |
apr_status_t apr_file_append | ( | const char * | from_path, |
const char * | to_path, | ||
apr_fileperms_t | perms, | ||
apr_pool_t * | pool | ||
) |
Append the specified file to another file.
from_path | The full path to the source file (use / on all systems) |
to_path | The full path to the destination file (use / on all systems) |
perms | Access permissions for the destination file if it is created. In place of the usual or'd combination of file permissions, the value APR_FILE_SOURCE_PERMS may be given, in which case the source file's permissions are copied. |
pool | The pool to use. |
apr_status_t apr_file_attrs_set | ( | const char * | fname, |
apr_fileattrs_t | attributes, | ||
apr_fileattrs_t | attr_mask, | ||
apr_pool_t * | pool | ||
) |
Set attributes of the specified file.
fname | The full path to the file (using / on all systems) |
attributes | Or'd combination of APR_FILE_ATTR_READONLY - make the file readonly APR_FILE_ATTR_EXECUTABLE - make the file executable APR_FILE_ATTR_HIDDEN - make the file hidden |
attr_mask | Mask of valid bits in attributes. |
pool | the pool to use. |
apr_status_t apr_file_buffer_set | ( | apr_file_t * | thefile, |
char * | buffer, | ||
apr_size_t | bufsize | ||
) |
Give the specified apr file handle a new buffer
thefile | The file handle that is to be modified |
buffer | The buffer |
bufsize | The size of the buffer |
apr_size_t apr_file_buffer_size_get | ( | apr_file_t * | thefile | ) |
Get the size of any buffer for the specified apr file handle
thefile | The file handle |
apr_status_t apr_file_close | ( | apr_file_t * | file | ) |
Close the specified file.
file | The file descriptor to close. |
apr_status_t apr_file_copy | ( | const char * | from_path, |
const char * | to_path, | ||
apr_fileperms_t | perms, | ||
apr_pool_t * | pool | ||
) |
Copy the specified file to another file.
from_path | The full path to the original file (using / on all systems) |
to_path | The full path to the new file (using / on all systems) |
perms | Access permissions for the new file if it is created. In place of the usual or'd combination of file permissions, the value APR_FILE_SOURCE_PERMS may be given, in which case the source file's permissions are copied. |
pool | The pool to use. |
apr_status_t apr_file_data_get | ( | void ** | data, |
const char * | key, | ||
apr_file_t * | file | ||
) |
Return the data associated with the current file.
data | The user data associated with the file. |
key | The key to use for retrieving data associated with this file. |
file | The currently open file. |
apr_status_t apr_file_data_set | ( | apr_file_t * | file, |
void * | data, | ||
const char * | key, | ||
apr_status_t(*)(void *) | cleanup | ||
) |
Set the data associated with the current file.
file | The currently open file. |
data | The user data to associate with the file. |
key | The key to use for associating data with the file. |
cleanup | The cleanup routine to use when the file is destroyed. |
apr_status_t apr_file_datasync | ( | apr_file_t * | thefile | ) |
Transfer all file modified data to disk.
thefile | The file descriptor to sync |
apr_status_t apr_file_dup | ( | apr_file_t ** | new_file, |
apr_file_t * | old_file, | ||
apr_pool_t * | p | ||
) |
Duplicate the specified file descriptor.
new_file | The structure to duplicate into. |
old_file | The file to duplicate. |
p | The pool to use for the new file. |
apr_status_t apr_file_dup2 | ( | apr_file_t * | new_file, |
apr_file_t * | old_file, | ||
apr_pool_t * | p | ||
) |
Duplicate the specified file descriptor and close the original
new_file | The old file that is to be closed and reused |
old_file | The file to duplicate |
p | The pool to use for the new file |
apr_status_t apr_file_eof | ( | apr_file_t * | fptr | ) |
Are we at the end of the file
fptr | The apr file we are testing. |
apr_int32_t apr_file_flags_get | ( | apr_file_t * | f | ) |
Retrieve the flags that were passed into apr_file_open() when the file was opened.
apr_status_t apr_file_flush | ( | apr_file_t * | thefile | ) |
Flush the file's buffer.
thefile | The file descriptor to flush |
apr_status_t apr_file_getc | ( | char * | ch, |
apr_file_t * | thefile | ||
) |
Read a character from the specified file.
ch | The character to read into |
thefile | The file descriptor to read from |
apr_status_t apr_file_gets | ( | char * | str, |
int | len, | ||
apr_file_t * | thefile | ||
) |
Read a line from the specified file
str | The buffer to store the string in. |
len | The length of the string |
thefile | The file descriptor to read from |
apr_status_t apr_file_info_get | ( | apr_finfo_t * | finfo, |
apr_int32_t | wanted, | ||
apr_file_t * | thefile | ||
) |
get the specified file's stats.
finfo | Where to store the information about the file. |
wanted | The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values |
thefile | The file to get information about. |
apr_status_t apr_file_inherit_set | ( | apr_file_t * | thefile | ) |
Set a file to be inherited by child processes.
apr_status_t apr_file_inherit_unset | ( | apr_file_t * | thefile | ) |
Unset a file from being inherited by child processes.
apr_status_t apr_file_link | ( | const char * | from_path, |
const char * | to_path | ||
) |
Create a hard link to the specified file.
from_path | The full path to the original file (using / on all systems) |
to_path | The full path to the new file (using / on all systems) |
apr_status_t apr_file_lock | ( | apr_file_t * | thefile, |
int | type | ||
) |
file (un)locking functions. Establish a lock on the specified, open file. The lock may be advisory or mandatory, at the discretion of the platform. The lock applies to the file as a whole, rather than a specific range. Locks are established on a per-thread/process basis; a second lock by the same thread will not block.
thefile | The file to lock. |
type | The type of lock to establish on the file. |
apr_status_t apr_file_mktemp | ( | apr_file_t ** | fp, |
char * | templ, | ||
apr_int32_t | flags, | ||
apr_pool_t * | p | ||
) |
Open a temporary file
fp | The apr file to use as a temporary file. |
templ | The template to use when creating a temp file. |
flags | The flags to open the file with. If this is zero, the file is opened with APR_CREATE | APR_READ | APR_WRITE | APR_EXCL | APR_DELONCLOSE |
p | The pool to allocate the file out of. |
apr_status_t apr_file_mtime_set | ( | const char * | fname, |
apr_time_t | mtime, | ||
apr_pool_t * | pool | ||
) |
Set the mtime of the specified file.
fname | The full path to the file (using / on all systems) |
mtime | The mtime to apply to the file. |
pool | The pool to use. |
apr_status_t apr_file_name_get | ( | const char ** | new_path, |
apr_file_t * | thefile | ||
) |
accessor and general file_io functions. return the file name of the current file.
new_path | The path of the file. |
thefile | The currently open file. |
apr_status_t apr_file_namedpipe_create | ( | const char * | filename, |
apr_fileperms_t | perm, | ||
apr_pool_t * | pool | ||
) |
Create a named pipe.
filename | The filename of the named pipe |
perm | The permissions for the newly created pipe. |
pool | The pool to operate on. |
apr_status_t apr_file_open | ( | apr_file_t ** | newf, |
const char * | fname, | ||
apr_int32_t | flag, | ||
apr_fileperms_t | perm, | ||
apr_pool_t * | pool | ||
) |
Open the specified file.
newf | The opened file descriptor. |
fname | The full path to the file (using / on all systems) |
flag | Or'ed value of: APR_READ open for reading APR_WRITE open for writing APR_CREATE create the file if not there APR_APPEND file ptr is set to end prior to all writes APR_TRUNCATE set length to zero if file exists APR_BINARY not a text file (This flag is ignored on UNIX because it has no meaning) APR_BUFFERED buffer the data. Default is non-buffered APR_EXCL return error if APR_CREATE and file exists APR_DELONCLOSE delete the file after closing. APR_XTHREAD Platform dependent tag to open the file for use across multiple threads APR_SHARELOCK Platform dependent support for higher level locked read/write access to support writes across process/machines APR_FILE_NOCLEANUP Do not register a cleanup with the pool passed in on the pool argument (see below). The apr_os_file_t handle in apr_file_t will not be closed when the pool is destroyed. APR_SENDFILE_ENABLED Open with appropriate platform semantics for sendfile operations. Advisory only, apr_socket_sendfile does not check this flag. |
perm | Access permissions for file. |
pool | The pool to use. |
apr_status_t apr_file_open_flags_stderr | ( | apr_file_t ** | thefile, |
apr_int32_t | flags, | ||
apr_pool_t * | pool | ||
) |
open standard error as an apr file pointer, with flags.
thefile | The apr file to use as stderr. |
flags | The flags to open the file with. Only the APR_EXCL, APR_BUFFERED, APR_XTHREAD, APR_SHARELOCK, APR_SENDFILE_ENABLED and APR_LARGEFILE flags should be used. The APR_WRITE flag will be set unconditionally. |
pool | The pool to allocate the file out of. |
apr_status_t apr_file_open_flags_stdin | ( | apr_file_t ** | thefile, |
apr_int32_t | flags, | ||
apr_pool_t * | pool | ||
) |
open standard input as an apr file pointer, with flags.
thefile | The apr file to use as stdin. |
flags | The flags to open the file with. Only the APR_EXCL, APR_BUFFERED, APR_XTHREAD, APR_SHARELOCK, APR_SENDFILE_ENABLED and APR_LARGEFILE flags should be used. The APR_READ flag will be set unconditionally. |
pool | The pool to allocate the file out of. |
apr_status_t apr_file_open_flags_stdout | ( | apr_file_t ** | thefile, |
apr_int32_t | flags, | ||
apr_pool_t * | pool | ||
) |
open standard output as an apr file pointer, with flags.
thefile | The apr file to use as stdout. |
flags | The flags to open the file with. Only the APR_EXCL, APR_BUFFERED, APR_XTHREAD, APR_SHARELOCK, APR_SENDFILE_ENABLED and APR_LARGEFILE flags should be used. The APR_WRITE flag will be set unconditionally. |
pool | The pool to allocate the file out of. |
apr_status_t apr_file_open_stderr | ( | apr_file_t ** | thefile, |
apr_pool_t * | pool | ||
) |
Open standard error as an apr file pointer.
thefile | The apr file to use as stderr. |
pool | The pool to allocate the file out of. |
apr_status_t apr_file_open_stdin | ( | apr_file_t ** | thefile, |
apr_pool_t * | pool | ||
) |
open standard input as an apr file pointer.
thefile | The apr file to use as stdin. |
pool | The pool to allocate the file out of. |
apr_status_t apr_file_open_stdout | ( | apr_file_t ** | thefile, |
apr_pool_t * | pool | ||
) |
open standard output as an apr file pointer.
thefile | The apr file to use as stdout. |
pool | The pool to allocate the file out of. |
apr_status_t apr_file_perms_set | ( | const char * | fname, |
apr_fileperms_t | perms | ||
) |
set the specified file's permission bits.
fname | The file (name) to apply the permissions to. |
perms | The permission bits to apply to the file. |
apr_status_t apr_file_pipe_create | ( | apr_file_t ** | in, |
apr_file_t ** | out, | ||
apr_pool_t * | pool | ||
) |
Create an anonymous pipe.
in | The newly created pipe's file for reading. |
out | The newly created pipe's file for writing. |
pool | The pool to operate on. |
apr_status_t apr_file_pipe_create_ex | ( | apr_file_t ** | in, |
apr_file_t ** | out, | ||
apr_int32_t | blocking, | ||
apr_pool_t * | pool | ||
) |
Create an anonymous pipe which portably supports async timeout options.
in | The newly created pipe's file for reading. |
out | The newly created pipe's file for writing. |
blocking | one of these values defined in apr_thread_proc.h; |
pool | The pool to operate on. APR_FULL_BLOCK APR_READ_BLOCK APR_WRITE_BLOCK APR_FULL_NONBLOCK |
apr_status_t apr_file_pipe_timeout_get | ( | apr_file_t * | thepipe, |
apr_interval_time_t * | timeout | ||
) |
Get the timeout value for a pipe or manipulate the blocking state.
thepipe | The pipe we are getting a timeout for. |
timeout | The current timeout value in microseconds. |
apr_status_t apr_file_pipe_timeout_set | ( | apr_file_t * | thepipe, |
apr_interval_time_t | timeout | ||
) |
Set the timeout value for a pipe or manipulate the blocking state.
thepipe | The pipe we are setting a timeout on. |
timeout | The timeout value in microseconds. Values < 0 mean wait forever, 0 means do not wait at all. |
apr_pool_t* apr_file_pool_get | ( | const apr_file_t * | thefile | ) |
Get the pool used by the file.
int apr_file_printf | ( | apr_file_t * | fptr, |
const char * | format, | ||
... | |||
) |
Write a string to a file using a printf format.
fptr | The file to write to. |
format | The format string |
... | The values to substitute in the format string |
apr_status_t apr_file_putc | ( | char | ch, |
apr_file_t * | thefile | ||
) |
Write a character into the specified file.
ch | The character to write. |
thefile | The file descriptor to write to |
apr_status_t apr_file_puts | ( | const char * | str, |
apr_file_t * | thefile | ||
) |
Write the string into the specified file.
str | The string to write. |
thefile | The file descriptor to write to |
apr_status_t apr_file_read | ( | apr_file_t * | thefile, |
void * | buf, | ||
apr_size_t * | nbytes | ||
) |
Read data from the specified file.
thefile | The file descriptor to read from. |
buf | The buffer to store the data to. |
nbytes | On entry, the number of bytes to read; on exit, the number of bytes read. |
apr_status_t apr_file_read_full | ( | apr_file_t * | thefile, |
void * | buf, | ||
apr_size_t | nbytes, | ||
apr_size_t * | bytes_read | ||
) |
Read data from the specified file, ensuring that the buffer is filled before returning.
thefile | The file descriptor to read from. |
buf | The buffer to store the data to. |
nbytes | The number of bytes to read. |
bytes_read | If non-NULL, this will contain the number of bytes read. |
apr_status_t apr_file_remove | ( | const char * | path, |
apr_pool_t * | pool | ||
) |
Delete the specified file.
path | The full path to the file (using / on all systems) |
pool | The pool to use. |
apr_status_t apr_file_rename | ( | const char * | from_path, |
const char * | to_path, | ||
apr_pool_t * | pool | ||
) |
Rename the specified file.
from_path | The full path to the original file (using / on all systems) |
to_path | The full path to the new file (using / on all systems) |
pool | The pool to use. |
apr_status_t apr_file_seek | ( | apr_file_t * | thefile, |
apr_seek_where_t | where, | ||
apr_off_t * | offset | ||
) |
Move the read/write file offset to a specified byte within a file.
thefile | The file descriptor |
where | How to move the pointer, one of: APR_SET -- set the offset to offset APR_CUR -- add the offset to the current position APR_END -- add the offset to the current file size |
offset | The offset to move the pointer to. |
apr_status_t apr_file_setaside | ( | apr_file_t ** | new_file, |
apr_file_t * | old_file, | ||
apr_pool_t * | p | ||
) |
Move the specified file descriptor to a new pool
new_file | Pointer in which to return the new apr_file_t |
old_file | The file to move |
p | The pool to which the descriptor is to be moved |
apr_status_t apr_file_sync | ( | apr_file_t * | thefile | ) |
Transfer all file modified data and metadata to disk.
thefile | The file descriptor to sync |
apr_status_t apr_file_trunc | ( | apr_file_t * | fp, |
apr_off_t | offset | ||
) |
Truncate the file's length to the specified offset
fp | The file to truncate |
offset | The offset to truncate to. |
apr_status_t apr_file_ungetc | ( | char | ch, |
apr_file_t * | thefile | ||
) |
Put a character back onto a specified stream.
ch | The character to write. |
thefile | The file descriptor to write to |
apr_status_t apr_file_unlock | ( | apr_file_t * | thefile | ) |
Remove any outstanding locks on the file.
thefile | The file to unlock. |
apr_status_t apr_file_write | ( | apr_file_t * | thefile, |
const void * | buf, | ||
apr_size_t * | nbytes | ||
) |
Write data to the specified file.
thefile | The file descriptor to write to. |
buf | The buffer which contains the data. |
nbytes | On entry, the number of bytes to write; on exit, the number of bytes written. |
apr_status_t apr_file_write_full | ( | apr_file_t * | thefile, |
const void * | buf, | ||
apr_size_t | nbytes, | ||
apr_size_t * | bytes_written | ||
) |
Write data to the specified file, ensuring that all of the data is written before returning.
thefile | The file descriptor to write to. |
buf | The buffer which contains the data. |
nbytes | The number of bytes to write. |
bytes_written | If non-NULL, set to the number of bytes written. |
apr_status_t apr_file_writev | ( | apr_file_t * | thefile, |
const struct iovec * | vec, | ||
apr_size_t | nvec, | ||
apr_size_t * | nbytes | ||
) |
Write data from iovec array to the specified file.
thefile | The file descriptor to write to. |
vec | The array from which to get the data to write to the file. |
nvec | The number of elements in the struct iovec array. This must be smaller than APR_MAX_IOVEC_SIZE. If it isn't, the function will fail with APR_EINVAL. |
nbytes | The number of bytes written. |
apr_status_t apr_file_writev_full | ( | apr_file_t * | thefile, |
const struct iovec * | vec, | ||
apr_size_t | nvec, | ||
apr_size_t * | nbytes | ||
) |
Write data from iovec array to the specified file, ensuring that all of the data is written before returning.
thefile | The file descriptor to write to. |
vec | The array from which to get the data to write to the file. |
nvec | The number of elements in the struct iovec array. This must be smaller than APR_MAX_IOVEC_SIZE. If it isn't, the function will fail with APR_EINVAL. |
nbytes | The number of bytes written. |
apr_status_t apr_temp_dir_get | ( | const char ** | temp_dir, |
apr_pool_t * | p | ||
) |
Find an existing directory suitable as a temporary storage location.
temp_dir | The temp directory. |
p | The pool to use for any necessary allocations. |