Started writing C headers

This commit is contained in:
2021-04-10 17:37:05 -05:00
parent 8faf353425
commit 505213b7dc
5 changed files with 90 additions and 0 deletions

6
include/kernel.h Normal file
View File

@@ -0,0 +1,6 @@
#pragma once
struct kernel_t
{
};

55
include/priorityqueue.h Normal file
View File

@@ -0,0 +1,55 @@
#pragma once
#include "process.h"
#include <stddef.h>
/**
* @brief
*
*/
struct priority_queue_t
{
/**
* @brief A pointer to the heap described by this structure.
*
*/
struct process_t **heap;
/**
* @brief The current number of elements stored in the heap.
*
*/
size_t size;
/**
* @brief The maximum number of elements that the heap can currently hold.
*
*/
size_t capacity;
};
/**
* @brief
*
* @param queue
* @return struct process_t*
*/
struct process_t *extract_min(struct priority_queue_t *queue);
/**
* @brief
*
* @param queue
* @param process
* @return int
*/
int insert(struct priority_queue_t *queue, struct process_t *process);
/**
* @brief
*
* @param queue
* @param process
* @return int
*/
int remove(struct priority_queue_t *queue, struct process_t *process);

12
include/process.h Normal file
View File

@@ -0,0 +1,12 @@
#pragma once
#include <stddef.h>
struct process_state_t;
struct process_t
{
size_t priority;
struct process_state_t *state;
};

9
include/types/physaddr.h Normal file
View File

@@ -0,0 +1,9 @@
#pragma once
#if defined __i386__ || __arm__
typedef uint32_t physaddr_t;
#elif defined __x86_64__ || __aarch64__
typedef uint64_t physaddr_t;
#else
typedef uint64_t physaddr_t;
#endif

8
include/types/status.h Normal file
View File

@@ -0,0 +1,8 @@
#pragma once
enum status_t
{
S_OK = 0,
S_BAD_SYSCALL,
S_OUT_OF_MEMORY
};