Thu 17 Oct 23:42:52 CEST 2024
This commit is contained in:
		
							parent
							
								
									a99d23c230
								
							
						
					
					
						commit
						5907a33a98
					
				
							
								
								
									
										77
									
								
								include/kernel/types.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								include/kernel/types.h
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,77 @@ | ||||||
|  | #ifndef KERNELTYPES_H | ||||||
|  | #define KERNELTYPES_H | ||||||
|  | 
 | ||||||
|  | #pragma pack(2) | ||||||
|  | 
 | ||||||
|  | #define PAGE_SIZE 4096 | ||||||
|  | #define PAGE_BITS 12 | ||||||
|  | #define PAGE_MASK 0xfffff000 | ||||||
|  | 
 | ||||||
|  | #define KILO 1024 | ||||||
|  | #define MEGA (KILO*KILO) | ||||||
|  | #define GIGA (KILO*KILO*KILO) | ||||||
|  | 
 | ||||||
|  | #define MAX_ARGV_LENGTH 256 | ||||||
|  | 
 | ||||||
|  | #define MIN(x,y) ( ((x)<(y)) ? (x) : (y) ) | ||||||
|  | #define MAX(x,y) ( ((x)>(y)) ? (x) : (y) ) | ||||||
|  | 
 | ||||||
|  | typedef long long int64_t; | ||||||
|  | typedef int int32_t; | ||||||
|  | typedef short int16_t; | ||||||
|  | typedef char int8_t; | ||||||
|  | 
 | ||||||
|  | typedef unsigned long long uint64_t; | ||||||
|  | typedef unsigned int uint32_t; | ||||||
|  | typedef unsigned short uint16_t; | ||||||
|  | typedef unsigned char uint8_t; | ||||||
|  | 
 | ||||||
|  | typedef uint8_t bool; | ||||||
|  | 
 | ||||||
|  | typedef uint32_t addr_t; | ||||||
|  | 
 | ||||||
|  | struct rtc_time { | ||||||
|  | 	uint8_t second; | ||||||
|  | 	uint8_t minute; | ||||||
|  | 	uint8_t hour; | ||||||
|  | 	uint8_t day; | ||||||
|  | 	uint8_t month; | ||||||
|  | 	uint16_t year; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | struct process_info { | ||||||
|  | 	int pid; | ||||||
|  | 	int exitcode; | ||||||
|  | 	int exitreason; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | typedef enum { | ||||||
|  | 	KOBJECT_FILE, | ||||||
|  | 	KOBJECT_DIR, | ||||||
|  | 	KOBJECT_DEVICE, | ||||||
|  | 	KOBJECT_WINDOW, | ||||||
|  | 	KOBJECT_PIPE, | ||||||
|  | 	KOBJECT_CONSOLE | ||||||
|  | } kobject_type_t; | ||||||
|  | 
 | ||||||
|  | typedef enum { | ||||||
|  | 	KERNEL_FLAGS_READ=0, | ||||||
|  | 	KERNEL_FLAGS_WRITE=1, | ||||||
|  | 	KERNEL_FLAGS_CREATE=2, | ||||||
|  | 	KERNEL_FLAGS_RANDOM=4, | ||||||
|  | 	KERNEL_FLAGS_DIRECT=8 | ||||||
|  | } kernel_flags_t; | ||||||
|  | 
 | ||||||
|  | typedef enum { | ||||||
|  | 	KERNEL_IO_NONBLOCK=1, | ||||||
|  | 	KERNEL_IO_POST=2, | ||||||
|  | 	KERNEL_IO_DIRECT=4, | ||||||
|  | } kernel_io_flags_t; | ||||||
|  | 
 | ||||||
|  | #define KNO_STDIN   0 | ||||||
|  | #define KNO_STDOUT  1 | ||||||
|  | #define KNO_STDERR  2 | ||||||
|  | #define KNO_STDWIN  3 | ||||||
|  | #define KNO_STDDIR  4 | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user