Add type "kernaux_bool"

This commit is contained in:
Alex Kotov 2020-11-30 05:12:25 +05:00
parent edbd31e02d
commit 3be57b6ccb
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
5 changed files with 76 additions and 67 deletions

View File

@ -1,6 +1,8 @@
#ifndef KERNAUX_INCLUDED_MULTIBOOT2
#define KERNAUX_INCLUDED_MULTIBOOT2 1
#include <kernaux/stdlib.h>
#define KERNAUX_MULTIBOOT2_MAGIC 0x36d76289
#ifdef __cplusplus
@ -346,122 +348,122 @@ __attribute__((nonnull));
* Validation functions *
************************/
unsigned char KernAux_Multiboot2_is_valid(
kernaux_bool KernAux_Multiboot2_is_valid(
const struct KernAux_Multiboot2 *multiboot2
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_TagBase_is_valid(
kernaux_bool KernAux_Multiboot2_TagBase_is_valid(
const struct KernAux_Multiboot2_TagBase *tag_base
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_None_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_None_is_valid(
const struct KernAux_Multiboot2_Tag_None *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_BootCmdLine_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_BootCmdLine_is_valid(
const struct KernAux_Multiboot2_Tag_BootCmdLine *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_BootLoaderName_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_BootLoaderName_is_valid(
const struct KernAux_Multiboot2_Tag_BootLoaderName *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_Module_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_Module_is_valid(
const struct KernAux_Multiboot2_Tag_Module *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_BasicMemoryInfo_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_BasicMemoryInfo_is_valid(
const struct KernAux_Multiboot2_Tag_BasicMemoryInfo *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_BIOSBootDevice_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_BIOSBootDevice_is_valid(
const struct KernAux_Multiboot2_Tag_BIOSBootDevice *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_MemoryMap_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_MemoryMap_is_valid(
const struct KernAux_Multiboot2_Tag_MemoryMap *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_VBEInfo_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_VBEInfo_is_valid(
const struct KernAux_Multiboot2_Tag_VBEInfo *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_FramebufferInfo_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_FramebufferInfo_is_valid(
const struct KernAux_Multiboot2_Tag_FramebufferInfo *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_ELFSymbols_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_ELFSymbols_is_valid(
const struct KernAux_Multiboot2_Tag_ELFSymbols *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_APMTable_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_APMTable_is_valid(
const struct KernAux_Multiboot2_Tag_APMTable *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_EFI32bitSystemTablePtr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFI32bitSystemTablePtr_is_valid(
const struct KernAux_Multiboot2_Tag_EFI32bitSystemTablePtr *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_EFI64bitSystemTablePtr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFI64bitSystemTablePtr_is_valid(
const struct KernAux_Multiboot2_Tag_EFI64bitSystemTablePtr *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_SMBIOSTables_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_SMBIOSTables_is_valid(
const struct KernAux_Multiboot2_Tag_SMBIOSTables *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_ACPIOldRSDP_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_ACPIOldRSDP_is_valid(
const struct KernAux_Multiboot2_Tag_ACPIOldRSDP *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_ACPINewRSDP_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_ACPINewRSDP_is_valid(
const struct KernAux_Multiboot2_Tag_ACPINewRSDP *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_NetworkingInfo_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_NetworkingInfo_is_valid(
const struct KernAux_Multiboot2_Tag_NetworkingInfo *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_EFIMemoryMap_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFIMemoryMap_is_valid(
const struct KernAux_Multiboot2_Tag_EFIMemoryMap *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_EFIBootServicesNotTerminated_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFIBootServicesNotTerminated_is_valid(
const struct KernAux_Multiboot2_Tag_EFIBootServicesNotTerminated *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_EFI32bitImageHandlePtr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFI32bitImageHandlePtr_is_valid(
const struct KernAux_Multiboot2_Tag_EFI32bitImageHandlePtr *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_EFI64bitImageHandlePtr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFI64bitImageHandlePtr_is_valid(
const struct KernAux_Multiboot2_Tag_EFI64bitImageHandlePtr *tag
)
__attribute__((nonnull));
unsigned char KernAux_Multiboot2_Tag_ImageLoadBasePhysAddr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_ImageLoadBasePhysAddr_is_valid(
const struct KernAux_Multiboot2_Tag_ImageLoadBasePhysAddr *tag
)
__attribute__((nonnull));

View File

@ -1,6 +1,8 @@
#ifndef KERNAUX_INCLUDED_PFA
#define KERNAUX_INCLUDED_PFA 1
#include <kernaux/stdlib.h>
#define KERNAUX_PFA_ZONES_COUNT_MAX 10
#define KERNAUX_PFA_ZONE_NAME_SIZE_MAX 256
#define KERNAUX_PFA_ZONE_NAME_SLEN_MAX (KERNAUX_PFA_ZONE_NAME_SIZE_MAX - 1)
@ -24,7 +26,7 @@ struct KernAux_PFA_Zone {
};
struct KernAux_PFA {
unsigned char initialized;
kernaux_bool initialized;
unsigned long long page_size;
@ -32,13 +34,13 @@ struct KernAux_PFA {
unsigned int zones_count;
};
unsigned char KernAux_PFA_initialize_start(
kernaux_bool KernAux_PFA_initialize_start(
struct KernAux_PFA *pfa,
unsigned long long page_size
)
__attribute__((nonnull));
unsigned char KernAux_PFA_initialize_add_zone(
kernaux_bool KernAux_PFA_initialize_add_zone(
struct KernAux_PFA *pfa,
const char *name,
unsigned long long start,
@ -46,7 +48,7 @@ unsigned char KernAux_PFA_initialize_add_zone(
)
__attribute__((nonnull));
unsigned char KernAux_PFA_initialize_finish(
kernaux_bool KernAux_PFA_initialize_finish(
struct KernAux_PFA *pfa
)
__attribute__((nonnull));

View File

@ -1,10 +1,15 @@
#ifndef KERNAUX_INCLUDED_STDLIB
#define KERNAUX_INCLUDED_STDLIB 1
#define KERNAUX_FALSE ((kernaux_bool)0)
#define KERNAUX_TRUE ((kernaux_bool)1)
#ifdef __cplusplus
extern "C" {
#endif
typedef unsigned char kernaux_bool;
#ifdef __cplusplus
}
#endif

View File

@ -1,10 +1,10 @@
#include <kernaux/multiboot2.h>
unsigned char KernAux_Multiboot2_is_valid(
kernaux_bool KernAux_Multiboot2_is_valid(
const struct KernAux_Multiboot2 *const multiboot2
) {
if (multiboot2->total_size <= 8) {
return 0;
return KERNAUX_FALSE;
}
const struct KernAux_Multiboot2_TagBase *tag_base =
@ -14,7 +14,7 @@ unsigned char KernAux_Multiboot2_is_valid(
while ((void*)tag_base < (void*)multiboot2 + multiboot2->total_size) {
if (!KernAux_Multiboot2_TagBase_is_valid(tag_base)) {
return 0;
return KERNAUX_FALSE;
}
if (tag_base->type == KERNAUX_MULTIBOOT2_TAGTYPE_NONE &&
@ -29,19 +29,19 @@ unsigned char KernAux_Multiboot2_is_valid(
}
if ((void*)tag_base != (void*)multiboot2 + multiboot2->total_size) {
return 0;
return KERNAUX_FALSE;
}
if (none_tag_base !=
(void*)tag_base - sizeof(struct KernAux_Multiboot2_Tag_None)
) {
return 0;
return KERNAUX_FALSE;
}
return 1;
return KERNAUX_TRUE;
}
unsigned char KernAux_Multiboot2_TagBase_is_valid(
kernaux_bool KernAux_Multiboot2_TagBase_is_valid(
const struct KernAux_Multiboot2_TagBase *const tag_base
) {
switch (tag_base->type) {
@ -134,11 +134,11 @@ unsigned char KernAux_Multiboot2_TagBase_is_valid(
(struct KernAux_Multiboot2_Tag_ImageLoadBasePhysAddr*)tag_base
);
default:
return 0;
return KERNAUX_FALSE;
}
}
unsigned char KernAux_Multiboot2_Tag_None_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_None_is_valid(
const struct KernAux_Multiboot2_Tag_None *const tag
) {
return (
@ -147,7 +147,7 @@ unsigned char KernAux_Multiboot2_Tag_None_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_BootCmdLine_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_BootCmdLine_is_valid(
const struct KernAux_Multiboot2_Tag_BootCmdLine *const tag
) {
unsigned int index = 1;
@ -166,7 +166,7 @@ unsigned char KernAux_Multiboot2_Tag_BootCmdLine_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_BootLoaderName_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_BootLoaderName_is_valid(
const struct KernAux_Multiboot2_Tag_BootLoaderName *const tag
) {
unsigned int index = 1;
@ -185,7 +185,7 @@ unsigned char KernAux_Multiboot2_Tag_BootLoaderName_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_Module_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_Module_is_valid(
const struct KernAux_Multiboot2_Tag_Module *const tag
) {
unsigned int index = 1;
@ -205,7 +205,7 @@ unsigned char KernAux_Multiboot2_Tag_Module_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_BasicMemoryInfo_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_BasicMemoryInfo_is_valid(
const struct KernAux_Multiboot2_Tag_BasicMemoryInfo *const tag
) {
return (
@ -214,7 +214,7 @@ unsigned char KernAux_Multiboot2_Tag_BasicMemoryInfo_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_BIOSBootDevice_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_BIOSBootDevice_is_valid(
const struct KernAux_Multiboot2_Tag_BIOSBootDevice *const tag
) {
return (
@ -223,7 +223,7 @@ unsigned char KernAux_Multiboot2_Tag_BIOSBootDevice_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_MemoryMap_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_MemoryMap_is_valid(
const struct KernAux_Multiboot2_Tag_MemoryMap *const tag
) {
return (
@ -235,7 +235,7 @@ unsigned char KernAux_Multiboot2_Tag_MemoryMap_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_VBEInfo_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_VBEInfo_is_valid(
const struct KernAux_Multiboot2_Tag_VBEInfo *const tag
) {
return (
@ -244,7 +244,7 @@ unsigned char KernAux_Multiboot2_Tag_VBEInfo_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_FramebufferInfo_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_FramebufferInfo_is_valid(
const struct KernAux_Multiboot2_Tag_FramebufferInfo *const tag
) {
return (
@ -253,7 +253,7 @@ unsigned char KernAux_Multiboot2_Tag_FramebufferInfo_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_ELFSymbols_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_ELFSymbols_is_valid(
const struct KernAux_Multiboot2_Tag_ELFSymbols *const tag
) {
return (
@ -264,7 +264,7 @@ unsigned char KernAux_Multiboot2_Tag_ELFSymbols_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_APMTable_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_APMTable_is_valid(
const struct KernAux_Multiboot2_Tag_APMTable *const tag
) {
return (
@ -273,7 +273,7 @@ unsigned char KernAux_Multiboot2_Tag_APMTable_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_EFI32bitSystemTablePtr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFI32bitSystemTablePtr_is_valid(
const struct KernAux_Multiboot2_Tag_EFI32bitSystemTablePtr *const tag
) {
return (
@ -283,7 +283,7 @@ unsigned char KernAux_Multiboot2_Tag_EFI32bitSystemTablePtr_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_EFI64bitSystemTablePtr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFI64bitSystemTablePtr_is_valid(
const struct KernAux_Multiboot2_Tag_EFI64bitSystemTablePtr *const tag
) {
return (
@ -293,7 +293,7 @@ unsigned char KernAux_Multiboot2_Tag_EFI64bitSystemTablePtr_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_SMBIOSTables_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_SMBIOSTables_is_valid(
const struct KernAux_Multiboot2_Tag_SMBIOSTables *const tag
) {
return (
@ -302,7 +302,7 @@ unsigned char KernAux_Multiboot2_Tag_SMBIOSTables_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_ACPIOldRSDP_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_ACPIOldRSDP_is_valid(
const struct KernAux_Multiboot2_Tag_ACPIOldRSDP *const tag
) {
return (
@ -311,7 +311,7 @@ unsigned char KernAux_Multiboot2_Tag_ACPIOldRSDP_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_ACPINewRSDP_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_ACPINewRSDP_is_valid(
const struct KernAux_Multiboot2_Tag_ACPINewRSDP *const tag
) {
return (
@ -320,7 +320,7 @@ unsigned char KernAux_Multiboot2_Tag_ACPINewRSDP_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_NetworkingInfo_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_NetworkingInfo_is_valid(
const struct KernAux_Multiboot2_Tag_NetworkingInfo *const tag
) {
return (
@ -329,7 +329,7 @@ unsigned char KernAux_Multiboot2_Tag_NetworkingInfo_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_EFIMemoryMap_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFIMemoryMap_is_valid(
const struct KernAux_Multiboot2_Tag_EFIMemoryMap *const tag
) {
return (
@ -338,7 +338,7 @@ unsigned char KernAux_Multiboot2_Tag_EFIMemoryMap_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_EFIBootServicesNotTerminated_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFIBootServicesNotTerminated_is_valid(
const struct KernAux_Multiboot2_Tag_EFIBootServicesNotTerminated *const tag
) {
return (
@ -348,7 +348,7 @@ unsigned char KernAux_Multiboot2_Tag_EFIBootServicesNotTerminated_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_EFI32bitImageHandlePtr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFI32bitImageHandlePtr_is_valid(
const struct KernAux_Multiboot2_Tag_EFI32bitImageHandlePtr *const tag
) {
return (
@ -358,7 +358,7 @@ unsigned char KernAux_Multiboot2_Tag_EFI32bitImageHandlePtr_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_EFI64bitImageHandlePtr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_EFI64bitImageHandlePtr_is_valid(
const struct KernAux_Multiboot2_Tag_EFI64bitImageHandlePtr *const tag
) {
return (
@ -368,7 +368,7 @@ unsigned char KernAux_Multiboot2_Tag_EFI64bitImageHandlePtr_is_valid(
);
}
unsigned char KernAux_Multiboot2_Tag_ImageLoadBasePhysAddr_is_valid(
kernaux_bool KernAux_Multiboot2_Tag_ImageLoadBasePhysAddr_is_valid(
const struct KernAux_Multiboot2_Tag_ImageLoadBasePhysAddr *const tag
) {
return (

View File

@ -1,19 +1,19 @@
#include <kernaux/pfa.h>
unsigned char KernAux_PFA_initialize_start(
kernaux_bool KernAux_PFA_initialize_start(
struct KernAux_PFA *const pfa,
const unsigned long long page_size
) {
if (pfa->initialized) {
return 0;
return KERNAUX_FALSE;
}
if (page_size < KERNAUX_PFA_PAGE_SIZE_MIN) {
return 0;
return KERNAUX_FALSE;
}
if (page_size > KERNAUX_PFA_PAGE_SIZE_MAX) {
return 0;
return KERNAUX_FALSE;
}
for (unsigned long long i = 0; i < sizeof(*pfa); ++i) {
@ -24,25 +24,25 @@ unsigned char KernAux_PFA_initialize_start(
pfa->zones_count = 0;
}
unsigned char KernAux_PFA_initialize_add_zone(
kernaux_bool KernAux_PFA_initialize_add_zone(
struct KernAux_PFA *const pfa,
const char *const name,
const unsigned long long start,
const unsigned long long end
) {
if (pfa->initialized) {
return 0;
return KERNAUX_FALSE;
}
if (pfa->zones_count >= KERNAUX_PFA_ZONES_COUNT_MAX) {
return 0;
return KERNAUX_FALSE;
}
}
unsigned char KernAux_PFA_initialize_finish(
kernaux_bool KernAux_PFA_initialize_finish(
struct KernAux_PFA *const pfa
) {
if (pfa->initialized) {
return 0;
return KERNAUX_FALSE;
}
}