Gets a pointer to the next entry in the directory.

Syntax

#include <prio.h>

PRDirEntry* PR_ReadDir(
  PRDir *dir,
  PRDirFlags flags);

Parameters

The function has the following parameters:

dir
A pointer to a PRDir object that designates an open directory.
flags
Specifies which directory entries, if any, to skip. Values can include the following:

Returns

Description

PR_ReadDir returns a pointer to a directory entry structure:

struct PRDirEntry {
  const char *name;
};

typedef struct PRDirEntry PRDirEntry;

The structure has the following field:

name
Name of entry, relative to directory name.

The flags parameter is an enum of type PRDirFlags:

typedef enum PRDirFlags {
  PR_SKIP_NONE    = 0x0,
  PR_SKIP_DOT     = 0x1,
  PR_SKIP_DOT_DOT = 0x2,
  PR_SKIP_BOTH    = 0x3,
  PR_SKIP_HIDDEN  = 0x4
} PRDirFlags;

The memory associated with the returned PRDirEntry structure is managed by NSPR. The caller must not free the PRDirEntry structure. Moreover, the PRDirEntry structure returned by each PR_ReadDir call is valid only until the next PR_ReadDir or PR_CloseDir call on the same PRDir object.

If the end of the directory is reached, PR_ReadDir returns NULL, and PR_GetError returns PR_NO_MORE_FILES_ERROR.

See Also

PR_OpenDir