• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (C) 2007-2008 The Android Open Source Project
2 **
3 ** This software is licensed under the terms of the GNU General Public
4 ** License version 2, as published by the Free Software Foundation, and
5 ** may be copied, distributed, and modified under those terms.
6 **
7 ** This program is distributed in the hope that it will be useful,
8 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
9 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10 ** GNU General Public License for more details.
11 */
12 #ifndef _ANDROID_UTILS_DIR_H
13 #define _ANDROID_UTILS_DIR_H
14 
15 /* simple utility to parse directories for files            */
16 /* needed because Unix and Windows don't use the same stuff */
17 
18 typedef struct DirScanner  DirScanner;
19 
20 /* Create a new directory scanner object from a given rootPath.
21  * returns NULL in case of failure (error code in errno)
22  */
23 DirScanner*    dirScanner_new ( const char*  rootPath );
24 
25 /* Destroy a given directory scanner. You must always call
26  * this function to release proper system resources.
27  */
28 void           dirScanner_free( DirScanner*  s );
29 
30 /* Get the name of the next file from a directory scanner.
31  * Returns NULL when there is no more elements in the list.
32  *
33  * This is only the file name, use dirScanner_nextFull to
34  * get its full path.
35  *
36  * This will never return '.' and '..'.
37  *
38  * The returned string is owned by the scanner, and will
39  * change on the next call to this function or when the
40  * scanner is destroyed.
41  */
42 const char*    dirScanner_next( DirScanner*  s );
43 
44 /* A variant of dirScanner_next() which returns the full path
45  * to the next directory element.
46  */
47 const char*    dirScanner_nextFull( DirScanner*  s );
48 
49 /* */
50 
51 #endif /* _ANDROID_UTILS_DIR_H */
52