Lines Matching full:dir

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