summary refs log tree commit diff
path: root/sysdeps/unix/sysv/sco3.2.4/direct.h
blob: b3eaa54c8b03048478b76cfb53ecc542f43f443c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef	MAXNAMLEN
#define	MAXNAMLEN	512
#endif
#define DIRBUF	        1048	/* minimum buffer size for call to getdents */

struct direct
  {
    unsigned short int d_fileno;
    short int d_pad;
    long int d_off;
    unsigned short int d_reclen;
    char d_name[1];		/* Actually longer. */
  };

#include <stddef.h>

/* We calculate the length of the name by taking the length of the whole
   `struct direct' record, subtracting the size of everything before the
   name, and subtracting one for the terminating null.  */

#define D_NAMLEN(d) \
  ((d)->d_reclen - offsetof (struct direct, d_name) - 1)