Directory Manipulation Functions

Overview

// global functions

apr_status_t
apr_dir_open(
    apr_dir_t** new_dir,
    const char* dirname,
    apr_pool_t* pool
);

apr_status_t
apr_dir_close(apr_dir_t* thedir);

apr_status_t
apr_dir_read(
    apr_finfo_t* finfo,
    apr_int32_t wanted,
    apr_dir_t* thedir
);

apr_status_t
apr_dir_rewind(apr_dir_t* thedir);

Detailed Documentation

Global Functions

apr_status_t
apr_dir_open(
    apr_dir_t** new_dir,
    const char* dirname,
    apr_pool_t* pool
)

Open the specified directory.

Parameters:

new_dir

The opened directory descriptor.

dirname

The full path to the directory (use / on all systems)

pool

The pool to use.

apr_status_t
apr_dir_close(apr_dir_t* thedir)

close the specified directory.

Parameters:

thedir

the directory descriptor to close.

apr_status_t
apr_dir_read(
    apr_finfo_t* finfo,
    apr_int32_t wanted,
    apr_dir_t* thedir
)

Read the next entry from the specified directory. No ordering is guaranteed for the entries read.

Note

If APR_INCOMPLETE is returned all the fields in finfo may not be filled in, and you need to check the finfo->valid bitmask to verify that what you’re looking for is there. When no more entries are available, APR_ENOENT is returned.

Parameters:

finfo

the file info structure and filled in by apr_dir_read

wanted

The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values

thedir

the directory descriptor returned from apr_dir_open

apr_status_t
apr_dir_rewind(apr_dir_t* thedir)

Rewind the directory to the first entry.

Parameters:

thedir

the directory descriptor to rewind.