struct apr_finfo_t

Overview

The file information structure. More…

#include <apr_file_info.h>

struct apr_finfo_t {
    // fields

    apr_pool_t* pool;
    apr_int32_t valid;
    apr_fileperms_t protection;
    apr_filetype_e filetype;
    apr_uid_t user;
    apr_gid_t group;
    apr_ino_t inode;
    apr_dev_t device;
    apr_int32_t nlink;
    apr_off_t size;
    apr_off_t csize;
    apr_time_t atime;
    apr_time_t mtime;
    apr_time_t ctime;
    const char* fname;
    const char* name;
    struct apr_file_t* filehand;
};

Detailed Documentation

The file information structure. This is analogous to the POSIX stat structure.

Fields

apr_pool_t* pool

Allocates memory and closes lingering handles in the specified pool

apr_int32_t valid

The bitmask describing valid fields of this apr_finfo_t structure including all available ‘wanted’ fields and potentially more

apr_fileperms_t protection

The access permissions of the file. Mimics Unix access rights.

apr_filetype_e filetype

The type of file. One of APR_REG, APR_DIR, APR_CHR, APR_BLK, APR_PIPE, APR_LNK or APR_SOCK. If the type is undetermined, the value is APR_NOFILE. If the type cannot be determined, the value is APR_UNKFILE.

apr_uid_t user

The user id that owns the file

apr_gid_t group

The group id that owns the file

apr_ino_t inode

The inode of the file.

apr_dev_t device

The id of the device the file is on.

apr_int32_t nlink

The number of hard links to the file.

apr_off_t size

The size of the file

apr_off_t csize

The storage size consumed by the file

apr_time_t atime

The time the file was last accessed

apr_time_t mtime

The time the file was last modified

apr_time_t ctime

The time the file was created, or the inode was last changed

const char* fname

The pathname of the file (possibly unrooted)

const char* name

The file’s name (no path) in filesystem case

struct apr_file_t* filehand

Unused