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