Add getcwd (for real this time), fix dup and dup2

This commit is contained in:
manu 2006-02-15 15:23:18 +00:00
parent 9040ed946b
commit 5e9b532be2
5 changed files with 47 additions and 34 deletions

View File

@ -1,10 +1,10 @@
/* $NetBSD: linux32_syscall.h,v 1.2 2006/02/15 09:31:17 manu Exp $ */
/* $NetBSD: linux32_syscall.h,v 1.3 2006/02/15 15:23:18 manu Exp $ */
/*
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
* created from NetBSD
* created from NetBSD: syscalls.master,v 1.1 2006/02/09 19:18:57 manu Exp
*/
#ifndef _LINUX32_SYS_SYSCALL_H_
@ -114,8 +114,8 @@
/* syscall: "rmdir" ret: "int" args: "const netbsd32_charp" */
#define LINUX32_SYS_rmdir 40
/* syscall: "dup" ret: "int" args: "u_int" */
#define LINUX32_SYS_dup 41
/* syscall: "netbsd32_dup" ret: "int" args: "u_int" */
#define LINUX32_SYS_netbsd32_dup 41
/* syscall: "pipe" ret: "int" args: "netbsd32_intp" */
#define LINUX32_SYS_pipe 42
@ -167,8 +167,8 @@
/* syscall: "chroot" ret: "int" args: "netbsd32_charp" */
#define LINUX32_SYS_chroot 61
/* syscall: "dup2" ret: "int" args: "u_int" "u_int" */
#define LINUX32_SYS_dup2 63
/* syscall: "netbsd32_dup2" ret: "int" args: "u_int" "u_int" */
#define LINUX32_SYS_netbsd32_dup2 63
/* syscall: "getppid" ret: "pid_t" args: */
#define LINUX32_SYS_getppid 64
@ -377,6 +377,12 @@
/* syscall: "setregid" ret: "int" args: "gid_t" "gid_t" */
#define LINUX32_SYS_setregid 204
/* syscall: "netbsd32_getgroups" ret: "int" args: "int" "netbsd32_gid_tp" */
#define LINUX32_SYS_netbsd32_getgroups 205
/* syscall: "netbsd32_setgroups" ret: "int" args: "int" "netbsd32_gid_tp" */
#define LINUX32_SYS_netbsd32_setgroups 206
/* syscall: "__posix_fchown" ret: "int" args: "int" "uid_t" "gid_t" */
#define LINUX32_SYS___posix_fchown 207

View File

@ -1,10 +1,10 @@
/* $NetBSD: linux32_syscallargs.h,v 1.2 2006/02/15 09:31:17 manu Exp $ */
/* $NetBSD: linux32_syscallargs.h,v 1.3 2006/02/15 15:23:18 manu Exp $ */
/*
* System call argument lists.
*
* DO NOT EDIT-- this file is automatically generated.
* created from NetBSD
* created from NetBSD: syscalls.master,v 1.1 2006/02/09 19:18:57 manu Exp
*/
#ifndef _LINUX32_SYS_SYSCALLARGS_H_
@ -421,7 +421,7 @@ int linux32_sys_mkdir(struct lwp *, void *, register_t *);
int linux32_sys_rmdir(struct lwp *, void *, register_t *);
int sys_dup(struct lwp *, void *, register_t *);
int netbsd32_dup(struct lwp *, void *, register_t *);
int linux32_sys_pipe(struct lwp *, void *, register_t *);
@ -453,7 +453,7 @@ int sys_umask(struct lwp *, void *, register_t *);
int netbsd32_chroot(struct lwp *, void *, register_t *);
int sys_dup2(struct lwp *, void *, register_t *);
int netbsd32_dup2(struct lwp *, void *, register_t *);
int sys_getppid(struct lwp *, void *, register_t *);
@ -585,6 +585,10 @@ int sys_setreuid(struct lwp *, void *, register_t *);
int sys_setregid(struct lwp *, void *, register_t *);
int netbsd32_getgroups(struct lwp *, void *, register_t *);
int netbsd32_setgroups(struct lwp *, void *, register_t *);
int sys___posix_fchown(struct lwp *, void *, register_t *);
int linux_sys_setresuid(struct lwp *, void *, register_t *);

View File

@ -1,14 +1,14 @@
/* $NetBSD: linux32_syscalls.c,v 1.2 2006/02/15 09:31:17 manu Exp $ */
/* $NetBSD: linux32_syscalls.c,v 1.3 2006/02/15 15:23:18 manu Exp $ */
/*
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
* created from NetBSD
* created from NetBSD: syscalls.master,v 1.1 2006/02/09 19:18:57 manu Exp
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.2 2006/02/15 09:31:17 manu Exp $");
__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.3 2006/02/15 15:23:18 manu Exp $");
#if defined(_KERNEL_OPT)
#if defined(_KERNEL_OPT)
@ -78,7 +78,7 @@ const char *const linux32_syscallnames[] = {
"rename", /* 38 = rename */
"mkdir", /* 39 = mkdir */
"rmdir", /* 40 = rmdir */
"dup", /* 41 = dup */
"netbsd32_dup", /* 41 = netbsd32_dup */
"pipe", /* 42 = pipe */
"times", /* 43 = times */
"#44 (obsolete prof)", /* 44 = obsolete prof */
@ -100,7 +100,7 @@ const char *const linux32_syscallnames[] = {
"umask", /* 60 = umask */
"chroot", /* 61 = chroot */
"#62 (unimplemented ustat)", /* 62 = unimplemented ustat */
"dup2", /* 63 = dup2 */
"netbsd32_dup2", /* 63 = netbsd32_dup2 */
"getppid", /* 64 = getppid */
"getpgrp", /* 65 = getpgrp */
"setsid", /* 66 = setsid */
@ -242,8 +242,8 @@ const char *const linux32_syscallnames[] = {
"getegid", /* 202 = getegid */
"setreuid", /* 203 = setreuid */
"setregid", /* 204 = setregid */
"#205 (unimplemented getgroups)", /* 205 = unimplemented getgroups */
"#206 (unimplemented setgroups)", /* 206 = unimplemented setgroups */
"netbsd32_getgroups", /* 205 = netbsd32_getgroups */
"netbsd32_setgroups", /* 206 = netbsd32_setgroups */
"__posix_fchown", /* 207 = __posix_fchown */
"setresuid", /* 208 = setresuid */
"#209 (unimplemented getresuid)", /* 209 = unimplemented getresuid */

View File

@ -1,14 +1,14 @@
/* $NetBSD: linux32_sysent.c,v 1.2 2006/02/15 09:31:17 manu Exp $ */
/* $NetBSD: linux32_sysent.c,v 1.3 2006/02/15 15:23:18 manu Exp $ */
/*
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
* created from NetBSD
* created from NetBSD: syscalls.master,v 1.1 2006/02/09 19:18:57 manu Exp
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.2 2006/02/15 09:31:17 manu Exp $");
__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.3 2006/02/15 15:23:18 manu Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_43.h"
@ -119,8 +119,8 @@ struct sysent linux32_sysent[] = {
linux32_sys_mkdir }, /* 39 = mkdir */
{ 1, s(struct linux32_sys_rmdir_args), 0,
linux32_sys_rmdir }, /* 40 = rmdir */
{ 1, s(struct sys_dup_args), 0,
sys_dup }, /* 41 = dup */
{ 1, s(struct netbsd32_dup_args), 0,
netbsd32_dup }, /* 41 = netbsd32_dup */
{ 1, s(struct linux32_sys_pipe_args), 0,
linux32_sys_pipe }, /* 42 = pipe */
{ 1, s(struct linux32_sys_times_args), 0,
@ -163,8 +163,8 @@ struct sysent linux32_sysent[] = {
netbsd32_chroot }, /* 61 = chroot */
{ 0, 0, 0,
linux_sys_nosys }, /* 62 = unimplemented ustat */
{ 2, s(struct sys_dup2_args), 0,
sys_dup2 }, /* 63 = dup2 */
{ 2, s(struct netbsd32_dup2_args), 0,
netbsd32_dup2 }, /* 63 = netbsd32_dup2 */
{ 0, 0, 0,
sys_getppid }, /* 64 = getppid */
{ 0, 0, 0,
@ -447,10 +447,10 @@ struct sysent linux32_sysent[] = {
sys_setreuid }, /* 203 = setreuid */
{ 2, s(struct sys_setregid_args), 0,
sys_setregid }, /* 204 = setregid */
{ 0, 0, 0,
linux_sys_nosys }, /* 205 = unimplemented getgroups */
{ 0, 0, 0,
linux_sys_nosys }, /* 206 = unimplemented setgroups */
{ 2, s(struct netbsd32_getgroups_args), 0,
netbsd32_getgroups }, /* 205 = netbsd32_getgroups */
{ 2, s(struct netbsd32_setgroups_args), 0,
netbsd32_setgroups }, /* 206 = netbsd32_setgroups */
{ 3, s(struct sys___posix_fchown_args), 0,
sys___posix_fchown }, /* 207 = __posix_fchown */
{ 3, s(struct linux_sys_setresuid_args), 0,

View File

@ -1,4 +1,4 @@
$NetBSD: syscalls.master,v 1.1 2006/02/09 19:18:57 manu Exp $
$NetBSD: syscalls.master,v 1.2 2006/02/15 15:23:18 manu Exp $
; NetBSD i386 COMPAT_LINUX32 system call name/number "master" file.
; (See syscalls.conf to see what it is processed into.)
@ -116,7 +116,7 @@
const netbsd32_charp to); }
39 STD { int linux32_sys_mkdir(const netbsd32_charp path, int mode); }
40 STD { int linux32_sys_rmdir(const netbsd32_charp path); }
41 NOARGS { int sys_dup(u_int fd); }
41 NOARGS { int netbsd32_dup(u_int fd); }
42 STD { int linux32_sys_pipe(netbsd32_intp fd); }
43 STD { int linux32_sys_times(linux32_tmsp_t tms); }
44 OBSOL prof
@ -142,7 +142,7 @@
60 NOARGS { int sys_umask(int newmask); }
61 NOARGS chroot { int netbsd32_chroot(netbsd32_charp path); }
62 UNIMPL ustat
63 NOARGS { int sys_dup2(u_int from, u_int to); }
63 NOARGS { int netbsd32_dup2(u_int from, u_int to); }
64 NOARGS { pid_t sys_getppid(void); }
65 NOARGS { int sys_getpgrp(void); }
66 NOARGS { int sys_setsid(void); }
@ -300,7 +300,8 @@
180 UNIMPL pread
181 UNIMPL pwrite
182 UNIMPL chown16
183 UNIMPL getcwd
183 NOARGS { int netbsd32___getcwd(netbsd32_charp bufp, \
netbsd32_size_t length); }
184 UNIMPL capget
185 UNIMPL capset
186 UNIMPL sigaltstack
@ -326,8 +327,10 @@
202 NOARGS { gid_t sys_getegid(void); }
203 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
204 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
205 UNIMPL getgroups
206 UNIMPL setgroups
205 NOARGS { int netbsd32_getgroups(int gidsetsize, \
netbsd32_gid_tp gidset); }
206 NOARGS { int netbsd32_setgroups(int gidsetsize, \
netbsd32_gid_tp gidset); }
207 NOARGS { int sys___posix_fchown(int fd, uid_t uid, gid_t gid); }
208 NOARGS { int linux_sys_setresuid(uid_t ruid, uid_t euid, \
uid_t suid); }