78 lines
1.3 KiB
C
78 lines
1.3 KiB
C
|
#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
|