mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
Update.
2000-05-05 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/aix/linux/errnoconv.c: Moved to... * sysdeps/unix/sysv/linux/powerpc/aix/errnoconv.c: ...here. * sysdeps/unix/sysv/aix/linux/statconv.c: Moved to... * sysdeps/unix/sysv/linux/powerpc/aix/statconv.c: ...here. * sysdeps/unix/sysv/aix/linux/direntconv.c: Moved to... * sysdeps/unix/sysv/linux/powerpc/aix/direntconv.c: ...here. * sysdeps/unix/sysv/aix/linux/linux-errno.h: Removed. * sysdeps/unix/sysv/aix/linux/linux-stat.h: Removed * sysdeps/unix/sysv/aix/linux/linux-dirent.h: Removed. * sysdeps/unix/sysv/linux/powerpc/aix/aix-dirent.h: New file. * sysdeps/unix/sysv/linux/powerpc/aix/aix-errno.h: New file. * sysdeps/unix/sysv/linux/powerpc/aix/aix-stat.h: New file. * sysdeps/unix/sysv/linux/powerpc/aix/aix-termios.h: New file. * sysdeps/unix/sysv/linux/powerpc/aix/tcsetattr.c: New file.
This commit is contained in:
parent
f1d86a931b
commit
3c38e028f3
20
ChangeLog
20
ChangeLog
@ -1,3 +1,23 @@
|
||||
2000-05-05 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/aix/linux/errnoconv.c: Moved to...
|
||||
* sysdeps/unix/sysv/linux/powerpc/aix/errnoconv.c: ...here.
|
||||
* sysdeps/unix/sysv/aix/linux/statconv.c: Moved to...
|
||||
* sysdeps/unix/sysv/linux/powerpc/aix/statconv.c: ...here.
|
||||
* sysdeps/unix/sysv/aix/linux/direntconv.c: Moved to...
|
||||
* sysdeps/unix/sysv/linux/powerpc/aix/direntconv.c: ...here.
|
||||
|
||||
* sysdeps/unix/sysv/aix/linux/linux-errno.h: Removed.
|
||||
* sysdeps/unix/sysv/aix/linux/linux-stat.h: Removed
|
||||
* sysdeps/unix/sysv/aix/linux/linux-dirent.h: Removed.
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/aix/aix-dirent.h: New file.
|
||||
* sysdeps/unix/sysv/linux/powerpc/aix/aix-errno.h: New file.
|
||||
* sysdeps/unix/sysv/linux/powerpc/aix/aix-stat.h: New file.
|
||||
* sysdeps/unix/sysv/linux/powerpc/aix/aix-termios.h: New file.
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/aix/tcsetattr.c: New file.
|
||||
|
||||
2000-05-05 Jes Sorensen <jes@linuxcare.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/ia64/sysdep.h: New file.
|
||||
|
@ -1,31 +0,0 @@
|
||||
#include <dirent.h>
|
||||
#include <string.h>
|
||||
#include "linux-dirent.h"
|
||||
|
||||
#ifndef DT_UNKNOWN
|
||||
# define DT_UNKNOWN 0
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
__dirent_aix_to_linux (const struct dirent *aixdir,
|
||||
struct linuxdirent *linuxdir)
|
||||
{
|
||||
linuxdir->d_ino = aixdir->d_ino;
|
||||
linuxdir->d_off = aixdir->d_off;
|
||||
linuxdir->d_reclen = aixdir->d_reclen;
|
||||
linuxdir->d_type = DT_UNKNOWN;
|
||||
strncpy (linuxdir->d_name, aixdir->d_name, 256);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
__dirent64_aix_to_linux (const struct dirent64 *aixdir,
|
||||
struct linuxdirent64 *linuxdir)
|
||||
{
|
||||
linuxdir->d_ino = aixdir->d_ino;
|
||||
linuxdir->d_off = aixdir->d_off;
|
||||
linuxdir->d_reclen = aixdir->d_reclen;
|
||||
linuxdir->d_type = DT_UNKNOWN;
|
||||
strncpy (linuxdir->d_name, aixdir->d_name, 256);
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
/* Convert the error number the AIX kernel returns to what the Linux
|
||||
application expects. */
|
||||
#include <errno.h>
|
||||
#include "linux-errno.h"
|
||||
|
||||
|
||||
static int mapping[] =
|
||||
{
|
||||
[EPERM] = LINUX_EPERM,
|
||||
[ENOENT] = LINUX_ENOENT,
|
||||
[ESRCH] = LINUX_ESRCH,
|
||||
[EINTR] = LINUX_EINTR,
|
||||
[EIO] = LINUX_EIO,
|
||||
[ENXIO] = LINUX_ENXIO,
|
||||
[E2BIG] = LINUX_E2BIG,
|
||||
[ENOEXEC] = LINUX_ENOEXEC,
|
||||
[EBADF] = LINUX_EBADF,
|
||||
[ECHILD] = LINUX_ECHILD,
|
||||
[EAGAIN] = LINUX_EAGAIN,
|
||||
[ENOMEM] = LINUX_ENOMEM,
|
||||
[EACCES] = LINUX_EACCES,
|
||||
[EFAULT] = LINUX_EFAULT,
|
||||
[ENOTBLK] = LINUX_ENOTBLK,
|
||||
[EBUSY] = LINUX_EBUSY,
|
||||
[EEXIST] = LINUX_EEXIST,
|
||||
[EXDEV] = LINUX_EXDEV,
|
||||
[ENODEV] = LINUX_ENODEV,
|
||||
[ENOTDIR] = LINUX_ENOTDIR,
|
||||
[EISDIR] = LINUX_EISDIR,
|
||||
[EINVAL] = LINUX_EINVAL,
|
||||
[ENFILE] = LINUX_ENFILE,
|
||||
[EMFILE] = LINUX_EMFILE,
|
||||
[ENOTTY] = LINUX_ENOTTY,
|
||||
[ETXTBSY] = LINUX_ETXTBSY,
|
||||
[EFBIG] = LINUX_EFBIG,
|
||||
[ENOSPC] = LINUX_ENOSPC,
|
||||
[EIDRM] = LINUX_EIDRM,
|
||||
[ECHRNG] = LINUX_ECHRNG,
|
||||
[EL2NSYNC] = LINUX_EL2NSYNC,
|
||||
[EL3HLT] = LINUX_EL3HLT,
|
||||
[EL3RST] = LINUX_EL3RST,
|
||||
[ELNRNG] = LINUX_ELNRNG,
|
||||
[EUNATCH] = LINUX_EUNATCH,
|
||||
[ENOCSI] = LINUX_ENOCSI,
|
||||
[EL2HLT] = LINUX_EL2HLT,
|
||||
[EDEADLK] = LINUX_EDEADLK,
|
||||
[ENOTREADY] = LINUX_ENOTREADY,
|
||||
// EWPROTECT: no Linux equivalent
|
||||
// EFORMAT: no Linux equivalent
|
||||
[ENOLCK] = LINUX_ENOLCK,
|
||||
// ENOCONNECT: No Linux equivalent
|
||||
[ESTALE] = LINUX_ESTALE,
|
||||
// EDIST: no Linux equivalent
|
||||
[54] = LINUX_EAGAIN, // EWOULDBLOCK
|
||||
[EINPROGRESS] = LINUX_EINPROGRESS,
|
||||
[EALREADY] = LINUX_EALREADY,
|
||||
[ENOTSOCK] = LINUX_ENOTSOCK,
|
||||
[EDESTADDRREQ] = LINUX_EDESTADDRREQ,
|
||||
[EMSGSIZE] = LINUX_EMSGSIZE,
|
||||
[EPROTOTYPE] = LINUX_EPROTOTYPE,
|
||||
[ENOPROTOOPT] = LINUX_ENOPROTOOPT,
|
||||
[EPROTONOSUPPORT] = LINUX_EPROTONOSUPPORT,
|
||||
[ESOCKTNOSUPPORT] = LINUX_ESOCKTNOSUPPORT,
|
||||
[EOPNOTSUPP] = LINUX_EOPNOTSUPP,
|
||||
[EPFNOSUPPORT] = LINUX_EPFNOSUPPORT,
|
||||
[EAFNOSUPPORT] = LINUX_EAFNOSUPPORT,
|
||||
[EADDRINUSE] = LINUX_EADDRINUSE,
|
||||
[EADDRNOTAVAIL] = LINUX_EADDRNOTAVAIL,
|
||||
[ENETDOWN] = LINUX_ENETDOWN,
|
||||
[ENETUNREACH] = LINUX_ENETUNREACH,
|
||||
[ENETRESET] = LINUX_ENETRESET,
|
||||
[ECONNABORTED] = LINUX_ECONNABORTED,
|
||||
[ECONNRESET] = LINUX_ECONNRESET,
|
||||
[ENOBUFS] = LINUX_ENOBUFS,
|
||||
[EISCONN] = LINUX_EISCONN,
|
||||
[ENOTCONN] = LINUX_ENOTCONN,
|
||||
[ESHUTDOWN] = LINUX_ESHUTDOWN,
|
||||
[ETIMEDOUT] = LINUX_ETIMEDOUT,
|
||||
[ECONNREFUSED] = LINUX_ECONNREFUSED,
|
||||
[EHOSTDOWN] = LINUX_EHOSTDOWN,
|
||||
[EHOSTUNREACH] = LINUX_EHOSTUNREACH,
|
||||
[ERESTART] = LINUX_ERESTART,
|
||||
[EPROCLIM] = LINUX_EPROCLIM,
|
||||
[EUSERS] = LINUX_EUSERS,
|
||||
[ELOOP] = LINUX_ELOOP,
|
||||
[ENAMETOOLONG] = LINUX_ENAMETOOLONG,
|
||||
[87] = LINUX_ENOTEMPTY, // ENOTEMPTY
|
||||
[EDQUOT] = LINUX_EDQUOT,
|
||||
[ECORRUPT] = LINUX_ECORRUPT,
|
||||
[EREMOTE] = LINUX_EREMOTE,
|
||||
[ENOSYS] = LINUX_ENOSYS,
|
||||
[EMEDIA] = LINUX_EMEDIA,
|
||||
[ESOFT] = LINUX_ESOFT,
|
||||
[ENOATTR] = LINUX_ENOATTR,
|
||||
[ESAD] = LINUX_ESAD,
|
||||
// ENOTRUST: no Linux equivalent
|
||||
[ETOOMANYREFS] = LINUX_ETOOMANYREFS,
|
||||
[EILSEQ] = LINUX_EILSEQ,
|
||||
[ECANCELED] = LINUX_ECANCELED,
|
||||
[ENOSR] = LINUX_ENOSR,
|
||||
[ETIME] = LINUX_ETIME,
|
||||
[EBADMSG] = LINUX_EBADMSG,
|
||||
[EPROTO] = LINUX_EPROTO,
|
||||
[ENODATA] = LINUX_ENODATA,
|
||||
[ENOSTR] = LINUX_ENOSTR,
|
||||
[ENOTSUP] = LINUX_ENOTSUP,
|
||||
[EMULTIHOP] = LINUX_EMULTIHOP,
|
||||
[ENOLINK] = LINUX_ENOLINK,
|
||||
[EOVERFLOW] = LINUX_EOVERFLOW
|
||||
};
|
||||
|
||||
|
||||
int
|
||||
__errno_aix_to_linux (int err)
|
||||
{
|
||||
int conv;
|
||||
|
||||
if (err >= 0 && err < (sizeof (mapping) / sizeof (mapping[0]))
|
||||
&& ((conv = mapping[err]) != 0 || err == 0))
|
||||
return conv;
|
||||
|
||||
/* The error value is not known. Create a special value which can
|
||||
be easily recognized as an invalid result. */
|
||||
return 512 + err;
|
||||
}
|
@ -1,135 +0,0 @@
|
||||
#ifndef _LINUX_ERRNO_H
|
||||
#define _LINUX_ERRNO_H
|
||||
|
||||
#define LINUX_EPERM 1
|
||||
#define LINUX_ENOENT 2
|
||||
#define LINUX_ESRCH 3
|
||||
#define LINUX_EINTR 4
|
||||
#define LINUX_EIO 5
|
||||
#define LINUX_ENXIO 6
|
||||
#define LINUX_E2BIG 7
|
||||
#define LINUX_ENOEXEC 8
|
||||
#define LINUX_EBADF 9
|
||||
#define LINUX_ECHILD 10
|
||||
#define LINUX_EAGAIN 11
|
||||
#define LINUX_ENOMEM 12
|
||||
#define LINUX_EACCES 13
|
||||
#define LINUX_EFAULT 14
|
||||
#define LINUX_ENOTBLK 15
|
||||
#define LINUX_EBUSY 16
|
||||
#define LINUX_EEXIST 17
|
||||
#define LINUX_EXDEV 18
|
||||
#define LINUX_ENODEV 19
|
||||
#define LINUX_ENOTDIR 20
|
||||
#define LINUX_EISDIR 21
|
||||
#define LINUX_EINVAL 22
|
||||
#define LINUX_ENFILE 23
|
||||
#define LINUX_EMFILE 24
|
||||
#define LINUX_ENOTTY 25
|
||||
#define LINUX_ETXTBSY 26
|
||||
#define LINUX_EFBIG 27
|
||||
#define LINUX_ENOSPC 28
|
||||
#define LINUX_ESPIPE 29
|
||||
#define LINUX_EROFS 30
|
||||
#define LINUX_EMLINK 31
|
||||
#define LINUX_EPIPE 32
|
||||
#define LINUX_EDOM 33
|
||||
#define LINUX_ERANGE 34
|
||||
#define LINUX_EDEADLK 35
|
||||
#define LINUX_ENAMETOOLONG 36
|
||||
#define LINUX_ENOLCK 37
|
||||
#define LINUX_ENOSYS 38
|
||||
#define LINUX_ENOTEMPTY 39
|
||||
#define LINUX_ELOOP 40
|
||||
#define LINUX_ENOMSG 42
|
||||
#define LINUX_EIDRM 43
|
||||
#define LINUX_ECHRNG 44
|
||||
#define LINUX_EL2NSYNC 45
|
||||
#define LINUX_EL3HLT 46
|
||||
#define LINUX_EL3RST 47
|
||||
#define LINUX_ELNRNG 48
|
||||
#define LINUX_EUNATCH 49
|
||||
#define LINUX_ENOCSI 50
|
||||
#define LINUX_EL2HLT 51
|
||||
#define LINUX_EBADE 52
|
||||
#define LINUX_EBADR 53
|
||||
#define LINUX_EXFULL 54
|
||||
#define LINUX_ENOANO 55
|
||||
#define LINUX_EBADRQC 56
|
||||
#define LINUX_EBADSLT 57
|
||||
#define LINUX_EDEADLOCK 58
|
||||
#define LINUX_EBFONT 59
|
||||
#define LINUX_ENOSTR 60
|
||||
#define LINUX_ENODATA 61
|
||||
#define LINUX_ETIME 62
|
||||
#define LINUX_ENOSR 63
|
||||
#define LINUX_ENONET 64
|
||||
#define LINUX_ENOPKG 65
|
||||
#define LINUX_EREMOTE 66
|
||||
#define LINUX_ENOLINK 67
|
||||
#define LINUX_EADV 68
|
||||
#define LINUX_ESRMNT 69
|
||||
#define LINUX_ECOMM 70
|
||||
#define LINUX_EPROTO 71
|
||||
#define LINUX_EMULTIHOP 72
|
||||
#define LINUX_EDOTDOT 73
|
||||
#define LINUX_EBADMSG 74
|
||||
#define LINUX_EOVERFLOW 75
|
||||
#define LINUX_ENOTUNIQ 76
|
||||
#define LINUX_EBADFD 77
|
||||
#define LINUX_EREMCHG 78
|
||||
#define LINUX_ELIBACC 79
|
||||
#define LINUX_ELIBBAD 80
|
||||
#define LINUX_ELIBSCN 81
|
||||
#define LINUX_ELIBMAX 82
|
||||
#define LINUX_ELIBEXEC 83
|
||||
#define LINUX_EILSEQ 84
|
||||
#define LINUX_ERESTART 85
|
||||
#define LINUX_ESTRPIPE 86
|
||||
#define LINUX_EUSERS 87
|
||||
#define LINUX_ENOTSOCK 88
|
||||
#define LINUX_EDESTADDRREQ 89
|
||||
#define LINUX_EMSGSIZE 90
|
||||
#define LINUX_EPROTOTYPE 91
|
||||
#define LINUX_ENOPROTOOPT 92
|
||||
#define LINUX_EPROTONOSUPPORT 93
|
||||
#define LINUX_ESOCKTNOSUPPORT 94
|
||||
#define LINUX_EOPNOTSUPP 95
|
||||
#define LINUX_EPFNOSUPPORT 96
|
||||
#define LINUX_EAFNOSUPPORT 97
|
||||
#define LINUX_EADDRINUSE 98
|
||||
#define LINUX_EADDRNOTAVAIL 99
|
||||
#define LINUX_ENETDOWN 100
|
||||
#define LINUX_ENETUNREACH 101
|
||||
#define LINUX_ENETRESET 102
|
||||
#define LINUX_ECONNABORTED 103
|
||||
#define LINUX_ECONNRESET 104
|
||||
#define LINUX_ENOBUFS 105
|
||||
#define LINUX_EISCONN 106
|
||||
#define LINUX_ENOTCONN 107
|
||||
#define LINUX_ESHUTDOWN 108
|
||||
#define LINUX_ETOOMANYREFS 109
|
||||
#define LINUX_ETIMEDOUT 110
|
||||
#define LINUX_ECONNREFUSED 111
|
||||
#define LINUX_EHOSTDOWN 112
|
||||
#define LINUX_EHOSTUNREACH 113
|
||||
#define LINUX_EALREADY 114
|
||||
#define LINUX_EINPROGRESS 115
|
||||
#define LINUX_ESTALE 116
|
||||
#define LINUX_EUCLEAN 117
|
||||
#define LINUX_ENOTNAM 118
|
||||
#define LINUX_ENAVAIL 119
|
||||
#define LINUX_EISNAM 120
|
||||
#define LINUX_EREMOTEIO 121
|
||||
#define LINUX_EDQUOT 122
|
||||
|
||||
#define LINUX_ENOMEDIUM 123
|
||||
#define LINUX_EMEDIUMTYPE 124
|
||||
|
||||
/* Should never be seen by user programs */
|
||||
#define LINUX_ERESTARTSYS 512
|
||||
#define LINUX_ERESTARTNOINTR 513
|
||||
#define LINUX_ERESTARTNOHAND 514
|
||||
#define LINUX_ENOIOCTLCMD 515
|
||||
|
||||
#endif
|
@ -1,131 +0,0 @@
|
||||
/* Copyright (C) 1992, 95, 96, 97, 98, 99, 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_STAT_H
|
||||
# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
|
||||
#endif
|
||||
|
||||
/* Versions of the `struct stat' data structure. */
|
||||
#define _STAT_VER_LINUX_OLD 1
|
||||
#define _STAT_VER_KERNEL 1
|
||||
#define _STAT_VER_SVR4 2
|
||||
#define _STAT_VER_LINUX 3
|
||||
#define _STAT_VER _STAT_VER_LINUX /* The one defined below. */
|
||||
|
||||
/* Versions of the `xmknod' interface. */
|
||||
#define _MKNOD_VER_LINUX 1
|
||||
#define _MKNOD_VER_SVR4 2
|
||||
#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits defined below. */
|
||||
|
||||
|
||||
struct stat
|
||||
{
|
||||
__dev_t st_dev; /* Device. */
|
||||
unsigned short int __pad1;
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
__ino_t st_ino; /* File serial number. */
|
||||
#else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
#endif
|
||||
__mode_t st_mode; /* File mode. */
|
||||
__nlink_t st_nlink; /* Link count. */
|
||||
__uid_t st_uid; /* User ID of the file's owner. */
|
||||
__gid_t st_gid; /* Group ID of the file's group.*/
|
||||
__dev_t st_rdev; /* Device number, if device. */
|
||||
unsigned short int __pad2;
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
__off_t st_size; /* Size of file, in bytes. */
|
||||
#else
|
||||
__off64_t st_size; /* Size of file, in bytes. */
|
||||
#endif
|
||||
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||
#else
|
||||
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||
#endif
|
||||
__time_t st_atime; /* Time of last access. */
|
||||
unsigned long int __unused1;
|
||||
__time_t st_mtime; /* Time of last modification. */
|
||||
unsigned long int __unused2;
|
||||
__time_t st_ctime; /* Time of last status change. */
|
||||
unsigned long int __unused3;
|
||||
unsigned long int __unused4;
|
||||
unsigned long int __unused5;
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
__dev_t st_dev; /* Device. */
|
||||
unsigned short int __pad1;
|
||||
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
__mode_t st_mode; /* File mode. */
|
||||
__nlink_t st_nlink; /* Link count. */
|
||||
__uid_t st_uid; /* User ID of the file's owner. */
|
||||
__gid_t st_gid; /* Group ID of the file's group.*/
|
||||
__dev_t st_rdev; /* Device number, if device. */
|
||||
unsigned short int __pad2;
|
||||
__off64_t st_size; /* Size of file, in bytes. */
|
||||
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||
|
||||
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||
__time_t st_atime; /* Time of last access. */
|
||||
unsigned long int __unused1;
|
||||
__time_t st_mtime; /* Time of last modification. */
|
||||
unsigned long int __unused2;
|
||||
__time_t st_ctime; /* Time of last status change. */
|
||||
unsigned long int __unused3;
|
||||
unsigned long int __unused4;
|
||||
unsigned long int __unused5;
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Tell code we have these members. */
|
||||
#define _STATBUF_ST_BLKSIZE
|
||||
#define _STATBUF_ST_RDEV
|
||||
|
||||
/* Encoding of the file mode. */
|
||||
|
||||
#define __S_IFMT 0170000 /* These bits determine file type. */
|
||||
|
||||
/* File types. */
|
||||
#define __S_IFDIR 0040000 /* Directory. */
|
||||
#define __S_IFCHR 0020000 /* Character device. */
|
||||
#define __S_IFBLK 0060000 /* Block device. */
|
||||
#define __S_IFREG 0100000 /* Regular file. */
|
||||
#define __S_IFIFO 0010000 /* FIFO. */
|
||||
|
||||
/* These don't actually exist on System V, but having them doesn't hurt. */
|
||||
#define __S_IFLNK 0120000 /* Symbolic link. */
|
||||
#define __S_IFSOCK 0140000 /* Socket. */
|
||||
|
||||
/* Protection bits. */
|
||||
|
||||
#define __S_ISUID 04000 /* Set user ID on execution. */
|
||||
#define __S_ISGID 02000 /* Set group ID on execution. */
|
||||
#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */
|
||||
#define __S_IREAD 0400 /* Read by owner. */
|
||||
#define __S_IWRITE 0200 /* Write by owner. */
|
||||
#define __S_IEXEC 0100 /* Execute by owner. */
|
||||
|
||||
|
||||
/* Thi macro (with a different name) is normally in <sys/sysmacros.h>. */
|
||||
#define linux_makedev(major, minor) (((major) << 8 | (minor)))
|
@ -1,35 +0,0 @@
|
||||
void
|
||||
__stat_aix_to_linux (const struct stat *aixstat, struct stat *linuxstat)
|
||||
{
|
||||
linuxstat->st_dev = linux_makedev (major (aixstat->st_dev),
|
||||
minor (aixstat->st_dev));
|
||||
linuxstat->st_ino = aixstat->st_ino;
|
||||
/* The following assumes that the mode values are the same on AIX
|
||||
and Linux which is true in the moment. */
|
||||
linuxstat->st_mode = aixstat->st_mode;
|
||||
linuxstat->st_nlink = aixstat->st_nlink;
|
||||
/* There is no st_flag field in Linux. */
|
||||
linuxstat->st_uid = aixstat->st_uid;
|
||||
linuxstat->st_gid = aixstat->st_gid;
|
||||
linuxstat->st_rdev = linux_makedev (major (aixstat->st_rdev),
|
||||
minor (aixstat->st_rdev));
|
||||
linuxstat->st_size = aixstat->st_size;
|
||||
linuxstat->st_atime = aixstat->st_atime;
|
||||
linuxstat->st_mtime = aixstat->st_mtime;
|
||||
linuxstat->st_ctime = aixstat->st_ctime;
|
||||
linuxstat->st_blksize = aixstat->st_blksize;
|
||||
linuxstat->st_blocks = aixstat->st_blocks;
|
||||
/* There is no st_vfstype in Linux. */
|
||||
/* There is no st_vfs in Linux. */
|
||||
/* There is no st_type in Linux. */
|
||||
/* There is no st_gen in Linux. */
|
||||
|
||||
/* File in the padding values with repeatable values. */
|
||||
linuxstat->__pad1 = 0;
|
||||
linuxstat->__pad2 = 0;
|
||||
linuxstat->__unused1 = 0;
|
||||
linuxstat->__unused2 = 0;
|
||||
linuxstat->__unused3 = 0;
|
||||
linuxstat->__unused4 = 0;
|
||||
linuxstat->__unused5 = 0;
|
||||
}
|
@ -1,19 +1,19 @@
|
||||
#include "linuxtypes.h"
|
||||
#include "aix-types.h"
|
||||
|
||||
struct linuxdirent
|
||||
struct aixdirent
|
||||
{
|
||||
__linux_ino_t d_ino;
|
||||
__linux_off_t d_off;
|
||||
aixino_t d_ino;
|
||||
aixoff_t d_off;
|
||||
unsigned short int d_reclen;
|
||||
unsigned char d_type;
|
||||
unsigned short int d_namlen;
|
||||
char d_name[256]; /* We must not include limits.h! */
|
||||
};
|
||||
|
||||
struct linuxdirent64
|
||||
struct aixdirent64
|
||||
{
|
||||
__linux_ino64_t d_ino;
|
||||
__linux_off64_t d_off;
|
||||
aixino64_t d_ino;
|
||||
aixoff64_t d_off;
|
||||
unsigned short int d_reclen;
|
||||
unsigned char d_type;
|
||||
unsigned short int d_namlen;
|
||||
char d_name[256]; /* We must not include limits.h! */
|
||||
};
|
125
sysdeps/unix/sysv/linux/powerpc/aix/aix-errno.h
Normal file
125
sysdeps/unix/sysv/linux/powerpc/aix/aix-errno.h
Normal file
@ -0,0 +1,125 @@
|
||||
/* 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 AIX_EPERM 1
|
||||
#define AIX_ENOENT 2
|
||||
#define AIX_ESRCH 3
|
||||
#define AIX_EINTR 4
|
||||
#define AIX_EIO 5
|
||||
#define AIX_ENXIO 6
|
||||
#define AIX_E2BIG 7
|
||||
#define AIX_ENOEXEC 8
|
||||
#define AIX_EBADF 9
|
||||
#define AIX_ECHILD 10
|
||||
#define AIX_EAGAIN 11
|
||||
#define AIX_ENOMEM 12
|
||||
#define AIX_EACCES 13
|
||||
#define AIX_EFAULT 14
|
||||
#define AIX_ENOTBLK 15
|
||||
#define AIX_EBUSY 16
|
||||
#define AIX_EEXIST 17
|
||||
#define AIX_EXDEV 18
|
||||
#define AIX_ENODEV 19
|
||||
#define AIX_ENOTDIR 20
|
||||
#define AIX_EISDIR 21
|
||||
#define AIX_EINVAL 22
|
||||
#define AIX_ENFILE 23
|
||||
#define AIX_EMFILE 24
|
||||
#define AIX_ENOTTY 25
|
||||
#define AIX_ETXTBSY 26
|
||||
#define AIX_EFBIG 27
|
||||
#define AIX_ENOSPC 28
|
||||
#define AIX_ESPIPE 29
|
||||
#define AIX_EROFS 30
|
||||
#define AIX_EMLINK 31
|
||||
#define AIX_EPIPE 32
|
||||
#define AIX_EDOM 33
|
||||
#define AIX_ERANGE 34
|
||||
#define AIX_ENOMSG 35
|
||||
#define AIX_EIDRM 36
|
||||
#define AIX_ECHRNG 37
|
||||
#define AIX_EL2NSYNC 38
|
||||
#define AIX_EL3HLT 39
|
||||
#define AIX_EL3RST 40
|
||||
#define AIX_ELNRNG 41
|
||||
#define AIX_EUNATCH 42
|
||||
#define AIX_ENOCSI 43
|
||||
#define AIX_EL2HLT 44
|
||||
#define AIX_EDEADLK 45
|
||||
#define AIX_ENOTREADY 46
|
||||
#define AIX_EWRPROTECT 47
|
||||
#define AIX_EFORMAT 48
|
||||
#define AIX_ENOLCK 49
|
||||
#define AIX_ENOCONNECT 50
|
||||
#define AIX_ESTALE 52
|
||||
#define AIX_EDIST 53
|
||||
#define AIX_EWOULDBLOCK 54
|
||||
#define AIX_EINPROGRESS 55
|
||||
#define AIX_EALREADY 56
|
||||
#define AIX_ENOTSOCK 57
|
||||
#define AIX_EDESTADDRREQ 58
|
||||
#define AIX_EMSGSIZE 59
|
||||
#define AIX_EPROTOTYPE 60
|
||||
#define AIX_ENOPROTOOPT 61
|
||||
#define AIX_EPROTONOSUPPORT 62
|
||||
#define AIX_ESOCKTNOSUPPORT 63
|
||||
#define AIX_EOPNOTSUPP 64
|
||||
#define AIX_EPFNOSUPPORT 65
|
||||
#define AIX_EAFNOSUPPORT 66
|
||||
#define AIX_EADDRINUSE 67
|
||||
#define AIX_EADDRNOTAVAIL 68
|
||||
#define AIX_ENETDOWN 69
|
||||
#define AIX_ENETUNREACH 70
|
||||
#define AIX_ENETRESET 71
|
||||
#define AIX_ECONNABORTED 72
|
||||
#define AIX_ECONNRESET 73
|
||||
#define AIX_ENOBUFS 74
|
||||
#define AIX_EISCONN 75
|
||||
#define AIX_ENOTCONN 76
|
||||
#define AIX_ESHUTDOWN 77
|
||||
#define AIX_ETIMEDOUT 78
|
||||
#define AIX_ECONNREFUSED 79
|
||||
#define AIX_EHOSTDOWN 80
|
||||
#define AIX_EHOSTUNREACH 81
|
||||
#define AIX_ERESTART 82
|
||||
#define AIX_EPROCLIM 83
|
||||
#define AIX_EUSERS 84
|
||||
#define AIX_ELOOP 85
|
||||
#define AIX_ENAMETOOLONG 86
|
||||
#define AIX_EDQUOT 88
|
||||
#define AIX_ECORRUPT 89
|
||||
#define AIX_EREMOTE 93
|
||||
#define AIX_ENOSYS 109
|
||||
#define AIX_EMEDIA 110
|
||||
#define AIX_ESOFT 111
|
||||
#define AIX_ENOATTR 112
|
||||
#define AIX_ESAD 113
|
||||
#define AIX_ENOTRUST 114
|
||||
#define AIX_ETOOMANYREFS 115
|
||||
#define AIX_EILSEQ 116
|
||||
#define AIX_ECANCELED 117
|
||||
#define AIX_ENOSR 118
|
||||
#define AIX_ETIME 119
|
||||
#define AIX_EBADMSG 120
|
||||
#define AIX_EPROTO 121
|
||||
#define AIX_ENODATA 122
|
||||
#define AIX_ENOSTR 123
|
||||
#define AIX_ENOTSUP 124
|
||||
#define AIX_EMULTIHOP 125
|
||||
#define AIX_ENOLINK 126
|
||||
#define AIX_EOVERFLOW 127
|
76
sysdeps/unix/sysv/linux/powerpc/aix/aix-stat.h
Normal file
76
sysdeps/unix/sysv/linux/powerpc/aix/aix-stat.h
Normal file
@ -0,0 +1,76 @@
|
||||
/* 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. */
|
||||
|
||||
struct aixstat
|
||||
{
|
||||
aixdev_t st_dev;
|
||||
aixino_t st_ino;
|
||||
aixmode_t st_mode;
|
||||
aixnlink_t st_nlink;
|
||||
unsigned short int st_flag;
|
||||
aixuid_t st_uid;
|
||||
aixgid_t st_gid;
|
||||
aixdev_t st_rdev;
|
||||
aixoff_t st_size;
|
||||
aixtime_t st_atime;
|
||||
unsigned long int __unused1;
|
||||
aixtime_t st_mtime;
|
||||
unsigned long int __unused2;
|
||||
aixtime_t st_ctime;
|
||||
unsigned long int __unused3;
|
||||
aixblksize_t st_blksize;
|
||||
aixblkcnt_t st_blocks;
|
||||
int st_vfstype;
|
||||
unsigned int st_vfs;
|
||||
unsigned int st_type;
|
||||
unsigned int st_gen;
|
||||
|
||||
#define _STATBUF_RESERVED_SPACE 9
|
||||
unsigned int st_reserved[_STATBUF_RESERVED_SPACE];
|
||||
};
|
||||
|
||||
struct aixstat64
|
||||
{
|
||||
aixdev_t st_dev;
|
||||
aixino64_t st_ino;
|
||||
aixmode_t st_mode;
|
||||
aixnlink_t st_nlink;
|
||||
unsigned short int st_flag;
|
||||
aixuid_t st_uid;
|
||||
aixgid_t st_gid;
|
||||
aixdev_t st_rdev;
|
||||
int st_ssize;
|
||||
aixtime_t st_atime;
|
||||
unsigned long int __unused1;
|
||||
aixtime_t st_mtime;
|
||||
unsigned long int __unused2;
|
||||
aixtime_t st_ctime;
|
||||
unsigned long int __unused3;
|
||||
aixblksize_t st_blksize;
|
||||
aixblkcnt64_t st_blocks;
|
||||
int st_vfstype;
|
||||
unsigned int st_vfs;
|
||||
unsigned int st_type;
|
||||
unsigned int st_gen;
|
||||
unsigned int st_reserved[_STATBUF_RESERVED_SPACE];
|
||||
unsigned int st_padto_ll;
|
||||
aixoff64_t st_size;
|
||||
};
|
||||
|
||||
#define aix_major(x) (int) ((unsigned int) (x) >> 16)
|
||||
#define aix_minor(x) (int) ((x) & 0xFFFF)
|
84
sysdeps/unix/sysv/linux/powerpc/aix/aix-termios.h
Normal file
84
sysdeps/unix/sysv/linux/powerpc/aix/aix-termios.h
Normal file
@ -0,0 +1,84 @@
|
||||
/* Copyright (C) 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 "aix-types.h"
|
||||
|
||||
#define AIX_NCCS 16
|
||||
struct aixtermios
|
||||
{
|
||||
aixtcflag_t c_iflag;
|
||||
aixtcflag_t c_oflag;
|
||||
aixtcflag_t c_cflag;
|
||||
aixtcflag_t c_lflag;
|
||||
aixcc_t c_line;
|
||||
aixcc_t c_cc[AIX_NCCS];
|
||||
aixspeed_t c_ispeed;
|
||||
aixspeed_t c_ospeed;
|
||||
};
|
||||
|
||||
#define AIX_VINTR 0
|
||||
#define AIX_VQUIT 1
|
||||
#define AIX_VERASE 2
|
||||
#define AIX_VKILL 3
|
||||
#define AIX_VEOF 4
|
||||
#define AIX_VEOL 5
|
||||
#define AIX_VEOL2 6
|
||||
#define AIX_VSTART 7
|
||||
#define AIX_VSTOP 8
|
||||
#define AIX_VSUSP 9
|
||||
#define AIX_VDSUSP 10
|
||||
#define AIX_VREPRINT 11
|
||||
#define AIX_VDISCRD 12
|
||||
#define AIX_VWERSE 13
|
||||
#define AIX_VLNEXT 14
|
||||
|
||||
#define AIX_IUCLC 0x00000800
|
||||
#define AIX_IXANY 0x00001000
|
||||
#define AIX_IMAXBE 0x00010000
|
||||
|
||||
#define AIX_OLCUC 0x00000002
|
||||
#define AIX_ONLCR 0x00000004
|
||||
#define AIX_TABDLY 0x00000c00
|
||||
#define AIX_TAB0 0x00000000
|
||||
#define AIX_TAB1 0x00000400
|
||||
#define AIX_TAB2 0x00000800
|
||||
#define AIX_TAB3 0x00000c00
|
||||
#define AIX_BSDLY 0x00001000
|
||||
#define AIX_BS0 0x00000000
|
||||
#define AIX_BS1 0x00001000
|
||||
#define AIX_FFDLY 0x00002000
|
||||
#define AIX_FF0 0x00000000
|
||||
#define AIX_FF1 0x00002000
|
||||
#define AIX_NLDLY 0x00004000
|
||||
#define AIX_NL0 0x00000000
|
||||
#define AIX_NL1 0x00004000
|
||||
#define AIX_VTDLY 0x00008000
|
||||
#define AIX_VT0 0x00000000
|
||||
#define AIX_VT1 0x00008000
|
||||
|
||||
#define AIX_CSIZE 0x00000030
|
||||
#define AIX_CS5 0x00000000
|
||||
#define AIX_CS6 0x00000010
|
||||
#define AIX_CS7 0x00000020
|
||||
#define AIX_CS8 0x00000030
|
||||
#define AIX_CSTOPB 0x00000040
|
||||
#define AIX_CREAD 0x00000080
|
||||
#define AIX_PARENB 0x00000100
|
||||
#define AIX_PARODD 0x00000200
|
||||
#define AIX_HUPCL 0x00000400
|
||||
#define AIX_CLOCAL 0x00000800
|
49
sysdeps/unix/sysv/linux/powerpc/aix/direntconv.c
Normal file
49
sysdeps/unix/sysv/linux/powerpc/aix/direntconv.c
Normal file
@ -0,0 +1,49 @@
|
||||
/* Copyright (C) 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 <dirent.h>
|
||||
#include <string.h>
|
||||
#include "linux-dirent.h"
|
||||
|
||||
#ifndef DT_UNKNOWN
|
||||
# define DT_UNKNOWN 0
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
__dirent_aix_to_linux (const struct aixdirent *aixdir,
|
||||
struct dirent *linuxdir)
|
||||
{
|
||||
linuxdir->d_ino = aixdir->d_ino;
|
||||
linuxdir->d_off = aixdir->d_off;
|
||||
linuxdir->d_reclen = aixdir->d_reclen;
|
||||
linuxdir->d_type = DT_UNKNOWN;
|
||||
memcpy (linuxdir->d_name, aixdir->d_name, aixdir->d_namlen + 1);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
__dirent64_aix_to_linux (const struct aixdirent64 *aixdir,
|
||||
struct dirent64 *linuxdir)
|
||||
{
|
||||
linuxdir->d_ino = aixdir->d_ino;
|
||||
linuxdir->d_off = aixdir->d_off;
|
||||
linuxdir->d_reclen = aixdir->d_reclen;
|
||||
linuxdir->d_type = DT_UNKNOWN;
|
||||
memcpy (linuxdir->d_name, aixdir->d_name, aixdir->d_namlen + 1);
|
||||
}
|
143
sysdeps/unix/sysv/linux/powerpc/aix/errnoconv.c
Normal file
143
sysdeps/unix/sysv/linux/powerpc/aix/errnoconv.c
Normal file
@ -0,0 +1,143 @@
|
||||
/* Convert the error number the AIX kernel returns to what the Linux
|
||||
application expects.
|
||||
Copyright (C) 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 <errno.h>
|
||||
#include "linux-errno.h"
|
||||
|
||||
|
||||
static int mapping[] =
|
||||
{
|
||||
[AIX_EPERM] = EPERM,
|
||||
[AIX_ENOENT] = ENOENT,
|
||||
[AIX_ESRCH] = ESRCH,
|
||||
[AIX_EINTR] = EINTR,
|
||||
[AIX_EIO] = EIO,
|
||||
[AIX_ENXIO] = ENXIO,
|
||||
[AIX_E2BIG] = E2BIG,
|
||||
[AIX_ENOEXEC] = ENOEXEC,
|
||||
[AIX_EBADF] = EBADF,
|
||||
[AIX_ECHILD] = ECHILD,
|
||||
[AIX_EAGAIN] = EAGAIN,
|
||||
[AIX_ENOMEM] = ENOMEM,
|
||||
[AIX_EACCES] = EACCES,
|
||||
[AIX_EFAULT] = EFAULT,
|
||||
[AIX_ENOTBLK] = ENOTBLK,
|
||||
[AIX_EBUSY] = EBUSY,
|
||||
[AIX_EEXIST] = EEXIST,
|
||||
[AIX_EXDEV] = EXDEV,
|
||||
[AIX_ENODEV] = ENODEV,
|
||||
[AIX_ENOTDIR] = ENOTDIR,
|
||||
[AIX_EISDIR] = EISDIR,
|
||||
[AIX_EINVAL] = EINVAL,
|
||||
[AIX_ENFILE] = ENFILE,
|
||||
[AIX_EMFILE] = EMFILE,
|
||||
[AIX_ENOTTY] = ENOTTY,
|
||||
[AIX_ETXTBSY] = ETXTBSY,
|
||||
[AIX_EFBIG] = EFBIG,
|
||||
[AIX_ENOSPC] = ENOSPC,
|
||||
[AIX_EIDRM] = EIDRM,
|
||||
[AIX_ECHRNG] = ECHRNG,
|
||||
[AIX_EL2NSYNC] = EL2NSYNC,
|
||||
[AIX_EL3HLT] = EL3HLT,
|
||||
[AIX_EL3RST] = EL3RST,
|
||||
[AIX_ELNRNG] = ELNRNG,
|
||||
[AIX_EUNATCH] = EUNATCH,
|
||||
[AIX_ENOCSI] = ENOCSI,
|
||||
[AIX_EL2HLT] = EL2HLT,
|
||||
[AIX_EDEADLK] = EDEADLK,
|
||||
[AIX_ENOTREADY] = ENOTREADY,
|
||||
// EWPROTECT: no Linux equivalent
|
||||
// EFORMAT: no Linux equivalent
|
||||
[AIX_ENOLCK] = ENOLCK,
|
||||
// ENOCONNECT: No Linux equivalent
|
||||
[AIX_ESTALE] = ESTALE,
|
||||
// EDIST: no Linux equivalent
|
||||
[54] = EAGAIN, // EWOULDBLOCK
|
||||
[AIX_EINPROGRESS] = EINPROGRESS,
|
||||
[AIX_EALREADY] = EALREADY,
|
||||
[AIX_ENOTSOCK] = ENOTSOCK,
|
||||
[AIX_EDESTADDRREQ] = EDESTADDRREQ,
|
||||
[AIX_EMSGSIZE] = EMSGSIZE,
|
||||
[AIX_EPROTOTYPE] = EPROTOTYPE,
|
||||
[AIX_ENOPROTOOPT] = ENOPROTOOPT,
|
||||
[AIX_EPROTONOSUPPORT] = EPROTONOSUPPORT,
|
||||
[AIX_ESOCKTNOSUPPORT] = ESOCKTNOSUPPORT,
|
||||
[AIX_EOPNOTSUPP] = EOPNOTSUPP,
|
||||
[AIX_EPFNOSUPPORT] = EPFNOSUPPORT,
|
||||
[AIX_EAFNOSUPPORT] = EAFNOSUPPORT,
|
||||
[AIX_EADDRINUSE] = EADDRINUSE,
|
||||
[AIX_EADDRNOTAVAIL] = EADDRNOTAVAIL,
|
||||
[AIX_ENETDOWN] = ENETDOWN,
|
||||
[AIX_ENETUNREACH] = ENETUNREACH,
|
||||
[AIX_ENETRESET] = ENETRESET,
|
||||
[AIX_ECONNABORTED] = ECONNABORTED,
|
||||
[AIX_ECONNRESET] = ECONNRESET,
|
||||
[AIX_ENOBUFS] = ENOBUFS,
|
||||
[AIX_EISCONN] = EISCONN,
|
||||
[AIX_ENOTCONN] = ENOTCONN,
|
||||
[AIX_ESHUTDOWN] = ESHUTDOWN,
|
||||
[AIX_ETIMEDOUT] = ETIMEDOUT,
|
||||
[AIX_ECONNREFUSED] = ECONNREFUSED,
|
||||
[AIX_EHOSTDOWN] = EHOSTDOWN,
|
||||
[AIX_EHOSTUNREACH] = EHOSTUNREACH,
|
||||
[AIX_ERESTART] = ERESTART,
|
||||
[AIX_EPROCLIM] = EPROCLIM,
|
||||
[AIX_EUSERS] = EUSERS,
|
||||
[AIX_ELOOP] = ELOOP,
|
||||
[AIX_ENAMETOOLONG] = ENAMETOOLONG,
|
||||
[87] = ENOTEMPTY, // ENOTEMPTY
|
||||
[AIX_EDQUOT] = EDQUOT,
|
||||
[AIX_ECORRUPT] = ECORRUPT,
|
||||
[AIX_EREMOTE] = EREMOTE,
|
||||
[AIX_ENOSYS] = ENOSYS,
|
||||
[AIX_EMEDIA] = EMEDIA,
|
||||
[AIX_ESOFT] = ESOFT,
|
||||
[AIX_ENOATTR] = ENOATTR,
|
||||
[AIX_ESAD] = ESAD,
|
||||
// ENOTRUST: no Linux equivalent
|
||||
[AIX_ETOOMANYREFS] = ETOOMANYREFS,
|
||||
[AIX_EILSEQ] = EILSEQ,
|
||||
[AIX_ECANCELED] = ECANCELED,
|
||||
[AIX_ENOSR] = ENOSR,
|
||||
[AIX_ETIME] = ETIME,
|
||||
[AIX_EBADMSG] = EBADMSG,
|
||||
[AIX_EPROTO] = EPROTO,
|
||||
[AIX_ENODATA] = ENODATA,
|
||||
[AIX_ENOSTR] = ENOSTR,
|
||||
[AIX_ENOTSUP] = ENOTSUP,
|
||||
[AIX_EMULTIHOP] = EMULTIHOP,
|
||||
[AIX_ENOLINK] = ENOLINK,
|
||||
[AIX_EOVERFLOW] = EOVERFLOW
|
||||
};
|
||||
|
||||
|
||||
int
|
||||
__errno_aix_to_linux (int err)
|
||||
{
|
||||
int conv;
|
||||
|
||||
if (err >= 0 && err < (sizeof (mapping) / sizeof (mapping[0]))
|
||||
&& ((conv = mapping[err]) != 0 || err == 0))
|
||||
return conv;
|
||||
|
||||
/* The error value is not known. Create a special value which can
|
||||
be easily recognized as an invalid result. */
|
||||
return 512 + err;
|
||||
}
|
53
sysdeps/unix/sysv/linux/powerpc/aix/statconv.c
Normal file
53
sysdeps/unix/sysv/linux/powerpc/aix/statconv.c
Normal file
@ -0,0 +1,53 @@
|
||||
/* Copyright (C) 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. */
|
||||
|
||||
void
|
||||
__stat_aix_to_linux (const struct aixstat *aixstat, struct stat *linuxstat)
|
||||
{
|
||||
linuxstat->st_dev = makedev (aix_major (aixstat->st_dev),
|
||||
aix_minor (aixstat->st_dev));
|
||||
linuxstat->st_ino = aixstat->st_ino;
|
||||
/* The following assumes that the mode values are the same on AIX
|
||||
and Linux which is true in the moment. */
|
||||
linuxstat->st_mode = aixstat->st_mode;
|
||||
linuxstat->st_nlink = aixstat->st_nlink;
|
||||
/* There is no st_flag field in Linux. */
|
||||
linuxstat->st_uid = aixstat->st_uid;
|
||||
linuxstat->st_gid = aixstat->st_gid;
|
||||
linuxstat->st_rdev = makedev (aix_major (aixstat->st_rdev),
|
||||
aix_minor (aixstat->st_rdev));
|
||||
linuxstat->st_size = aixstat->st_size;
|
||||
linuxstat->st_atime = aixstat->st_atime;
|
||||
linuxstat->st_mtime = aixstat->st_mtime;
|
||||
linuxstat->st_ctime = aixstat->st_ctime;
|
||||
linuxstat->st_blksize = aixstat->st_blksize;
|
||||
linuxstat->st_blocks = aixstat->st_blocks;
|
||||
/* There is no st_vfstype in Linux. */
|
||||
/* There is no st_vfs in Linux. */
|
||||
/* There is no st_type in Linux. */
|
||||
/* There is no st_gen in Linux. */
|
||||
|
||||
/* File in the padding values with repeatable values. */
|
||||
linuxstat->__pad1 = 0;
|
||||
linuxstat->__pad2 = 0;
|
||||
linuxstat->__unused1 = 0;
|
||||
linuxstat->__unused2 = 0;
|
||||
linuxstat->__unused3 = 0;
|
||||
linuxstat->__unused4 = 0;
|
||||
linuxstat->__unused5 = 0;
|
||||
}
|
171
sysdeps/unix/sysv/linux/powerpc/aix/tcsetattr.c
Normal file
171
sysdeps/unix/sysv/linux/powerpc/aix/tcsetattr.c
Normal file
@ -0,0 +1,171 @@
|
||||
/* Copyright (C) 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 <errno.h>
|
||||
#include <termios.h>
|
||||
#include "aix-termios.h"
|
||||
|
||||
int
|
||||
tcsetattr (fd, optional_actions, linuxtermios_p)
|
||||
int fd;
|
||||
int optional_actions;
|
||||
const struct termios *linuxtermios_p;
|
||||
{
|
||||
struct aixtermios aixtermios;
|
||||
int result;
|
||||
|
||||
/* `optional_actions' does not have to be changed, AIX uses the
|
||||
same values as Linux. */
|
||||
|
||||
aixtermios.c_cc[AIX_VINTR] = linuxtermios_p->c_cc[VINTR];
|
||||
aixtermios.c_cc[AIX_VQUIT] = linuxtermios_p->c_cc[VQUIT];
|
||||
aixtermios.c_cc[AIX_VERASE] = linuxtermios_p->c_cc[VERASE];
|
||||
aixtermios.c_cc[AIX_VKILL] = linuxtermios_p->c_cc[VKILL];
|
||||
aixtermios.c_cc[AIX_VEOF] = linuxtermios_p->c_cc[VEOF];
|
||||
// XXX VMIN has the same value as VEOF !?
|
||||
aixtermios.c_cc[AIX_VEOL] = linuxtermios_p->c_cc[VEOL];
|
||||
// XXX VTIME has the same value as VEOL !?
|
||||
aixtermios.c_cc[AIX_VEOL2] = linuxtermios_p->c_cc[VEOL2];
|
||||
aixtermios.c_cc[AIX_VSTART] = linuxtermios_p->c_cc[VSTART];
|
||||
aixtermios.c_cc[AIX_VSTOP] = linuxtermios_p->c_cc[VSTOP];
|
||||
aixtermios.c_cc[AIX_VSUSP] = linuxtermios_p->c_cc[VSUSP];
|
||||
aixtermios.c_cc[AIX_VDSUSP] = 0; // XXX No Linux equivalent !?
|
||||
aixtermios.c_cc[AIX_VREPRINT] = linuxtermios_p->c_cc[VREPRINT];
|
||||
aixtermios.c_cc[AIX_VDISCARD] = linuxtermios_p->c_cc[VDISCARD];
|
||||
aixtermios.c_cc[AIX_VWERASE] = linuxtermios_p->c_cc[VWERASE];
|
||||
aixtermios.c_cc[AIX_VLNEXT] = linuxtermios_p->c_cc[VLNEXT];
|
||||
|
||||
/* AIX has not all the speeds (the high one) Linux supports. The
|
||||
symbol names and values used for the speeds are fortunately the
|
||||
same. */
|
||||
if ((linuxtermios_p->c_cflag & CBAUD) > B38400)
|
||||
{
|
||||
__set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
aixtermios.c_c_flag = linuxtermios_p->c_cflag & CBAUD;
|
||||
|
||||
/* Only the IUCLC, IXANY, and IMAXBEL values are different in the
|
||||
c_iflag member. */
|
||||
aixtermios.c_iflag = linuxtermios_p->c_iflag & 0x7ff;
|
||||
if (linuxtermios_p->c_iflag & IXANY)
|
||||
aixtermios.c_iflag |= AIX_IXANY;
|
||||
if (linuxtermios_p->c_iflag & IUCLC)
|
||||
aixtermios.c_iflag |= AIX_IUCLC;
|
||||
if (linuxtermios_p->c_iflag & IMAXBEL)
|
||||
aixtermios.c_iflag |= AIX_IMAXBEL;
|
||||
|
||||
/* Many of the c_oflag files differ. Bummer. */
|
||||
aixtermios.c_oflag = (linuxtermios_p->c_oflag
|
||||
& (OPOST | OCRNL | ONOCR | ONLRET | OFILL
|
||||
| OFDEL | TABDLY));
|
||||
if (linuxtermios_p->c_oflag & OLCUC)
|
||||
aixtermios.c_oflag |= AIX_OLCUC;
|
||||
if (linuxtermios_p->c_oflag & ONLCR)
|
||||
aixtermios.c_oflag |= AIX_ONLCR;
|
||||
if (linuxtermios_p->c_oflag & NLDLY)
|
||||
{
|
||||
if ((linuxtermios_p->c_oflag & NLDLY) >= NL2)
|
||||
{
|
||||
__set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (linuxtermios_p->c_oflag & NLDLY)
|
||||
aixtermios.c_oflag |= AIX_NL1;
|
||||
}
|
||||
if (linuxtermios_p->c_oflag & TABDLY)
|
||||
{
|
||||
#define offset 2
|
||||
#if TAB0 >> offset != AIX_TAB1 || TAB1 >> offset != AIX_TAB3
|
||||
# error "Check the offset"
|
||||
#endif
|
||||
aixtermios.c_oflag |= (linuxtermios_p->c_oflag >> offset) & AIX_TABDLY;
|
||||
#undef offset
|
||||
}
|
||||
if (linuxtermios_p->c_oflag & FFDLY)
|
||||
aixtermios.c_oflag |= AIX_FF1;
|
||||
if (linuxtermios_p->c_oflag & BSDLY)
|
||||
aixtermios.c_oflag |= AIX_BS1;
|
||||
if (linuxtermios_p->c_oflag & VTDLY)
|
||||
aixtermios.c_oflag |= AIX_VT1;
|
||||
|
||||
/* A lot of the c_cflag member is also different. */
|
||||
if (linuxtermios_p->c_cflag & CSIZE)
|
||||
{
|
||||
#define offset 4
|
||||
#if LINUX_CSIZE >> offset != AIX_CSIZE
|
||||
# error "Check the offset"
|
||||
#endif
|
||||
aixtermios.c_cflag |= (linuxtermios_p->c_cflag >> offset) & AIX_CSIZE;
|
||||
#undef offset
|
||||
}
|
||||
|
||||
if (linuxtermios_p->c_cflag & STOPB)
|
||||
aixtermios.c_cflag |= AIX_STOPB;
|
||||
if (linuxtermios_p->c_cflag & CREAD)
|
||||
aixtermios.c_cflag |= AIX_CREAD;
|
||||
if (linuxtermios_p->c_cflag & PARENB)
|
||||
aixtermios.c_cflag |= AIX_PARENB;
|
||||
if (linuxtermios_p->c_cflag & PARODD)
|
||||
aixtermios.c_cflag |= AIX_PARODD;
|
||||
if (linuxtermios_p->c_cflag & HUPCL)
|
||||
aixtermios.c_cflag |= AIX_HUPCL;
|
||||
if (linuxtermios_p->c_cflag & CLOCAL)
|
||||
aixtermios.c_cflag |= AIX_CLOCAL;
|
||||
|
||||
/* The c_lflag is information is also different. */
|
||||
aixtermios.c_lflag = 0;
|
||||
if (linuxtermios_p->c_lflag & ISIG)
|
||||
aixtermios.c_lflag |= AIX_ISIG;
|
||||
if (linuxtermios_p->c_lflag & ICANON)
|
||||
aixtermios.c_lflag |= AIX_ICANON;
|
||||
if (linuxtermios_p->c_lflag & XCASE)
|
||||
aixtermios.c_lflag |= AIX_XCASE;
|
||||
if (linuxtermios_p->c_lflag & ECHO)
|
||||
aixtermios.c_lflag |= AIX_ECHO;
|
||||
if (linuxtermios_p->c_lflag & ECHOE)
|
||||
aixtermios.c_lflag |= AIX_ECHOE;
|
||||
if (linuxtermios_p->c_lflag & ECHOK)
|
||||
aixtermios.c_lflag |= AIX_ECHOK;
|
||||
if (linuxtermios_p->c_lflag & ECHONL)
|
||||
aixtermios.c_lflag |= AIX_ECHONL;
|
||||
if (linuxtermios_p->c_lflag & NOFLSH)
|
||||
aixtermios.c_lflag |= AIX_NOFLSH;
|
||||
if (linuxtermios_p->c_lflag & TOSTOP)
|
||||
aixtermios.c_lflag |= AIX_TOSTOP;
|
||||
if (linuxtermios_p->c_lflag & ECHOCTL)
|
||||
aixtermios.c_lflag |= AIX_ECHOCTL;
|
||||
if (linuxtermios_p->c_lflag & ECHOPRT)
|
||||
aixtermios.c_lflag |= AIX_ECHOPRT;
|
||||
if (linuxtermios_p->c_lflag & ECHOKE)
|
||||
aixtermios.c_lflag |= AIX_ECHOKE;
|
||||
if (linuxtermios_p->c_lflag & FLUSHO)
|
||||
aixtermios.c_lflag |= AIX_FLUSHO;
|
||||
if (linuxtermios_p->c_lflag & PENDIN)
|
||||
aixtermios.c_lflag |= AIX_PENDIN;
|
||||
if (linuxtermios_p->c_lflag & IEXTEN)
|
||||
aixtermios.c_lflag |= AIX_IEXTEN;
|
||||
|
||||
result = /* XXX syscall */;
|
||||
|
||||
// Convert error here or in syscall.
|
||||
|
||||
return result;
|
||||
}
|
Loading…
Reference in New Issue
Block a user