GitOS
Operating system exercise
Loading...
Searching...
No Matches
process.cpp File Reference
#include <drivers/graphics/vbe/vbe_graphics.hpp>
#include "process.h"
#include "memory/memory.h"
#include "memory/heap/kheap.h"
#include "memory/paging/paging.h"
#include "fs/file.h"
#include "common/status.h"
#include "task.h"
#include "common/string.h"
#include "kernel.h"
#include "formats/elf/ELFFile.hpp"

Functions

struct processprocess_current ()
 
struct processprocess_get (int process_id)
 
int process_switch (struct process *process)
 
int elf_load (const char *filename, ELFFile **elf_file)
 
int process_map_memory (struct process *process)
 
int process_get_free_slot ()
 
int process_load_switch (const char *filename, struct process *process)
 
int process_get_next_allocation_index (struct process *process)
 
int process_load_for_slot (const char *filename, struct process *process, int process_slot)
 
int process_load (const char *filename, struct process *process)
 
void process_pushkey (struct process *process, char c)
 
char process_popkey (struct process *process)
 
void * process_malloc (struct process *process, size_t size)
 
void * process_malloc_flags (struct process *process, size_t size, int flags)
 
void process_free (struct process *process, void *address)
 
void process_terminate (struct process *process)
 
struct process ** process_get_list ()
 

Variables

struct processcurrent_process = 0
 

Function Documentation

◆ elf_load()

int elf_load ( const char *  filename,
ELFFile **  elf_file 
)

◆ process_current()

struct process * process_current ( )

References current_process.

◆ process_free()

void process_free ( struct process process,
void *  address 
)

◆ process_get()

struct process * process_get ( int  process_id)

References MAX_PROCESSES.

◆ process_get_free_slot()

int process_get_free_slot ( )

References EISTKN, and MAX_PROCESSES.

◆ process_get_list()

struct process ** process_get_list ( )

◆ process_get_next_allocation_index()

int process_get_next_allocation_index ( struct process process)

◆ process_load()

int process_load ( const char *  filename,
struct process process 
)

◆ process_load_for_slot()

◆ process_load_switch()

int process_load_switch ( const char *  filename,
struct process process 
)

◆ process_malloc()

void * process_malloc ( struct process process,
size_t  size 
)

◆ process_malloc_flags()

void * process_malloc_flags ( struct process process,
size_t  size,
int  flags 
)

◆ process_map_memory()

◆ process_popkey()

char process_popkey ( struct process process)

◆ process_pushkey()

void process_pushkey ( struct process process,
char  c 
)

◆ process_switch()

int process_switch ( struct process process)

References current_process.

◆ process_terminate()

Variable Documentation

◆ current_process

struct process* current_process = 0