1 /*
2  * Public directory definitions for CUPS.
3  *
4  * This set of APIs abstracts enumeration of directory entries.
5  *
6  * Copyright 2007-2011 by Apple Inc.
7  * Copyright 1997-2006 by Easy Software Products, all rights reserved.
8  *
9  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
10  */
11 
12 #ifndef _CUPS_DIR_H_
13 #  define _CUPS_DIR_H_
14 
15 
16 /*
17  * Include necessary headers...
18  */
19 
20 #  include "versioning.h"
21 #  include <sys/stat.h>
22 
23 
24 /*
25  * C++ magic...
26  */
27 
28 #  ifdef __cplusplus
29 extern "C" {
30 #  endif /* __cplusplus */
31 
32 
33 /*
34  * Data types...
35  */
36 
37 typedef struct _cups_dir_s cups_dir_t;	/**** Directory type ****/
38 
39 typedef struct cups_dentry_s		/**** Directory entry type ****/
40 {
41   char		filename[260];		/* File name */
42   struct stat	fileinfo;		/* File information */
43 } cups_dentry_t;
44 
45 
46 /*
47  * Prototypes...
48  */
49 
50 extern void		cupsDirClose(cups_dir_t *dp) _CUPS_API_1_2;
51 extern cups_dir_t	*cupsDirOpen(const char *directory) _CUPS_API_1_2;
52 extern cups_dentry_t	*cupsDirRead(cups_dir_t *dp) _CUPS_API_1_2;
53 extern void		cupsDirRewind(cups_dir_t *dp) _CUPS_API_1_2;
54 
55 
56 #  ifdef __cplusplus
57 }
58 #  endif /* __cplusplus */
59 #endif /* !_CUPS_DIR_H_ */
60