os/cpu/i386/tasking.h

27 lines
453 B
C
Raw Normal View History

2019-02-11 09:30:28 -06:00
#ifndef INT_TASKING_H
#define INT_TASKING_H
#include <stdint.h>
typedef struct {
uint32_t eax, ebx, ecx, edx, esi, edi, esp, ebp, eip, eflags, cr3;
} Registers;
typedef struct Task {
Registers regs;
struct Task* next;
2019-02-25 15:42:23 -06:00
char kmode;
2019-02-11 09:30:28 -06:00
char** msg_store;
uint32_t* sender_store;
uint32_t msg_indx;
uint8_t rd;
uint8_t wr;
uint32_t pid;
2019-02-25 15:42:23 -06:00
char priv;
2019-04-08 15:58:30 -05:00
int errno;
2019-02-11 09:30:28 -06:00
} Task;
2019-04-08 15:58:30 -05:00
int* tasking_get_errno_address();
2019-02-11 09:30:28 -06:00
#endif