mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 03:22:43 +00:00 
			
		
		
		
	Kernel+LibC: Move errno definitions to Kernel/API/POSIX
This fixes at least half of our LibC includes in the kernel. The source of truth for errno codes and their description strings now lives in Kernel/API/POSIX/errno.h as an enumeration, which LibC includes.
This commit is contained in:
		
							parent
							
								
									0cca6cef95
								
							
						
					
					
						commit
						69ef211925
					
				
					 23 changed files with 123 additions and 183 deletions
				
			
		|  | @ -12,7 +12,7 @@ | |||
| #include <AK/Variant.h> | ||||
| 
 | ||||
| #if defined(__serenity__) && defined(KERNEL) | ||||
| #    include <LibC/errno_numbers.h> | ||||
| #    include <LibC/errno_codes.h> | ||||
| #else | ||||
| #    include <errno.h> | ||||
| #endif | ||||
|  |  | |||
							
								
								
									
										97
									
								
								Kernel/API/POSIX/errno.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								Kernel/API/POSIX/errno.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,97 @@ | |||
| /*
 | ||||
|  * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> | ||||
|  * Copyright (c) 2021, sin-ack <sin-ack@protonmail.com> | ||||
|  * | ||||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #define ENUMERATE_ERRNO_CODES(E)                                      \ | ||||
|     E(ESUCCESS, "Success (not an error)")                             \ | ||||
|     E(EPERM, "Operation not permitted")                               \ | ||||
|     E(ENOENT, "No such file or directory")                            \ | ||||
|     E(ESRCH, "No such process")                                       \ | ||||
|     E(EINTR, "Interrupted syscall")                                   \ | ||||
|     E(EIO, "I/O error")                                               \ | ||||
|     E(ENXIO, "No such device or address")                             \ | ||||
|     E(E2BIG, "Argument list too long")                                \ | ||||
|     E(ENOEXEC, "Exec format error")                                   \ | ||||
|     E(EBADF, "Bad fd number")                                         \ | ||||
|     E(ECHILD, "No child processes")                                   \ | ||||
|     E(EAGAIN, "Try again")                                            \ | ||||
|     E(ENOMEM, "Out of memory")                                        \ | ||||
|     E(EACCES, "Permission denied")                                    \ | ||||
|     E(EFAULT, "Bad address")                                          \ | ||||
|     E(ENOTBLK, "Block device required")                               \ | ||||
|     E(EBUSY, "Device or resource busy")                               \ | ||||
|     E(EEXIST, "File already exists")                                  \ | ||||
|     E(EXDEV, "Cross-device link")                                     \ | ||||
|     E(ENODEV, "No such device")                                       \ | ||||
|     E(ENOTDIR, "Not a directory")                                     \ | ||||
|     E(EISDIR, "Is a directory")                                       \ | ||||
|     E(EINVAL, "Invalid argument")                                     \ | ||||
|     E(ENFILE, "File table overflow")                                  \ | ||||
|     E(EMFILE, "Too many open files")                                  \ | ||||
|     E(ENOTTY, "Not a TTY")                                            \ | ||||
|     E(ETXTBSY, "Text file busy")                                      \ | ||||
|     E(EFBIG, "File too large")                                        \ | ||||
|     E(ENOSPC, "No space left on device")                              \ | ||||
|     E(ESPIPE, "Illegal seek")                                         \ | ||||
|     E(EROFS, "Read-only filesystem")                                  \ | ||||
|     E(EMLINK, "Too many links")                                       \ | ||||
|     E(EPIPE, "Broken pipe")                                           \ | ||||
|     E(ERANGE, "Range error")                                          \ | ||||
|     E(ENAMETOOLONG, "Name too long")                                  \ | ||||
|     E(ELOOP, "Too many symlinks")                                     \ | ||||
|     E(EOVERFLOW, "Overflow")                                          \ | ||||
|     E(EOPNOTSUPP, "Operation not supported")                          \ | ||||
|     E(ENOSYS, "No such syscall")                                      \ | ||||
|     E(ENOTIMPL, "Not implemented")                                    \ | ||||
|     E(EAFNOSUPPORT, "Address family not supported")                   \ | ||||
|     E(ENOTSOCK, "Not a socket")                                       \ | ||||
|     E(EADDRINUSE, "Address in use")                                   \ | ||||
|     E(EWHYTHO, "Failed without setting an error code (bug!)")         \ | ||||
|     E(ENOTEMPTY, "Directory not empty")                               \ | ||||
|     E(EDOM, "Math argument out of domain")                            \ | ||||
|     E(ECONNREFUSED, "Connection refused")                             \ | ||||
|     E(EHOSTDOWN, "Host is down")                                      \ | ||||
|     E(EADDRNOTAVAIL, "Address not available")                         \ | ||||
|     E(EISCONN, "Already connected")                                   \ | ||||
|     E(ECONNABORTED, "Connection aborted")                             \ | ||||
|     E(EALREADY, "Connection already in progress")                     \ | ||||
|     E(ECONNRESET, "Connection reset")                                 \ | ||||
|     E(EDESTADDRREQ, "Destination address required")                   \ | ||||
|     E(EHOSTUNREACH, "Host unreachable")                               \ | ||||
|     E(EILSEQ, "Illegal byte sequence")                                \ | ||||
|     E(EMSGSIZE, "Message size")                                       \ | ||||
|     E(ENETDOWN, "Network down")                                       \ | ||||
|     E(ENETUNREACH, "Network unreachable")                             \ | ||||
|     E(ENETRESET, "Network reset")                                     \ | ||||
|     E(ENOBUFS, "No buffer space")                                     \ | ||||
|     E(ENOLCK, "No lock available")                                    \ | ||||
|     E(ENOMSG, "No message")                                           \ | ||||
|     E(ENOPROTOOPT, "No protocol option")                              \ | ||||
|     E(ENOTCONN, "Not connected")                                      \ | ||||
|     E(ESHUTDOWN, "Transport endpoint has shutdown")                   \ | ||||
|     E(ETOOMANYREFS, "Too many references")                            \ | ||||
|     E(ESOCKTNOSUPPORT, "Socket type not supported")                   \ | ||||
|     E(EPROTONOSUPPORT, "Protocol not supported")                      \ | ||||
|     E(EDEADLK, "Resource deadlock would occur")                       \ | ||||
|     E(ETIMEDOUT, "Timed out")                                         \ | ||||
|     E(EPROTOTYPE, "Wrong protocol type")                              \ | ||||
|     E(EINPROGRESS, "Operation in progress")                           \ | ||||
|     E(ENOTHREAD, "No such thread")                                    \ | ||||
|     E(EPROTO, "Protocol error")                                       \ | ||||
|     E(ENOTSUP, "Not supported")                                       \ | ||||
|     E(EPFNOSUPPORT, "Protocol family not supported")                  \ | ||||
|     E(EDIRINTOSELF, "Cannot make directory a subdirectory of itself") \ | ||||
|     E(EDQUOT, "Quota exceeded")                                       \ | ||||
|     E(ENOTRECOVERABLE, "State not recoverable")                       \ | ||||
|     E(EMAXERRNO, "The highest errno +1 :^)") | ||||
| 
 | ||||
| enum ErrnoCode { | ||||
| #define __ENUMERATE_ERRNO_CODE(c, s) c, | ||||
|     ENUMERATE_ERRNO_CODES(__ENUMERATE_ERRNO_CODE) | ||||
| #undef __ENUMERATE_ERRNO_CODE | ||||
| }; | ||||
|  | @ -5,10 +5,10 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <AK/Memory.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Devices/DeviceManagement.h> | ||||
| #include <Kernel/Devices/FullDevice.h> | ||||
| #include <Kernel/Sections.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
| #include <AK/MemoryStream.h> | ||||
| #include <AK/StdLibExtras.h> | ||||
| #include <AK/StringView.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/Devices/BlockDevice.h> | ||||
| #include <Kernel/FileSystem/Ext2FileSystem.h> | ||||
|  | @ -16,7 +17,6 @@ | |||
| #include <Kernel/FileSystem/ext2_fs.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/UnixTypes.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <AK/StringView.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/FileSystem/Inode.h> | ||||
| #include <Kernel/FileSystem/InodeFile.h> | ||||
| #include <Kernel/FileSystem/OpenFileDescription.h> | ||||
|  | @ -12,7 +13,6 @@ | |||
| #include <Kernel/Memory/PrivateInodeVMObject.h> | ||||
| #include <Kernel/Memory/SharedInodeVMObject.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| #include <LibC/sys/ioctl_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <AK/MemoryStream.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/Devices/BlockDevice.h> | ||||
| #include <Kernel/FileSystem/Custody.h> | ||||
|  | @ -20,7 +21,6 @@ | |||
| #include <Kernel/TTY/MasterPTY.h> | ||||
| #include <Kernel/TTY/TTY.h> | ||||
| #include <Kernel/UnixTypes.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <AK/Singleton.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/FileSystem/Custody.h> | ||||
| #include <Kernel/FileSystem/OpenFileDescription.h> | ||||
|  | @ -15,7 +16,6 @@ | |||
| #include <Kernel/Heap/kmalloc.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/Sections.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
| #include <AK/GenericLexer.h> | ||||
| #include <AK/Singleton.h> | ||||
| #include <AK/StringBuilder.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/Devices/BlockDevice.h> | ||||
| #include <Kernel/Devices/DeviceManagement.h> | ||||
|  | @ -19,7 +20,6 @@ | |||
| #include <Kernel/KSyms.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/Sections.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
| 
 | ||||
| #include <AK/Checked.h> | ||||
| #include <AK/Try.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/Devices/DeviceManagement.h> | ||||
| #include <Kernel/Graphics/FramebufferDevice.h> | ||||
|  | @ -14,7 +15,6 @@ | |||
| #include <Kernel/Memory/MemoryManager.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/Sections.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| #include <LibC/sys/ioctl_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
| 
 | ||||
| #include <AK/Checked.h> | ||||
| #include <AK/Try.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/Devices/DeviceManagement.h> | ||||
| #include <Kernel/Graphics/FramebufferDevice.h> | ||||
|  | @ -15,7 +16,6 @@ | |||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/Sections.h> | ||||
| #include <Kernel/StdLib.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| #define MAX_RESOLUTION_WIDTH 4096 | ||||
| #define MAX_RESOLUTION_HEIGHT 2160 | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
| 
 | ||||
| #include <AK/Singleton.h> | ||||
| #include <AK/StringBuilder.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/FileSystem/OpenFileDescription.h> | ||||
| #include <Kernel/Net/ARP.h> | ||||
|  | @ -21,7 +22,6 @@ | |||
| #include <Kernel/Net/UDPSocket.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/UnixTypes.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| #include <LibC/sys/ioctl_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
| 
 | ||||
| #include <AK/Singleton.h> | ||||
| #include <AK/StringBuilder.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/FileSystem/OpenFileDescription.h> | ||||
| #include <Kernel/FileSystem/VirtualFileSystem.h> | ||||
|  | @ -15,7 +16,6 @@ | |||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/StdLib.h> | ||||
| #include <Kernel/UnixTypes.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| #include <LibC/sys/ioctl_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <AK/StringView.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/FileSystem/OpenFileDescription.h> | ||||
| #include <Kernel/Net/IPv4Socket.h> | ||||
|  | @ -13,7 +14,6 @@ | |||
| #include <Kernel/Net/Socket.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/UnixTypes.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
|  |  | |||
|  | @ -17,6 +17,7 @@ | |||
| #ifdef ENABLE_KERNEL_COVERAGE_COLLECTION | ||||
| #    include <Kernel/Devices/KCOVDevice.h> | ||||
| #endif | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Devices/NullDevice.h> | ||||
| #include <Kernel/FileSystem/Custody.h> | ||||
| #include <Kernel/FileSystem/OpenFileDescription.h> | ||||
|  | @ -34,7 +35,6 @@ | |||
| #include <Kernel/TTY/TTY.h> | ||||
| #include <Kernel/Thread.h> | ||||
| #include <Kernel/ThreadTracer.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| #include <LibC/limits.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
|  |  | |||
|  | @ -4,13 +4,13 @@ | |||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Arch/x86/InterruptDisabler.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/TTY/MasterPTY.h> | ||||
| #include <Kernel/TTY/PTYMultiplexer.h> | ||||
| #include <Kernel/TTY/SlavePTY.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| #include <LibC/signal_numbers.h> | ||||
| #include <LibC/sys/ioctl_numbers.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,12 +5,12 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <AK/Singleton.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/FileSystem/OpenFileDescription.h> | ||||
| #include <Kernel/Sections.h> | ||||
| #include <Kernel/TTY/MasterPTY.h> | ||||
| #include <Kernel/TTY/PTYMultiplexer.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,11 +6,11 @@ | |||
| 
 | ||||
| #include <AK/ScopeGuard.h> | ||||
| #include <AK/StringView.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Arch/x86/InterruptDisabler.h> | ||||
| #include <Kernel/Debug.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/TTY/TTY.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| #include <LibC/signal_numbers.h> | ||||
| #include <LibC/sys/ioctl_numbers.h> | ||||
| #define TTYDEFCHARS | ||||
|  |  | |||
|  | @ -9,10 +9,10 @@ | |||
| 
 | ||||
| #include <AK/Types.h> | ||||
| #include <AK/Userspace.h> | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| #include <Kernel/Memory/MemoryManager.h> | ||||
| #include <Kernel/StdLib.h> | ||||
| #include <Kernel/UnixTypes.h> | ||||
| #include <LibC/errno_numbers.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include <errno_numbers.h> | ||||
| #include <errno_codes.h> | ||||
| #include <sys/cdefs.h> | ||||
| 
 | ||||
| #define __RETURN_WITH_ERRNO(rc, good_ret, bad_ret) \ | ||||
|  |  | |||
|  | @ -6,168 +6,89 @@ | |||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| enum ErrnoCode { | ||||
|     EPERM = 1, | ||||
| #include <Kernel/API/POSIX/errno.h> | ||||
| 
 | ||||
| // NOTE: You can't define with a macro, so these have to be duplicated.
 | ||||
| #define EPERM EPERM | ||||
|     ENOENT, | ||||
| #define ENOENT ENOENT | ||||
|     ESRCH, | ||||
| #define ESRCH ESRCH | ||||
|     EINTR, | ||||
| #define EINTR EINTR | ||||
|     EIO, | ||||
| #define EIO EIO | ||||
|     ENXIO, | ||||
| #define ENXIO ENXIO | ||||
|     E2BIG, | ||||
| #define E2BIG E2BIG | ||||
|     ENOEXEC, | ||||
| #define ENOEXEC ENOEXEC | ||||
|     EBADF, | ||||
| #define EBADF EBADF | ||||
|     ECHILD, | ||||
| #define ECHILD ECHILD | ||||
|     EAGAIN, | ||||
| #define EAGAIN EAGAIN | ||||
|     ENOMEM, | ||||
| #define ENOMEM ENOMEM | ||||
|     EACCES, | ||||
| #define EACCES EACCES | ||||
|     EFAULT, | ||||
| #define EFAULT EFAULT | ||||
|     ENOTBLK, | ||||
| #define ENOTBLK ENOTBLK | ||||
|     EBUSY, | ||||
| #define EBUSY EBUSY | ||||
|     EEXIST, | ||||
| #define EEXIST EEXIST | ||||
|     EXDEV, | ||||
| #define EXDEV EXDEV | ||||
|     ENODEV, | ||||
| #define ENODEV ENODEV | ||||
|     ENOTDIR, | ||||
| #define ENOTDIR ENOTDIR | ||||
|     EISDIR, | ||||
| #define EISDIR EISDIR | ||||
|     EINVAL, | ||||
| #define EINVAL EINVAL | ||||
|     ENFILE, | ||||
| #define ENFILE ENFILE | ||||
|     EMFILE, | ||||
| #define EMFILE EMFILE | ||||
|     ENOTTY, | ||||
| #define ENOTTY ENOTTY | ||||
|     ETXTBSY, | ||||
| #define ETXTBSY ETXTBSY | ||||
|     EFBIG, | ||||
| #define EFBIG EFBIG | ||||
|     ENOSPC, | ||||
| #define ENOSPC ENOSPC | ||||
|     ESPIPE, | ||||
| #define ESPIPE ESPIPE | ||||
|     EROFS, | ||||
| #define EROFS EROFS | ||||
|     EMLINK, | ||||
| #define EMLINK EMLINK | ||||
|     EPIPE, | ||||
| #define EPIPE EPIPE | ||||
|     ERANGE, | ||||
| #define ERANGE ERANGE | ||||
|     ENAMETOOLONG, | ||||
| #define ENAMETOOLONG ENAMETOOLONG | ||||
|     ELOOP, | ||||
| #define ELOOP ELOOP | ||||
|     EOVERFLOW, | ||||
| #define EOVERFLOW EOVERFLOW | ||||
|     EOPNOTSUPP, | ||||
| #define EOPNOTSUPP EOPNOTSUPP | ||||
|     ENOSYS, | ||||
| #define ENOSYS ENOSYS | ||||
|     ENOTIMPL, | ||||
| #define ENOTIMPL ENOTIMPL | ||||
|     EAFNOSUPPORT, | ||||
| #define EAFNOSUPPORT EAFNOSUPPORT | ||||
|     ENOTSOCK, | ||||
| #define ENOTSOCK ENOTSOCK | ||||
|     EADDRINUSE, | ||||
| #define EADDRINUSE EADDRINUSE | ||||
|     EWHYTHO, | ||||
| #define EWHYTHO EWHYTHO | ||||
|     ENOTEMPTY, | ||||
| #define ENOTEMPTY ENOTEMPTY | ||||
|     EDOM, | ||||
| #define EDOM EDOM | ||||
|     ECONNREFUSED, | ||||
| #define ECONNREFUSED ECONNREFUSED | ||||
|     EHOSTDOWN, | ||||
| #define EHOSTDOWN EHOSTDOWN | ||||
|     EADDRNOTAVAIL, | ||||
| #define EADDRNOTAVAIL EADDRNOTAVAIL | ||||
|     EISCONN, | ||||
| #define EISCONN EISCONN | ||||
|     ECONNABORTED, | ||||
| #define ECONNABORTED ECONNABORTED | ||||
|     EALREADY, | ||||
| #define EALREADY EALREADY | ||||
|     ECONNRESET, | ||||
| #define ECONNRESET ECONNRESET | ||||
|     EDESTADDRREQ, | ||||
| #define EDESTADDRREQ EDESTADDRREQ | ||||
|     EHOSTUNREACH, | ||||
| #define EHOSTUNREACH EHOSTUNREACH | ||||
|     EILSEQ, | ||||
| #define EILSEQ EILSEQ | ||||
|     EMSGSIZE, | ||||
| #define EMSGSIZE EMSGSIZE | ||||
|     ENETDOWN, | ||||
| #define ENETDOWN ENETDOWN | ||||
|     ENETUNREACH, | ||||
| #define ENETUNREACH ENETUNREACH | ||||
|     ENETRESET, | ||||
| #define ENETRESET ENETRESET | ||||
|     ENOBUFS, | ||||
| #define ENOBUFS ENOBUFS | ||||
|     ENOLCK, | ||||
| #define ENOLCK ENOLCK | ||||
|     ENOMSG, | ||||
| #define ENOMSG ENOMSG | ||||
|     ENOPROTOOPT, | ||||
| #define ENOPROTOOPT ENOPROTOOPT | ||||
|     ENOTCONN, | ||||
| #define ENOTCONN ENOTCONN | ||||
|     ESHUTDOWN, | ||||
| #define ESHUTDOWN ESHUTDOWN | ||||
|     ETOOMANYREFS, | ||||
| #define ETOOMANYREFS ETOOMANYREFS | ||||
|     EPROTONOSUPPORT, | ||||
| #define EPROTONOSUPPORT EPROTONOSUPPORT | ||||
|     ESOCKTNOSUPPORT, | ||||
| #define ESOCKTNOSUPPORT ESOCKTNOSUPPORT | ||||
|     EDEADLK, | ||||
| #define EDEADLK EDEADLK | ||||
|     ETIMEDOUT, | ||||
| #define ETIMEDOUT ETIMEDOUT | ||||
|     EPROTOTYPE, | ||||
| #define EPROTOTYPE EPROTOTYPE | ||||
|     EINPROGRESS, | ||||
| #define EINPROGRESS EINPROGRESS | ||||
|     ENOTHREAD, | ||||
| #define ENOTHREAD ENOTHREAD | ||||
|     EPROTO, | ||||
| #define EPROTO EPROTO | ||||
|     ENOTSUP, | ||||
| #define ENOTSUP ENOTSUP | ||||
|     EPFNOSUPPORT, | ||||
| #define EPFNOSUPPORT EPFNOSUPPORT | ||||
|     EDIRINTOSELF, | ||||
| #define EDQUOT EDQUOT | ||||
|     EDQUOT, | ||||
| #define EDIRINTOSELF EDIRINTOSELF | ||||
|     ENOTRECOVERABLE, | ||||
| #define ENOTRECOVERABLE ENOTRECOVERABLE | ||||
|     EMAXERRNO, | ||||
| #define EMAXERRNO EMAXERRNO | ||||
| }; | ||||
| 
 | ||||
| #define EWOULDBLOCK EAGAIN | ||||
| #define ELAST EMAXERRNO | ||||
|  | @ -8,7 +8,7 @@ | |||
| #include <AK/String.h> | ||||
| #include <AK/Vector.h> | ||||
| #include <errno.h> | ||||
| #include <errno_numbers.h> | ||||
| #include <errno_codes.h> | ||||
| #include <grp.h> | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
|  |  | |||
|  | @ -264,87 +264,9 @@ char* strncat(char* dest, const char* src, size_t n) | |||
| } | ||||
| 
 | ||||
| const char* const sys_errlist[] = { | ||||
|     "Success (not an error)", | ||||
|     "Operation not permitted", | ||||
|     "No such file or directory", | ||||
|     "No such process", | ||||
|     "Interrupted syscall", | ||||
|     "I/O error", | ||||
|     "No such device or address", | ||||
|     "Argument list too long", | ||||
|     "Exec format error", | ||||
|     "Bad fd number", | ||||
|     "No child processes", | ||||
|     "Try again", | ||||
|     "Out of memory", | ||||
|     "Permission denied", | ||||
|     "Bad address", | ||||
|     "Block device required", | ||||
|     "Device or resource busy", | ||||
|     "File already exists", | ||||
|     "Cross-device link", | ||||
|     "No such device", | ||||
|     "Not a directory", | ||||
|     "Is a directory", | ||||
|     "Invalid argument", | ||||
|     "File table overflow", | ||||
|     "Too many open files", | ||||
|     "Not a TTY", | ||||
|     "Text file busy", | ||||
|     "File too large", | ||||
|     "No space left on device", | ||||
|     "Illegal seek", | ||||
|     "Read-only filesystem", | ||||
|     "Too many links", | ||||
|     "Broken pipe", | ||||
|     "Range error", | ||||
|     "Name too long", | ||||
|     "Too many symlinks", | ||||
|     "Overflow", | ||||
|     "Operation not supported", | ||||
|     "No such syscall", | ||||
|     "Not implemented", | ||||
|     "Address family not supported", | ||||
|     "Not a socket", | ||||
|     "Address in use", | ||||
|     "Failed without setting an error code (bug!)", | ||||
|     "Directory not empty", | ||||
|     "Math argument out of domain", | ||||
|     "Connection refused", | ||||
|     "Host is down", | ||||
|     "Address not available", | ||||
|     "Already connected", | ||||
|     "Connection aborted", | ||||
|     "Connection already in progress", | ||||
|     "Connection reset", | ||||
|     "Destination address required", | ||||
|     "Host unreachable", | ||||
|     "Illegal byte sequence", | ||||
|     "Message size", | ||||
|     "Network down", | ||||
|     "Network unreachable", | ||||
|     "Network reset", | ||||
|     "No buffer space", | ||||
|     "No lock available", | ||||
|     "No message", | ||||
|     "No protocol option", | ||||
|     "Not connected", | ||||
|     "Transport endpoint has shutdown", | ||||
|     "Too many references", | ||||
|     "Protocol not supported", | ||||
|     "Socket type not supported", | ||||
|     "Resource deadlock would occur", | ||||
|     "Timed out", | ||||
|     "Wrong protocol type", | ||||
|     "Operation in progress", | ||||
|     "No such thread", | ||||
|     "Protocol error", | ||||
|     "Not supported", | ||||
|     "Protocol family not supported", | ||||
|     "Cannot make directory a subdirectory of itself", | ||||
|     "Quota exceeded", | ||||
|     "State not recoverable", | ||||
|     "The highest errno +1 :^)", | ||||
| #define __ENUMERATE_ERRNO_CODE(c, s) s, | ||||
|     ENUMERATE_ERRNO_CODES(__ENUMERATE_ERRNO_CODE) | ||||
| #undef __ENUMERATE_ERRNO_CODE | ||||
| }; | ||||
| static_assert(array_size(sys_errlist) == (EMAXERRNO + 1)); | ||||
| 
 | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
| #include <AK/Iterator.h> | ||||
| #include <AK/Vector.h> | ||||
| #include <LibCore/ArgsParser.h> | ||||
| #include <errno_numbers.h> | ||||
| #include <errno_codes.h> | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 sin-ack
						sin-ack