diff --git a/src/include/kernel/servers.h b/src/include/kernel/servers.h index 959a4fc..fd25a5f 100644 --- a/src/include/kernel/servers.h +++ b/src/include/kernel/servers.h @@ -43,8 +43,17 @@ #define COMMAND_IOCTL 0x8007 #define COMMAND_OPENDIR 0x8008 #define COMMAND_READDIR 0x8009 +#define COMMAND_CHMOD 0x800A +#define COMMAND_CHOWN 0x800B +#define COMMAND_LINK 0x800C +#define COMMAND_MKDIR 0x800D +#define COMMAND_RMDIR 0x800E -#define MAX_SYSCALL_COMMAND 0x8009 +#define COMMAND_EXEC 0x800F +#define COMMAND_CHDIR 0x8010 +#define COMMAND_CHROOT 0x8011 + +#define MAX_SYSCALL_COMMAND 0x8011 /* these commands are for device drivers */ #define COMMAND_IRQ 0xC000 @@ -180,6 +189,14 @@ typedef struct { char data[MAX_FILE_PATH]; } ReaddirCommand; +/* exec() */ +typedef struct { + SyscallHeader header; + char path[MAX_FILE_PATH]; + + uint8_t elf[]; // ELF file +} ExecCommand; + void serverInit(); void serverIdle(); void handleGeneralRequest(int, const MessageHeader *, void *);