; $Id: psxdll.edf,v 1.7 2002/05/17 02:21:54 hyperion Exp $
;
; ReactOS POSIX+ Client Library
;

LIBRARY PSXDLL.DLL
EXPORTS

;ctype
isalnum=NTDLL.isalnum
isalpha=NTDLL.isalpha
iscntrl=NTDLL.iscntrl
isdigit=NTDLL.isdigit
isgraph=NTDLL.isgraph
islower=NTDLL.islower
isprint=NTDLL.isprint
ispunct=NTDLL.ispunct
isspace=NTDLL.isspace
isupper=NTDLL.isupper
iswalpha=NTDLL.iswalpha
iswctype=NTDLL.iswctype
iswdigit=NTDLL.iswdigit
iswlower=NTDLL.iswlower
iswspace=NTDLL.iswspace
iswxdigit=NTDLL.iswxdigit
isxdigit=NTDLL.isxdigit
tolower=NTDLL.tolower
toupper=NTDLL.toupper
towlower=NTDLL.towlower
towupper=NTDLL.towupper

;dirent
opendir=opendir
readdir=readdir
closedir=closedir

;dlfcn
dlopen=dlopen
dlclose=dlclose
dlsym=dlsym
dlerror=dlerror

;errno
__PdxGetThreadErrNum=__PdxGetThreadErrNum

;fcntl
open=open
creat=creat
fcntl=fcntl

;libgen
basename=basename

;math
atan=NTDLL.atan
ceil=NTDLL.ceil
cos=NTDLL.cos
fabs=NTDLL.fabs
floor=NTDLL.floor
log=NTDLL.log
pow=NTDLL.pow
sin=NTDLL.sin
sqrt=NTDLL.sqrt
tan=NTDLL.tan

;misc
;misc/fdtable
__fdtable_init=__fdtable_init
__fdtable_free=__fdtable_free
__fdtable_entry_nextavail=__fdtable_entry_nextavail
__fdtable_entry_add=__fdtable_entry_add
__fdtable_entry_remove=__fdtable_entry_remove
__fdtable_entry_get=__fdtable_entry_get
;misc/heap
;for Microsoft POSIX and Interix compatibility
GetProcessHeap=GetProcessHeap@0
HeapAlloc=NTDLL.RtlAllocateHeap
HeapFree=NTDLL.RtlFreeHeap
HeapReAlloc=NTDLL.ReAllocateHeap
HeapSize=NTDLL.RtlSizeHeap
;misc/init
__PdxInitializeData=__PdxInitializeData@8
;misc/path
__PdxPosixPathGetNextComponent_A=__PdxPosixPathGetNextComponent_A
__PdxPosixPathGetNextComponent_U=__PdxPosixPathGetNextComponent_U
__PdxPosixPathResolve_A=__PdxPosixPathResolve_A
__PdxPosixPathResolve_U=__PdxPosixPathResolve_U
__PdxPosixPathNameToNtPathName=__PdxPosixPathNameToNtPathName
;misc/safeobj
__safeobj_validate=__safeobj_validate
;misc/spawn
__PdxSpawnPosixProcess=__PdxSpawnPosixProcess@24

;pthread
pthread_create=pthread_create
pthread_exit=pthread_exit
pthread_join=pthread_join
pthread_mutex_destroy=pthread_mutex_destroy
pthread_mutex_init=pthread_mutex_init
pthread_mutex_lock=pthread_mutex_lock
pthread_mutex_trylock=pthread_mutex_trylock
pthread_mutex_unlock=pthread_mutex_unlock
pthread_mutex_getprioceiling=pthread_mutex_getprioceiling
pthread_mutex_setprioceiling=pthread_mutex_setprioceiling
pthread_mutexattr_destroy=pthread_mutexattr_destroy
pthread_mutexattr_getpshared=pthread_mutexattr_getpshared
pthread_mutexattr_init=pthread_mutexattr_init
pthread_mutexattr_setpshared=pthread_mutexattr_setpshared
pthread_mutexattr_gettype=pthread_mutexattr_gettype
pthread_mutexattr_settype=pthread_mutexattr_settype
pthread_mutexattr_getprioceiling=pthread_mutexattr_getprioceiling
pthread_mutexattr_getprotocol=pthread_mutexattr_getprotocol
pthread_mutexattr_setprioceiling=pthread_mutexattr_setprioceiling
pthread_mutexattr_setprotocol=pthread_mutexattr_setprotocol

;sched
sched_yield=sched_yield

;signal
pthread_kill=pthread_kill
raise=raise

;stdio
;temporary forward exports, soon to be changed
printf=MSVCRT.printf
gets=MSVCRT.gets

;stdlib
abs=NTDLL.abs
abort=abort
atoi=NTDLL.atoi
atol=NTDLL.atol
malloc=malloc
mbstowcs=NTDLL.mbstowcs
realloc=realloc
free=free
calloc=calloc
exit=exit
;FIXME: should the two calls be distinct?
_exit=exit

;string
;forward-exports to NTDLL
memchr=NTDLL.memchr
memcmp=NTDLL.memcmp
memcpy=NTDLL.memcpy
memmove=NTDLL.memmove
memset=NTDLL.memset
strcat=NTDLL.strcat
strchr=NTDLL.strchr
strcmp=NTDLL.strcmp
strcpy=NTDLL.strcpy
strcspn=NTDLL.strcspn
strlen=NTDLL.strlen
strncat=NTDLL.strncat
strncmp=NTDLL.strncmp
strncpy=NTDLL.strncpy
strpbrk=NTDLL.strpbrk
strrchr=NTDLL.strrchr
strspn=NTDLL.strspn
strstr=NTDLL.strstr
;implemented internally
strdup

;sys/stat
chmod=chmod
fchmod=fchmod
fstat=fstat
lstat=lstat
mkdir=mkdir
mkfifo=mkfifo
mknod=mknod
stat=stat
umask=umask

;sys/utsname
uname=uname

;unistd
access=access
close=close
dup=dup
dup2=dup2
fork=fork
getcwd=getcwd
getpid=getpid
getppid=getppid
pread=pread
read=read
sleep=sleep
write=write

;wchar
;forward-exports to NTDLL
wcscat=NTDLL.wcscat
wcschr=NTDLL.wcschr
wcscmp=NTDLL.wcscmp
wcscpy=NTDLL.wcscpy
wcscspn=NTDLL.wcscspn
wcslen=NTDLL.wcslen
wcsncat=NTDLL.wcsncat
wcsncmp=NTDLL.wcsncmp
wcsncpy=NTDLL.wcsncpy
wcspbrk=NTDLL.wcspbrk
wcsrchr=NTDLL.wcsrchr
wcsspn=NTDLL.wcsspn
wcsstr=NTDLL.wcsstr
wcstol=NTDLL.wcstol
wcstombs=NTDLL.wcstombs
wcstoul=NTDLL.wcstoul
;implemented internally

;others (FIXME: cathegorize these calls)
RtlAnsiCharToUnicodeChar=NTDLL.RtlAnsiCharToUnicodeChar
RtlFillMemory=NTDLL.RtlFillMemory
RtlMoveMemory=NTDLL.RtlMoveMemory
RtlMultiByteToUnicodeN=NTDLL.RtlMultiByteToUnicodeN
RtlUnicodeToMultiByteN=NTDLL.RtlUnicodeToMultiByteN
RtlUnicodeToMultiByteSize=NTDLL.RtlUnicodeToMultiByteSize
RtlUnwind=NTDLL.RtlUnwind
RtlUpcaseUnicodeChar=NTDLL.RtlUpcaseUnicodeChar
RtlUpcaseUnicodeToMultiByteN=NTDLL.RtlUpcaseUnicodeToMultiByteN
RtlZeroMemory=NTDLL.RtlZeroMemory

;WARNING: PRELIMINARY CODE FOR DEBUGGING PURPOSES ONLY - DO NOT CHANGE
__PdxGetProcessData=__PdxGetProcessData

;EOF
