summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDanny Holman <dholman@gymli.org>2025-01-12 01:17:36 -0600
committerDanny Holman <dholman@gymli.org>2025-01-12 01:19:11 -0600
commit95cd78840f0891e60f5ebecc8a8eb4fbaf3c2ebf (patch)
treec8c35347b50477929727fa5be9f5d0f55cbe18fd /include
parent5e166f3042a8e7b3031aae4da7006f80caa53ecc (diff)
PROJECT RESTRUCTURING
Move the entire kernel into its own directory. Create new directories for system commands, libraries and other required essentials for a complete Unix-like operating system. Signed-off-by: Danny Holman <dholman@gymli.org>
Diffstat (limited to 'include')
-rw-r--r--include/kernel/input/keyboard.h32
-rw-r--r--include/kernel/interrupt.h13
-rw-r--r--include/kernel/panic.h10
-rw-r--r--include/kernel/sched.h20
-rw-r--r--include/kernel/serial.h21
-rw-r--r--include/kernel/video/framebuffer.h23
-rw-r--r--include/kernel/video/vga.h33
-rw-r--r--include/libk/container_of.h10
-rw-r--r--include/libk/data/list.h32
-rw-r--r--include/libk/data/ringbuf.h50
-rw-r--r--include/libk/io.h10
-rw-r--r--include/libk/kmalloc.h19
-rw-r--r--include/libk/string.h19
13 files changed, 0 insertions, 292 deletions
diff --git a/include/kernel/input/keyboard.h b/include/kernel/input/keyboard.h
deleted file mode 100644
index a0d1470..0000000
--- a/include/kernel/input/keyboard.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef KERNEL_KEYBOARD_H
-#define KERNEL_KEYBOARD_H
-
-#include <kernel/asm.h>
-
-#define KB_STAT 0x64
-#define KB_DATA 0x60
-
-#define KB_DIB 0x01
-#define KB_SHIFT (1<<0)
-#define KB_CTL (1<<1)
-#define KB_ALT (1<<2)
-#define KB_CPSLK (1<<3)
-#define KB_NUMLK (1<<4)
-#define KB_SCLLK (1<<5)
-#define KB_E0ESC (1<<6)
-
-#define KB_HOME 0xE0
-#define KB_END 0xE1
-#define KB_UP 0xE2
-#define KB_DOWN 0xE3
-#define KB_LEFT 0xE4
-#define KB_RGHT 0xE5
-#define KB_PGUP 0xE6
-#define KB_PGDN 0xE7
-#define KB_INS 0xE8
-#define KB_DEL 0xE9
-
-char keyboard_getchar(void);
-void keyboard_handler(struct isr_frame *frame);
-
-#endif
diff --git a/include/kernel/interrupt.h b/include/kernel/interrupt.h
deleted file mode 100644
index b707fe7..0000000
--- a/include/kernel/interrupt.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef KERNEL_INTERRUPT_H
-#define KERNEL_INTERRUPT_H
-
-#include <kernel/asm.h>
-#include <stdint.h>
-#include <stddef.h>
-
-void register_isr_handler(unsigned int isr, void (*handler)(struct isr_frame *frame));
-void clear_isr_handler(unsigned int isr);
-
-void isr_dispatch(struct isr_frame frame);
-
-#endif
diff --git a/include/kernel/panic.h b/include/kernel/panic.h
deleted file mode 100644
index adfcd71..0000000
--- a/include/kernel/panic.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef KERNEL_PANIC_H
-#define KERNEL_PANIC_H
-
-#include <kernel/asm.h>
-#include <stdint.h>
-#include <stddef.h>
-
-void panic(const char *str);
-
-#endif
diff --git a/include/kernel/sched.h b/include/kernel/sched.h
deleted file mode 100644
index 00a5d95..0000000
--- a/include/kernel/sched.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef KERNEL_SCHED_H
-#define KERNEL_SCHED_H
-
-#include <kernel/asm.h>
-#include <kernel/kthread.h>
-#include <stdint.h>
-
-void sched_init(void);
-void schedule_next(void);
-void schedule_thread(struct kthread *thread);
-
-void block_thread(struct kthread *thread);
-void unblock_thread(struct kthread *thread);
-
-void sched_lock(void);
-void sched_unlock(void);
-
-void switch_thread(struct kthread *old, struct kthread *new);
-
-#endif
diff --git a/include/kernel/serial.h b/include/kernel/serial.h
deleted file mode 100644
index 4767722..0000000
--- a/include/kernel/serial.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef KERNEL_SERIAL_H
-#define KERNEL_SERIAL_H
-
-#include <stdint.h>
-#include <stddef.h>
-
-int serial_init(void);
-void serial_putchar(char c);
-char serial_getchar(void);
-
-static inline void serial_write(const char *data, size_t size) {
- for (size_t i = 0; i < size; i++)
- serial_putchar(data[i]);
-}
-
-static inline void serial_read(char *data, size_t size) {
- for (size_t i = 0; i < size; i++)
- data[i] = serial_getchar();
-}
-
-#endif
diff --git a/include/kernel/video/framebuffer.h b/include/kernel/video/framebuffer.h
deleted file mode 100644
index 500e71b..0000000
--- a/include/kernel/video/framebuffer.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef KERNEL_FRAMEBUFFER_H
-#define KERNEL_FRAMEBUFFER_H
-
-#include <stddef.h>
-#include <stdint.h>
-
-#define VGA_WIDTH 80
-#define VGA_HEIGHT 25
-
-static uint16_t *const VGA_MEMORY = (uint16_t*)0xC03FF000;
-
-void fb_init(void);
-void fb_setcolor(uint8_t color);
-void fb_putchar(char c);
-void fb_setpos(int x, int y);
-void fb_offsetpos(int dx, int dy);
-
-static inline void fb_write(const char *data, size_t size) {
- for (size_t i = 0; i < size; i++)
- fb_putchar(data[i]);
-}
-
-#endif
diff --git a/include/kernel/video/vga.h b/include/kernel/video/vga.h
deleted file mode 100644
index b639a3c..0000000
--- a/include/kernel/video/vga.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef KERNEL_VGA_H
-#define KERNEL_VGA_H
-
-#include <stdint.h>
-
-enum vga_color {
- VGA_COLOR_BLACK = 0,
- VGA_COLOR_BLUE = 1,
- VGA_COLOR_GREEN = 2,
- VGA_COLOR_CYAN = 3,
- VGA_COLOR_RED = 4,
- VGA_COLOR_MAGENTA = 5,
- VGA_COLOR_BROWN = 6,
- VGA_COLOR_LIGHT_GREY = 7,
- VGA_COLOR_DARK_GREY = 8,
- VGA_COLOR_LIGHT_BLUE = 9,
- VGA_COLOR_LIGHT_GREEN = 10,
- VGA_COLOR_LIGHT_CYAN = 11,
- VGA_COLOR_LIGHT_RED = 12,
- VGA_COLOR_LIGHT_MAGENTA = 13,
- VGA_COLOR_LIGHT_BROWN = 14,
- VGA_COLOR_LIGHT_WHITE = 15,
-};
-
-static inline uint8_t vga_entry_color(enum vga_color fg, enum vga_color bg) {
- return fg | bg << 4;
-}
-
-static inline uint16_t vga_entry(unsigned char uc, uint8_t color) {
- return (uint16_t)uc | (uint16_t)color << 8;
-}
-
-#endif
diff --git a/include/libk/container_of.h b/include/libk/container_of.h
deleted file mode 100644
index fdc400c..0000000
--- a/include/libk/container_of.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef LIBK_CONTAINER_OF_H
-#define LIBK_CONTAINER_OF_H
-
-#ifndef container_of
-#define container_of(ptr, type, member) ({ \
- const typeof(((type*)0)->member)*__mptr = (ptr); \
- (type*)((char*)__mptr - offsetof(type, member)); })
-#endif
-
-#endif
diff --git a/include/libk/data/list.h b/include/libk/data/list.h
deleted file mode 100644
index 69eee3a..0000000
--- a/include/libk/data/list.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef LIBK_LIST_H
-#define LIBK_LIST_H
-
-#include <stddef.h>
-
-struct list_head {
- struct list_head *next;
- struct list_head *prev;
-};
-
-static inline void list_add(struct list_head *new, struct list_head *head) {
- struct list_head *temp = head;
- while (temp->next != NULL)
- temp = temp->next;
-
- temp->next = new;
- new->prev = temp;
- new->next = NULL;
-}
-
-static inline void list_del(struct list_head *item) {
- struct list_head *next = item->next;
- struct list_head *prev = item->prev;
- if (next != NULL)
- next->prev = prev;
- if (prev != NULL)
- prev->next = next;
- item->next = NULL;
- item->prev = NULL;
-}
-
-#endif
diff --git a/include/libk/data/ringbuf.h b/include/libk/data/ringbuf.h
deleted file mode 100644
index cc6d77b..0000000
--- a/include/libk/data/ringbuf.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef LIBK_RINGBUF_H
-#define LIBK_RINGBUF_H
-
-#include <kernel/kmalloc.h>
-#include <kernel/string.h>
-#include <stdint.h>
-
-struct ringbuf {
- void *buffer;
- void *buf_end;
- uint32_t capacity;
- uint32_t count;
- uint32_t size;
- void *head;
- void *tail;
-};
-
-static inline void rb_init(struct ringbuf *rb, uint32_t capacity, uint32_t size) {
- rb->buffer = kmalloc(capacity * size);
- rb->buf_end = (char*)rb->buffer + (capacity * size);
- rb->capacity = capacity;
- rb->size = size;
- rb->head = rb->buffer;
- rb->tail = rb->buffer;
-}
-
-static inline int rb_push_back(struct ringbuf *rb, const void *item, size_t size) {
- if (rb->count == rb->capacity)
- return -1;
- if (size > rb->size)
- return -1;
-
- void *tmp = rb->tail + rb->size;
- if (tmp > rb->head + rb->capacity * rb->size)
- rb->tail = rb->head;
- memcpy(rb->tail, item, size);
- rb->tail += rb->size;
- rb->count++;
- return 0;
-}
-
-static inline void rb_pop_front(struct ringbuf *rb, void *item) {
- memcpy(item, rb->tail, rb->size);
- rb->tail = (char*)rb->tail + rb->size;
- if (rb->tail == rb->buf_end)
- rb->tail = rb->buffer;
- rb->count--;
-}
-
-#endif
diff --git a/include/libk/io.h b/include/libk/io.h
deleted file mode 100644
index 72dc5d7..0000000
--- a/include/libk/io.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef LIBK_IO_H
-#define LIBK_IO_H
-
-#include <stdarg.h>
-
-char* convert(unsigned int num, int base);
-int vkprintf(const char *fmt, va_list args);
-int kprintf(const char *fmt, ...);
-
-#endif
diff --git a/include/libk/kmalloc.h b/include/libk/kmalloc.h
deleted file mode 100644
index 6573d28..0000000
--- a/include/libk/kmalloc.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef LIBK_KMALLOC_H
-#define LIBK_KMALLOC_H
-
-#include <stdint.h>
-#include <stddef.h>
-
-struct mem_block {
- void *start;
- size_t size;
- int alloc;
- struct mem_block *next;
- struct mem_block *prev;
-};
-
-void kmalloc_init(void);
-void* kmalloc(size_t sz);
-void kfree(void *ptr);
-
-#endif
diff --git a/include/libk/string.h b/include/libk/string.h
deleted file mode 100644
index 1fb4af1..0000000
--- a/include/libk/string.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef LIBK_STRING_H
-#define LIBK_STRING_H
-
-#include <stddef.h>
-
-int memcmp(const void *str1, const void *str2, size_t n);
-void* memcpy(void* __restrict dest, const void* __restrict src, size_t n);
-void* memmove(void* __restrict dest, const void* __restrict src, size_t n);
-void* memset(void *str, int c, size_t n);
-int strncmp(const char *str1, const char *str2, size_t n);
-int strcmp(const char *str1, const char *str2);
-size_t strlen(const char *str);
-char* strncpy(char* __restrict dest, const char* __restrict src, size_t n);
-char* strcpy(char* __restrict dest, const char* __restrict src);
-char* strncat(char* __restrict dest, const char* __restrict src, size_t n);
-char* strcat(char* __restrict dest, const char* __restrict src);
-char* strtok(char* __restrict str, const char* __restrict delim);
-
-#endif