Reading Directories
[Special Functions.]

Collaboration diagram for Reading Directories:

Detailed Description

UNIX compatible directory read functions.


Functions

DIRopendir (CONST char *name)
 Open a directory stream.
int closedir (DIR *dir)
 Close a directory stream.
struct direntreaddir (DIR *dir)
 Get the next directory entry.


Function Documentation

DIR* opendir ( CONST char *  name  ) 

Open a directory stream.

Opens a directory and associates a directory stream with it.

Parameters:
name Pathname of the directory. Must be the full pathname including the device, because Nut/OS doesn't support relative paths.
Returns:
A pointer used to identify the directory stream in subsequent operations. NULL is returned if the directory cannot be accessed, or if it cannot allocate enough memory.

Definition at line 123 of file dirent.c.

References CONST, DIR::dd_buf, DIR::dd_len, _NUTDEVICE::dev_ioctl, ENODEV, ENOMEM, errno, free, FS_DIR_OPEN, malloc, memset(), NutDeviceLookup(), strcpy(), and strlen().

int closedir ( DIR dir  ) 

Close a directory stream.

Closes the given directory stream and frees any allocated memory.

Parameters:
dir Pointer to the directory stream.
Returns:
0 on success. On failure, -1 is returned and the global variable errno is set to indicate the error.

Definition at line 183 of file dirent.c.

References DIR::dd_buf, DIR::dd_fd, _NUTDEVICE::dev_ioctl, free, FS_DIR_CLOSE, and _NUTFILE::nf_dev.

struct dirent* readdir ( DIR dir  )  [read]

Get the next directory entry.

Parameters:
dir Pointer to the directory stream.
Returns:
A pointer to the next directory entry. It returns NULL upon reaching the end of the directory.

Definition at line 206 of file dirent.c.

References DIR::dd_buf, DIR::dd_fd, _NUTDEVICE::dev_ioctl, FS_DIR_READ, and _NUTFILE::nf_dev.


© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/