#include <assert.h>
#include <bios.h>
#include <conio.h>
#include <ctype.h>
#include <dirent.h>
#include <dpmi.h>
#include <fcntl.h>
#include <go32.h>
#include <io.h>
#include <math.h>
#include <netdb.h>
#include <pc.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <sys/exceptn.h>
#include <sys/farptr.h>
#include <sys/movedata.h>
#include <sys/stat.h>
#include <tcp.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <unistd.h>
#include <zlib.h>

#include "zipfile.h"
#include "intarray.h"

// symbols without include file from libgcc
extern BOOL _watt_do_exit;
extern long __divdi3 (long A, long B);
extern long __moddi3 (long A, long B);
extern unsigned long __udivdi3 (unsigned long A, unsigned long B);
extern unsigned long __udivmoddi4 (unsigned long A, unsigned long B, unsigned long *C);
extern long __divmoddi4 (long A, long B, long *C);
extern unsigned long __umoddi3 (unsigned long A, unsigned long B);

// stdio/files
closedir
fclose
fflush
fgetc
fgets
fopen
fprintf
fputc
fputs
fread
fseek
ftell
fwrite
getc
mkdir
opendir
printf
putc
readdir
rename
rmdir
snprintf
sprintf
stat
strerror
unlink

// time
clock
localtime
sleep
strftime

// copy/move/strings
atoi
bzero
memcpy
strcasecmp
strchr
strcpy
stricmp
strncasecmp
strncpy
strtol

// memory/system
atexit
calloc
free
getenv
malloc
raise
realloc
realloc
signal

// lowlevel
__dj_ctype_flags
__djgpp_ds_alias
__dpmi_allocate_dos_memory
__dpmi_free_dos_memory
__dpmi_get_protected_mode_interrupt_vector
__dpmi_int
__dpmi_int
__dpmi_set_protected_mode_interrupt_vector
_farpeekb
_farpeekw
_get_dos_version
_go32_dpmi_lock_code
_go32_dpmi_lock_data
_go32_info_block
biosprint
dosmemget
dosmemput
inportb
inportl
inportw
outportb
outportl
outportw

// zipfile
check_zipfile1
check_zipfile2
read_zipfile1
read_zipfile2

// jSH
logfile
jsh_do_file

__divdi3
__divmoddi4
__dj_huge_valf
__dj_assert
__dj_stdout
__moddi3
__udivdi3
__udivmoddi4
__umoddi3
access
close
errno
fchmod
fchown
fcntl
fsync
ftruncate
getcwd
geteuid
getpid
gettimeofday
lseek
lstat
memcmp
memmove
open
read
putchar
puts
readlink
strcmp
strcspn
strlen
strncmp
strrchr
time
utimes
write
memset
fstat

rand
perror
fscanf
__fpclassifyd
srand

vsnprintf
__dj_stdin
strdup
sscanf
__dj_stderr
strstr

// IntArray
IntArray_create
IntArray_destroy
IntArray_fromStruct
IntArray_push

// watt32
_watt_do_exit
accept
access
basename
bind
chmod
clearerr
connect
gai_strerror
getaddrinfo
getegid
geteuid
getgid
gethostbyname
getnameinfo
getpeername
getpid
getsockname
getsockopt
getuid
ioctlsocket
isatty
listen
pathconf
recv
recvfrom
select_s
send
sendto
setbuf
//setmode
setsockopt
setvbuf
shutdown
socket
tcgetattr
tcsetattr
watt_sock_init

// curl
__dj_ctype_tolower
ferror
freeaddrinfo
_os_flavor
getch
feof
_osmajor
read_s
strpbrk
memchr
strspn
fileno
strtoul
strcat
abort
setmode
vfprintf
stpcpy
qsort
_osminor
close_s
gmtime
delay
