linux_dirent.h revision 1.10.74.2 1 1.10.74.2 yamt /* $NetBSD: linux_dirent.h,v 1.10.74.2 2010/10/09 03:32:01 yamt Exp $ */
2 1.4 erh
3 1.4 erh /*-
4 1.6 fvdl * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
5 1.4 erh * All rights reserved.
6 1.4 erh *
7 1.4 erh * This code is derived from software contributed to The NetBSD Foundation
8 1.6 fvdl * by Frank van der Linden and Eric Haszlakiewicz.
9 1.4 erh *
10 1.4 erh * Redistribution and use in source and binary forms, with or without
11 1.4 erh * modification, are permitted provided that the following conditions
12 1.4 erh * are met:
13 1.4 erh * 1. Redistributions of source code must retain the above copyright
14 1.4 erh * notice, this list of conditions and the following disclaimer.
15 1.4 erh * 2. Redistributions in binary form must reproduce the above copyright
16 1.4 erh * notice, this list of conditions and the following disclaimer in the
17 1.4 erh * documentation and/or other materials provided with the distribution.
18 1.4 erh *
19 1.4 erh * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 1.4 erh * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 1.4 erh * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 1.4 erh * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 1.4 erh * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 1.4 erh * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 1.4 erh * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 1.4 erh * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 1.4 erh * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 1.4 erh * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 1.4 erh * POSSIBILITY OF SUCH DAMAGE.
30 1.1 fvdl */
31 1.1 fvdl
32 1.5 christos #ifndef _LINUX_DIRENT_H
33 1.5 christos #define _LINUX_DIRENT_H
34 1.1 fvdl
35 1.3 mycroft #define LINUX_MAXNAMLEN 255
36 1.1 fvdl
37 1.1 fvdl struct linux_dirent {
38 1.3 mycroft linux_ino_t d_ino;
39 1.2 mycroft linux_off_t d_off;
40 1.3 mycroft u_short d_reclen;
41 1.10.74.2 yamt char d_name[LINUX_MAXNAMLEN + 2];
42 1.1 fvdl };
43 1.7 christos
44 1.9 perry struct linux_dirent64 {
45 1.7 christos unsigned long long d_ino;
46 1.7 christos long long d_off;
47 1.7 christos unsigned short d_reclen;
48 1.7 christos unsigned char d_type;
49 1.7 christos char d_name[LINUX_MAXNAMLEN + 1];
50 1.7 christos };
51 1.7 christos
52 1.1 fvdl
53 1.8 tron #define LINUX_NAMEOFF(dp) ((char *)&(dp)->d_name - (char *)(dp))
54 1.10.74.2 yamt #define LINUX_RECLEN(de,namlen) ALIGN((LINUX_NAMEOFF(de) + (namlen) + 2))
55 1.1 fvdl
56 1.5 christos #endif /* !_LINUX_DIRENT_H */
57