GitOS
Loading...
Searching...
No Matches
process.cpp File Reference
#include <drivers/graphics/vbe/vbe_graphics.hpp>
#include "common/status.h"
#include "common/string.h"
#include "fs/file.h"
#include "kernel.h"
#include "memory/heap/kheap.h"
#include "memory/memory.h"
#include "memory/paging/paging.h"
#include "process.h"
#include "task.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()

◆ 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