diff options
Diffstat (limited to 'sim/ppc/spa-system-calls.c')
-rw-r--r-- | sim/ppc/spa-system-calls.c | 499 |
1 files changed, 499 insertions, 0 deletions
diff --git a/sim/ppc/spa-system-calls.c b/sim/ppc/spa-system-calls.c new file mode 100644 index 0000000..a344595 --- /dev/null +++ b/sim/ppc/spa-system-calls.c @@ -0,0 +1,499 @@ +/* + * Copyright (C) 1991 Gordon Irlam. All rights reserved. + */ + +/* + * Definition of system calls for sparc trace generator. + */ + + +/* + * Imported declarations. + */ + +#include "system_calls.h" + + +/* + * Table containing system calls, and their parameter profile. + */ + +call_desc system_calls[] = { + /* 0 */ {"syscall", {fmt_dec, fmt_unknown}, fmt_dec}, + /* 1 */ {"_exit", {fmt_dec}, fmt_none}, + /* 2 */ {"fork", {fmt_none}, fmt_dec}, + /* 3 */ {"read", {fmt_fd, fmt_post_data, FMT_SIZE}, fmt_post_data_size}, + /* 4 */ {"write", {fmt_fd, fmt_data, fmt_data_size}, FMT_SIZE}, + /* 5 */ {"open", {fmt_string, fmt_open_flags, FMT_FLAGS}, fmt_fd}, + /* 6 */ {"close", {fmt_fd}, FMT_STATUS}, + /* 7 */ {"wait4", {fmt_dec, fmt_ptr, FMT_FLAGS, fmt_ptr}, fmt_dec}, + /* 8 */ {"creat", {fmt_string, FMT_FLAGS}, fmt_fd}, + /* 9 */ {"link", {fmt_string, fmt_string}, FMT_STATUS}, + /* 10 */ {"unlink", {fmt_string}, FMT_STATUS}, + /* 11 */ {"_unknown_11[\"old execv\"]", {fmt_unknown}, fmt_unknown}, + /* + * execv is now a library routine which calls execve, although + * Sun have not officially declared execv obsolete. + */ + /* 12 */ {"chdir", {fmt_string}, FMT_STATUS}, + /* 13 */ {"_unknown_13[\"old time\"]", {fmt_unknown}, fmt_unknown}, + /* 14 */ {"mknod", {fmt_string, FMT_FLAGS, FMT_FLAGS}, FMT_STATUS}, + /* 15 */ {"chmod", {fmt_string, FMT_FLAGS}, FMT_STATUS}, + /* 16 */ {"chown", {fmt_string, fmt_dec, fmt_dec}, FMT_STATUS}, + /* 17 */ {"_brk", {fmt_ptr}, FMT_STATUS}, + /* 18 */ {"_unknown_18[\"old stat\"]", {fmt_unknown}, fmt_unknown}, + /* 19 */ {"lseek", {fmt_fd, FMT_SIZE, fmt_dec}, FMT_SIZE}, + /* 20 */ {"getpid", {fmt_none}, fmt_dec}, + /* 21 */ {"_unknown_21", {fmt_unknown}, fmt_unknown}, + /* 22 */ {"umount[\"System V\"]", {fmt_string}, FMT_STATUS}, + /* 23 */ {"_unknown_23[\"old setuid\"]", {fmt_unknown}, fmt_unknown}, + /* 24 */ {"getuid", {fmt_none}, fmt_dec}, + /* 25 */ {"_unknown_25[\"old System V stime\"]", + {fmt_unknown}, + fmt_unknown}, + /* 26 */ {"ptrace", + {fmt_dec, fmt_dec, fmt_ptr, fmt_dec, fmt_ptr}, + fmt_dec}, + /* 27 */ {"_unknown_27[\"old alarm\"]", {fmt_unknown}, fmt_unknown}, + /* 28 */ {"_unknown_28[\"old fstat\"]", {fmt_unknown}, fmt_unknown}, + /* 29 */ {"_unknown_29[\"old pause\"]", {fmt_unknown}, fmt_unknown}, + /* 30 */ {"_unknown_30[\"old utime\"]", {fmt_unknown}, fmt_unknown}, + /* 31 */ {"_unknown_31", {fmt_unknown}, fmt_unknown}, + /* 32 */ {"_unknown_32", {fmt_unknown}, fmt_unknown}, + /* 33 */ {"access", {fmt_string, FMT_FLAGS}, FMT_STATUS}, + /* 34 */ {"_unknown_34[\"old nice\"]", {fmt_unknown}, fmt_unknown}, + /* 35 */ {"_unknown_35[\"old ftime\"]", {fmt_unknown}, fmt_unknown}, + /* 36 */ {"sync", {fmt_none}, fmt_none}, + /* 37 */ {"kill", {fmt_dec, fmt_signal}, FMT_STATUS}, + /* 38 */ {"stat", {fmt_string, fmt_ptr}, FMT_STATUS}, + /* 39 */ {"_unknown_39[\"old setpgrp\"]", {fmt_unknown}, fmt_unknown}, + /* 40 */ {"lstat", {fmt_string, fmt_ptr}, FMT_STATUS}, + /* 41 */ {"dup", {fmt_fd}, fmt_fd}, + /* + * Sun sometimes claim dup has 2 parameters. + */ + /* 42 */ {"pipe", {fmt_ptr}, FMT_STATUS}, + /* 43 */ {"_unknown_43[\"old times\"]", {fmt_unknown}, fmt_unknown}, + /* 44 */ {"profil", {fmt_ptr, FMT_SIZE, fmt_ptr, fmt_dec}, FMT_STATUS}, + /* 45 */ {"_unknown_45", {fmt_unknown}, fmt_unknown}, + /* 46 */ {"_unknown_46[\"old setgid\"]", {fmt_unknown}, fmt_unknown}, + /* 47 */ {"getgid", {fmt_none}, fmt_dec}, + /* 48 */ {"_unknown_48[\"old signal\"]", {fmt_unknown}, fmt_unknown}, + /* 49 */ {"_unknown_49", {fmt_unknown}, fmt_unknown}, + /* 50 */ {"_unknown_50", {fmt_unknown}, fmt_unknown}, + /* 51 */ {"acct", {fmt_string}, FMT_STATUS}, + /* 52 */ {"_unknown_52", {fmt_unknown}, fmt_unknown}, + /* 53 */ {"mctl", {fmt_ptr, FMT_SIZE, fmt_dec, FMT_FLAGS}, FMT_STATUS}, + /* 54 */ {"ioctl", {fmt_fd, FMT_FLAGS, fmt_ptr}, fmt_dec}, + /* 55 */ {"reboot", {FMT_FLAGS, fmt_string}, FMT_STATUS}, + /* 56 */ {"_unknown_56[\"old wait3\"]", {fmt_unknown}, fmt_unknown}, + /* 57 */ {"symlink", {fmt_string, fmt_string}, FMT_STATUS}, + /* 58 */ {"readlink", + {fmt_string, fmt_post_data, FMT_SIZE}, + fmt_post_data_size}, + /* 59 */ {"execve", + {fmt_string, fmt_string_array, fmt_string_array}, + FMT_STATUS}, + /* 60 */ {"umask", {FMT_FLAGS}, FMT_FLAGS}, + /* 61 */ {"chroot", {fmt_string}, FMT_STATUS}, + /* 62 */ {"fstat", {fmt_fd, fmt_ptr}, FMT_STATUS}, + /* 63 */ {"_unknown_63", {fmt_unknown}, fmt_unknown}, + /* 64 */ {"getpagesize", {fmt_none}, FMT_SIZE}, + /* 65 */ {"_unknown_65[\"old msync\"]", {fmt_unknown}, fmt_unknown}, + /* + * msync is now a library routine which calls mctl, although + * Sun have not officially declared msync obsolete. + */ + /* 66 */ {"vfork", {fmt_none}, fmt_dec}, + /* 67 */ {"_unknown_67[\"old vread\"]", {fmt_unknown}, fmt_unknown}, + /* + * I don't think vread can be generated by the standard + * libararies, although Sun have not officially declared it + * obsolete. + */ + /* 68 */ {"_unknown_68[\"old vwrite\"]", {fmt_unknown}, fmt_unknown}, + /* + * I don't think vwrite can be generated by the standard + * libararies, although Sun have not officially declared it + * obsolete. + */ + /* 69 */ {"_unknown_69[\"old brk\"]", {fmt_unknown}, fmt_unknown}, + /* + * Also referred to as sbrk. I don't think it can be generated + * by the standard libararies, although Sun have not officially + * declared it obsolete. + */ + /* 70 */ {"_unknown_70[\"old sstk\"]", {fmt_unknown}, fmt_unknown}, + /* + * I don't think sstk can be generated by the standard + * libararies, although Sun have not officially declared it + * obsolete. + */ + /* 71 */ {"mmap", + {fmt_ptr, fmt_post_data_size, FMT_FLAGS, FMT_FLAGS, fmt_fd, + FMT_SIZE}, + fmt_post_data}, + /* 72 */ {"vadvise", {fmt_dec}, FMT_STATUS}, + /* + * vadvise is currently still a valid system call, although Sun + * have said it is likely to disappear in the future. + */ + /* 73 */ {"munmap", {fmt_ptr, FMT_SIZE}, FMT_STATUS}, + /* 74 */ {"mprotect", {fmt_ptr, FMT_SIZE, FMT_FLAGS}, FMT_STATUS}, + /* 75 */ {"_unknown_75[\"old madvise\"]", {fmt_unknown}, fmt_unknown}, + /* + * madvise is now a library routine which calls mctl, although + * Sun have not officially declared madvise obsolete. + */ + /* 76 */ {"vhangup", {fmt_none}, FMT_STATUS}, + /* + * Sun sometimes claim vhangup has 1 parameter. + */ + /* 77 */ {"_unknown_77[\"old vlimit\"]", {fmt_unknown}, fmt_unknown}, + /* 78 */ {"mincore", {fmt_ptr, FMT_SIZE, fmt_ptr}, FMT_STATUS}, + /* 79 */ {"getgroups", {fmt_dec, fmt_ptr}, fmt_dec}, + /* 80 */ {"setgroups", {fmt_dec, fmt_ptr}, FMT_STATUS}, + /* 81 */ {"getpgrp", {fmt_dec}, fmt_dec}, + /* 82 */ {"setpgrp", {fmt_dec, fmt_dec}, FMT_STATUS}, + /* 83 */ {"setitimer", {fmt_dec, fmt_ptr, fmt_ptr}, FMT_STATUS}, + /* 84 */ {"_unknown_84[\"old wait\"]", {fmt_unknown}, fmt_unknown}, + /* + * wait is now a library routine which calls wait4, although Sun + * have not officially declared wait obsolete. + */ + /* 85 */ {"swapon", {fmt_string}, FMT_STATUS}, + /* 86 */ {"getitimer", {fmt_dec, fmt_ptr}, FMT_STATUS}, + /* 87 */ {"gethostname", {fmt_post_string, FMT_SIZE}, FMT_STATUS}, + /* 88 */ {"sethostname", {fmt_data, fmt_data_size}, FMT_STATUS}, + /* 89 */ {"getdtablesize", {fmt_none}, fmt_dec}, + /* 90 */ {"dup2", {fmt_fd, fmt_dec}, fmt_fd}, + /* 91 */ {"_unknown_91[\"old getdopt\"]", {fmt_unknown}, fmt_unknown}, + /* + * I don't think getdopt can be generated by the standard + * libararies, although Sun have not officially declared it + * obsolete. + */ + /* 92 */ {"fcntl", {fmt_fd, fmt_dec, fmt_dec}, fmt_dec}, + /* 93 */ {"select", + {fmt_dec, fmt_ptr, fmt_ptr, fmt_ptr, fmt_ptr}, + fmt_dec}, + /* 94 */ {"_unknown_94[\"old setdopt\"]", {fmt_unknown}, fmt_unknown}, + /* + * I don't think setdopt can be generated by the standard + * libararies, although Sun have not officially declared it + * obsolete. + */ + /* 95 */ {"fsync", {fmt_fd}, FMT_STATUS}, + /* 96 */ {"setpriority", {fmt_dec, fmt_dec, fmt_dec}, FMT_STATUS}, + /* 97 */ {"socket", {fmt_dec, fmt_dec, fmt_dec}, fmt_fd}, + /* 98 */ {"connect", {fmt_fd, fmt_ptr, FMT_SIZE}, FMT_STATUS}, + /* 99 */ {"accept", {fmt_fd, fmt_ptr, fmt_ptr}, fmt_fd}, + /* 100 */ {"getpriority", {fmt_dec, fmt_dec}, fmt_dec}, + /* 101 */ {"send", {fmt_fd, fmt_data, fmt_data_size, FMT_FLAGS}, FMT_SIZE}, + /* 102 */ {"recv", + {fmt_fd, fmt_post_data, FMT_SIZE, FMT_FLAGS}, + fmt_post_data_size}, + /* 103 */ {"_unknown_103", {fmt_unknown}, fmt_unknown}, + /* 104 */ {"bind", {fmt_fd, fmt_ptr, FMT_SIZE}, FMT_STATUS}, + /* 105 */ {"setsockopt", + {fmt_fd, fmt_dec, fmt_dec, fmt_ptr, FMT_SIZE}, + FMT_STATUS}, + /* 106 */ {"listen", {fmt_fd, fmt_dec}, FMT_STATUS}, + /* 107 */ {"_unknown_107[\"old vtimes\"]", {fmt_unknown}, fmt_unknown}, + /* 108 */ {"_sigvec", {fmt_signal, fmt_ptr, fmt_ptr}, FMT_STATUS}, + /* 109 */ {"sigblock", {fmt_hex}, fmt_hex}, + /* 110 */ {"sigsetmask", {fmt_hex}, fmt_hex}, + /* 111 */ {"sigpause", {fmt_hex}, FMT_STATUS}, + /* 112 */ {"sigstack", {fmt_ptr, fmt_ptr}, FMT_STATUS}, + /* 113 */ {"recvmsg", {fmt_fd, fmt_ptr, FMT_FLAGS}, FMT_SIZE}, + /* 114 */ {"sendmsg", {fmt_fd, fmt_ptr, FMT_FLAGS}, FMT_SIZE}, + /* 115 */ {"_unknown_115[\"vtrace\"]", + {fmt_dec, fmt_hex, fmt_hex}, + fmt_unknown}, + /* + * I am unsure of the parameters for vtrace. + */ + /* 116 */ {"gettimeofday", {fmt_ptr, fmt_ptr}, FMT_STATUS}, + /* 117 */ {"getrusage", {fmt_dec, fmt_ptr}, FMT_STATUS}, + /* 118 */ {"getsockopt", + {fmt_fd, fmt_dec, fmt_dec, fmt_ptr, fmt_ptr}, + FMT_STATUS}, + /* 119 */ {"_unknown_119", {fmt_unknown}, fmt_unknown}, + /* 120 */ {"readv", {fmt_fd, fmt_ptr, fmt_dec}, FMT_SIZE}, + /* 121 */ {"writev", {fmt_fd, fmt_ptr, fmt_dec}, FMT_SIZE}, + /* 122 */ {"settimeofday", {fmt_ptr, fmt_ptr}, FMT_STATUS}, + /* 123 */ {"fchown", {fmt_fd, fmt_dec, fmt_dec}, FMT_STATUS}, + /* 124 */ {"fchmod", {fmt_fd, FMT_FLAGS}, FMT_STATUS}, + /* 125 */ {"recvfrom", + {fmt_fd, fmt_post_data, FMT_SIZE, FMT_FLAGS, fmt_ptr, fmt_ptr}, + fmt_post_data_size}, + /* 126 */ {"setreuid", {fmt_dec, fmt_dec}, FMT_STATUS}, + /* 127 */ {"setregid", {fmt_dec, fmt_dec}, FMT_STATUS}, + /* 128 */ {"rename", {fmt_string, fmt_string}, FMT_STATUS}, + /* 129 */ {"truncate", {fmt_string, FMT_SIZE}, FMT_STATUS}, + /* 130 */ {"ftruncate", {fmt_fd, FMT_SIZE}, FMT_STATUS}, + /* 131 */ {"flock", {fmt_fd, FMT_FLAGS}, FMT_STATUS}, + /* 132 */ {"_unknown_132", {fmt_unknown}, fmt_unknown}, + /* 133 */ {"sendto", + {fmt_fd, fmt_data, fmt_data_size, FMT_FLAGS, fmt_ptr, FMT_SIZE}, + FMT_SIZE}, + /* 134 */ {"shutdown", {fmt_fd, fmt_dec}, FMT_STATUS}, + /* 135 */ {"socketpair", {fmt_dec, fmt_dec, fmt_dec, fmt_ptr}, FMT_STATUS}, + /* + * Sun sometimes claim socketpair has 5 parameters. + */ + /* 136 */ {"mkdir", {fmt_string, FMT_FLAGS}, FMT_STATUS}, + /* 137 */ {"rmdir", {fmt_string}, FMT_STATUS}, + /* 138 */ {"utimes", {fmt_string, fmt_ptr}, FMT_STATUS}, + /* 139 */ {"_sigcleanup", {fmt_ptr}, FMT_STATUS}, + /* 140 */ {"adjtime", {fmt_ptr, fmt_ptr}, FMT_STATUS}, + /* 141 */ {"getpeername", {fmt_fd, fmt_ptr, fmt_ptr}, FMT_STATUS}, + /* 142 */ {"gethostid", {fmt_none}, fmt_hex}, + /* + * Sun sometimes claim gethostid has 2 parameters. + */ + /* 143 */ {"_unknown_143", {fmt_unknown}, fmt_unknown}, + /* 144 */ {"getrlimit", {fmt_dec, fmt_ptr}, FMT_STATUS}, + /* 145 */ {"setrlimit", {fmt_dec, fmt_ptr}, FMT_STATUS}, + /* 146 */ {"killpg", {fmt_dec, fmt_signal}, FMT_STATUS}, + /* 147 */ {"_unknown_147", {fmt_unknown}, fmt_unknown}, + /* 148 */ {"_unknown_148[\"old quota\"]", {fmt_unknown}, fmt_unknown}, + /* + * I don't think quota can be generated by the standard + * libararies, although Sun have not officially declared it + * obsolete. + */ + /* 149 */ {"_unknown_149[\"old qquota\"]", {fmt_unknown}, fmt_unknown}, + /* + * I don't think qquota can be generated by the standard + * libararies, although Sun have not officially declared it + * obsolete. + */ + /* 150 */ {"getsockname", {fmt_fd, fmt_ptr, fmt_ptr}, FMT_STATUS}, + /* 151 */ {"getmsg", {fmt_fd, fmt_ptr, fmt_ptr, fmt_ptr}, fmt_dec}, + /* 152 */ {"putmsg", {fmt_fd, fmt_ptr, fmt_ptr, FMT_FLAGS}, FMT_STATUS}, + /* 153 */ {"poll", {fmt_ptr, fmt_dec, fmt_dec}, fmt_dec}, + /* 154 */ {"_unknown_154", {fmt_unknown}, fmt_unknown}, + /* 155 */ {"nfssvc", {fmt_fd}, FMT_STATUS}, + /* 156 */ {"_unknown_156[\"old getdirentries\"]", + {fmt_unknown}, + fmt_unknown}, + /* + * I don't think getdirentries can be generated by the standard + * libararies, although Sun have not officially declared it + * obsolete. + */ + /* 157 */ {"statfs", {fmt_string, fmt_ptr}, FMT_STATUS}, + /* 158 */ {"fstatfs", {fmt_fd, fmt_ptr}, FMT_STATUS}, + /* 159 */ {"unmount", {fmt_string}, FMT_STATUS}, + /* 160 */ {"async_daemon", {fmt_none}, fmt_none}, + /* 161 */ {"nfs_getfh", {fmt_hex, fmt_hex}, fmt_unknown}, + /* + * I am unsure of the parameters for nfs_getfh. + */ + /* 162 */ {"getdomainname", {fmt_post_string, FMT_SIZE}, FMT_STATUS}, + /* 163 */ {"setdomainname", {fmt_data, fmt_data_size}, FMT_STATUS}, + /* 164 */ {"rtschedule", + {fmt_hex, fmt_hex, fmt_hex, fmt_hex, fmt_hex}, + fmt_unknown}, + /* + * I am unsure of the parameters for rtschedule. + */ + /* 165 */ {"quotactl", + {fmt_dec, fmt_string, fmt_dec, fmt_ptr}, + FMT_STATUS}, + /* 166 */ {"_exportfs", {fmt_string, fmt_ptr}, FMT_STATUS}, + /* 167 */ {"mount", + {fmt_string, fmt_string, FMT_FLAGS, fmt_ptr}, + FMT_STATUS}, + /* 168 */ {"ustat", {fmt_hex, fmt_ptr}, FMT_STATUS}, + /* 169 */ {"_semsys", + {fmt_dec, fmt_hex, fmt_hex, fmt_hex, fmt_hex}, + fmt_dec}, + /* 170 */ {"_msgsys", + {fmt_dec, fmt_hex, fmt_hex, fmt_hex, fmt_hex, fmt_hex}, + fmt_dec}, + /* 171 */ {"_shmsys", {fmt_dec, fmt_hex, fmt_hex, fmt_hex}, fmt_dec}, + /* 172 */ {"_auditsys", {fmt_dec, fmt_hex, fmt_hex, fmt_hex}, fmt_dec}, + /* 173 */ {"_rfssys", + {fmt_dec, fmt_hex, fmt_hex, fmt_hex, fmt_hex}, + fmt_dec}, + /* 174 */ {"getdents", + {fmt_fd, fmt_post_data, FMT_SIZE}, + fmt_post_data_size}, + /* 175 */ {"_setsid", {fmt_dec}, fmt_dec}, + /* 176 */ {"fchdir", {fmt_fd}, FMT_STATUS}, + /* 177 */ {"fchroot", {fmt_fd}, FMT_STATUS}, + /* 178 */ {"vpixsys", {fmt_hex, fmt_hex}, fmt_unknown}, + /* + * I am unsure of the parameters for vpixsys. + */ + /* 179 */ {"aioread", + {fmt_fd, fmt_ptr, FMT_SIZE, FMT_SIZE, fmt_dec, fmt_ptr}, + FMT_STATUS}, + /* 180 */ {"aiowrite", + {fmt_fd, fmt_data, fmt_data_size, FMT_SIZE, fmt_dec, fmt_ptr}, + FMT_STATUS}, + /* 181 */ {"aiowait", {fmt_ptr}, fmt_ptr}, + /* 182 */ {"aiocancel", {fmt_ptr}, FMT_STATUS}, + /* 183 */ {"sigpending", {fmt_ptr}, FMT_STATUS}, + /* 184 */ {"_unknown_184", {fmt_unknown}, fmt_unknown}, + /* 185 */ {"setpgid", {fmt_dec, fmt_dec}, FMT_STATUS}, + /* 186 */ {"_pathconf", {fmt_string, fmt_dec}, fmt_dec}, + /* 187 */ {"fpathconf", {fmt_fd, fmt_dec}, fmt_dec}, + /* 188 */ {"sysconf", {fmt_dec}, fmt_dec}, + /* 189 */ {"uname", {fmt_ptr}, FMT_STATUS} + /* + * Next 8 system calls are for loadable system calls. Not declared since + * they are likely to change from one O/S release to the next. + */ +}; + +int no_system_calls = sizeof(system_calls) / sizeof(call_desc); + +call_desc system_call_open_simple = + /* 5 */ {"open", {fmt_string, fmt_open_flags}, fmt_fd}; + + +/* + * Table containing signal names. + */ + +char *signal_names[] = { + /* 0 */ "0", + /* 1 */ "SIGHUP", + /* 2 */ "SIGINT", + /* 3 */ "SIGQUIT", + /* 4 */ "SIGILL", + /* 5 */ "SIGTRAP", + /* 6 */ "SIGABRT", + /* 7 */ "SIGEMT", + /* 8 */ "SIGFPE", + /* 9 */ "SIGKILL", + /* 10 */ "SIGBUS", + /* 11 */ "SIGSEGV", + /* 12 */ "SIGSYS", + /* 13 */ "SIGPIPE", + /* 14 */ "SIGALRM", + /* 15 */ "SIGTERM", + /* 16 */ "SIGURG", + /* 17 */ "SIGSTOP", + /* 18 */ "SIGTSTP", + /* 19 */ "SIGCONT", + /* 20 */ "SIGCHLD", + /* 21 */ "SIGTTIN", + /* 22 */ "SIGTTOU", + /* 23 */ "SIGIO", + /* 24 */ "SIGXCPU", + /* 25 */ "SIGXFSZ", + /* 26 */ "SIGVTALRM", + /* 27 */ "SIGPROF", + /* 28 */ "SIGWINCH", + /* 29 */ "SIGLOST", + /* 30 */ "SIGUSR1", + /* 31 */ "SIGUSR2" +}; + +int no_signal_names = sizeof(signal_names) / sizeof(char *); + + +/* + * Table containing error messages. + */ + +char *error_names[] = { + /* 0 */ "0", + /* 1 */ "EPERM", + /* 2 */ "ENOENT", + /* 3 */ "ESRCH", + /* 4 */ "EINTR", + /* 5 */ "EIO", + /* 6 */ "ENXIO", + /* 7 */ "E2BIG", + /* 8 */ "ENOEXEC", + /* 9 */ "EBADF", + /* 10 */ "ECHILD", + /* 11 */ "EAGAIN", + /* 12 */ "ENOMEM", + /* 13 */ "EACCES", + /* 14 */ "EFAULT", + /* 15 */ "ENOTBLK", + /* 16 */ "EBUSY", + /* 17 */ "EEXIST", + /* 18 */ "EXDEV", + /* 19 */ "ENODEV", + /* 20 */ "ENOTDIR", + /* 21 */ "EISDIR", + /* 22 */ "EINVAL", + /* 23 */ "ENFILE", + /* 24 */ "EMFILE", + /* 25 */ "ENOTTY", + /* 26 */ "ETXTBSY", + /* 27 */ "EFBIG", + /* 28 */ "ENOSPC", + /* 29 */ "ESPIPE", + /* 30 */ "EROFS", + /* 31 */ "EMLINK", + /* 32 */ "EPIPE", + /* 33 */ "EDOM", + /* 34 */ "ERANGE", + /* 35 */ "EWOULDBLOCK", + /* 36 */ "EINPROGRESS", + /* 37 */ "EALREADY", + /* 38 */ "ENOTSOCK", + /* 39 */ "EDESTADDRREQ", + /* 40 */ "EMSGSIZE", + /* 41 */ "EPROTOTYPE", + /* 42 */ "ENOPROTOOPT", + /* 43 */ "EPROTONOSUPPORT", + /* 44 */ "ESOCKTNOSUPPORT", + /* 45 */ "EOPNOTSUPP", + /* 46 */ "EPFNOSUPPORT", + /* 47 */ "EAFNOSUPPORT", + /* 48 */ "EADDRINUSE", + /* 49 */ "EADDRNOTAVAIL", + /* 50 */ "ENETDOWN", + /* 51 */ "ENETUNREACH", + /* 52 */ "ENETRESET", + /* 53 */ "ECONNABORTED", + /* 54 */ "ECONNRESET", + /* 55 */ "ENOBUFS", + /* 56 */ "EISCONN", + /* 57 */ "ENOTCONN", + /* 58 */ "ESHUTDOWN", + /* 59 */ "ETOOMANYREFS", + /* 60 */ "ETIMEDOUT", + /* 61 */ "ECONNREFUSED", + /* 62 */ "ELOOP", + /* 63 */ "ENAMETOOLONG", + /* 64 */ "EHOSTDOWN", + /* 65 */ "EHOSTUNREACH", + /* 66 */ "ENOTEMPTY", + /* 67 */ "EPROCLIM", + /* 68 */ "EUSERS", + /* 69 */ "EDQUOT", + /* 70 */ "ESTALE", + /* 71 */ "EREMOTE", + /* 72 */ "ENOSTR", + /* 73 */ "ETIME", + /* 74 */ "ENOSR", + /* 75 */ "ENOMSG", + /* 76 */ "EBADMSG", + /* 77 */ "EIDRM", + /* 78 */ "EDEADLK", + /* 79 */ "ENOLCK", + /* 80 */ "ENONET", + /* 81 */ "ERREMOTE", + /* 82 */ "ENOLINK", + /* 83 */ "EADV", + /* 84 */ "ESRMNT", + /* 85 */ "ECOMM", + /* 86 */ "EPROTO", + /* 87 */ "EMULTIHOP", + /* 88 */ "EDOTDOT", + /* 89 */ "EREMCHG", + /* 90 */ "ENOSYS" +}; + +int no_error_names = sizeof(error_names) / sizeof(char *); + |