1/* $NetBSD: linux32_types.h,v 1.14 2010/11/02 18:14:06 chs Exp $ */ 2 3/*- 4 * Copyright (c) 2006 Emmanuel Dreyfus, all rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 3. All advertising materials mentioning features or use of this software 15 * must display the following acknowledgement: 16 * This product includes software developed by Emmanuel Dreyfus 17 * 4. The name of the author may not be used to endorse or promote 18 * products derived from this software without specific prior written 19 * permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE THE AUTHOR AND CONTRIBUTORS ``AS IS'' 22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 * POSSIBILITY OF SUCH DAMAGE. 32 */ 33 34#ifndef _LINUX32_TYPES_H 35#define _LINUX32_TYPES_H 36 37#ifdef __amd64__ 38#include <compat/linux32/arch/amd64/linux32_types.h> 39#endif 40 41typedef uint16_t linux32_gid16_t; 42typedef uint16_t linux32_uid16_t; 43 44typedef netbsd32_pointer_t linux32_oldmmapp; 45typedef netbsd32_pointer_t linux32_utsnamep; 46typedef netbsd32_pointer_t linux32_stat64p; 47typedef netbsd32_pointer_t linux32_statp; 48typedef netbsd32_pointer_t linux32_statfsp; 49typedef netbsd32_pointer_t linux32_statfs64p; 50typedef netbsd32_pointer_t linux32_sigactionp_t; 51typedef netbsd32_pointer_t linux32_sigsetp_t; 52typedef netbsd32_pointer_t linux32___sysctlp_t; 53typedef netbsd32_pointer_t linux32_direntp_t; 54typedef netbsd32_pointer_t linux32_dirent64p_t; 55typedef netbsd32_pointer_t linux32_timep_t; 56typedef netbsd32_pointer_t linux32_tmsp_t; 57typedef netbsd32_pointer_t linux32_sched_paramp_t; 58typedef netbsd32_pointer_t linux32_utimbufp_t; 59typedef netbsd32_pointer_t linux32_oldold_utsnamep_t; 60typedef netbsd32_pointer_t linux32_uidp_t; 61typedef netbsd32_pointer_t linux32_gidp_t; 62typedef netbsd32_pointer_t linux32_uid16p_t; 63typedef netbsd32_pointer_t linux32_gid16p_t; 64typedef netbsd32_pointer_t linux32_oldselectp_t; 65typedef netbsd32_pointer_t linux32_sysinfop_t; 66typedef netbsd32_pointer_t linux32_oldutsnamep_t; 67typedef netbsd32_pointer_t linux32_timespecp_t; 68typedef netbsd32_pointer_t linux32_robust_list_headp_t; 69typedef netbsd32_pointer_t linux32_robust_list_headpp_t; 70typedef netbsd32_pointer_t linux32_sizep_t; 71typedef netbsd32_pointer_t linux32_intp_t; 72 73struct linux32_sysctl { 74 netbsd32_intp name; 75 int nlen; 76 netbsd32_voidp oldval; 77 netbsd32_size_tp oldlenp; 78 netbsd32_voidp newval; 79 netbsd32_size_t newlen; 80 unsigned int __unused0[4]; 81}; 82 83struct linux32_tms { 84 linux32_clock_t ltms32_utime; 85 linux32_clock_t ltms32_stime; 86 linux32_clock_t ltms32_cutime; 87 linux32_clock_t ltms32_cstime; 88}; 89 90struct linux32_oldselect { 91 int nfds; 92 netbsd32_fd_setp_t readfds; 93 netbsd32_fd_setp_t writefds; 94 netbsd32_fd_setp_t exceptfds; 95 netbsd32_timeval50p_t timeout; 96}; 97 98struct linux32_sysinfo { 99 netbsd32_long uptime; 100 netbsd32_u_long loads[3]; 101 netbsd32_u_long totalram; 102 netbsd32_u_long freeram; 103 netbsd32_u_long sharedram; 104 netbsd32_u_long bufferram; 105 netbsd32_u_long totalswap; 106 netbsd32_u_long freeswap; 107 unsigned short procs; 108 netbsd32_u_long totalbig; 109 netbsd32_u_long freebig; 110 unsigned int mem_unit; 111 char _f[20-2*sizeof(netbsd32_long)-sizeof(int)]; 112}; 113 114#define LINUX32_MAXNAMLEN 255 115struct linux32_dirent { 116 linux32_ino_t d_ino; 117 linux32_off_t d_off; 118 u_short d_reclen; 119 char d_name[LINUX32_MAXNAMLEN + 2]; 120}; 121 122#endif /* !_LINUX32_TYPES_H */ 123