linux_dirent.h revision 1.9 1 1.9 perry /* $NetBSD: linux_dirent.h,v 1.9 2005/02/26 23:10:19 perry 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 * 3. All advertising materials mentioning features or use of this software
19 1.4 erh * must display the following acknowledgement:
20 1.4 erh * This product includes software developed by the NetBSD
21 1.4 erh * Foundation, Inc. and its contributors.
22 1.4 erh * 4. Neither the name of The NetBSD Foundation nor the names of its
23 1.4 erh * contributors may be used to endorse or promote products derived
24 1.4 erh * from this software without specific prior written permission.
25 1.4 erh *
26 1.4 erh * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27 1.4 erh * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28 1.4 erh * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 1.4 erh * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30 1.4 erh * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 1.4 erh * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 1.4 erh * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 1.4 erh * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 1.4 erh * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 1.4 erh * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 1.4 erh * POSSIBILITY OF SUCH DAMAGE.
37 1.1 fvdl */
38 1.1 fvdl
39 1.5 christos #ifndef _LINUX_DIRENT_H
40 1.5 christos #define _LINUX_DIRENT_H
41 1.1 fvdl
42 1.3 mycroft #define LINUX_MAXNAMLEN 255
43 1.1 fvdl
44 1.1 fvdl struct linux_dirent {
45 1.3 mycroft linux_ino_t d_ino;
46 1.2 mycroft linux_off_t d_off;
47 1.3 mycroft u_short d_reclen;
48 1.3 mycroft char d_name[LINUX_MAXNAMLEN + 1];
49 1.1 fvdl };
50 1.7 christos
51 1.9 perry struct linux_dirent64 {
52 1.7 christos unsigned long long d_ino;
53 1.7 christos long long d_off;
54 1.7 christos unsigned short d_reclen;
55 1.7 christos unsigned char d_type;
56 1.7 christos char d_name[LINUX_MAXNAMLEN + 1];
57 1.7 christos };
58 1.7 christos
59 1.1 fvdl
60 1.8 tron #define LINUX_NAMEOFF(dp) ((char *)&(dp)->d_name - (char *)(dp))
61 1.1 fvdl #define LINUX_RECLEN(de,namlen) ALIGN((LINUX_NAMEOFF(de) + (namlen) + 1))
62 1.1 fvdl
63 1.5 christos #endif /* !_LINUX_DIRENT_H */
64