Annotation of src/sys/compat/linux32/arch/aarch64/linux32_types.h, Revision 1.1
1.1 ! ryo 1: /* $NetBSD$ */
! 2:
! 3: /*-
! 4: * Copyright (c) 2021 The NetBSD Foundation, Inc.
! 5: * All rights reserved.
! 6: *
! 7: * This code is derived from software contributed to The NetBSD Foundation
! 8: * by Ryo Shimizu.
! 9: *
! 10: * Redistribution and use in source and binary forms, with or without
! 11: * modification, are permitted provided that the following conditions
! 12: * are met:
! 13: * 1. Redistributions of source code must retain the above copyright
! 14: * notice, this list of conditions and the following disclaimer.
! 15: * 2. Redistributions in binary form must reproduce the above copyright
! 16: * notice, this list of conditions and the following disclaimer in the
! 17: * documentation and/or other materials provided with the distribution.
! 18: *
! 19: * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
! 20: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
! 21: * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
! 22: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
! 23: * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
! 24: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
! 25: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
! 26: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
! 27: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
! 28: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
! 29: * POSSIBILITY OF SUCH DAMAGE.
! 30: */
! 31:
! 32: #ifndef _AARCH64_LINUX32_TYPES_H_
! 33: #define _AARCH64_LINUX32_TYPES_H_
! 34:
! 35: typedef uint16_t linux32_uid_t; /* arm: unsigned short */
! 36: typedef uint16_t linux32_gid_t; /* arm: unsigned short */
! 37: typedef uint32_t linux32_ino_t; /* arm: unsigned long */
! 38: typedef uint32_t linux32_size_t; /* arm: size_t */
! 39: typedef int32_t linux32_time_t; /* arm: long */
! 40: typedef int32_t linux32_clock_t; /* arm: long */
! 41: typedef int32_t linux32_off_t; /* arm: long */
! 42: typedef int32_t linux32_pid_t; /* arm: int */
! 43:
! 44: typedef netbsd32_pointer_t linux32_ulongp_t;
! 45: typedef netbsd32_pointer_t linux32_user_descp_t;
! 46:
! 47: struct linux32_stat {
! 48: uint16_t lst_dev;
! 49: uint16_t pad1;
! 50: linux32_ino_t lst_ino;
! 51: uint16_t lst_mode;
! 52: uint16_t lst_nlink;
! 53: linux32_uid_t lst_uid;
! 54: linux32_gid_t lst_gid;
! 55: uint16_t lst_rdev;
! 56: uint16_t pad2;
! 57: linux32_off_t lst_size;
! 58: linux32_size_t lst_blksize;
! 59: uint32_t lst_blocks;
! 60: linux32_time_t lst_atime;
! 61: uint32_t unused1;
! 62: linux32_time_t lst_mtime;
! 63: uint32_t unused2;
! 64: linux32_time_t lst_ctime;
! 65: uint32_t unused3;
! 66: uint32_t unused4;
! 67: uint32_t unused5;
! 68: } __packed;
! 69:
! 70: struct linux32_stat64 {
! 71: unsigned long long lst_dev;
! 72: #define LINUX32_STAT64_HAS_BROKEN_ST_INO
! 73: unsigned long long __lst_ino;
! 74: uint32_t lst_mode;
! 75: uint32_t lst_nlink;
! 76: uint32_t lst_uid;
! 77: uint32_t lst_gid;
! 78: unsigned long long lst_rdev;
! 79: unsigned long long __pad1;
! 80: long long lst_size;
! 81: uint32_t lst_blksize;
! 82: uint32_t __pad2;
! 83: unsigned long long lst_blocks;
! 84: #define LINUX32_STAT64_HAS_NSEC
! 85: uint32_t lst_atime;
! 86: uint32_t lst_atime_nsec;
! 87: uint32_t lst_mtime;
! 88: uint32_t lst_mtime_nsec;
! 89: uint32_t lst_ctime;
! 90: uint32_t lst_ctime_nsec;
! 91: unsigned long long lst_ino;
! 92: } __packed;
! 93:
! 94: struct linux32_utimbuf {
! 95: linux32_time_t l_actime;
! 96: linux32_time_t l_modtime;
! 97: };
! 98:
! 99: #endif /* _AARCH64_LINUX32_TYPES_H_ */
CVSweb <webmaster@jp.NetBSD.org>