mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 20:22:45 +00:00 
			
		
		
		
	 1682f0b760
			
		
	
	
		1682f0b760
		
	
	
	
	
		
			
			SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			806 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			806 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <errno_numbers.h>
 | |
| #include <sys/cdefs.h>
 | |
| 
 | |
| #define __RETURN_WITH_ERRNO(rc, good_ret, bad_ret) \
 | |
|     do {                                           \
 | |
|         if (rc < 0) {                              \
 | |
|             errno = -rc;                           \
 | |
|             return (bad_ret);                      \
 | |
|         }                                          \
 | |
|         errno = 0;                                 \
 | |
|         return (good_ret);                         \
 | |
|     } while (0)
 | |
| 
 | |
| __BEGIN_DECLS
 | |
| 
 | |
| extern const char* const sys_errlist[];
 | |
| extern int sys_nerr;
 | |
| 
 | |
| #ifdef NO_TLS
 | |
| extern int errno;
 | |
| #else
 | |
| extern __thread int errno;
 | |
| #endif
 | |
| 
 | |
| #define errno errno
 | |
| 
 | |
| __END_DECLS
 |