mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-16 02:30:41 +01:00
+ OS/2 implementation of unit sockets
git-svn-id: trunk@101 -
This commit is contained in:
parent
77152e9d1b
commit
8e19280c79
@ -249,103 +249,103 @@ endif
|
||||
OBJPASDIR=$(RTL)/objpas
|
||||
GRAPHDIR=$(INC)/graph
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer matrix sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil strutils convutil so32dll sockets
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_LOADERS+=prt0
|
||||
@ -1980,6 +1980,8 @@ pmshl$(PPUEXT) : pmshl.pas os2def$(PPUEXT) pmwin$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
pmwp$(PPUEXT) : pmwp.pas os2def$(PPUEXT) pmwin$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
pmwsock$(PPUEXT) : pmwsock.pas os2def$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
winsock$(PPUEXT) : winsock.pas pmwsock$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
so32dll$(PPUEXT) : so32dll.pas $(SYSTEMUNIT)$(PPUEXT)
|
||||
sockets$(PPUEXT) : sockets.pas so32dll$(PPUEXT) ctypes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
pmbidi$(PPUEXT) : pmbidi.pas os2def$(PPUEXT) pmwin$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
dynlibs$(PPUEXT) : $(INC)/dynlibs.pp doscalls$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
dos$(PPUEXT) : dos.pas $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
|
||||
|
||||
@ -14,7 +14,7 @@ units=$(SYSTEMUNIT) ctypes objpas macpas strings \
|
||||
sysutils classes math typinfo varutils winsock \
|
||||
charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs \
|
||||
video mouse keyboard variants types rtlconst sysconst dateutil \
|
||||
strutils convutil
|
||||
strutils convutil so32dll sockets
|
||||
rsts=math varutils typinfo variants pmhelp classes sysconst dateutil
|
||||
|
||||
[require]
|
||||
@ -133,6 +133,10 @@ pmwsock$(PPUEXT) : pmwsock.pas os2def$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
winsock$(PPUEXT) : winsock.pas pmwsock$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
so32dll$(PPUEXT) : so32dll.pas $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
sockets$(PPUEXT) : sockets.pas so32dll$(PPUEXT) ctypes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
pmbidi$(PPUEXT) : pmbidi.pas os2def$(PPUEXT) pmwin$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
dynlibs$(PPUEXT) : $(INC)/dynlibs.pp doscalls$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 2000, 2001 by madded2 (madded@vao.udmnet.ru).
|
||||
Copyright (c) 2002, 2004 Yuri Prokushev (prokushev@freemail.ru).
|
||||
Copyright (c) 2005 Soren Ager
|
||||
|
||||
Interface to OS/2 32-bit sockets library
|
||||
|
||||
@ -37,6 +38,7 @@ interface
|
||||
|
||||
{$MODE ObjFPC}
|
||||
{$ASMMODE Intel}
|
||||
{$PACKRECORDS 1}
|
||||
|
||||
(***************************************************************************)
|
||||
(* *)
|
||||
@ -1030,7 +1032,140 @@ type
|
||||
tv_usec : Longint; // Number of microseconds
|
||||
end;
|
||||
|
||||
{
|
||||
* ioctl & ip trace support
|
||||
}
|
||||
const
|
||||
FIONREAD = (Ord('f') SHL 8) OR 127;
|
||||
FIONBIO = (Ord('f') SHL 8) OR 126;
|
||||
|
||||
FIOASYNC = (Ord('f') SHL 8) OR 125;
|
||||
FIOTCPCKSUM = (Ord('f') SHL 8) OR 128;
|
||||
FIONSTATUS = (Ord('f') SHL 8) OR 120;
|
||||
FIONURG = (Ord('f') SHL 8) OR 121;
|
||||
|
||||
SIOCSHIWAT = (Ord('s') SHL 8) OR 0;
|
||||
SIOCGHIWAT = (Ord('s') SHL 8) OR 1;
|
||||
SIOCSLOWAT = (Ord('s') SHL 8) OR 2;
|
||||
SIOCGLOWAT = (Ord('s') SHL 8) OR 3;
|
||||
SIOCATMARK = (Ord('s') SHL 8) OR 7;
|
||||
SIOCSPGRP = (Ord('s') SHL 8) OR 8;
|
||||
SIOCGPGRP = (Ord('s') SHL 8) OR 9;
|
||||
SIOCSHOSTID = (Ord('s') SHL 8) OR 10;
|
||||
|
||||
SIOCADDRT = (Ord('r') SHL 8) OR 10;
|
||||
SIOCDELRT = (Ord('r') SHL 8) OR 11;
|
||||
SIOMETRIC1RT = (Ord('r') SHL 8) OR 12;
|
||||
SIOMETRIC2RT = (Ord('r') SHL 8) OR 13;
|
||||
SIOMETRIC3RT = (Ord('r') SHL 8) OR 14;
|
||||
SIOMETRIC4RT = (Ord('r') SHL 8) OR 15;
|
||||
|
||||
SIOCREGADDNET = (Ord('r') SHL 8) OR 12;
|
||||
SIOCREGDELNET = (Ord('r') SHL 8) OR 13;
|
||||
SIOCREGROUTES = (Ord('r') SHL 8) OR 14;
|
||||
SIOCFLUSHROUTES=(Ord('r') SHL 8) OR 15;
|
||||
|
||||
SIOCSIFADDR = (Ord('i') SHL 8) OR 12;
|
||||
SIOCGIFADDR = (Ord('i') SHL 8) OR 13;
|
||||
SIOCSIFDSTADDR= (Ord('i') SHL 8) OR 14;
|
||||
SIOCGIFDSTADDR= (Ord('i') SHL 8) OR 15;
|
||||
SIOCSIFFLAGS = (Ord('i') SHL 8) OR 16;
|
||||
SIOCGIFFLAGS = (Ord('i') SHL 8) OR 17;
|
||||
SIOCGIFBRDADDR= (Ord('i') SHL 8) OR 18;
|
||||
SIOCSIFBRDADDR= (Ord('i') SHL 8) OR 19;
|
||||
SIOCGIFCONF = (Ord('i') SHL 8) OR 20;
|
||||
SIOCGIFNETMASK= (Ord('i') SHL 8) OR 21;
|
||||
SIOCSIFNETMASK= (Ord('i') SHL 8) OR 22;
|
||||
SIOCGIFMETRIC = (Ord('i') SHL 8) OR 23;
|
||||
SIOCSIFMETRIC = (Ord('i') SHL 8) OR 24;
|
||||
SIOCSIFSETSIG = (Ord('i') SHL 8) OR 25;
|
||||
SIOCSIFCLRSIG = (Ord('i') SHL 8) OR 26;
|
||||
SIOCSIFBRD = (Ord('i') SHL 8) OR 27; { SINGLE-rt bcst. using old # for bkw cmpt }
|
||||
SIOCSIFALLRTB = (Ord('i') SHL 8) OR 63; { added to configure all-route broadcst }
|
||||
|
||||
SIOCGIFLOAD =(Ord('i') SHL 8) OR 27;
|
||||
SIOCSIFFILTERSRC=(Ord('i') SHL 8) OR 28;
|
||||
SIOCGIFFILTERSRC=(Ord('i') SHL 8) OR 29;
|
||||
|
||||
SIOCSARP = (Ord('i') SHL 8) OR 30;
|
||||
SIOCGARP = (Ord('i') SHL 8) OR 31;
|
||||
SIOCDARP = (Ord('i') SHL 8) OR 32;
|
||||
SIOCSIFSNMPSIG= (Ord('i') SHL 8) OR 33;
|
||||
SIOCSIFSNMPCLR= (Ord('i') SHL 8) OR 34;
|
||||
SIOCSIFSNMPCRC= (Ord('i') SHL 8) OR 35;
|
||||
SIOCSIFPRIORITY=(Ord('i') SHL 8) OR 36;
|
||||
SIOCGIFPRIORITY=(Ord('i') SHL 8) OR 37;
|
||||
SIOCSIFFILTERDST=(Ord('i') SHL 8) OR 38;
|
||||
SIOCGIFFILTERDST=(Ord('i') SHL 8) OR 39;
|
||||
SIOCSIF802_3 = (Ord('i') SHL 8) OR 40;
|
||||
SIOCSIFNO802_3= (Ord('i') SHL 8) OR 41;
|
||||
SIOCSIFNOREDIR= (Ord('i') SHL 8) OR 42;
|
||||
SIOCSIFYESREDIR= (Ord('i') SHL 8) OR 43;
|
||||
|
||||
SIOCSIFMTU = (Ord('i') SHL 8) OR 45;
|
||||
SIOCSIFFDDI = (Ord('i') SHL 8) OR 46;
|
||||
SIOCSIFNOFDDI = (Ord('i') SHL 8) OR 47;
|
||||
SIOCSRDBRD = (Ord('i') SHL 8) OR 48;
|
||||
SIOCSARP_TR = (Ord('i') SHL 8) OR 49;
|
||||
SIOCGARP_TR = (Ord('i') SHL 8) OR 50;
|
||||
|
||||
{ multicast ioctls }
|
||||
SIOCADDMULTI = (Ord('i') SHL 8) OR 51; { add m'cast addr }
|
||||
SIOCDELMULTI = (Ord('i') SHL 8) OR 52; { del m'cast addr }
|
||||
SIOCMULTISBC = (Ord('i') SHL 8) OR 61; { use broadcast to send IP multicast }
|
||||
SIOCMULTISFA = (Ord('i') SHL 8) OR 62; { use functional addr to send IP multicast }
|
||||
|
||||
|
||||
{$IFDEF SLBOOTP}
|
||||
SIOCGUNIT = (Ord('i') SHL 8) OR 70; { Used to retreive unit number on }
|
||||
{ serial interface }
|
||||
{$ENDIF}
|
||||
|
||||
SIOCSIFSPIPE = (Ord('i') SHL 8) OR 71; { used to set pipe size on interface }
|
||||
{ this is used as tcp send buffer size }
|
||||
SIOCSIFRPIPE = (Ord('i') SHL 8) OR 72; { used to set pipe size on interface }
|
||||
{ this is used as tcp recv buffer size }
|
||||
SIOCSIFTCPSEG = (Ord('i') SHL 8) OR 73; { set the TCP segment size on interface }
|
||||
SIOCSIFUSE576 = (Ord('i') SHL 8) OR 74; { enable/disable the automatic change of mss to 576 }
|
||||
{ if going through a router }
|
||||
SIOCGIFVALID = (Ord('i') SHL 8) OR 75; { to check if the interface is Valid or not }
|
||||
{ sk June 14 1995 }
|
||||
SIOCGIFBOUND = (Ord('i') SHL 8) OR 76; { ioctl to return bound/shld bind ifs }
|
||||
{ Interface Tracing Support }
|
||||
SIOCGIFEFLAGS = (Ord('i') SHL 8) OR 150;
|
||||
SIOCSIFEFLAGS = (Ord('i') SHL 8) OR 151;
|
||||
SIOCGIFTRACE = (Ord('i') SHL 8) OR 152;
|
||||
SIOCSIFTRACE = (Ord('i') SHL 8) OR 153;
|
||||
|
||||
{$IFDEF SLSTATS}
|
||||
SIOCSSTAT = (Ord('i') SHL 8) OR 154;
|
||||
SIOCGSTAT = (Ord('i') SHL 8) OR 155;
|
||||
{$ENDIF}
|
||||
|
||||
{ NETSTAT stuff }
|
||||
SIOSTATMBUF = (Ord('n') SHL 8) OR 40;
|
||||
SIOSTATTCP = (Ord('n') SHL 8) OR 41;
|
||||
SIOSTATUDP = (Ord('n') SHL 8) OR 42;
|
||||
SIOSTATIP = (Ord('n') SHL 8) OR 43;
|
||||
SIOSTATSO = (Ord('n') SHL 8) OR 44;
|
||||
SIOSTATRT = (Ord('n') SHL 8) OR 45;
|
||||
SIOFLUSHRT = (Ord('n') SHL 8) OR 46;
|
||||
SIOSTATICMP = (Ord('n') SHL 8) OR 47;
|
||||
SIOSTATIF = (Ord('n') SHL 8) OR 48;
|
||||
SIOSTATAT = (Ord('n') SHL 8) OR 49;
|
||||
SIOSTATARP = (Ord('n') SHL 8) OR 50;
|
||||
SIOSTATIF42 = (Ord('n') SHL 8) OR 51;
|
||||
|
||||
(* From fpc 2.0.0
|
||||
SIOCGIFFLAGS = $6900 + 17; // get interface flags
|
||||
|
||||
{ Interface Tracing Support }
|
||||
SIOCGIFEFLAGS = $6900 + 150; // get interface enhanced flags
|
||||
SIOCSIFEFLAGS = $6900 + 151; // set interface enhanced flags
|
||||
SIOCGIFTRACE = $6900 + 152; // get interface trace data
|
||||
SIOCSIFTRACE = $6900 + 153; // set interface trace data
|
||||
{ sorry, i skip other ioctl commands, see SYS\ioctl.h from toolkit for it.. }
|
||||
*)
|
||||
|
||||
|
||||
(* !!TODO Check all macros from sys/itypes.h
|
||||
@ -1066,7 +1201,7 @@ function getinetversion(var version):Longint; cdecl;
|
||||
function sock_errno:Longint; cdecl;
|
||||
|
||||
{ print last err string + str if not NIL }
|
||||
procedure psock_errno(const str:PChar); cdecl;
|
||||
procedure psock_errno(var str:PChar); cdecl;
|
||||
|
||||
|
||||
{ * sockets creation / close funcs }
|
||||
@ -1096,10 +1231,10 @@ function soabort(sock:Longint):Longint; cdecl;
|
||||
function accept(sock:Longint; var s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl;
|
||||
|
||||
{ bind a local name to the socket }
|
||||
function bind(sock:Longint; const s_addr: sockaddr; s_addr_len:Longint):Longint; cdecl;
|
||||
function bind(sock:Longint; var s_addr: sockaddr; s_addr_len:Longint):Longint; cdecl;
|
||||
|
||||
{ connect socket to remote host }
|
||||
function connect(sock:Longint; const s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl;
|
||||
function connect(sock:Longint; var s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl;
|
||||
|
||||
{ listen on socket. max_conn - queue size of listen. }
|
||||
function listen(sock,max_conn:Longint):Longint; cdecl;
|
||||
@ -1114,13 +1249,13 @@ function listen(sock,max_conn:Longint):Longint; cdecl;
|
||||
function recv(sock:Longint; var buf; buf_len,flags:Longint):Longint; cdecl;
|
||||
|
||||
{ send data to socket. ! return N of sent bytes. -1 - err }
|
||||
function send(sock:Longint; const buf; buf_len,flags:Longint):Longint; cdecl;
|
||||
function send(sock:Longint; var buf; buf_len,flags:Longint):Longint; cdecl;
|
||||
|
||||
{ read data from socket. ! return N of readed bytes, or 0 (closed) or -1 }
|
||||
function recvfrom(sock:Longint; var buf; buf_len,flags:Longint; var s_addr:sockaddr; var s_addr_len:Longint):Longint; cdecl;
|
||||
|
||||
{ send data to socket. ! return N of sent bytes. -1 - err }
|
||||
function sendto(sock:Longint; const buf; buf_len,flags:Longint; var s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl;
|
||||
function sendto(sock:Longint; var buf; buf_len,flags:Longint; var s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl;
|
||||
|
||||
{ read data into iov_count number of buffers iov.
|
||||
! return N of readed bytes, or 0 (closed) or -1 }
|
||||
@ -1148,7 +1283,7 @@ function sendmsg(sock:Longint; var msgbuf:msghdr; flags:Longint):Longint; cdecl
|
||||
function os2_select(var sockets; N_reads, N_writes, N_exepts, timeout:Longint):Longint; cdecl;
|
||||
|
||||
{ bsd select here. heavy voodoo.. }
|
||||
function select(nfds:Longint; const readfds,writefds,exceptfds:fd_set; const timeout:timeval):Longint; cdecl;
|
||||
function select(nfds:Longint; var readfds,writefds,exceptfds:fd_set; var timeout:timeval):Longint; cdecl;
|
||||
|
||||
(***************************************************************************)
|
||||
(* *)
|
||||
@ -1175,7 +1310,7 @@ function getsockname(sock:Longint; var s_addr:sockaddr; var s_addr_len:Longint):
|
||||
function getsockopt(sock,level,optname:Longint; var buf; var buf_len:Longint):Longint; cdecl;
|
||||
|
||||
{ set socket options }
|
||||
function setsockopt(sock,level,optname:Longint; const buf; buf_len:Longint):Longint; cdecl;
|
||||
function setsockopt(sock,level,optname:Longint; var buf; buf_len:Longint):Longint; cdecl;
|
||||
|
||||
{ f@$king ioctl. use sys/ioctl.h }
|
||||
function os2_ioctl(sock,cmd:Longint; var data; data_len:Longint):Longint; cdecl;
|
||||
@ -1208,8 +1343,8 @@ asm
|
||||
end;
|
||||
|
||||
function accept(sock:Longint; var s_addr: sockaddr; s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 1;
|
||||
function bind(sock:Longint; const s_addr: sockaddr; s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 2;
|
||||
function connect(sock:Longint; const s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 3;
|
||||
function bind(sock:Longint; var s_addr: sockaddr; s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 2;
|
||||
function connect(sock:Longint; var s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 3;
|
||||
function gethostid: Longint; cdecl; external 'SO32DLL' index 4;
|
||||
function getpeername(sock:Longint; var s_addr:sockaddr; var s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 5;
|
||||
function getsockname(sock:Longint; var s_addr:sockaddr; var s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 6;
|
||||
@ -1219,9 +1354,9 @@ function listen(sock,max_conn:Longint):Longint; cdecl; external 'SO32DLL' index
|
||||
function recv(sock:Longint; var buf; buf_len,flags:Longint):Longint; cdecl; external 'SO32DLL' index 10;
|
||||
function recvfrom(sock:Longint; var buf; buf_len,flags:Longint;var s_addr:sockaddr; var s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 11;
|
||||
function os2_select(var sockets; N_reads, N_writes, N_exepts, timeout:Longint):Longint; cdecl; external 'SO32DLL' index 12;
|
||||
function send(sock:Longint; const buf; buf_len,flags:Longint):Longint; cdecl; external 'SO32DLL' index 13;
|
||||
function sendto(sock:Longint; const buf; buf_len,flags:Longint;var s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 14;
|
||||
function setsockopt(sock,level,optname:Longint; const buf; buf_len:Longint):Longint; cdecl; external 'SO32DLL' index 15;
|
||||
function send(sock:Longint; var buf; buf_len,flags:Longint):Longint; cdecl; external 'SO32DLL' index 13;
|
||||
function sendto(sock:Longint; var buf; buf_len,flags:Longint;var s_addr:sockaddr; s_addr_len:Longint):Longint; cdecl; external 'SO32DLL' index 14;
|
||||
function setsockopt(sock,level,optname:Longint; var buf; buf_len:Longint):Longint; cdecl; external 'SO32DLL' index 15;
|
||||
function socket(domain,stype,protocol:Longint):Longint; cdecl; external 'SO32DLL' index 16;
|
||||
function soclose(sock:Longint):Longint; cdecl; external 'SO32DLL' index 17;
|
||||
function so_cancel(sock:Longint):Longint; cdecl; external 'SO32DLL' index 18;
|
||||
@ -1236,31 +1371,33 @@ function sock_init:Longint; cdecl; external 'SO32DLL' index 26;
|
||||
function addsockettolist(sock:Longint):Longint; cdecl; external 'SO32DLL' index 27;
|
||||
function removesocketfromlist(sock:Longint):Longint; cdecl; external 'SO32DLL' index 28;
|
||||
{ entry 29 not used }
|
||||
procedure psock_errno(const str:PChar); cdecl; external 'SO32DLL' index 30;
|
||||
procedure psock_errno(var str:PChar); cdecl; external 'SO32DLL' index 30;
|
||||
function getinetversion(var version):Longint; cdecl; external 'SO32DLL' index 31;
|
||||
function select(nfds:Longint;
|
||||
const readfds,writefds,exceptfds:fd_set;
|
||||
const timeout:timeval):Longint; cdecl; external 'SO32DLL' index 32;
|
||||
var readfds,writefds,exceptfds:fd_set;
|
||||
var timeout:timeval):Longint; cdecl; external 'SO32DLL' index 32;
|
||||
|
||||
|
||||
function htonl(a:Longint):Longint;
|
||||
begin Result:=LSwap(a); end;
|
||||
begin htonl:=LSwap(a); end;
|
||||
{ host -> network for long (4 bytes) }
|
||||
|
||||
function ntohl(a:Longint):Longint;
|
||||
begin Result:=LSwap(a); end;
|
||||
begin ntohl:=LSwap(a); end;
|
||||
{ network -> host for long (4 bytes) }
|
||||
|
||||
function htons(a:Word):Word;
|
||||
begin Result:=WSwap(a); end;
|
||||
begin htons:=WSwap(a); end;
|
||||
{ host -> network for small (2 bytes) }
|
||||
|
||||
function ntohs(a:Word):Word;
|
||||
begin Result:=WSwap(a); end;
|
||||
begin ntohs:=WSwap(a); end;
|
||||
{ network -> host for small (2 bytes) }
|
||||
|
||||
end.
|
||||
|
||||
(* !!TODO Following code not revised as yet
|
||||
|
||||
{*
|
||||
* User-settable options (used with setsockopt).
|
||||
*}
|
||||
@ -1272,10 +1409,6 @@ end.
|
||||
TCP_CC = $06; // RFC 1644 (Connection Count)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
* Structures returned by network data base library. All addresses are
|
||||
* supplied in host order, and returned in network order (suitable for
|
||||
@ -1335,19 +1468,7 @@ type
|
||||
|
||||
pservent = ^servent;
|
||||
|
||||
{
|
||||
* ioctl & ip trace support
|
||||
}
|
||||
const
|
||||
SIOCGIFFLAGS = $6900 + 17; // get interface flags
|
||||
|
||||
{ Interface Tracing Support }
|
||||
SIOCGIFEFLAGS = $6900 + 150; // get interface enhanced flags
|
||||
SIOCSIFEFLAGS = $6900 + 151; // set interface enhanced flags
|
||||
SIOCGIFTRACE = $6900 + 152; // get interface trace data
|
||||
SIOCSIFTRACE = $6900 + 153; // set interface trace data
|
||||
{ sorry, i skip other ioctl commands, see SYS\ioctl.h from toolkit for it.. }
|
||||
|
||||
IFF_UP = $1; // interface is up
|
||||
IFF_BROADCAST = $2; // broadcast address valid
|
||||
IFF_DEBUG = $4; // turn on debugging
|
||||
@ -1575,10 +1696,3 @@ const
|
||||
³ 00039 ³ GETSOCKETFROMLIST
|
||||
À´Done
|
||||
*)
|
||||
|
||||
{
|
||||
$Log: so32dll.pas,v $
|
||||
Revision 1.3 2005/02/14 17:13:31 peter
|
||||
* truncate log
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 2002 Yuri Prokushev
|
||||
Copyright (c) 2005 Soren Ager
|
||||
|
||||
Sockets implementation for OS/2
|
||||
|
||||
@ -14,15 +15,16 @@
|
||||
**********************************************************************}
|
||||
|
||||
{$MODE ObjFPC}
|
||||
{ $DEFINE notUnix} // To make ssockets.pp compile
|
||||
unit Sockets;
|
||||
|
||||
Interface
|
||||
|
||||
Uses
|
||||
so32dll;
|
||||
so32dll,ctypes;
|
||||
|
||||
Const
|
||||
AF_LOCAL = so32dll.AF_LOCAL;
|
||||
// AF_LOCAL = so32dll.AF_LOCAL;
|
||||
AF_OS2 = so32dll.AF_OS2;
|
||||
AF_IMPLINK = so32dll.AF_IMPLINK; // arpanet imp addresses
|
||||
AF_PUP = so32dll.AF_PUP; // pup protocols: e.g. BSP
|
||||
@ -59,7 +61,7 @@ Const
|
||||
|
||||
AF_MAX = so32dll.AF_MAX;
|
||||
|
||||
PF_LOCAL = so32dll.PF_LOCAL;
|
||||
// PF_LOCAL = so32dll.PF_LOCAL;
|
||||
PF_OS2 = so32dll.PF_OS2;
|
||||
PF_IMPLINK = so32dll.PF_IMPLINK;
|
||||
PF_PUP = so32dll.PF_PUP;
|
||||
@ -92,6 +94,17 @@ Const
|
||||
PF_MAX = so32dll.PF_MAX;
|
||||
|
||||
|
||||
Type
|
||||
cushort=word;
|
||||
cuint16=word;
|
||||
cuint32=cardinal;
|
||||
size_t =cuint32;
|
||||
ssize_t=cuint16;
|
||||
cint =longint;
|
||||
pcint =^cint;
|
||||
tsocklen=cint;
|
||||
psocklen=^tsocklen;
|
||||
|
||||
// OS/2 stack based on BSD stack
|
||||
{$DEFINE BSD}
|
||||
{$I socketsh.inc}
|
||||
@ -117,20 +130,12 @@ end;
|
||||
|
||||
Function Send(Sock:Longint;Const Buf;BufLen,Flags:Longint):Longint;
|
||||
begin
|
||||
Send:=so32dll.Send(Sock,Buf,BufLen,Flags);
|
||||
if Send<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
Send:=fpSend(Sock,@Buf,BufLen,Flags);
|
||||
end;
|
||||
|
||||
Function SendTo(Sock:Longint;Const Buf;BufLen,Flags:Longint;Var Addr; AddrLen : Longint):Longint;
|
||||
begin
|
||||
SendTo:=so32dll.SendTo(Sock,Buf,BufLen,Flags,so32dll.SockAddr(Addr),AddrLen);
|
||||
if SendTo<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
SendTo:=fpSendTo(Sock,@Buf,BufLen,Flags,@Addr,AddrLen);
|
||||
end;
|
||||
|
||||
Function Recv(Sock:Longint;Var Buf;BufLen,Flags:Longint):Longint;
|
||||
@ -142,9 +147,7 @@ begin
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
|
||||
Function RecvFrom(Sock : Longint; Var Buf; Buflen,Flags : Longint; Var Addr; AddrLen : Integer) : longint;
|
||||
|
||||
Function RecvFrom(Sock : Longint; Var Buf; Buflen,Flags : Longint; Var Addr; var AddrLen : longInt) : longint;
|
||||
begin
|
||||
RecvFrom:=so32dll.RecvFrom(Sock,Buf,BufLen,Flags,so32dll.SockAddr(Addr),AddrLen);
|
||||
if RecvFrom<0 then
|
||||
@ -154,20 +157,8 @@ begin
|
||||
end;
|
||||
|
||||
Function Bind(Sock:Longint;Const Addr;AddrLen:Longint):Boolean;
|
||||
var
|
||||
l : longint;
|
||||
begin
|
||||
l:=so32dll.Bind(Sock,so32dll.sockaddr(Addr),AddrLen);
|
||||
if l<0 then
|
||||
begin
|
||||
SocketError:=so32dll.sock_errno;
|
||||
Bind:=false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
SocketError:=0;
|
||||
Bind:=true;
|
||||
end;
|
||||
Bind:=fpBind(Sock,@Addr,AddrLen)=0;
|
||||
end;
|
||||
|
||||
Function Listen(Sock,MaxConnect:Longint):Boolean;
|
||||
@ -176,15 +167,14 @@ var
|
||||
begin
|
||||
l:=so32dll.Listen(Sock,MaxConnect);
|
||||
if l<0 then
|
||||
begin
|
||||
SocketError:=so32dll.sock_errno;
|
||||
Listen:=false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
SocketError:=0;
|
||||
Listen:=true;
|
||||
end;
|
||||
begin
|
||||
SocketError:=so32dll.sock_errno;
|
||||
Listen:=false;
|
||||
end else
|
||||
begin
|
||||
SocketError:=0;
|
||||
Listen:=true;
|
||||
end;
|
||||
end;
|
||||
|
||||
Function Accept(Sock:Longint;Var Addr;Var Addrlen:Longint):Longint;
|
||||
@ -196,13 +186,9 @@ begin
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
Function Connect(Sock:Longint;Const Addr;Addrlen:Longint):Boolean;
|
||||
Function Connect(Sock:Longint;const Addr; Addrlen:Longint):Boolean;
|
||||
begin
|
||||
Connect:=so32dll.Connect(Sock,so32dll.SockAddr(Addr),AddrLen)=0;
|
||||
if not Connect then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
Connect:=fpConnect(Sock,@Addr,AddrLen)=0;
|
||||
end;
|
||||
|
||||
Function Shutdown(Sock:Longint;How:Longint):Longint;
|
||||
@ -234,11 +220,7 @@ end;
|
||||
|
||||
Function SetSocketOptions(Sock,Level,OptName:Longint;Const OptVal;optlen:longint):Longint;
|
||||
begin
|
||||
SetSocketOptions:=so32dll.SetSockOpt(Sock,Level,OptName,OptVal,OptLen);
|
||||
if SetSocketOptions<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
SetSocketOptions:=fpSetSockOpt(Sock,Level,OptName,@OptVal,OptLen);
|
||||
end;
|
||||
|
||||
Function GetSocketOptions(Sock,Level,OptName:Longint;Var OptVal;Var optlen:longint):Longint;
|
||||
@ -252,17 +234,17 @@ end;
|
||||
|
||||
Function SocketPair(Domain,SocketType,Protocol:Longint;var Pair:TSockArray):Longint;
|
||||
begin
|
||||
|
||||
{!!TODO!!
|
||||
SocketPair:=so32dll.socketpair(Domain,SocketType,Protocol,Pair);}
|
||||
//SocketCall(Socket_Sys_SocketPair,Domain,SocketType,Protocol,longint(@Pair),0,0);
|
||||
SocketPair:=-1;
|
||||
end;
|
||||
|
||||
{ mimic the linux fdWrite/fdRead calls for the file/text socket wrapper }
|
||||
function fdWrite(handle : longint;Const bufptr;size : dword) : dword;
|
||||
begin
|
||||
fdWrite := so32dll.send(handle, bufptr, size, 0);
|
||||
if fdWrite = -1 then
|
||||
fdWrite := dword(fpsend(handle, @bufptr, size, 0));
|
||||
if fdWrite = dword(-1) then
|
||||
begin
|
||||
SocketError := so32dll.sock_errno;
|
||||
fdWrite := 0;
|
||||
@ -275,32 +257,173 @@ function fdRead(handle : longint;var bufptr;size : dword) : dword;
|
||||
var
|
||||
d : dword;
|
||||
begin
|
||||
{!!TODO!!
|
||||
if so32dll.ioctlsocket(handle,FIONREAD,@d) = -1 then
|
||||
d:=dword(so32dll.os2_ioctl(handle,FIONREAD,d,SizeOf(d)));
|
||||
if d=dword(-1) then
|
||||
begin
|
||||
SocketError:=so32dll.sock_errno;
|
||||
fdRead:=0;
|
||||
exit;
|
||||
end;
|
||||
}
|
||||
if d>0 then
|
||||
end else
|
||||
begin
|
||||
if size>d then
|
||||
size:=d;
|
||||
fdRead := so32dll.recv(handle, bufptr, size, 0);
|
||||
if fdRead = -1 then
|
||||
size:=d;
|
||||
fdRead := dword(so32dll.recv(handle, bufptr, size, 0));
|
||||
if fdRead = dword(-1) then
|
||||
begin
|
||||
SocketError:= so32dll.sock_errno;
|
||||
fdRead := 0;
|
||||
end else
|
||||
SocketError:=0;
|
||||
end
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
end;
|
||||
|
||||
{$i sockets.inc}
|
||||
|
||||
function fpsocket (domain:cint; xtype:cint; protocol: cint):cint;
|
||||
begin
|
||||
fpSocket:=so32dll.Socket(Domain,xtype,ProtoCol);
|
||||
if fpSocket<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpsend (s:cint; msg:pointer; len:size_t; flags:cint):ssize_t;
|
||||
begin
|
||||
fpSend:=so32dll.Send(S,msg^,len,flags);
|
||||
if fpSend<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpsendto (s:cint; msg:pointer; len:size_t; flags:cint; tox :psockaddr; tolen: tsocklen):ssize_t;
|
||||
begin
|
||||
// Dubious construct, this should be checked. (IPV6 fails ?)
|
||||
fpSendTo:=so32dll.SendTo(S,msg^,Len,Flags,so32dll.SockAddr(tox^),toLen);
|
||||
if fpSendTo<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fprecv (s:cint; buf: pointer; len: size_t; flags: cint):ssize_t;
|
||||
begin
|
||||
fpRecv:=so32dll.Recv(S,Buf,Len,Flags);
|
||||
if fpRecv<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fprecvfrom (s:cint; buf: pointer; len: size_t; flags: cint; from : psockaddr; fromlen : psocklen):ssize_t;
|
||||
begin
|
||||
fpRecvFrom:=so32dll.RecvFrom(S,Buf,Len,Flags,so32dll.SockAddr(from^),FromLen^);
|
||||
if fpRecvFrom<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpconnect (s:cint; name : psockaddr; namelen : tsocklen):cint;
|
||||
begin
|
||||
fpConnect:=so32dll.Connect(S,so32dll.SockAddr(name^),nameLen);
|
||||
if fpConnect<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpshutdown (s:cint; how:cint):cint;
|
||||
begin
|
||||
fpShutDown:=so32dll.ShutDown(S,How);
|
||||
if fpShutDown<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpbind (s:cint; addrx : psockaddr; addrlen : tsocklen):cint;
|
||||
begin
|
||||
fpbind:=so32dll.Bind(S,so32dll.SockAddr(Addrx^),AddrLen);
|
||||
if fpbind<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fplisten (s:cint; backlog : cint):cint;
|
||||
begin
|
||||
fplisten:=so32dll.Listen(S,backlog);
|
||||
if fplisten<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpaccept (s:cint; addrx : psockaddr; addrlen : psocklen):cint;
|
||||
begin
|
||||
fpAccept:=so32dll.Accept(S,so32dll.SockAddr(Addrx^),longint(@AddrLen));
|
||||
if fpAccept<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpgetsockname (s:cint; name : psockaddr; namelen : psocklen):cint;
|
||||
begin
|
||||
fpGetSockName:=so32dll.GetSockName(S,so32dll.SockAddr(name^),nameLen^);
|
||||
if fpGetSockName<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpgetpeername (s:cint; name : psockaddr; namelen : psocklen):cint;
|
||||
begin
|
||||
fpGetPeerName:=so32dll.GetPeerName(S,so32dll.SockAddr(name^),NameLen^);
|
||||
if fpGetPeerName<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpgetsockopt (s:cint; level:cint; optname:cint; optval:pointer; optlen : psocklen):cint;
|
||||
begin
|
||||
fpGetSockOpt:=so32dll.GetSockOpt(S,Level,OptName,OptVal,OptLen^);
|
||||
if fpGetSockOpt<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpsetsockopt (s:cint; level:cint; optname:cint; optval:pointer; optlen :tsocklen):cint;
|
||||
begin
|
||||
fpSetSockOpt:=so32dll.SetSockOpt(S,Level,OptName,OptVal,OptLen);
|
||||
if fpSetSockOpt<0 then
|
||||
SocketError:=so32dll.sock_errno
|
||||
else
|
||||
SocketError:=0;
|
||||
end;
|
||||
|
||||
function fpsocketpair (d:cint; xtype:cint; protocol:cint; sv:pcint):cint;
|
||||
begin
|
||||
fpsocketpair:=-1;
|
||||
end;
|
||||
|
||||
Function CloseSocket(Sock:Longint):Longint;
|
||||
begin
|
||||
CloseSocket:=so32dll.soclose (Sock);
|
||||
if CloseSocket<>0 then
|
||||
begin
|
||||
SocketError:=so32dll.sock_errno;
|
||||
end else
|
||||
begin
|
||||
CloseSocket := 0;
|
||||
SocketError := 0;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
Begin
|
||||
so32dll.sock_init;
|
||||
End.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user