aboutsummaryrefslogtreecommitdiff
path: root/backends/gp32/dirent.h
blob: 8b9698dadeab6bc440ed4313d9a256c5953807cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//////////////////////////////////////////////////////////////////////////////
// NOTE: (ph0x)
// borrowed from wince port as the file was either missing from the gp32sdk 
// or was causing conflicts.
//////////////////////////////////////////////////////////////////////////////


/* Header is not present in Windows CE SDK */
/* It would not be a bad idea to take this thing from gcc distro and port
   it properly. For now only required part is ported. */

struct dirent
{
	long		d_ino;		/* Always zero. */
	unsigned short	d_reclen;	/* Always zero. */
	unsigned short	d_namlen;	/* Length of name in d_name. */
	char*		d_name; 	/* File name. */
	/* NOTE: The name in the dirent structure points to the name in the
	 *		 finddata_t structure in the DIR. */
};

/*
 * This is an internal data structure. Good programmers will not use it
 * except as an argument to one of the functions below.
 */
typedef struct
{
	/* disk transfer area for this dir */
/*	struct _finddata_t	dd_dta; */

	/* dirent struct to return from dir (NOTE: this makes this thread
	 * safe as long as only one thread uses a particular DIR struct at
	 * a time) */
	struct dirent		dd_dir;

	/* _findnext handle */
	long			dd_handle;

	/*
		 * Status of search:
	 *	 0 = not started yet (next entry to read is first entry)
	 *	-1 = off the end
	 *	 positive = 0 based index of next entry
	 */
	short			dd_stat;

	/* given path for dir with search pattern (struct is extended) */
	char			dd_name[1];
} DIR;


DIR*		opendir (const char*);
struct dirent*	readdir (DIR*);
int 	closedir (DIR*);
/*
void		rewinddir (DIR*);
long		telldir (DIR*);
void		seekdir (DIR*, long);
*/