summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/win32/include/dirent.h
blob: be363ce8044938b603ef95edd22c7f280811f656 (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
// dirent.h

// djl
// Provide UNIX compatibility

#ifndef  _INC_DIRENT
#define  _INC_DIRENT

//
// NT versions of readdir(), etc
// From the MSDOS implementation
//

// Directory entry size 
#ifdef DIRSIZ
#undef DIRSIZ
#endif
#define DIRSIZ(rp)  (sizeof(struct direct))

// needed to compile directory stuff
#define DIRENT direct

// structure of a directory entry
typedef struct direct 
{
	long	d_ino;			// inode number (not used by MS-DOS) 
	int	d_namlen;		// Name length 
	char	d_name[257];		// file name 
} _DIRECT;

// structure for dir operations 
typedef struct _dir_struc
{
	char	*start;			// Starting position
	char	*curr;			// Current position
	long	size;			// Size of string table
	long	nfiles;			// number if filenames in table
	struct direct dirstr;		// Directory structure to return
} DIR;

DIR *		win32_opendir(char *filename);
struct direct *	win32_readdir(DIR *dirp);
long		win32_telldir(DIR *dirp);
void		win32_seekdir(DIR *dirp,long loc);
void		win32_rewinddir(DIR *dirp);
int		win32_closedir(DIR *dirp);


#endif //_INC_DIRENT