Kintsugi OS 0.4.0
x86 Monolithic OS
Loading...
Searching...
No Matches
ctypes.h
Go to the documentation of this file.
1/*------------------------------------------------------------------------------
2 * Kintsugi OS KKLIBC source code
3 * File: kklibc/ctypes.h
4 * Title: Библиотека для работы с типами C (заголовочный файл)
5 * Description: null
6 * ----------------------------------------------------------------------------*/
7
8#ifndef KKLIBC_CTYPES_H
9#define KKLIBC_CTYPES_H
10
11typedef unsigned int u32;
12typedef int s32;
13typedef unsigned short u16;
14typedef short s16;
15typedef unsigned char u8;
16typedef char s8;
17typedef unsigned long long u64;
18typedef long long s64;
19
20#define NULL ((void*)0)
21#define true 1
22#define false 0
23
24#define low_16(address) (u16)((address) & 0xFFFF)
25#define high_16(address) (u16)(((address) >> 16) & 0xFFFF)
26
27#define KB (1024)
28#define MB (1024 * 1024)
29#define GB (1024 * 1024 * 1024)
30#define TB (1024 * 1024 * 1024 * 1024)
31#define PB (1024 * 1024 * 1024 * 1024 * 1024)
32#define EB (1024 * 1024 * 1024 * 1024 * 1024 * 1024)
33#define ZB (1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024)
34#define YB (1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024)
35
36#define ASSERT(b) \
37 do { \
38 if (!(b)) \
39 panic_assert(__FILE__, __LINE__, #b); \
40 } while (0)
41
42void panic_assert(const char* file, u32 line, const char* desc);
43
44int isalnum(int c);
45int isalpha(int c);
46int isblank(int c);
47int iscntrl(int c);
48int isdigit(int c);
49int isgraph(int c);
50int islower(int c);
51int isprint(int c);
52int ispunct(int c);
53int isspace(int c);
54int isupper(int c);
55int isxdigit(int c);
56
57int tolower(int c);
58int toupper(int c);
59
60#endif
int iscntrl(int c)
Классификация управляющих символов
Definition ctypes.c:58
unsigned int u32
Definition ctypes.h:11
int isalpha(int c)
Классификация алфавитных символов
Definition ctypes.c:36
short s16
Definition ctypes.h:14
char s8
Definition ctypes.h:16
int isdigit(int c)
Классификация цифровых символов
Definition ctypes.c:67
int isgraph(int c)
Классификация видимых печатных символов
Definition ctypes.c:76
int isspace(int c)
Классификация пробельных символов
Definition ctypes.c:124
void panic_assert(const char *file, u32 line, const char *desc)
Definition ctypes.c:12
int islower(int c)
Классификация символов нижнего регистра
Definition ctypes.c:88
long long s64
Definition ctypes.h:18
int isprint(int c)
Классификация печатных символов
Definition ctypes.c:97
int toupper(int c)
Преобразование символа в верхний регистр
Definition ctypes.c:176
unsigned short u16
Definition ctypes.h:13
int s32
Definition ctypes.h:12
int tolower(int c)
Преобразование символа в нижний регистр
Definition ctypes.c:161
unsigned long long u64
Definition ctypes.h:17
int isupper(int c)
Классификация символов верхнего регистра
Definition ctypes.c:136
int isxdigit(int c)
Классификация шестнадцатеричных цифр
Definition ctypes.c:146
int isalnum(int c)
Классификация буквенно-цифровых символов
Definition ctypes.c:24
int isblank(int c)
Классизация пробельных символов
Definition ctypes.c:49
unsigned char u8
Definition ctypes.h:15
int ispunct(int c)
Классификация знаков пунктуации
Definition ctypes.c:108