Compare commits

...

24 Commits

Author SHA1 Message Date
William 3f0907daa2 (DEL) Deleted github action file. 2024-06-25 19:13:14 +08:00
William 22db5f0cbc Merge remote-tracking branch 'master/github_action_test' 2024-06-25 19:11:35 +08:00
William 43afe62ad1 (MOD) Changed default shell from "bash" to "sh" in github action file.
(MOD) Replaced cmake output file with \"/usr/share/libcompound.so\" in github action file.
2024-06-25 18:58:18 +08:00
William 772a79ce03 (MOD) Changed default shell from "bash" to "sh" in github action file. 2024-06-25 18:57:30 +08:00
William 5e05e24e38 (MOD) Aborted using bash for script executing for scripts modified are now supporting POSIX Shell.
(MOD) Modified github action file for abort supporting MS Windows as the target in current stage.
2024-06-25 17:51:43 +08:00
William b9c5bfbc00 (MOD) Added "bash" before "./preinstall" as well as "./postinstall". 2024-06-25 15:00:50 +08:00
William acaa38099f (MOD) Added "sudo" before "./preinstall" as well as "./postinstall". 2024-06-25 14:56:12 +08:00
William 5026f03692 (MOD) Added a feature where it displays the current user identity once it's not root. 2024-06-25 14:50:37 +08:00
William 55d9ddef39 (MOD) Added more steps for project building. 2024-06-25 14:15:17 +08:00
William 092dddf6c4 (MOD) Changed effecting branch from "master" to "github_action_test" which is more reasonable since this is testing on branch github_action_test. 2024-06-25 13:58:54 +08:00
William 242fcce951 (MOD) Modified github action file for testing for extra step required by project. 2024-06-25 13:52:54 +08:00
William bc3fd9dfad (MOD) Modified file install that added auto-creating directory in need. 2024-06-25 13:11:34 +08:00
William f88b2b5b02 (MOD) Disabled some parameters for C compiler in order to run github action successfully. 2024-06-25 13:07:03 +08:00
William acad934238 (FEA) Now Compound is featured with indexer displaying while printing. 2024-06-25 12:27:21 +08:00
William bcbec01992 Merge branch 'master' of https://github.com/Wilhelm-Lee/Compound
Update remote repository on branch master with locally newly added github action file.
2024-06-25 10:10:02 +08:00
William 6583335dd6 (ADD) Added github action file. 2024-06-25 09:55:06 +08:00
William Lee 09076d0d00 Delete CompoundTest
(DEL) Deleted an unintentional uploaded executable file for testing.
2024-06-25 09:42:20 +08:00
William 31a997c170 Merge branch 'git.jackcraft/storageonly' 2024-06-25 09:37:03 +08:00
William 794ff14602 (SOC) Storage Only Commit - Tue 25 Jun 09:33:57 CST 2024 2024-06-25 09:33:57 +08:00
William b316c0e5ee (MOV) Moved test.c function.c/h back to project directory. 2024-06-24 22:37:41 +08:00
William 69d827c38e (SYNC) Synchronisation with local latest modifications. 2024-06-24 22:34:47 +08:00
William 871bab317b (ADD) Added test.c for testing on github action. 2024-06-24 21:59:46 +08:00
William 73e766eef7 (MOD) Forbade ignoring test.c for github action. 2024-06-24 21:48:15 +08:00
William 1c611ec4e2 (FEA) Compound is now fully featured with literalisation of Status along with its printing! 2024-06-24 14:44:26 +08:00
15 changed files with 762 additions and 68 deletions
+3 -5
View File
@@ -2,7 +2,6 @@
*CMakeFiles/* *CMakeFiles/*
*CMakeCache* *CMakeCache*
cmake_install.cmake cmake_install.cmake
*[tT]est*
*~ *~
gitwork gitwork
work work
@@ -13,14 +12,13 @@ todo_stack
getReady.sh getReady.sh
base_type.c base_type.c
sample sample
<<<<<<< HEAD
compile compile
=======
>>>>>>> refs/remotes/master/master
.vscode/ .vscode/
todo todo
vsc* vsc*
libcompound.so libcompound.so
ccwarn
CMakeLists_default.txt CMakeLists_default.txt
CompoundTest
ccwarn
genwarn.sh genwarn.sh
test.sh
+5 -5
View File
@@ -5,16 +5,16 @@ project (Compound)
set(CMAKE_C_COMPILER gcc) set(CMAKE_C_COMPILER gcc)
set(WALL -Waddress set(WALL -Waddress
-Warray-compare # -Warray-compare
-Warray-parameter=2 -Warray-parameter=2
-Wbool-compare -Wbool-compare
-Wbool-operation -Wbool-operation
-Wchar-subscripts -Wchar-subscripts
-Wcomment -Wcomment
-Wdangling-else -Wdangling-else
-Wdangling-pointer=2 # -Wdangling-pointer=2
-Wenum-compare -Wenum-compare
-Wenum-int-mismatch # -Wenum-int-mismatch
-Wformat=1 -Wformat=1
-Wformat-contains-nul -Wformat-contains-nul
-Wformat-diag -Wformat-diag
@@ -26,7 +26,7 @@ set(WALL -Waddress
-Wimplicit -Wimplicit
-Wimplicit-function-declaration -Wimplicit-function-declaration
-Wimplicit-int -Wimplicit-int
-Winfinite-recursion # -Winfinite-recursion
-Wint-in-bool-context -Wint-in-bool-context
-Wlogical-not-parentheses -Wlogical-not-parentheses
-Wmain -Wmain
@@ -65,7 +65,7 @@ set(WALL -Waddress
-Wunused-local-typedefs -Wunused-local-typedefs
-Wunused-value -Wunused-value
-Wunused-variable -Wunused-variable
-Wuse-after-free=2 # -Wuse-after-free=2
-Wvla-parameter -Wvla-parameter
-Wvolatile-register-var -Wvolatile-register-var
-Wzero-length-bounds -Wzero-length-bounds
BIN
View File
Binary file not shown.
+4 -1
View File
@@ -76,7 +76,7 @@ typedef struct _Status {
# define LOCATION_LITERALISE_FORMAT "at %s:%d, in function `%s\'" # define LOCATION_LITERALISE_FORMAT "at %s:%d, in function `%s\'"
# define STATUS_LITERALISE_FORMAT \ # define STATUS_LITERALISE_FORMAT \
"%s: \"%s\"\n\tpredecessor=<%s> value=(%d) characteristic=[%d]\n\t%s\n" "%s: \"%s\"\n\tpredecessor=<%s> value=(%d) characteristic=(%d)\n\t%s\n"
typedef enum { typedef enum {
REPORT_SENDING_PRIORITY_ALL = 0, // Highest level; least value. REPORT_SENDING_PRIORITY_ALL = 0, // Highest level; least value.
@@ -420,7 +420,10 @@ static inline void PrintStatusDump(Status s)
/* Output by iterating. */ /* Output by iterating. */
for (register int i = 0; i < dump_len; i++) { for (register int i = 0; i < dump_len; i++) {
/* Print out indexer. */
(void)printf("\e[1m[%d/%d]\e[0m", (dump_len - i), dump_len);
/* Print dumped status. */
unsure(PrintStatus(dump[i]), !_.value, { unsure(PrintStatus(dump[i]), !_.value, {
(void)fprintf(stderr, "Unable to literalise.\n"); (void)fprintf(stderr, "Unable to literalise.\n");
}) })
+213
View File
@@ -0,0 +1,213 @@
#include <stdio.h>
#include <time.h>
#include <Compound/status.h>
int main(void) {
Status Example1Status = {.description = "Example1 Status",
.characteristic = STATUS_NORMAL,
.prev = &NormalStatus};
Status Example2Status = {.description = "Example2 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example1Status};
Status Example3Status = {.description = "Example3 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example2Status};
Status Example4Status = {.description = "Example4 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example3Status};
Status Example5Status = {.description = "Example5 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example4Status};
Status Example6Status = {.description = "Example6 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example5Status};
Status Example7Status = {.description = "Example7 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example6Status};
Status Example8Status = {.description = "Example8 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example7Status};
Status Example9Status = {.description = "Example9 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example8Status};
Status Example10Status = {.description = "Example10 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example9Status};
Status Example11Status = {.description = "Example11 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example10Status};
Status Example12Status = {.description = "Example12 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example11Status};
Status Example13Status = {.description = "Example13 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example12Status};
Status Example14Status = {.description = "Example14 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example13Status};
Status Example15Status = {.description = "Example15 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example14Status};
Status Example16Status = {.description = "Example16 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example15Status};
Status Example17Status = {.description = "Example17 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example16Status};
Status Example18Status = {.description = "Example18 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example17Status};
Status Example19Status = {.description = "Example19 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example18Status};
Status Example20Status = {.description = "Example20 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example19Status};
Status Example21Status = {.description = "Example21 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example20Status};
Status Example22Status = {.description = "Example22 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example21Status};
Status Example23Status = {.description = "Example23 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example22Status};
Status Example24Status = {.description = "Example24 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example23Status};
Status Example25Status = {.description = "Example25 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example24Status};
Status Example26Status = {.description = "Example26 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example25Status};
Status Example27Status = {.description = "Example27 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example26Status};
Status Example28Status = {.description = "Example28 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example27Status};
Status Example29Status = {.description = "Example29 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example28Status};
Status Example30Status = {.description = "Example30 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example29Status};
Status Example31Status = {.description = "Example31 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example30Status};
Status Example32Status = {.description = "Example32 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example31Status};
Status Example33Status = {.description = "Example33 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example32Status};
Status Example34Status = {.description = "Example34 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example33Status};
Status Example35Status = {.description = "Example35 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example34Status};
Status Example36Status = {.description = "Example36 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example35Status};
Status Example37Status = {.description = "Example37 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example36Status};
Status Example38Status = {.description = "Example38 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example37Status};
Status Example39Status = {.description = "Example39 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example38Status};
Status Example40Status = {.description = "Example40 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example39Status};
Status Example41Status = {.description = "Example41 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example40Status};
Status Example42Status = {.description = "Example42 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example41Status};
Status Example43Status = {.description = "Example43 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example42Status};
Status Example44Status = {.description = "Example44 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example43Status};
Status Example45Status = {.description = "Example45 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example44Status};
Status Example46Status = {.description = "Example46 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example45Status};
Status Example47Status = {.description = "Example47 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example46Status};
Status Example48Status = {.description = "Example48 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example47Status};
Status Example49Status = {.description = "Example49 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example48Status};
Status Example50Status = {.description = "Example50 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example49Status};
Status Example51Status = {.description = "Example51 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example50Status};
Status Example52Status = {.description = "Example52 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example51Status};
Status Example53Status = {.description = "Example53 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example52Status};
Status Example54Status = {.description = "Example54 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example53Status};
Status Example55Status = {.description = "Example55 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example54Status};
Status Example56Status = {.description = "Example56 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example55Status};
Status Example57Status = {.description = "Example57 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example56Status};
Status Example58Status = {.description = "Example58 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example57Status};
Status Example59Status = {.description = "Example59 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example58Status};
Status Example60Status = {.description = "Example60 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example59Status};
Status Example61Status = {.description = "Example61 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example60Status};
Status Example62Status = {.description = "Example62 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example61Status};
Status Example63Status = {.description = "Example63 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example62Status};
Status Example64Status = {.description = "Example64 Status",
.characteristic = STATUS_NORMAL,
.prev = &Example63Status};
Status statbuff[64] = {{0}};
status_dump(Example64Status, statbuff, 0);
Status *p = &Example64Status;
int cnt = 0;
while (p != NULL) {
(void)printf("%d:%d %s\n", cnt++, p->characteristic, p->description);
p = p->prev;
};
return 0;
}
+2 -4
View File
@@ -1,11 +1,9 @@
#ifndef COMPOUND_UTILS_H #ifndef COMPOUND_UTILS_H
# define COMPOUND_UTILS_H # define COMPOUND_UTILS_H
# include <time.h>
# include <string.h>
# include <stdlib.h>
# include <math.h> # include <math.h>
# include <stdint.h> # include <string.h>
# include <time.h>
# include <Compound/common.h> # include <Compound/common.h>
# include <Compound/const.h> # include <Compound/const.h>
Executable
BIN
View File
Binary file not shown.
+26
View File
@@ -0,0 +1,26 @@
#include <Compound/var.h>
int main(void)
{
Var v1 = {
.addr = malloc(sizeof(int)),
.sz = sizeof(int)
};
Var v2 = (Var){v1.addr, v1.sz};
wchar_t wbuff[UINT8_MAX + 1] = {};
wchar_t *wp = wbuff;
(void)var_literalise(v1, &wp);
(void)wprintf(L"%ls\n", wp);
(void)var_literalise(v2, &wp);
(void)wprintf(L"%ls\n", wp);
free(v1.addr);
return 0;
}
-1
View File
@@ -1,4 +1,3 @@
#include "Status/include/status.h"
#include <Compound/common.h> #include <Compound/common.h>
#include <Compound/status.h> #include <Compound/status.h>
#include <Compound/catlog.h> #include <Compound/catlog.h>
+4 -4
View File
@@ -182,10 +182,10 @@ typedef struct {
Coordination end; Coordination end;
} Selection; } Selection;
typedef struct { // typedef struct {
void *addr; // void *addr;
size_t sz; // size_t sz;
} MemoryInst; // } MemoryInst;
typedef Coordination ArrayIndexerRange; typedef Coordination ArrayIndexerRange;
typedef bool _Bit; typedef bool _Bit;
+2 -5
View File
@@ -7,11 +7,8 @@ typedef Var Type;
typedef struct { typedef struct {
attr(registered 1) Type type; attr(registered 1) Type type;
attr(nullity false) String identity;
attr(nullity false) String identity; attr(alignwith 1; optional true) Type value;
attr(alignwith 1)
attr(optional true) Type value;
} Parameter; } Parameter;
typedef void * Block; typedef void * Block;
-43
View File
@@ -1,43 +0,0 @@
#!/bin/sh
if [ "`whoami`" != "root" ]; then
echo "The script require root privilege to execute properly."
exit 1
fi
# echo "Please ensure the current work directory is the home directory to the project Compound!
# Press enter key to continue..."
# read
SRC="$PWD"
DST=/usr/include/Compound
PROJ=("Array" "Paper" "Pen" "Render" "Status" "Var" "MemMan" "Stack" "Utils"\
"String" "Object")
PROJLEN=${#PROJ[*]}
echo "======== $PROJLEN projects in total ========"
idx=0
while :; do
if [[ $idx -eq $PROJLEN || $idx -gt $PROJLEN ]]; then
break;
fi
p="${PROJ[$idx]}"
cd "$p"
echo "`date` >>> Installing $p"
cp -v include/*.h "$DST"
cd "$SRC"
((idx++))
echo
done
cp -v "common.h" "const.h" "platform.h"\
"name.h" "namescope.h" "type.h" "catlog.h"\
"attr.h" "registry.h" "class.h" "function.h" "$DST"
echo "Installing libcompound:"
cp -v "libcompound.so" "/usr/lib"
printf "\nDone\n"
Executable
+11
View File
@@ -0,0 +1,11 @@
#!/bin/sh
if [ "$(whoami)" != "root" ]; then
echo "The script require root privilege to execute properly. Current identity: $(whoami)"
exit 1
fi
# Install Compound library.
echo "Installing libcompound:"
cp -v "libcompound.so" "/usr/lib"
Executable
+35
View File
@@ -0,0 +1,35 @@
#!/bin/sh
if [ "$(whoami)" != "root" ]; then
echo "The script require root privilege to execute properly. Current identity: $(whoami)"
exit 1
fi
SRC="$PWD"
DST=/usr/include/Compound
set -- Array Paper Pen Render Status Var MemMan Stack Utils String Object
# Create directory.
if [ ! -d "$DST" ]; then
mkdir -pv "$DST"
fi
# Install project-like headers.
while :; do
p="$1"
if [ -z "$1" ]; then break; fi
cd "$p" || exit 1
echo "$(date) >>> Installing $p"
cp -v include/*.h "$DST"
cd "$SRC" || exit 1
shift 1
echo
done
# Install individual headers.
cp -v "common.h" "const.h" "platform.h"\
"name.h" "namescope.h" "type.h" "catlog.h"\
"attr.h" "registry.h" "class.h" "function.h" "$DST"
printf "\nDone\n"
+457
View File
@@ -0,0 +1,457 @@
#include <Compound/array.h>
#include <Compound/catlog.h>
#include <Compound/common.h>
#include <Compound/memman.h>
#include <Compound/status.h>
#include <Compound/var.h>
Status func(void)
{
return apply(
error(ErrorStatus, "This function does not accept any parameters!"));
}
__attribute__((constructor))
void __CONSTRUCT__() {
cat("Hello, Compound!\n");
}
__attribute__((destructor))
void __DESTRUCT__() {}
Status Main(void)
{
// Memory mem1;
// seek(Memory_Create(&mem1, INT64_MAX), {
// print_status(_);
// });
// seek(Memory_Allocate(&mem1), {
// print_status(_);
// });
// seek(Memory_Allocate(&mem1), {
// print_status(_);
// });
// seek(Memory_Release(&mem1), {
// print_status(_);
// });
// seek(Memory_Release(&mem1), {
// print_status(_);
// });
// seek(Memory_Delete(&mem1), {
// print_status(_);
// });
// PrintStatusDump(unknown(normal(MaximumLiteralisationLengthExceeded, ":O"), "OMGIDKWTD", 1));
// PrintStatusDump(apply(extend(MaximumLiteralisationLengthExceeded, normal(UnavailableBuffer, "OMGIDKWTD"))));
// PrintStatusDump(MaximumLiteralisationLengthExceeded);
DEFSTATUS(TestStatus0, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &MaximumLiteralisationLengthExceeded);
DEFSTATUS(TestStatus1, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus0);
DEFSTATUS(TestStatus2, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus1);
DEFSTATUS(TestStatus3, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus2);
DEFSTATUS(TestStatus4, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus3);
DEFSTATUS(TestStatus5, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus4);
DEFSTATUS(TestStatus6, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus5);
DEFSTATUS(TestStatus7, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus6);
DEFSTATUS(TestStatus8, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus7);
DEFSTATUS(TestStatus9, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus8);
DEFSTATUS(TestStatus10, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus9);
DEFSTATUS(TestStatus11, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus10);
DEFSTATUS(TestStatus12, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus11);
DEFSTATUS(TestStatus13, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus12);
DEFSTATUS(TestStatus14, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus13);
DEFSTATUS(TestStatus15, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus14);
DEFSTATUS(TestStatus16, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus15);
DEFSTATUS(TestStatus17, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus16);
DEFSTATUS(TestStatus18, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus17);
DEFSTATUS(TestStatus19, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus18);
DEFSTATUS(TestStatus20, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus19);
DEFSTATUS(TestStatus21, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus20);
DEFSTATUS(TestStatus22, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus21);
DEFSTATUS(TestStatus23, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus22);
DEFSTATUS(TestStatus24, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus23);
DEFSTATUS(TestStatus25, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus24);
DEFSTATUS(TestStatus26, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus25);
DEFSTATUS(TestStatus27, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus26);
DEFSTATUS(TestStatus28, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus27);
DEFSTATUS(TestStatus29, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus28);
DEFSTATUS(TestStatus30, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus29);
DEFSTATUS(TestStatus31, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus30);
DEFSTATUS(TestStatus32, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus31);
DEFSTATUS(TestStatus33, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus32);
DEFSTATUS(TestStatus34, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus33);
DEFSTATUS(TestStatus35, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus34);
DEFSTATUS(TestStatus36, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus35);
DEFSTATUS(TestStatus37, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus36);
DEFSTATUS(TestStatus38, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus37);
DEFSTATUS(TestStatus39, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus38);
DEFSTATUS(TestStatus40, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus39);
DEFSTATUS(TestStatus41, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus40);
DEFSTATUS(TestStatus42, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus41);
DEFSTATUS(TestStatus43, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus42);
DEFSTATUS(TestStatus44, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus43);
DEFSTATUS(TestStatus45, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus44);
DEFSTATUS(TestStatus46, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus45);
DEFSTATUS(TestStatus47, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus46);
DEFSTATUS(TestStatus48, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus47);
DEFSTATUS(TestStatus49, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus48);
DEFSTATUS(TestStatus50, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus49);
DEFSTATUS(TestStatus51, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus50);
DEFSTATUS(TestStatus52, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus51);
DEFSTATUS(TestStatus53, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus52);
DEFSTATUS(TestStatus54, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus53);
DEFSTATUS(TestStatus55, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus54);
DEFSTATUS(TestStatus56, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus55);
DEFSTATUS(TestStatus57, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus56);
DEFSTATUS(TestStatus58, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus57);
DEFSTATUS(TestStatus59, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus58);
DEFSTATUS(TestStatus60, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus59);
DEFSTATUS(TestStatus61, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus60);
DEFSTATUS(TestStatus62, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus61);
DEFSTATUS(TestStatus63, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus62);
DEFSTATUS(TestStatus64, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus63);
DEFSTATUS(TestStatus65, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus64);
DEFSTATUS(TestStatus66, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus65);
DEFSTATUS(TestStatus67, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus66);
DEFSTATUS(TestStatus68, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus67);
DEFSTATUS(TestStatus69, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus68);
DEFSTATUS(TestStatus70, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus69);
DEFSTATUS(TestStatus71, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus70);
DEFSTATUS(TestStatus72, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus71);
DEFSTATUS(TestStatus73, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus72);
DEFSTATUS(TestStatus74, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus73);
DEFSTATUS(TestStatus75, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus74);
DEFSTATUS(TestStatus76, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus75);
DEFSTATUS(TestStatus77, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus76);
DEFSTATUS(TestStatus78, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus77);
DEFSTATUS(TestStatus79, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus78);
DEFSTATUS(TestStatus80, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus79);
DEFSTATUS(TestStatus81, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus80);
DEFSTATUS(TestStatus82, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus81);
DEFSTATUS(TestStatus83, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus82);
DEFSTATUS(TestStatus84, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus83);
DEFSTATUS(TestStatus85, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus84);
DEFSTATUS(TestStatus86, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus85);
DEFSTATUS(TestStatus87, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus86);
DEFSTATUS(TestStatus88, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus87);
DEFSTATUS(TestStatus89, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus88);
DEFSTATUS(TestStatus90, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus89);
DEFSTATUS(TestStatus91, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus90);
DEFSTATUS(TestStatus92, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus91);
DEFSTATUS(TestStatus93, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus92);
DEFSTATUS(TestStatus94, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus93);
DEFSTATUS(TestStatus95, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus94);
DEFSTATUS(TestStatus96, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus95);
DEFSTATUS(TestStatus97, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus96);
DEFSTATUS(TestStatus98, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus97);
DEFSTATUS(TestStatus99, 1,
"This status is used for displaying multi-layer of status dumping.",
STATUS_NORMAL, &TestStatus98);
PrintStatusDump(apply(TestStatus99));
return apply(NormalStatus);
}
int main(void)
{
return Main().value;
}