about summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-04-17 23:11:32 +0000
committerUlrich Drepper <drepper@redhat.com>2000-04-17 23:11:32 +0000
commit3c0b9326b17513a34d80c93db5d3d373e49ac937 (patch)
tree469a994016cae76c1c019f4dd10a53785d433cd5 /sysdeps/unix
parenta2380512b5af08e282104a1b7dcff0f893de75bc (diff)
downloadglibc-3c0b9326b17513a34d80c93db5d3d373e49ac937.tar.gz
glibc-3c0b9326b17513a34d80c93db5d3d373e49ac937.tar.xz
glibc-3c0b9326b17513a34d80c93db5d3d373e49ac937.zip
AIX msgget implementation.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/aix/bits/poll.h43
-rw-r--r--sysdeps/unix/sysv/aix/bits/termios.h189
-rw-r--r--sysdeps/unix/sysv/aix/brk.c19
-rw-r--r--sysdeps/unix/sysv/aix/chdir.c25
-rw-r--r--sysdeps/unix/sysv/aix/chmod.c25
-rw-r--r--sysdeps/unix/sysv/aix/chroot.c1
-rw-r--r--sysdeps/unix/sysv/aix/close.c19
-rw-r--r--sysdeps/unix/sysv/aix/creat.c1
-rw-r--r--sysdeps/unix/sysv/aix/dl-close.c9
-rw-r--r--sysdeps/unix/sysv/aix/dl-open.c9
-rw-r--r--sysdeps/unix/sysv/aix/dl-sym.c9
-rw-r--r--sysdeps/unix/sysv/aix/euidaccess.c20
-rw-r--r--sysdeps/unix/sysv/aix/execve.c19
-rw-r--r--sysdeps/unix/sysv/aix/fchdir.c1
-rw-r--r--sysdeps/unix/sysv/aix/fchmod.c25
-rw-r--r--sysdeps/unix/sysv/aix/getgid.c4
-rw-r--r--sysdeps/unix/sysv/aix/getgroups.c25
-rw-r--r--sysdeps/unix/sysv/aix/gethostname.c27
-rw-r--r--sysdeps/unix/sysv/aix/getpriority.c1
-rw-r--r--sysdeps/unix/sysv/aix/getrlimit.c25
-rw-r--r--sysdeps/unix/sysv/aix/getrlimit64.c25
-rw-r--r--sysdeps/unix/sysv/aix/getrusage.c27
-rw-r--r--sysdeps/unix/sysv/aix/getuid.c4
-rw-r--r--sysdeps/unix/sysv/aix/kill.c19
-rw-r--r--sysdeps/unix/sysv/aix/link.c27
-rw-r--r--sysdeps/unix/sysv/aix/lxstat.c2
-rw-r--r--sysdeps/unix/sysv/aix/lxstat64.c2
-rw-r--r--sysdeps/unix/sysv/aix/madvise.c1
-rw-r--r--sysdeps/unix/sysv/aix/mkdir.c25
-rw-r--r--sysdeps/unix/sysv/aix/mknod.c28
-rw-r--r--sysdeps/unix/sysv/aix/mprotect.c25
-rw-r--r--sysdeps/unix/sysv/aix/msgctl.c1
-rw-r--r--sysdeps/unix/sysv/aix/msgget.c1
33 files changed, 671 insertions, 12 deletions
diff --git a/sysdeps/unix/sysv/aix/bits/poll.h b/sysdeps/unix/sysv/aix/bits/poll.h
new file mode 100644
index 0000000000..431c8a6c4e
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/bits/poll.h
@@ -0,0 +1,43 @@
+/* Copyright (C) 1997, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _SYS_POLL_H
+# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
+#endif
+
+/* Event types that can be polled for.  These bits may be set in `events'
+   to indicate the interesting event types; they will appear in `revents'
+   to indicate the status of the file descriptor.  */
+#define POLLIN		0x0001		/* There is data to read.  */
+#define POLLPRI		0x0002		/* There is urgent data to read.  */
+#define POLLOUT		0x0004		/* Writing now will not block.  */
+
+#ifdef __USE_XOPEN
+/* These values are defined in XPG4.2.  */
+# define POLLRDNORM	0x0010		/* Normal data may be read.  */
+# define POLLRDBAND	0x0020		/* Priority data may be read.  */
+# define POLLWRNORM	POLLOUT		/* Writing now will not block.  */
+# define POLLWRBAND	0x0040		/* Priority data may be written.  */
+#endif
+
+/* Event types always implicitly polled for.  These bits need not be set in
+   `events', but they will appear in `revents' to indicate the status of
+   the file descriptor.  */
+#define POLLERR		0x4000		/* Error condition.  */
+#define POLLHUP		0x2000		/* Hung up.  */
+#define POLLNVAL	0x8000		/* Invalid polling request.  */
diff --git a/sysdeps/unix/sysv/aix/bits/termios.h b/sysdeps/unix/sysv/aix/bits/termios.h
new file mode 100644
index 0000000000..96e65d1e3d
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/bits/termios.h
@@ -0,0 +1,189 @@
+/* termios type and macro definitions.  AIX version.
+   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios.h> directly; use <termios.h> instead."
+#endif
+
+typedef unsigned char	cc_t;
+typedef unsigned int	speed_t;
+typedef unsigned int	tcflag_t;
+
+#define NCCS 16
+struct termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_cc[NCCS];		/* control characters */
+  };
+
+/* c_cc characters */
+#define VINTR 0
+#define VQUIT 1
+#define VERASE 2
+#define VKILL 3
+#define VEOF 4
+#define VEOL 5
+#define VSTART 7
+#define VSTOP 8
+#define VSUSP 9
+#define VMIN 4
+#define VTIME 5
+#define VEOL2 6
+#define VDSUSP 10
+#define VREPRINT 11
+#define VDISCARD 12
+#define VWERSE 13
+#define VWERASE VWERSE
+#define VLNEXT 14
+#define VSTRT VSTART
+
+/* c_iflag bits */
+#define IGNBRK	0000001
+#define BRKINT	0000002
+#define IGNPAR	0000004
+#define PARMRK	0000010
+#define INPCK	0000020
+#define ISTRIP	0000040
+#define INLCR	0000100
+#define IGNCR	0000200
+#define ICRNL	0000400
+#define IXON	0001000
+#define IXOFF	0002000
+#define IUCLC	0004000
+#define IXANY	0010000
+#define IMAXBEL	0200000
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define OLCUC	0000002
+#define ONLCR	0000004
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+#define OFILL	0000100
+#define OFDEL	0000200
+#if defined __USE_MISC || defined __USE_XOPEN
+# define CRDLY	0001400
+# define   CR0	0000000
+# define   CR1	0000400
+# define   CR2	0001000
+# define   CR3	0001400
+# define TABDLY	0006000
+# define   TAB0	0000000
+# define   TAB1	0002000
+# define   TAB2	0004000
+# define   TAB3	0006000
+# define BSDLY	0010000
+# define   BS0	0000000
+# define   BS1	0010000
+# define FFDLY	0020000
+# define   FF0	0000000
+# define   FF1	0020000
+# define NLDLY	0040000
+# define   NL0	0000000
+# define   NL1	0040000
+#endif
+
+#define VTDLY	0100000
+#define   VT0	0000000
+#define   VT1	0100000
+
+/* c_cflag bit meaning */
+#ifdef __USE_MISC
+# define CBAUD	0000017
+#endif
+#define  B0	0000000		/* hang up */
+#define  B50	0000001
+#define  B75	0000002
+#define  B110	0000003
+#define  B134	0000004
+#define  B150	0000005
+#define  B200	0000006
+#define  B300	0000007
+#define  B600	0000010
+#define  B1200	0000011
+#define  B1800	0000012
+#define  B2400	0000013
+#define  B4800	0000014
+#define  B9600	0000015
+#define  B19200	0000016
+#define  B38400	0000017
+#ifdef __USE_MISC
+# define EXTA B19200
+# define EXTB B38400
+#endif
+#define CSIZE	0000060
+#define   CS5	0000000
+#define   CS6	0000020
+#define   CS7	0000040
+#define   CS8	0000060
+#define CSTOPB	0000100
+#define CREAD	0000200
+#define PARENB	0000400
+#define PARODD	0001000
+#define HUPCL	0002000
+#define CLOCAL	0004000
+#ifdef __USE_MISC
+# define CIBAUD	  000003600000		/* input baud rate (not used) */
+# define CRTSCTS  020000000000		/* flow control */
+#endif
+
+/* c_lflag bits */
+#define ISIG	0000001
+#define ICANON	0000002
+#if defined __USE_MISC || defined __USE_XOPEN
+# define XCASE	0000004
+#endif
+#define ECHO	0000010
+#define ECHOE	0000020
+#define ECHOK	0000040
+#define ECHONL	0000100
+#define NOFLSH	0000200
+#define TOSTOP	0200000
+#ifdef __USE_MISC
+# define ECHOCTL 0400000
+# define ECHOPRT 01000000
+# define ECHOKE	 02000000
+# define FLUSHO	 004000000
+# define PENDIN	 04000000000
+#endif
+#define IEXTEN	010000000
+
+/* tcflow() and TCXONC use these */
+#define	TCOOFF		0
+#define	TCOON		1
+#define	TCIOFF		2
+#define	TCION		3
+
+/* tcflush() and TCFLSH use these */
+#define	TCIFLUSH	0
+#define	TCOFLUSH	1
+#define	TCIOFLUSH	2
+
+/* tcsetattr uses these */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
+
+
+#define _IOT_termios /* Hurd ioctl type field.  */ \
+  _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/sysdeps/unix/sysv/aix/brk.c b/sysdeps/unix/sysv/aix/brk.c
index 64bc8cdd2b..f736e28724 100644
--- a/sysdeps/unix/sysv/aix/brk.c
+++ b/sysdeps/unix/sysv/aix/brk.c
@@ -1,4 +1,21 @@
-/* This is a system call.  We only have to provide the wrapper.  */
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
 #include <unistd.h>
 
 int
diff --git a/sysdeps/unix/sysv/aix/chdir.c b/sysdeps/unix/sysv/aix/chdir.c
new file mode 100644
index 0000000000..17d46f7b53
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/chdir.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <unistd.h>
+
+int
+__chdir (const char *path)
+{
+  return chdir (path);
+}
diff --git a/sysdeps/unix/sysv/aix/chmod.c b/sysdeps/unix/sysv/aix/chmod.c
new file mode 100644
index 0000000000..dbbe84e8f1
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/chmod.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sys/stat.h>
+
+int
+__chmod (const char *path, mode_t mode)
+{
+  return chmod (path, mode);
+}
diff --git a/sysdeps/unix/sysv/aix/chroot.c b/sysdeps/unix/sysv/aix/chroot.c
new file mode 100644
index 0000000000..6036fbbffd
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/chroot.c
@@ -0,0 +1 @@
+/* This is a system call.  */
diff --git a/sysdeps/unix/sysv/aix/close.c b/sysdeps/unix/sysv/aix/close.c
index 4d500c50af..e32b4fd10a 100644
--- a/sysdeps/unix/sysv/aix/close.c
+++ b/sysdeps/unix/sysv/aix/close.c
@@ -1,4 +1,21 @@
-/* This is a system call.  We only have to provide the wrapper.  */
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
 #include <unistd.h>
 
 int
diff --git a/sysdeps/unix/sysv/aix/creat.c b/sysdeps/unix/sysv/aix/creat.c
new file mode 100644
index 0000000000..6036fbbffd
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/creat.c
@@ -0,0 +1 @@
+/* This is a system call.  */
diff --git a/sysdeps/unix/sysv/aix/dl-close.c b/sysdeps/unix/sysv/aix/dl-close.c
new file mode 100644
index 0000000000..a9a492a9c7
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/dl-close.c
@@ -0,0 +1,9 @@
+/* XXX The implementation of dlopen should somehow use the __loadx system
+   call but how?  */
+#include <dlfcn.h>
+
+int
+__libc_dlclose (void *handle)
+{
+  return 0;
+}
diff --git a/sysdeps/unix/sysv/aix/dl-open.c b/sysdeps/unix/sysv/aix/dl-open.c
new file mode 100644
index 0000000000..50fd7120c5
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/dl-open.c
@@ -0,0 +1,9 @@
+/* XXX The implementation of dlopen should somehow use the __loadx system
+   call but how?  */
+#include <dlfcn.h>
+
+void *
+__libc_dlopen (const char *file)
+{
+  return (void *) 0;
+}
diff --git a/sysdeps/unix/sysv/aix/dl-sym.c b/sysdeps/unix/sysv/aix/dl-sym.c
new file mode 100644
index 0000000000..7e10ba10b0
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/dl-sym.c
@@ -0,0 +1,9 @@
+/* XXX The implementation of dlopen should somehow use the __loadx system
+   call but how?  */
+#include <dlfcn.h>
+
+void *
+__libc_dlsym (void *handle, const char *name)
+{
+  return (void *) 0;
+}
diff --git a/sysdeps/unix/sysv/aix/euidaccess.c b/sysdeps/unix/sysv/aix/euidaccess.c
index 598755c2df..55e28230b1 100644
--- a/sysdeps/unix/sysv/aix/euidaccess.c
+++ b/sysdeps/unix/sysv/aix/euidaccess.c
@@ -1,3 +1,23 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#define ACC_SELF	0
+
 int
 euidaccess (const char *name, int type)
 {
diff --git a/sysdeps/unix/sysv/aix/execve.c b/sysdeps/unix/sysv/aix/execve.c
index ea1b67d630..968dc21169 100644
--- a/sysdeps/unix/sysv/aix/execve.c
+++ b/sysdeps/unix/sysv/aix/execve.c
@@ -1,4 +1,21 @@
-/* This is a system call.  We only have to provide the wrapper.  */
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
 #include <unistd.h>
 
 int
diff --git a/sysdeps/unix/sysv/aix/fchdir.c b/sysdeps/unix/sysv/aix/fchdir.c
new file mode 100644
index 0000000000..6036fbbffd
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/fchdir.c
@@ -0,0 +1 @@
+/* This is a system call.  */
diff --git a/sysdeps/unix/sysv/aix/fchmod.c b/sysdeps/unix/sysv/aix/fchmod.c
new file mode 100644
index 0000000000..49fc92d074
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/fchmod.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sys/stat.h>
+
+int
+__fchmod (int fd, mode_t mode)
+{
+  return fchmod (fd, mode);
+}
diff --git a/sysdeps/unix/sysv/aix/getgid.c b/sysdeps/unix/sysv/aix/getgid.c
index ca088652f6..6f2df60b50 100644
--- a/sysdeps/unix/sysv/aix/getgid.c
+++ b/sysdeps/unix/sysv/aix/getgid.c
@@ -17,8 +17,8 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <unistd.h>
-/* is there a reason *NOT* to include <sys/id.h>?  If so #define ID_REAL */
-#include <sys/id.h>
+
+#define ID_REAL	2
 
 extern gid_t getgidx (int which);
 
diff --git a/sysdeps/unix/sysv/aix/getgroups.c b/sysdeps/unix/sysv/aix/getgroups.c
new file mode 100644
index 0000000000..37ace340ed
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/getgroups.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <unistd.h>
+
+int
+__getgroups (int size, gid_t list[])
+{
+  return getgroups (size, list);
+}
diff --git a/sysdeps/unix/sysv/aix/gethostname.c b/sysdeps/unix/sysv/aix/gethostname.c
new file mode 100644
index 0000000000..b213c6ffd5
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/gethostname.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <unistd.h>
+
+int
+__gethostname (name, len)
+     char *name;
+     size_t len;
+{
+  return gethostname (name, len);
+}
diff --git a/sysdeps/unix/sysv/aix/getpriority.c b/sysdeps/unix/sysv/aix/getpriority.c
new file mode 100644
index 0000000000..6036fbbffd
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/getpriority.c
@@ -0,0 +1 @@
+/* This is a system call.  */
diff --git a/sysdeps/unix/sysv/aix/getrlimit.c b/sysdeps/unix/sysv/aix/getrlimit.c
new file mode 100644
index 0000000000..2658f7ee4a
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/getrlimit.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sys/resource.h>
+
+int
+__getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits)
+{
+  return getrlimit (resource, rlimits);
+}
diff --git a/sysdeps/unix/sysv/aix/getrlimit64.c b/sysdeps/unix/sysv/aix/getrlimit64.c
new file mode 100644
index 0000000000..8f46c5fff3
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/getrlimit64.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sys/resource.h>
+
+int
+__getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits)
+{
+  return getrlimit64 (resource, rlimits);
+}
diff --git a/sysdeps/unix/sysv/aix/getrusage.c b/sysdeps/unix/sysv/aix/getrusage.c
new file mode 100644
index 0000000000..aa80adecc6
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/getrusage.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sys/resource.h>
+
+int
+__getrusage (who, usage)
+     enum __rusage_who who;
+     struct rusage *usage;
+{
+  return getrusage (who, usage);
+}
diff --git a/sysdeps/unix/sysv/aix/getuid.c b/sysdeps/unix/sysv/aix/getuid.c
index 4bc1c8acdb..8d5f07098f 100644
--- a/sysdeps/unix/sysv/aix/getuid.c
+++ b/sysdeps/unix/sysv/aix/getuid.c
@@ -17,8 +17,8 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <unistd.h>
-/* is there a reason *NOT* to include <sys/id.h>?  If so #define ID_REAL */
-#include <sys/id.h>
+
+#define ID_REAL	2
 
 extern uid_t getuidx (int which);
 
diff --git a/sysdeps/unix/sysv/aix/kill.c b/sysdeps/unix/sysv/aix/kill.c
index dfe366c397..861cff3360 100644
--- a/sysdeps/unix/sysv/aix/kill.c
+++ b/sysdeps/unix/sysv/aix/kill.c
@@ -1,4 +1,21 @@
-/* This is a system call.  We only have to provide the wrapper.  */
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
 #include <unistd.h>
 
 int
diff --git a/sysdeps/unix/sysv/aix/link.c b/sysdeps/unix/sysv/aix/link.c
new file mode 100644
index 0000000000..bb650cc476
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/link.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 1997, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <unistd.h>
+
+int
+__link (from, to)
+     const char *from;
+     const char *to;
+{
+  return link (from, to);
+}
diff --git a/sysdeps/unix/sysv/aix/lxstat.c b/sysdeps/unix/sysv/aix/lxstat.c
index 2edaf72d86..58d8710a4a 100644
--- a/sysdeps/unix/sysv/aix/lxstat.c
+++ b/sysdeps/unix/sysv/aix/lxstat.c
@@ -19,9 +19,7 @@
 #include <assert.h>
 #include <sys/stat.h>
 
-/* this is #define'd in <sys/stat.h> - why #define it again?
 #define STX_LINK        0x01
- */
 
 extern int statx (const char *pathname, struct stat *st, int len, int cmd);
 
diff --git a/sysdeps/unix/sysv/aix/lxstat64.c b/sysdeps/unix/sysv/aix/lxstat64.c
index 426b59443f..4741da0e52 100644
--- a/sysdeps/unix/sysv/aix/lxstat64.c
+++ b/sysdeps/unix/sysv/aix/lxstat64.c
@@ -19,10 +19,8 @@
 #include <assert.h>
 #include <sys/stat.h>
 
-/* these are #define'd in <sys/stat.h> why #define them again?
 #define STX_LINK        0x01
 #define STX_64          0x08
- */
 
 extern int statx (const char *pathname, struct stat64 *st, int len, int cmd);
 
diff --git a/sysdeps/unix/sysv/aix/madvise.c b/sysdeps/unix/sysv/aix/madvise.c
new file mode 100644
index 0000000000..6036fbbffd
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/madvise.c
@@ -0,0 +1 @@
+/* This is a system call.  */
diff --git a/sysdeps/unix/sysv/aix/mkdir.c b/sysdeps/unix/sysv/aix/mkdir.c
new file mode 100644
index 0000000000..f7c358af42
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/mkdir.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sys/stat.h>
+
+int
+__mkdir (const char *name, mode_t mode)
+{
+  return mkdir (name, mode);
+}
diff --git a/sysdeps/unix/sysv/aix/mknod.c b/sysdeps/unix/sysv/aix/mknod.c
new file mode 100644
index 0000000000..d724595e1f
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/mknod.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sys/stat.h>
+
+int
+__mknod (path, mode, device)
+     const char *path;
+     mode_t mode;
+     dev_t device;
+{
+  return mknod (path, mode, device);
+}
diff --git a/sysdeps/unix/sysv/aix/mprotect.c b/sysdeps/unix/sysv/aix/mprotect.c
new file mode 100644
index 0000000000..30374bbd5d
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/mprotect.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sys/mman.h>
+
+int
+__mprotect (void *addr, size_t len, int prot)
+{
+  return mprotect (addr, len, prot);
+}
diff --git a/sysdeps/unix/sysv/aix/msgctl.c b/sysdeps/unix/sysv/aix/msgctl.c
new file mode 100644
index 0000000000..6036fbbffd
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/msgctl.c
@@ -0,0 +1 @@
+/* This is a system call.  */
diff --git a/sysdeps/unix/sysv/aix/msgget.c b/sysdeps/unix/sysv/aix/msgget.c
new file mode 100644
index 0000000000..6036fbbffd
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/msgget.c
@@ -0,0 +1 @@
+/* This is a system call.  */