#  Manos
#  Copyright (C) 2023-2024, Henry Stratmann III
#
#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License version 3 as
#  published by the Free Software Foundation.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <https://www.gnu.org/licenses/>.

c_functions = set([
"abort",
"abs",
"acos",
"asctime",
"asctime_r",
"asin",
"assert",
"atan",
"atan2",
"atexit",
"atof",
"atoi",
"atol",
"bsearch",
"btowc",
"btowc",
"calloc",
"catclose",
"catgets",
"catopen",
"ceil",
"clearerr",
"clock",
"cos",
"cosh",
"ctime",
"ctime64",
"ctime_r",
"ctime64_r",
"difftime",
"difftime64",
"div",
"erf",
"erfc",
"exit",
"exp",
"fabs",
"fclose",
"fdopen",
"feof",
"ferror",
"fflush",
"fgetc",
"fgetpos",
"fgets",
"fgetwc",
"fgetws",
"fileno",
"floor",
"fmod",
"fopen",
"fprintf",
"fputc",
"fputs",
"fputwc",
"fputws",
"fread",
"free",
"freopen",
"frexp",
"fscanf",
"fseek",
"fsetpos",
"ftell",
"fwide",
"fwprintf",
"fwrite",
"fwscanf",
"gamma",
"getc",
"getchar",
"getenv",
"gets",
"getwc",
"getwchar",
"gmtime",
"gmtime64",
"gmtime_r",
"gmtime64_r",
"hypot",
"isalnum",
"isalpha",
"isascii",
"isblank",
"iscntrl",
"isdigit",
"isgraph",
"islower",
"isprint",
"ispunct",
"isspace",
"isupper",
"iswalnum",
"iswalpha",
"iswblank",
"iswcntrl",
"iswctype",
"iswdigit",
"iswgraph",
"iswlower",
"iswprint",
"iswpunct",
"iswspace",
"iswupper",
"iswxdigit",
"isxdigit",
"labs",
"ldexp",
"ldiv",
"localeconv",
"localtime",
"localtime64",
"localtime_r",
"localtime64_r",
"log",
"log10",
"longjmp",
"malloc",
"mblen",
"mbrlen",
"mbrtowc",
"mbsinit",
"mbsrtowcs",
"mbstowcs",
"mbtowc",
"memchr",
"memcmp",
"memcpy",
"memmove",
"memset",
"mktime",
"mktime64",
"modf",
"nextafter",
"nextafterl",
"nexttoward",
"nexttowardl",
"nl_langinfo",
"perror",
"pow",
"printf",
"putc",
"putchar",
"putenv",
"puts",
"putwc",
"putwchar",
"qsort",
"quantexpd32",
"quantexpd64",
"quantexpd128",
"quantized32",
"quantized64",
"quantized128",
"samequantumd32",
"samequantumd64",
"samequantumd128",
"raise",
"rand",
"rand_r",
"realloc",
"regcomp",
"regerror",
"regexec",
"regfree",
"remove",
"rename",
"rewind",
"scanf",
"setbuf",
"setjmp",
"setlocale",
"setvbuf",
"signal",
"sin",
"sinh",
"snprintf",
"sprintf",
"sqrt",
"srand",
"sscanf",
"strcasecmp",
"strcat",
"strchr",
"strcmp",
"strcoll",
"strcpy",
"strcspn",
"strerror",
"strfmon4",
"strftime",
"strlen",
"strncasecmp",
"strncat",
"strncmp",
"strncpy",
"strpbrk",
"strptime4",
"strrchr",
"strspn",
"strstr",
"strtod",
"strtod32",
"strtod64",
"strtod128",
"strtof",
"strtok",
"strtok_r",
"strtol",
"strtold",
"strtoul",
"strxfrm",
"swprintf",
"swscanf",
"system",
"tan",
"tanh",
"time",
"time64",
"tmpfile",
"tmpnam",
"toascii",
"tolower",
"toupper",
"towctrans",
"towlower",
"towupper",
"ungetc",
"ungetwc",
"ungetwc",
"va_arg",
"va_copy",
"va_end",
"va_start",
"vfprintf",
"vfscanf",
"vfwprintf",
"vfwscanf",
"vprintf",
"vscanf",
"vsprintf",
"vsnprintf",
"vsscanf",
"vswprintf",
"vswprintf",
"vswscanf",
"vwprintf",
"vwprintf",
"vwscanf",
"wcrtomb",
"wcscat",
"wcschr",
"wcscmp",
"wcscoll4",
"wcscpy",
"wcscspn",
"wcsftime",
"wcslen",
"wcslocaleconv",
"wcsncat",
"wcsncmp",
"wcsncpy",
"wcspbrk",
"wcsptime",
"wcsrchr",
"wcsrtombs",
"wcsspn",
"wcsstr",
"wcstod",
"wcstod32",
"wcstod64",
"wcstod128",
"wcstof",
"wcstok",
"wcstol",
"wcstold",
"wcstombs",
"wcstoul",
"wcsxfrm",
"wctob",
"wctomb",
"wctrans",
"wctype4",
"wcwidth",
"wmemchr",
"wmemcmp",
"wmemcpy",
"wmemmove",
"wmemset",
"wprintf",
"wscanf"
])

posix_functions = set([
"getcwd",
"mkdir",
"rmdir",
"chdir",
"link",
"unlink",
"rename",
"stat",
"chmod",
"chown",
"utime",
"opendir",
"readdir",
"closedir",
"rewinddir",
"access",
"open",
"creat",
"close",
"read",
"write",
"fcntl",
"fstat",
"lseek",
"dup",
"dup2",
"pipe",
"mkfifo",
"umask",
"fdopen",
"fileno",
"fork",
"execl",
"execle",
"execlp",
"execv",
"execve",
"execvp",
"waitpid",
"_exit",
"kill",
"sleep",
"pause",
"alarm",
"setuid",
"setgid",
"setjmp",
"sigsetjmp",
"longjmp",
"siglongjmp",
"sigemptyset",
"sigfillset",
"sigaddset",
"sigdelset",
"sigismember",
"sigprocmask",
"sigpending",
"sigsuspend",
"getpid",
"getppid",
"getlogin",
"getuid",
"geteuid",
"cuserid",
"getgid",
"getegid",
"getpwuid",
"getpwnam",
"getgrgid",
"getgrnam",
"getgroups",
"ctermid",
"uname",
"getenv",
"sysconf",
"fpathconf",
"fpathconf",
"isatty",
"ttyname",
"times",
"tzset",
"tcgetattr",
"tcsetattr",
"tcdrain",
"tcflow",
"tcflush",
"tcsendbreak",
"cfgetispeed",
"cfgetospeed",
"cfsetispeed",
"cfsetospeed",
"tcgetpgrp",
"tcsetpgrp",
"setsid",
"setpgid",
"getpgrp"
])
