xref: /netbsd-src/sys/compat/linux32/arch/aarch64/linux32_missing.h (revision 2f5e5e735694c180714bb1b7faa48b23eb56b861)
1*2f5e5e73Sryo /*	$NetBSD: linux32_missing.h,v 1.1 2021/11/25 03:08:04 ryo Exp $	*/
2*2f5e5e73Sryo 
3*2f5e5e73Sryo /*-
4*2f5e5e73Sryo  * Copyright (c) 2021 The NetBSD Foundation, Inc.
5*2f5e5e73Sryo  * All rights reserved.
6*2f5e5e73Sryo  *
7*2f5e5e73Sryo  * This code is derived from software contributed to The NetBSD Foundation
8*2f5e5e73Sryo  * by Ryo Shimizu.
9*2f5e5e73Sryo  *
10*2f5e5e73Sryo  * Redistribution and use in source and binary forms, with or without
11*2f5e5e73Sryo  * modification, are permitted provided that the following conditions
12*2f5e5e73Sryo  * are met:
13*2f5e5e73Sryo  * 1. Redistributions of source code must retain the above copyright
14*2f5e5e73Sryo  *    notice, this list of conditions and the following disclaimer.
15*2f5e5e73Sryo  * 2. Redistributions in binary form must reproduce the above copyright
16*2f5e5e73Sryo  *    notice, this list of conditions and the following disclaimer in the
17*2f5e5e73Sryo  *    documentation and/or other materials provided with the distribution.
18*2f5e5e73Sryo  *
19*2f5e5e73Sryo  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20*2f5e5e73Sryo  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21*2f5e5e73Sryo  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22*2f5e5e73Sryo  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23*2f5e5e73Sryo  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24*2f5e5e73Sryo  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25*2f5e5e73Sryo  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26*2f5e5e73Sryo  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27*2f5e5e73Sryo  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28*2f5e5e73Sryo  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29*2f5e5e73Sryo  * POSSIBILITY OF SUCH DAMAGE.
30*2f5e5e73Sryo  */
31*2f5e5e73Sryo 
32*2f5e5e73Sryo #ifndef _AARCH64_LINUX32_MISSING_H_
33*2f5e5e73Sryo #define _AARCH64_LINUX32_MISSING_H_
34*2f5e5e73Sryo 
35*2f5e5e73Sryo #include <compat/netbsd32/netbsd32.h>
36*2f5e5e73Sryo #include <compat/linux/common/linux_types.h>
37*2f5e5e73Sryo #include <compat/linux/common/linux_machdep.h>
38*2f5e5e73Sryo 
39*2f5e5e73Sryo /*
40*2f5e5e73Sryo  * system calls not defined for COMPAT_LINUX/aarch64
41*2f5e5e73Sryo  * but needed for COMPAT_LINUX32
42*2f5e5e73Sryo  */
43*2f5e5e73Sryo struct linux_sys_old_mmap_args {
44*2f5e5e73Sryo 	syscallarg(struct linux_oldmmap *) lmp;
45*2f5e5e73Sryo };
46*2f5e5e73Sryo int linux_sys_old_mmap(struct lwp *, const struct linux_sys_old_mmap_args *, register_t *);
47*2f5e5e73Sryo 
48*2f5e5e73Sryo struct linux_sys_getgroups16_args {
49*2f5e5e73Sryo 	syscallarg(int) gidsetsize;
50*2f5e5e73Sryo 	syscallarg(linux_gid16_t *) gidset;
51*2f5e5e73Sryo };
52*2f5e5e73Sryo struct linux_sys_setgroups16_args {
53*2f5e5e73Sryo 	syscallarg(int) gidsetsize;
54*2f5e5e73Sryo 	syscallarg(linux_gid16_t *) gidset;
55*2f5e5e73Sryo };
56*2f5e5e73Sryo int linux_sys_getgroups16(struct lwp *, const struct linux_sys_getgroups16_args *, register_t *);
57*2f5e5e73Sryo int linux_sys_setgroups16(struct lwp *, const struct linux_sys_setgroups16_args *, register_t *);
58*2f5e5e73Sryo 
59*2f5e5e73Sryo #endif /* _AARCH64_LINUX32_MISSING_H_ */
60