| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | #include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <dirent.h>#define _DTIFY(DT) [DT] #DTconst char const *types[] = {	_DTIFY(DT_UNKNOWN),	_DTIFY(DT_FIFO),	_DTIFY(DT_CHR),	_DTIFY(DT_DIR),	_DTIFY(DT_BLK),	_DTIFY(DT_REG),	_DTIFY(DT_LNK),	_DTIFY(DT_SOCK),	_DTIFY(DT_WHT)};int main(int argc, char **argv){	DIR *dirh;	struct dirent *de;	struct dirent64 *de64;	const char const mydir[] = ".";	if ((dirh = opendir(mydir)) == NULL) {		perror("opendir");		return 1;	}	printf("readdir() says:\n");	while ((de = readdir(dirh)) != NULL)		printf("\tdir entry %s: %s\n", types[de->d_type], de->d_name);	rewinddir(dirh);	printf("readdir64() says:\n");	while ((de64 = readdir64(dirh)) != NULL)		printf("\tdir entry %s: %s\n", types[de64->d_type], de64->d_name);	closedir(dirh);	return 0;}
 |