Lines Matching defs:dir
32 #include <isc/dir.h>
41 #define VALID_DIR(dir) ISC_MAGIC_VALID(dir, ISC_DIR_MAGIC)
44 isc_dir_init(isc_dir_t *dir) {
45 REQUIRE(dir != NULL);
47 dir->entry.name[0] = '\0';
48 dir->entry.length = 0;
50 dir->handle = NULL;
52 dir->magic = ISC_DIR_MAGIC;
60 isc_dir_open(isc_dir_t *dir, const char *dirname) {
65 REQUIRE(VALID_DIR(dir));
73 if (octets + 2 > sizeof(dir->dirname))
76 strlcpy(dir->dirname, dirname, octets);
81 p = dir->dirname + strlen(dir->dirname);
82 if (dir->dirname < p && *(p - 1) != '/')
90 dir->handle = opendir(dirname);
92 if (dir->handle == NULL)
103 * the dir stream and reads the first file in one operation.
106 isc_dir_read(isc_dir_t *dir) {
110 REQUIRE(VALID_DIR(dir) && dir->handle != NULL);
115 entry = readdir(dir->handle);
124 if (sizeof(dir->entry.name) < octets)
127 strlcpy(dir->entry.name, entry->d_name, octets);
132 dir->entry.length = strlen(entry->d_name);
141 isc_dir_close(isc_dir_t *dir) {
142 REQUIRE(VALID_DIR(dir) && dir->handle != NULL);
144 (void)closedir(dir->handle);
145 dir->handle = NULL;
152 isc_dir_reset(isc_dir_t *dir) {
153 REQUIRE(VALID_DIR(dir) && dir->handle != NULL);
155 rewinddir(dir->handle);