"William A. Rowe, Jr." <[EMAIL PROTECTED]> writes:
> Philip... thanks.
>
> Now for the oddball question, looking at dirent.h or it's associate sys/
> includes, what symbol DT_xxx (DT_REG, etc) do you find for value 0?
/usr/include/dirent.h
/* File types for `d_type'. */
enum
{
DT_UNKNOWN = 0,
# define DT_UNKNOWN DT_UNKNOWN
DT_FIFO = 1,
# define DT_FIFO DT_FIFO
DT_CHR = 2,
# define DT_CHR DT_CHR
DT_DIR = 4,
# define DT_DIR DT_DIR
DT_BLK = 6,
# define DT_BLK DT_BLK
DT_REG = 8,
# define DT_REG DT_REG
DT_LNK = 10,
# define DT_LNK DT_LNK
DT_SOCK = 12,
# define DT_SOCK DT_SOCK
DT_WHT = 14
# define DT_WHT DT_WHT
};
> Also, what values do you have for DIRENT_TYPE, DIRENT_INODE from
> apr/include/arch/unix/apr_private.h?
#define DIRENT_INODE d_fileno
#define DIRENT_TYPE d_type
>From the libc info files:
`unsigned char d_type'
This is the type of the file, possibly unknown. The
following constants are defined for its value:
`DT_UNKNOWN'
The type is unknown. On some systems this is the only
value returned.
A test program:
$ cat z.c
#include <dirent.h>
#include <sys/types.h>
int main() {
DIR *d = opendir(".");
struct dirent e, *r;
int v = readdir_r(d, &e, &r);
while (! v && r) {
printf("%s %d\n", r->d_name, r->d_type);
v = readdir_r(d, &e, &r);
}
return 0;
}
$ gcc -o z z.c
$ ls -l
total 13
drwxr-sr-x 2 pm pm 48 Dec 18 18:21 foo
-rwxr-xr-x 1 pm pm 5147 Dec 18 18:22 z
-rw-r--r-- 1 pm pm 262 Dec 18 18:22 z.c
$ ./z
. 0
.. 0
z 0
foo 0
z.c 0
--
Philip Martin