1 1.12 chs /* $NetBSD: linux_dirent.h,v 1.12 2010/09/11 20:53:04 chs 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.12 chs 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.12 chs #define LINUX_RECLEN(de,namlen) ALIGN((LINUX_NAMEOFF(de) + (namlen) + 2)) 55 1.1 fvdl 56 1.5 christos #endif /* !_LINUX_DIRENT_H */ 57