dir.h (0377c12b) dir.h (9742fdb4)
1/* $NetBSD: dir.h,v 1.2 2018/08/12 13:02:31 christos Exp $ */
1/* $NetBSD: dir.h,v 1.3 2020/05/24 19:46:21 christos Exp $ */
2
3/*
4 * Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
11 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
12 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
13 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
15 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18
2
3/*
4 * Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
11 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
12 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
13 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
15 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18
19#include <sys/types.h>
20#include <dirent.h>
19#include <dirent.h>
20#include <sys/types.h>
21
21
22#include <dlz_minimal.h>
23
22#define DIR_NAMEMAX 256
23#define DIR_PATHMAX 1024
24
25typedef struct direntry {
24#define DIR_NAMEMAX 256
25#define DIR_PATHMAX 1024
26
27typedef struct direntry {
26 char name[DIR_NAMEMAX];
27 unsigned int length;
28 char name[DIR_NAMEMAX];
29 unsigned int length;
28} direntry_t;
29
30typedef struct dir {
30} direntry_t;
31
32typedef struct dir {
31 char dirname[DIR_PATHMAX];
32 direntry_t entry;
33 DIR * handle;
33 char dirname[DIR_PATHMAX];
34 direntry_t entry;
35 DIR *handle;
34} dir_t;
35
36void
37dir_init(dir_t *dir);
38
39isc_result_t
40dir_open(dir_t *dir, const char *dirname);
41
42isc_result_t
43dir_read(dir_t *dir);
44
45isc_result_t
46dir_reset(dir_t *dir);
47
48void
49dir_close(dir_t *dir);
36} dir_t;
37
38void
39dir_init(dir_t *dir);
40
41isc_result_t
42dir_open(dir_t *dir, const char *dirname);
43
44isc_result_t
45dir_read(dir_t *dir);
46
47isc_result_t
48dir_reset(dir_t *dir);
49
50void
51dir_close(dir_t *dir);