core: remove bozo typedef for types

This commit is contained in:
2025-02-07 12:35:32 +01:00
parent 70739744ac
commit 3b798e5daa
55 changed files with 59841 additions and 1789 deletions

View File

@ -1,6 +1,5 @@
#pragma once
#include "types.h"
#include <stddef.h>
char *strchr(const char *str, int c);

View File

@ -1,29 +1,28 @@
#pragma once
#include "types.h"
#include <stddef.h>
#include <stdint.h>
static inline void outb(u16 port, u8 val)
static inline void outb(uint16_t port, uint8_t val)
{
__asm__ volatile("outb %b0, %w1" : : "a"(val), "Nd"(port) : "memory");
}
static inline u8 inb(u16 port)
static inline uint8_t inb(uint16_t port)
{
u8 ret;
uint8_t ret;
__asm__ volatile("inb %w1, %b0" : "=a"(ret) : "Nd"(port) : "memory");
return ret;
}
static inline void outw(u16 port, u16 val)
static inline void outw(uint16_t port, uint16_t val)
{
__asm__ volatile("outb %b0, %w1" : : "a"(val), "Nd"(port) : "memory");
}
static inline u16 inw(u16 port)
static inline uint16_t inw(uint16_t port)
{
u8 ret;
uint8_t ret;
__asm__ volatile("inb %w1, %b0" : "=a"(ret) : "Nd"(port) : "memory");
return ret;
}

View File

@ -1,14 +0,0 @@
#pragma once
#include <stdint.h>
// Unsigned int
typedef uint64_t u64;
typedef uint32_t u32;
typedef uint16_t u16;
typedef uint8_t u8;
// Int
typedef int64_t i64;
typedef int32_t i32;
typedef int16_t i16;
typedef int8_t i8;

View File

@ -1,11 +1,11 @@
#include "types.h"
#include <stddef.h>
#include <stdint.h>
void *memcpy(void *dest, const void *src, size_t n)
{
u8 *c1 = (u8 *)dest;
const u8 *c2 = (const u8 *)src;
uint8_t *c1 = (uint8_t *)dest;
const uint8_t *c2 = (const uint8_t *)src;
for (size_t i = 0; i < n; i++)
c1[i] = c2[i];

View File

@ -1,10 +1,10 @@
#include "types.h"
#include <stddef.h>
#include <stdint.h>
void *memset(void *str, int c, size_t n)
{
u8 *c1 = (u8 *)str;
uint8_t *c1 = (uint8_t *)str;
for (size_t i = 0; i < n; i++)
c1[i] = c;

9
libbozo/src/types.sh Executable file
View File

@ -0,0 +1,9 @@
# !/bin/bash
sed -i 's/u8/uint8_t/g' **/*.c
sed -i 's/i8/int8_t/g' **/*.c
sed -i 's/u16/uint16_t/g' **/*.c
sed -i 's/i16/int16_t/g' **/*.c
sed -i 's/u32/uint32_t/g' **/*.c
sed -i 's/i32/int32_t/g' **/*.c
sed -i 's/u64/uint64_t/g' **/*.c
sed -i 's/i64/int64_t/g' **/*.c