Commit 6933fcb

kravantokh <kravantokh@noreply.codeberg.org>
2026-08-03 11:40:52
Make error naming clearer.
1 parent f55d118
Changed files (4)
datatypes
platform
util
datatypes/error.h
@@ -14,20 +14,20 @@ typedef u32 Status;
 #define S_SOURCE_MASK (0x3ff << 20)
 enum _ErrorSources {
 
-	ERR_ARG_1 =  (0x1 << 20),
-	ERR_ARG_2 =  (0x2 << 20),
-	ERR_ARG_3 =  (0x3 << 20),
-	ERR_ARG_4 =  (0x4 << 20),
-	ERR_ARG_5 =  (0x5 << 20),
-	ERR_ARG_6 =  (0x6 << 20),
-	ERR_ARG_7 =  (0x7 << 20),
-	ERR_ARG_8 =  (0x8 << 20),
-	ERR_ARG_9 =  (0x9 << 20),
-	ERR_ARG_10 = (0xa << 20),
-	ERR_ARG_11 = (0xb << 20),
-	ERR_ARG_12 = (0xc << 20),
-
-	ERR_PLATFORM = (0x10 << 20), /* The error resulted inside platform code. */
+	ERRSRC_ARG_1 =  (0x1 << 20),
+	ERRSRC_ARG_2 =  (0x2 << 20),
+	ERRSRC_ARG_3 =  (0x3 << 20),
+	ERRSRC_ARG_4 =  (0x4 << 20),
+	ERRSRC_ARG_5 =  (0x5 << 20),
+	ERRSRC_ARG_6 =  (0x6 << 20),
+	ERRSRC_ARG_7 =  (0x7 << 20),
+	ERRSRC_ARG_8 =  (0x8 << 20),
+	ERRSRC_ARG_9 =  (0x9 << 20),
+	ERRSRC_ARG_10 = (0xa << 20),
+	ERRSRC_ARG_11 = (0xb << 20),
+	ERRSRC_ARG_12 = (0xc << 20),
+
+	ERRSRC_PLATFORM = (0x10 << 20), /* The error resulted inside platform code. */
 };
 
 #define S_REASON_MASK (0xfffff)
platform/linux/file.h
@@ -31,15 +31,15 @@ Status File_open( const String *name, usize flags, File *out ) {
 		(flags & FILE_EXISTING_TRUNCATE)
 	) {
 		DEBUG( breakpoint() ); /* Can not truncate a file without write access. */
-		return S_FAILURE | ERR_INVALID_ARGUMENT | ERR_ARG_3;
+		return S_FAILURE | ERR_INVALID_ARGUMENT | ERRSRC_ARG_3;
 	}
 
 	if( (flags & FILE_EXISTING_FAIL) && (flags & FILE_MISSING_FAIL) ) {
 		DEBUG( breakpoint() ); /* Useless flag combination: error if there is a file, error if there isn't one aka always error */
-		return S_FAILURE | ERR_INVALID_ARGUMENT | ERR_ARG_3;
+		return S_FAILURE | ERR_INVALID_ARGUMENT | ERRSRC_ARG_3;
 	}
 
-	TRY( File_open_validate_flags( flags, ERR_ARG_3 ) );
+	TRY( File_open_validate_flags( flags, ERRSRC_ARG_3 ) );
 
 	usize syscall_flags = O_CLOEXEC; /* Close all files on exec */
 
@@ -66,7 +66,7 @@ Status File_open( const String *name, usize flags, File *out ) {
 
 		default:
 			UNREACHABLE;
-			return S_FAILURE | ERR_INVALID_ARGUMENT | ERR_ARG_3;
+			return S_FAILURE | ERR_INVALID_ARGUMENT | ERRSRC_ARG_3;
 	}
 
 	switch( flags & FILE_EXISTING_MASK ) {
@@ -81,7 +81,7 @@ Status File_open( const String *name, usize flags, File *out ) {
 			break;
 		default:
 			UNREACHABLE;
-			return S_FAILURE | ERR_INVALID_ARGUMENT | ERR_ARG_3;
+			return S_FAILURE | ERR_INVALID_ARGUMENT | ERRSRC_ARG_3;
 	}
 
 	switch( flags & FILE_MISSING_MASK ) {
@@ -93,7 +93,7 @@ Status File_open( const String *name, usize flags, File *out ) {
 			break;
 		default:
 			UNREACHABLE;
-			return S_FAILURE | ERR_INVALID_ARGUMENT | ERR_ARG_3;
+			return S_FAILURE | ERR_INVALID_ARGUMENT | ERRSRC_ARG_3;
 	}
 
 	switch( flags & FILE_LINK_MASK ) {
@@ -113,19 +113,19 @@ Status File_open( const String *name, usize flags, File *out ) {
 		switch( out->fd ) {
 			case -EACCES:
 			case -EPERM:
-				return S_FAILURE | ERR_PLATFORM | ERR_PERMISSION_DENIED;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_PERMISSION_DENIED;
 			case -EEXIST:
-				return S_FAILURE | ERR_PLATFORM | ERR_FILE_ALREADY_EXISTS;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_FILE_ALREADY_EXISTS;
 			case -EINVAL:
-				return S_FAILURE | ERR_PLATFORM | ERR_INVALID_ARGUMENT;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_INVALID_ARGUMENT;
 			case -ENOENT:
-				return S_FAILURE | ERR_PLATFORM | ERR_FILE_DOESNT_EXIST;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_FILE_DOESNT_EXIST;
 			case -ENAMETOOLONG:
-				return S_FAILURE | ERR_ARG_1 | ERR_INVALID_ARGUMENT;
+				return S_FAILURE | ERRSRC_ARG_1 | ERR_INVALID_ARGUMENT;
 			case -ENOSPC:
-				return S_FAILURE | ERR_PLATFORM | ERR_NO_DISK_SPACE;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_NO_DISK_SPACE;
 			default:
-				return S_FAILURE | ERR_PLATFORM | ERR_GENERIC;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_GENERIC;
 		}
 	}
 }
@@ -139,9 +139,9 @@ Status File_close( File *f ) {
 	} else {
 		switch( res ) {
 			case -EBADF:
-				return S_FAILURE | ERR_ARG_1 | ERR_INVALID_ARGUMENT;
+				return S_FAILURE | ERRSRC_ARG_1 | ERR_INVALID_ARGUMENT;
 			default:
-				return S_FAILURE | ERR_PLATFORM | ERR_GENERIC;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_GENERIC;
 		}
 	}
 }
@@ -155,11 +155,11 @@ Status File_read( const File *f, usize max_amount, usize *out_amount, u8 *out )
 	} else {
 		switch(res) {
 			case -EBADF:
-				return S_FAILURE | ERR_ARG_1 | ERR_INVALID_ARGUMENT;
+				return S_FAILURE | ERRSRC_ARG_1 | ERR_INVALID_ARGUMENT;
 			case -EFAULT:
-				return S_FAILURE | ERR_ARG_3 | ERR_OUT_OF_BOUND;
+				return S_FAILURE | ERRSRC_ARG_3 | ERR_OUT_OF_BOUND;
 			default:
-				return S_FAILURE | ERR_PLATFORM | ERR_GENERIC;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_GENERIC;
 		}
 	}
 }
@@ -173,11 +173,11 @@ Status File_write( const File *f, usize amount, usize *out_amount, const u8 *buf
 	} else {
 		switch(res) {
 			case -EBADF:
-				return S_FAILURE | ERR_ARG_1 | ERR_INVALID_ARGUMENT;
+				return S_FAILURE | ERRSRC_ARG_1 | ERR_INVALID_ARGUMENT;
 			case -EFAULT:
-				return S_FAILURE | ERR_ARG_3 | ERR_OUT_OF_BOUND;
+				return S_FAILURE | ERRSRC_ARG_3 | ERR_OUT_OF_BOUND;
 			default:
-				return S_FAILURE | ERR_PLATFORM | ERR_GENERIC;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_GENERIC;
 		}
 	}
 }
@@ -191,13 +191,13 @@ Status File_delete( const String *name ) {
 		switch( res ) {
 			case -EACCES:
 			case -EPERM:
-				return S_FAILURE | ERR_PLATFORM | ERR_PERMISSION_DENIED;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_PERMISSION_DENIED;
 			case -EFAULT:
-				return S_FAILURE | ERR_ARG_1 | ERR_OUT_OF_BOUND;
+				return S_FAILURE | ERRSRC_ARG_1 | ERR_OUT_OF_BOUND;
 			case -ENOENT:
-				return S_FAILURE | ERR_PLATFORM | ERR_FILE_DOESNT_EXIST;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_FILE_DOESNT_EXIST;
 			default:
-				return S_FAILURE | ERR_PLATFORM | ERR_GENERIC;
+				return S_FAILURE | ERRSRC_PLATFORM | ERR_GENERIC;
 		}
 	}
 }
@@ -210,7 +210,7 @@ Status File_seek( const File *f, usize position ) {
 	} else {
 		switch( res ) {
 			case -EBADF:
-				return S_FAILURE | ERR_ARG_1 | ERR_INVALID_ARGUMENT;
+				return S_FAILURE | ERRSRC_ARG_1 | ERR_INVALID_ARGUMENT;
 			case -EOVERFLOW:
 				return S_FAILURE | ERR_OVERFLOW;
 			default:
@@ -223,7 +223,7 @@ Status FileView_from_file( File *file, usize claim_amount, usize flags, FileView
 	DEBUG( assert( claim_amount%sizeof(Page) == 0 ) );
 
 	if( claim_amount%sizeof(Page) != 0 ) {
-		return ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+		return ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	}
 
 	TRY( mem_claim( claim_amount/sizeof(Page), &out->start ) );
@@ -235,7 +235,7 @@ Status FileView_from_file( File *file, usize claim_amount, usize flags, FileView
 
 	if( LINUX_SYSCALL_ERROR(res) ) {
 		DEBUG(breakpoint());
-		return S_FAILURE | ERR_PLATFORM | ERR_GENERIC;
+		return S_FAILURE | ERRSRC_PLATFORM | ERR_GENERIC;
 	}
 
 	out->filesize = s.st_size;
@@ -244,7 +244,7 @@ Status FileView_from_file( File *file, usize claim_amount, usize flags, FileView
 		res = linux_mmap( (usize)out->start, out->filesize, LINUX_PROT_READ | LINUX_PROT_WRITE, MMAP_MAP_FIXED | MMAP_MAP_SHARED, file->fd, 0 );
 		if( LINUX_SYSCALL_ERROR(res) ) {
 			DEBUG(breakpoint());
-			return S_FAILURE | ERR_PLATFORM | ERR_GENERIC;
+			return S_FAILURE | ERRSRC_PLATFORM | ERR_GENERIC;
 		}
 	}
 	/* Finalize output */
@@ -284,7 +284,7 @@ Status FileView_extend_file( FileView *fv, usize amount ) {
 
 	usize res = linux_fallocate( fv->file.fd, 0, fv->filesize, amount );
 	if( LINUX_SYSCALL_ERROR(res) ) {
-		return S_FAILURE | ERR_PLATFORM | ERR_GENERIC;
+		return S_FAILURE | ERRSRC_PLATFORM | ERR_GENERIC;
 	}
 	fv->filesize += amount;
 
@@ -299,7 +299,7 @@ Status FileView_extend_file( FileView *fv, usize amount ) {
 
 
 	if( LINUX_SYSCALL_ERROR(res) ) {
-		return S_FAILURE | ERR_PLATFORM | ERR_MEM_MAP_FAILURE;
+		return S_FAILURE | ERRSRC_PLATFORM | ERR_MEM_MAP_FAILURE;
 	}
 
 	return S_SUCCESS;
@@ -313,7 +313,7 @@ Status FileView_destroy( FileView *fv ) {
 
 	usize res = linux_munmap( (usize)fv->start, fv->claimed );
 	if( LINUX_SYSCALL_ERROR(res) ) {
-		return S_FAILURE | ERR_PLATFORM | ERR_MEM_UNMAP_FAILURE;
+		return S_FAILURE | ERRSRC_PLATFORM | ERR_MEM_UNMAP_FAILURE;
 	}
 
 	fv->flags = 0;
platform/linux/memory.h
@@ -19,7 +19,7 @@ Status mem_relinquish( Page *start, u32 page_count ) {
 	usize res = linux_munmap( (usize)start, page_count*sizeof(Page) );
 
 	if( LINUX_SYSCALL_ERROR(res) ) {
-		return S_FAILURE | ERR_PLATFORM | ERR_MEM_UNMAP_FAILURE;
+		return S_FAILURE | ERRSRC_PLATFORM | ERR_MEM_UNMAP_FAILURE;
 	}
 
 	return S_SUCCESS;
@@ -29,7 +29,7 @@ Status mem_occupy( Page *start, u32 page_count ) {
 	usize res = linux_mprotect( (usize)start, page_count*sizeof(Page), LINUX_PROT_READ | LINUX_PROT_WRITE );
 
 	if( LINUX_SYSCALL_ERROR(res) ) {
-		return S_FAILURE | ERR_PLATFORM | ERR_MEM_SETPERM_FAILURE;
+		return S_FAILURE | ERRSRC_PLATFORM | ERR_MEM_SETPERM_FAILURE;
 	}
 
 	return S_SUCCESS;
@@ -41,13 +41,13 @@ Status mem_vacate( Page *start, u32 page_count ) {
 	usize res = linux_mprotect( (usize)start, amount, LINUX_PROT_NONE );
 
 	if( LINUX_SYSCALL_ERROR(res) ) {
-		return S_FAILURE | ERR_PLATFORM | ERR_MEM_SETPERM_FAILURE;
+		return S_FAILURE | ERRSRC_PLATFORM | ERR_MEM_SETPERM_FAILURE;
 	}
 
 	res = linux_madvise( (usize)start, amount, MADV_DONTNEED);
 
 	if( LINUX_SYSCALL_ERROR(res) ) {
-		return S_FAILURE | ERR_PLATFORM | ERR_MEM_SETHINT_FAILURE;
+		return S_FAILURE | ERRSRC_PLATFORM | ERR_MEM_SETHINT_FAILURE;
 	}
 
 	return S_SUCCESS;
util/mathops.h
@@ -24,7 +24,7 @@ static inline u8 usize_is_power_of_two( usize num ) {
 }
 
 static inline Status u64_round_up( u64 number, u64 multiple, u64 *out ) {
-	if( multiple == 0 ) return S_FAILURE | ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+	if( multiple == 0 ) return S_FAILURE | ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	u64 rem = number%multiple;
 	if( rem == 0 ) {
 		*out = number;
@@ -35,7 +35,7 @@ static inline Status u64_round_up( u64 number, u64 multiple, u64 *out ) {
 }
 
 static inline Status u32_round_up( u32 number, u32 multiple, u32 *out ) {
-	if( multiple == 0 ) return S_FAILURE | ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+	if( multiple == 0 ) return S_FAILURE | ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	u32 rem = number%multiple;
 	if( rem == 0 ) {
 		*out = number;
@@ -46,7 +46,7 @@ static inline Status u32_round_up( u32 number, u32 multiple, u32 *out ) {
 }
 
 static inline Status u16_round_up( u16 number, u16 multiple, u16 *out ) {
-	if( multiple == 0 ) return S_FAILURE | ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+	if( multiple == 0 ) return S_FAILURE | ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	u16 rem = number%multiple;
 	if( rem == 0 ) {
 		*out = number;
@@ -57,7 +57,7 @@ static inline Status u16_round_up( u16 number, u16 multiple, u16 *out ) {
 }
 
 static inline Status u8_round_up( u8 number, u8 multiple, u8 *out ) {
-	if( multiple == 0 ) return S_FAILURE | ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+	if( multiple == 0 ) return S_FAILURE | ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	u8 rem = number%multiple;
 	if( rem == 0 ) {
 		*out = number;
@@ -78,25 +78,25 @@ static inline Status usize_round_up( usize number, usize multiple, usize *out )
 #endif
 
 static inline Status u64_round_down(u64 number, u64 multiple, u64 *out) {
-	if( multiple == 0 ) return S_FAILURE | ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+	if( multiple == 0 ) return S_FAILURE | ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	*out = number - (number%multiple);
 	return S_SUCCESS;
 }
 
 static inline Status u32_round_down(u32 number, u32 multiple, u32 *out) {
-	if( multiple == 0 ) return S_FAILURE | ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+	if( multiple == 0 ) return S_FAILURE | ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	*out = number - (number%multiple);
 	return S_SUCCESS;
 }
 
 static inline Status u16_round_down(u16 number, u16 multiple, u16 *out) {
-	if( multiple == 0 ) return S_FAILURE | ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+	if( multiple == 0 ) return S_FAILURE | ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	*out = number - (number%multiple);
 	return S_SUCCESS;
 }
 
 static inline Status u8_round_down(u8 number, u8 multiple, u8 *out) {
-	if( multiple == 0 ) return S_FAILURE | ERR_ARG_2 | ERR_INVALID_ARGUMENT;
+	if( multiple == 0 ) return S_FAILURE | ERRSRC_ARG_2 | ERR_INVALID_ARGUMENT;
 	*out = number - (number%multiple);
 	return S_SUCCESS;
 }