mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 13:29:27 +02:00
* NetBSD rtl compiles again
git-svn-id: trunk@5049 -
This commit is contained in:
parent
6ff28f639d
commit
4626f2c489
8
.gitattributes
vendored
8
.gitattributes
vendored
@ -4694,8 +4694,9 @@ rtl/morphos/utility.pp svneol=native#text/plain
|
||||
rtl/morphos/varutils.pp svneol=native#text/plain
|
||||
rtl/netbsd/Makefile svneol=native#text/plain
|
||||
rtl/netbsd/Makefile.fpc svneol=native#text/plain
|
||||
rtl/netbsd/classes.pp svneol=native#text/plain
|
||||
rtl/netbsd/errno.inc svneol=native#text/plain
|
||||
rtl/netbsd/errnostr.inc -text
|
||||
rtl/netbsd/i386/bsyscall.inc svneol=native#text/plain
|
||||
rtl/netbsd/i386/cprt0.as -text
|
||||
rtl/netbsd/i386/prt0.as -text
|
||||
rtl/netbsd/i386/prt0_10.as -text
|
||||
@ -4717,7 +4718,10 @@ rtl/netbsd/termios.inc svneol=native#text/plain
|
||||
rtl/netbsd/termiosproc.inc svneol=native#text/plain
|
||||
rtl/netbsd/tthread.inc svneol=native#text/plain
|
||||
rtl/netbsd/unixsock.inc svneol=native#text/plain
|
||||
rtl/netbsd/unixsysc.inc svneol=native#text/plain
|
||||
rtl/netbsd/unxconst.inc svneol=native#text/plain
|
||||
rtl/netbsd/unxfunc.inc svneol=native#text/plain
|
||||
rtl/netbsd/unxsockh.inc svneol=native#text/plain
|
||||
rtl/netbsd/unxsysc.inc svneol=native#text/plain
|
||||
rtl/netware/Makefile svneol=native#text/plain
|
||||
rtl/netware/Makefile.fpc svneol=native#text/plain
|
||||
rtl/netware/README -text
|
||||
|
@ -27,7 +27,11 @@ end;
|
||||
|
||||
function shmget(key:key_t;size:cint;flag:cint):cint;
|
||||
begin
|
||||
{$ifdef NetBSD}
|
||||
shmget:=do_syscall(syscall_nr_shmget,3, key, size, flag);
|
||||
{$else NetBSD}
|
||||
shmget:=do_syscall(syscall_nr_shmsys,3, key, size, flag);
|
||||
{$endif NetBSD}
|
||||
end;
|
||||
|
||||
Function shmat (shmid:cint; shmaddr:pointer; shmflg:cint):pointer;
|
||||
@ -38,7 +42,11 @@ end;
|
||||
Function shmdt (shmaddr:pointer):cint;
|
||||
|
||||
begin
|
||||
{$ifdef NetBSD}
|
||||
shmdt:=do_syscall(syscall_nr_shmdt,2, TSysParam(shmaddr));
|
||||
{$else NetBSD}
|
||||
shmdt:=do_syscall(syscall_nr_shmsys,2, TSysParam(shmaddr));
|
||||
{$endif NetBSD}
|
||||
end;
|
||||
|
||||
Function shmctl(shmid:cint; cmd:cint; buf: pshmid_ds): cint;
|
||||
|
@ -235,22 +235,17 @@ override PACKAGE_NAME=rtl
|
||||
PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
|
||||
RTL=..
|
||||
INC=$(RTL)/inc
|
||||
COMMON=$(RTL)/common
|
||||
PROCINC=$(RTL)/$(CPU_TARGET)
|
||||
BSDINC=$(RTL)/bsd
|
||||
BSDPROCINC=$(BSDINC)/$(CPU_TARGET)
|
||||
UNIXINC=$(RTL)/unix
|
||||
UNITPREFIX=rtl
|
||||
TARGETPROCINC=$(RTL)/netbsd/$(CPU_TARGET)
|
||||
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
|
||||
SYSTEMUNIT=system
|
||||
LINUXUNIT=
|
||||
PRT0=prt0
|
||||
else
|
||||
SYSTEMUNIT=sysbsd
|
||||
LINUXUNIT=
|
||||
override FPCOPT+=-dUNIX
|
||||
PRT0=prt0_10
|
||||
endif
|
||||
override FPCOPT+=-dNOMOUSE
|
||||
ifdef RELEASE
|
||||
override FPCOPT+=-Ur
|
||||
endif
|
||||
@ -265,127 +260,127 @@ else
|
||||
CPU_UNITS=
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-darwin)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings syscall baseunix $(LINUXUNIT) unix rtlconsts initc dos crt objects printer matrix sysutils types classes typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets terminfo video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
@ -511,127 +506,127 @@ ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-darwin)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst
|
||||
override TARGET_RSTS+=math varutils typinfo variants classes sysconst fpmkunit
|
||||
endif
|
||||
override INSTALL_FPCPACKAGE=y y
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
@ -2161,14 +2156,14 @@ objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
|
||||
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
|
||||
$(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
|
||||
$(SYSTEMUNIT)$(PPUEXT)
|
||||
baseunix$(PPUEXT) : errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
|
||||
signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \
|
||||
$(BSDINC)/bunxfunc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
|
||||
$(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \
|
||||
$(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT)
|
||||
baseunix$(PPUEXT) : errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \
|
||||
signal.inc $(UNIXINC)/bunxh.inc \
|
||||
$(BSDINC)/bunxsysc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
|
||||
$(BSDINC)/ostypes.inc $(BSDINC)/osmacro.inc $(UNIXINC)/gensigset.inc \
|
||||
$(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT) sysctl$(PPUEXT)
|
||||
unix$(PPUEXT) : $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \
|
||||
syscalls.inc systypes.inc sysconst.inc $(UNIXINC)/timezone.inc \
|
||||
unixsysc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
unxsysc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
dos$(PPUEXT) : $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
|
||||
unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
crt$(PPUEXT) : $(UNIXINC)/crt.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
@ -2177,9 +2172,11 @@ printer$(PPUEXT) : $(UNIXINC)/printer.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYST
|
||||
sysutils$(PPUEXT) : $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
|
||||
objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT)
|
||||
$(COMPILER) -Fi$(OBJPASDIR)/sysutils $(UNIXINC)/sysutils.pp
|
||||
classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
|
||||
sysutils$(PPUEXT) typinfo$(PPUEXT)
|
||||
$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
|
||||
rtlconsts$(PPUEXT) : $(OBJPASDIR)/rtlconsts.pp
|
||||
$(COMPILER): $(OBJPASDIR)/rtlconsts.pp
|
||||
classes$(PPUEXT) : $(UNIXINC)/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
|
||||
sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
|
||||
$(COMPILER) -Fi$(OBJPASDIR)/classes $(UNIXINC)/classes.pp
|
||||
typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
|
||||
$(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
|
||||
math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
|
||||
@ -2201,6 +2198,7 @@ heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
sockets$(PPUEXT) : $(UNIXINC)/sockets.pp $(INC)/textrec.inc $(INC)/filerec.inc \
|
||||
unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
errors$(PPUEXT) : $(UNIXINC)/errors.pp strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
@ -2211,4 +2209,5 @@ sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
syscall$(PPUEXT) : $(UNIXINC)/syscall.pp
|
||||
sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
$(COMPILER) $(OBJPASDIR)/sysconst.pp
|
||||
cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp systhrds$(PPUEXT)
|
||||
sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp unixtype$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
@ -11,13 +11,15 @@ fpcpackage=y
|
||||
[target]
|
||||
loaders=prt0 cprt0
|
||||
units=$(SYSTEMUNIT) objpas macpas strings syscall baseunix \
|
||||
$(LINUXUNIT) unix initc systhrds \
|
||||
$(LINUXUNIT) unix rtlconsts initc \
|
||||
dos crt objects printer matrix \
|
||||
sysutils classes typinfo math varutils \
|
||||
charset ucomplex getopts heaptrc lineinfo \
|
||||
errors sockets gpm ipc terminfo \
|
||||
video mouse keyboard serial variants types systhrds sysctl sysconst $(CPU_UNITS)
|
||||
rsts=math varutils typinfo variants classes sysconst
|
||||
sysutils types classes typinfo math varutils \
|
||||
charset ucomplex getopts heaptrc lineinfo \
|
||||
errors sockets terminfo \
|
||||
video mouse keyboard serial variants types sysctl sysconst fpmkunit $(CPU_UNITS)
|
||||
# ipc
|
||||
|
||||
rsts=math varutils typinfo variants classes sysconst fpmkunit
|
||||
|
||||
[require]
|
||||
nortl=y
|
||||
@ -47,6 +49,7 @@ libunits=$(SYSTEMUNIT) objpas strings \
|
||||
[prerules]
|
||||
RTL=..
|
||||
INC=$(RTL)/inc
|
||||
COMMON=$(RTL)/common
|
||||
PROCINC=$(RTL)/$(CPU_TARGET)
|
||||
BSDINC=$(RTL)/bsd
|
||||
BSDPROCINC=$(BSDINC)/$(CPU_TARGET)
|
||||
@ -54,16 +57,10 @@ UNIXINC=$(RTL)/unix
|
||||
UNITPREFIX=rtl
|
||||
TARGETPROCINC=$(RTL)/netbsd/$(CPU_TARGET)
|
||||
|
||||
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
|
||||
SYSTEMUNIT=system
|
||||
LINUXUNIT=
|
||||
PRT0=prt0
|
||||
else
|
||||
SYSTEMUNIT=sysbsd
|
||||
LINUXUNIT=
|
||||
override FPCOPT+=-dUNIX
|
||||
PRT0=prt0_10
|
||||
endif
|
||||
override FPCOPT+=-dNOMOUSE
|
||||
|
||||
# Use new feature from 1.0.5 version
|
||||
# that generates release PPU files
|
||||
@ -137,16 +134,16 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
|
||||
# System Dependent Units
|
||||
#
|
||||
|
||||
baseunix$(PPUEXT) : errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
|
||||
signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \
|
||||
$(BSDINC)/bunxfunc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
|
||||
$(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \
|
||||
$(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT)
|
||||
baseunix$(PPUEXT) : errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \
|
||||
signal.inc $(UNIXINC)/bunxh.inc \
|
||||
$(BSDINC)/bunxsysc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
|
||||
$(BSDINC)/ostypes.inc $(BSDINC)/osmacro.inc $(UNIXINC)/gensigset.inc \
|
||||
$(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT) sysctl$(PPUEXT)
|
||||
|
||||
|
||||
unix$(PPUEXT) : $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \
|
||||
syscalls.inc systypes.inc sysconst.inc $(UNIXINC)/timezone.inc \
|
||||
unixsysc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
unxsysc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
|
||||
#
|
||||
@ -174,9 +171,12 @@ sysutils$(PPUEXT) : $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.in
|
||||
objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT)
|
||||
$(COMPILER) -Fi$(OBJPASDIR)/sysutils $(UNIXINC)/sysutils.pp
|
||||
|
||||
classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
|
||||
sysutils$(PPUEXT) typinfo$(PPUEXT)
|
||||
$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
|
||||
rtlconsts$(PPUEXT) : $(OBJPASDIR)/rtlconsts.pp
|
||||
$(COMPILER): $(OBJPASDIR)/rtlconsts.pp
|
||||
|
||||
classes$(PPUEXT) : $(UNIXINC)/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
|
||||
sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
|
||||
$(COMPILER) -Fi$(OBJPASDIR)/classes $(UNIXINC)/classes.pp
|
||||
|
||||
typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
|
||||
$(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
|
||||
@ -220,6 +220,8 @@ charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
#
|
||||
# Other system-dependent RTL Units
|
||||
#
|
||||
@ -242,4 +244,6 @@ syscall$(PPUEXT) : $(UNIXINC)/syscall.pp
|
||||
sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
$(COMPILER) $(OBJPASDIR)/sysconst.pp
|
||||
|
||||
cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp systhrds$(PPUEXT)
|
||||
sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp unixtype$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
@ -1,51 +0,0 @@
|
||||
{
|
||||
This file is part of the Free Component Library (FCL)
|
||||
Copyright (c) 1999-2000 by Michael Van Canneyt and Florian Klaempfl
|
||||
|
||||
Classes unit for FreeBSD
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
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.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{$mode objfpc}
|
||||
|
||||
{ determine the type of the resource/form file }
|
||||
{$define Win16Res}
|
||||
|
||||
unit Classes;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
sysutils,
|
||||
rtlconsts,
|
||||
types,
|
||||
typinfo;
|
||||
|
||||
{$i classesh.inc}
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
baseunix,unix,Systhrds
|
||||
;
|
||||
|
||||
{ OS - independent class implementations are in /inc directory. }
|
||||
{$i classes.inc}
|
||||
|
||||
|
||||
initialization
|
||||
CommonInit;
|
||||
|
||||
finalization
|
||||
CommonCleanup;
|
||||
|
||||
if ThreadsInited then
|
||||
DoneThreads;
|
||||
end.
|
123
rtl/netbsd/errnostr.inc
Normal file
123
rtl/netbsd/errnostr.inc
Normal file
@ -0,0 +1,123 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 2005 by Ales Katona
|
||||
|
||||
Contains BSD specific errors for error.pp in rtl/unix
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
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.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{$warning FIX ME, I'am from FreeBSD }
|
||||
const
|
||||
sys_errn=93;
|
||||
sys_errlist:array[0..sys_errn-1] of pchar = (
|
||||
'Success', { 0 }
|
||||
'Operation not permitted', { EPERM }
|
||||
'No such file or directory', { ENOENT }
|
||||
'No such process', { ESRCH }
|
||||
'Interrupted system call', { EINTR }
|
||||
'I/O error', { EIO }
|
||||
'No such device or address', { ENXIO }
|
||||
'Arg list too long', { E2BIG }
|
||||
'Exec format error', { ENOEXEC }
|
||||
'Bad file number', { EBADF }
|
||||
'No child processes', { ECHILD }
|
||||
'Resource deadlock avoided', { EDEADLK was EAGAIN }
|
||||
'Out of memory', { ENOMEM }
|
||||
'Permission denied', { EACCES }
|
||||
'Bad address', { EFAULT }
|
||||
'Block device required', { ENOTBLK }
|
||||
'Device or resource busy', { EBUSY }
|
||||
'File exists', { EEXIST }
|
||||
'Cross-device link', { EXDEV }
|
||||
'No such device', { ENODEV }
|
||||
'Not a directory', { ENOTDIR }
|
||||
'Is a directory', { EISDIR }
|
||||
'Invalid argument', { EINVAL }
|
||||
'File table overflow', { ENFILE }
|
||||
'Too many open files', { EMFILE }
|
||||
'Not a typewriter', { ENOTTY }
|
||||
'Text (code segment) file busy', { ETXTBSY Text file busy. The new process was
|
||||
a pure procedure (shared text) file which was
|
||||
open for writing by another process, or file
|
||||
which was open for writing by another process,
|
||||
or while the pure procedure file was being
|
||||
executed an open(2) call requested write access
|
||||
requested write access.}
|
||||
'File too large', { EFBIG }
|
||||
'No space left on device', { ENOSPC }
|
||||
'Illegal seek', { ESPIPE }
|
||||
'Read-only file system', { EROFS }
|
||||
'Too many links', { EMLINK }
|
||||
'Broken pipe', { EPIPE }
|
||||
'Math argument out of domain of func', { EDOM }
|
||||
'Math result not representable', { ERANGE }
|
||||
'Resource temporarily unavailable', { EAGAIN }
|
||||
'Operation now in progress', { EINPROGRESS }
|
||||
'Operation already in progress', { EALREADY }
|
||||
// ipc/network software -- argument errors
|
||||
'Socket operation on non-socket', { ENOTSOCK }
|
||||
'Destination address required', { EDESTADDRREQ }
|
||||
'Message too long', { EMSGSIZE }
|
||||
'Protocol wrong type for socket', { EPROTOTYPE }
|
||||
'Protocol not available', { ENOPROTOOPT }
|
||||
'Protocol not supported', { EPROTONOSUPPORT }
|
||||
'Socket type not supported', { ESOCKTNOSUPPORT }
|
||||
'Operation not supported', { EOPNOTSUPP }
|
||||
'Protocol family not supported', { EPFNOSUPPORT }
|
||||
'Address family not supported by protocol family', { EAFNOSUPPORT }
|
||||
'Address already in use', { EADDRINUSE }
|
||||
'Can''t assign requested address', { EADDRNOTAVAIL }
|
||||
// ipc/network software -- operational errors
|
||||
'Network is down', { ENETDOWN }
|
||||
'Network is unreachable', { ENETUNREACH }
|
||||
'Network dropped connection on reset', { ENETRESET }
|
||||
'Software caused connection abort', { ECONNABORTED }
|
||||
'Connection reset by peer', { ECONNRESET }
|
||||
'No buffer space available', { ENOBUFS }
|
||||
'Socket is already connected', { EISCONN }
|
||||
'Socket is not connected', { ENOTCONN }
|
||||
'Can''t send after socket shutdown', { ESHUTDOWN }
|
||||
'Too many references: can''t splice', { ETOOMANYREFS }
|
||||
'Operation timed out', { ETIMEDOUT }
|
||||
'Connection refused', { ECONNREFUSED }
|
||||
'Too many levels of symbolic links', { ELOOP }
|
||||
'File name too long', { ENAMETOOLONG }
|
||||
'Host is down', { EHOSTDOWN }
|
||||
'No route to host', { EHOSTUNREACH }
|
||||
'Directory not empty', { ENOTEMPTY }
|
||||
'Too many processes', { EPROCLIM }
|
||||
'Too many users', { EUSERS }
|
||||
'Disc quota exceeded', { EDQUOT }
|
||||
// Network File System
|
||||
'Stale NFS file handle', { ESTALE }
|
||||
'Too many levels of remote in path', { EREMOTE }
|
||||
'RPC struct is bad', { EBADRPC }
|
||||
'RPC version wrong', { ERPCMISMATCH }
|
||||
'RPC prog. not avail', { EPROGUNAVAIL }
|
||||
'Program version wrong', { EPROGMISMATCH }
|
||||
'Bad procedure for program', { EPROCUNAVAIL }
|
||||
'No locks available', { ENOLCK }
|
||||
'Function not implemented', { ENOSYS }
|
||||
'Inappropriate file type or format', { EFTYPE }
|
||||
'Authentication error', { EAUTH }
|
||||
'Need authenticator', { ENEEDAUTH }
|
||||
'Identifier removed', { EIDRM }
|
||||
'No message of desired type', { ENOMSG }
|
||||
'Value too large to be stored in data type', { EOVERFLOW }
|
||||
'Operation canceled', { ECANCELED }
|
||||
'Illegal byte sequence', { EILSEQ }
|
||||
'Attribute not found', { ENOATTR }
|
||||
'Programming error', { EDOOFUS }
|
||||
'Bad message', { EBADMSG }
|
||||
'Multihop attempted', { EMULTIHOP }
|
||||
'Link has been severed', { ENOLINK }
|
||||
'Protocol error' { EPROTO }
|
||||
);
|
||||
|
14
rtl/netbsd/i386/bsyscall.inc
Normal file
14
rtl/netbsd/i386/bsyscall.inc
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 2005 by Michael Van Canneyt,
|
||||
member of the Free Pascal development team.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
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.
|
||||
|
||||
**********************************************************************}
|
||||
|
@ -1,204 +1,205 @@
|
||||
#
|
||||
# $Id: prt0.as,v 1.2 2004/01/04 01:13:23 marco Exp $
|
||||
# This file is part of the Free Pascal run time library.
|
||||
# Copyright (c) 1999-2000 by Marco van de Voort, Michael Van Canneyt
|
||||
# and Peter Vreman
|
||||
# members of the Free Pascal development team.
|
||||
#
|
||||
# See the file COPYING.FPC, included in this distribution,
|
||||
# for details about the copyright.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
#**********************************************************************}
|
||||
#
|
||||
# NetBSD standard (static) ELF/i386 startup code for Free Pascal
|
||||
#
|
||||
|
||||
|
||||
.file "prt0.s"
|
||||
.version "01.01"
|
||||
gcc2_compiled.:
|
||||
.globl __progname
|
||||
|
||||
.section .rodata
|
||||
.LC0:
|
||||
.ascii "\0"
|
||||
.data
|
||||
.align 4
|
||||
.type __progname,@object
|
||||
.size __progname,4
|
||||
__progname:
|
||||
.long .LC0
|
||||
.globl __ps_strings
|
||||
.align 4
|
||||
.type __ps_strings,@object
|
||||
.size __ps_strings,4
|
||||
__ps_strings:
|
||||
.long 0
|
||||
.align 4
|
||||
___fpucw:
|
||||
.long 0x1332
|
||||
|
||||
.globl ___fpc_brk_addr /* heap management */
|
||||
.type ___fpc_brk_addr,@object
|
||||
.size ___fpc_brk_addr,4
|
||||
___fpc_brk_addr:
|
||||
.long 0
|
||||
|
||||
#APP
|
||||
|
||||
.text
|
||||
.align 4
|
||||
.globl __start
|
||||
.globl _start
|
||||
_start:
|
||||
__start:
|
||||
pushl %ebx # ps_strings
|
||||
pushl %ecx # obj
|
||||
pushl %edx # cleanup
|
||||
movl 12(%esp),%eax
|
||||
leal 20(%esp,%eax,4),%ecx
|
||||
leal 16(%esp),%edx
|
||||
pushl %ecx
|
||||
pushl %edx
|
||||
pushl %eax
|
||||
call ___start
|
||||
|
||||
#NO_APP
|
||||
.text
|
||||
.align 4
|
||||
.globl ___start
|
||||
.type ___start,@function
|
||||
___start:
|
||||
pushl %ebp
|
||||
movl %esp,%ebp
|
||||
movl 16(%ebp),%eax
|
||||
movl %eax,environ
|
||||
movl %eax,U_SYSTEM_ENVP
|
||||
movl 8(%ebp),%eax
|
||||
movl %eax,U_SYSTEM_ARGC
|
||||
movl 12(%ebp),%eax
|
||||
movl %eax,U_SYSTEM_ARGV
|
||||
movl (%eax),%edx
|
||||
movl %edx,__progname
|
||||
testl %edx,%edx
|
||||
je .L2
|
||||
pushl $47
|
||||
movl __progname,%eax
|
||||
pushl %eax
|
||||
call _strrchr
|
||||
addl $8,%esp
|
||||
movl %eax,%eax
|
||||
movl %eax,__progname
|
||||
cmpl $0,__progname
|
||||
jne .L3
|
||||
movl 12(%ebp),%eax
|
||||
movl (%eax),%edx
|
||||
movl %edx,__progname
|
||||
jmp .L2
|
||||
.align 4
|
||||
.L3:
|
||||
incl __progname
|
||||
.L4:
|
||||
.L2:
|
||||
cmpl $0,28(%ebp)
|
||||
je .L5
|
||||
movl 28(%ebp),%eax
|
||||
movl %eax,__ps_strings
|
||||
.L5:
|
||||
# pushl $_fini
|
||||
# call atexit
|
||||
# addl $4,%esp
|
||||
# call _init
|
||||
# copied from linux
|
||||
|
||||
finit /* initialize fpu */
|
||||
fwait
|
||||
fldcw ___fpucw
|
||||
|
||||
xorl %ebp,%ebp
|
||||
|
||||
call _main
|
||||
pushl %eax
|
||||
jmp _haltproc
|
||||
|
||||
.p2align 2,0x90
|
||||
.globl _haltproc
|
||||
.type _haltproc,@function
|
||||
|
||||
_haltproc:
|
||||
mov $1,%eax
|
||||
movzwl U_SYSTEM_EXITCODE,%ebx
|
||||
pushl %ebx
|
||||
call _actualsyscall
|
||||
addl $4,%esp
|
||||
jmp _haltproc
|
||||
|
||||
_actualsyscall:
|
||||
int $0x80
|
||||
jb .LErrorcode
|
||||
xor %ebx,%ebx
|
||||
ret
|
||||
.LErrorcode:
|
||||
mov %eax,%ebx
|
||||
mov $-1,%eax
|
||||
ret
|
||||
.p2align 2,0x90
|
||||
|
||||
.Lfe1:
|
||||
.size ___start,.Lfe1-___start
|
||||
.align 4
|
||||
.type _strrchr,@function
|
||||
_strrchr:
|
||||
pushl %ebp
|
||||
movl %esp,%ebp
|
||||
subl $8,%esp
|
||||
movl 12(%ebp),%eax
|
||||
movb %al,-1(%ebp)
|
||||
movl $0,-8(%ebp)
|
||||
.align 4
|
||||
.L7:
|
||||
movl 8(%ebp),%eax
|
||||
movb (%eax),%dl
|
||||
cmpb -1(%ebp),%dl
|
||||
jne .L10
|
||||
movl 8(%ebp),%eax
|
||||
movl %eax,-8(%ebp)
|
||||
.L10:
|
||||
movl 8(%ebp),%eax
|
||||
cmpb $0,(%eax)
|
||||
jne .L9
|
||||
movl -8(%ebp),%edx
|
||||
movl %edx,%eax
|
||||
jmp .L6
|
||||
.align 4
|
||||
.L11:
|
||||
.L9:
|
||||
incl 8(%ebp)
|
||||
jmp .L7
|
||||
.align 4
|
||||
.L8:
|
||||
.L6:
|
||||
leave
|
||||
ret
|
||||
|
||||
|
||||
.Lfe2:
|
||||
.size _strrchr,.Lfe2-_strrchr
|
||||
.comm environ,4,4
|
||||
|
||||
# This section is needed for NetBSD to recognize a NetBSD binary as such.
|
||||
# otherwise it will be startup in Linux emulation mode.
|
||||
|
||||
.section ".note.netbsd.ident","a"
|
||||
.p2align 2
|
||||
|
||||
.long 7
|
||||
.long 4
|
||||
# ELF NOTE TYPE NETBSD TAG
|
||||
.long 1
|
||||
.ascii "NetBSD\0\0"
|
||||
.long 199905
|
||||
#
|
||||
# $Id: prt0.as,v 1.2 2004/01/04 01:13:23 marco Exp $
|
||||
# This file is part of the Free Pascal run time library.
|
||||
# Copyright (c) 1999-2000 by Marco van de Voort, Michael Van Canneyt
|
||||
# and Peter Vreman
|
||||
# members of the Free Pascal development team.
|
||||
#
|
||||
# See the file COPYING.FPC, included in this distribution,
|
||||
# for details about the copyright.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
#**********************************************************************}
|
||||
#
|
||||
# NetBSD standard (static) ELF/i386 startup code for Free Pascal
|
||||
#
|
||||
|
||||
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/csu/i386/crt0.c?rev=1.33&content-type=text/x-cvsweb-markup
|
||||
|
||||
.file "prt0.s"
|
||||
.version "01.01"
|
||||
gcc2_compiled.:
|
||||
.globl __progname
|
||||
|
||||
.section .rodata
|
||||
.LC0:
|
||||
.ascii "\0"
|
||||
.data
|
||||
.align 4
|
||||
.type __progname,@object
|
||||
.size __progname,4
|
||||
__progname:
|
||||
.long .LC0
|
||||
.globl __ps_strings
|
||||
.align 4
|
||||
.type __ps_strings,@object
|
||||
.size __ps_strings,4
|
||||
__ps_strings:
|
||||
.long 0
|
||||
.align 4
|
||||
___fpucw:
|
||||
.long 0x1332
|
||||
|
||||
.globl ___fpc_brk_addr /* heap management */
|
||||
.type ___fpc_brk_addr,@object
|
||||
.size ___fpc_brk_addr,4
|
||||
___fpc_brk_addr:
|
||||
.long 0
|
||||
|
||||
#APP
|
||||
|
||||
.text
|
||||
.align 4
|
||||
.globl __start
|
||||
.globl _start
|
||||
_start:
|
||||
__start:
|
||||
pushl %ebx # ps_strings
|
||||
pushl %ecx # obj
|
||||
pushl %edx # cleanup
|
||||
movl 12(%esp),%eax
|
||||
leal 20(%esp,%eax,4),%ecx
|
||||
leal 16(%esp),%edx
|
||||
pushl %ecx
|
||||
pushl %edx
|
||||
pushl %eax
|
||||
call ___start
|
||||
|
||||
#NO_APP
|
||||
.text
|
||||
.align 4
|
||||
.globl ___start
|
||||
.type ___start,@function
|
||||
___start:
|
||||
pushl %ebp
|
||||
movl %esp,%ebp
|
||||
movl 16(%ebp),%eax
|
||||
movl %eax,environ
|
||||
movl %eax,U_SYSTEM_ENVP
|
||||
movl 8(%ebp),%eax
|
||||
movl %eax,U_SYSTEM_ARGC
|
||||
movl 12(%ebp),%eax
|
||||
movl %eax,U_SYSTEM_ARGV
|
||||
movl (%eax),%edx
|
||||
movl %edx,__progname
|
||||
testl %edx,%edx
|
||||
je .L2
|
||||
pushl $47
|
||||
movl __progname,%eax
|
||||
pushl %eax
|
||||
call _strrchr
|
||||
addl $8,%esp
|
||||
movl %eax,%eax
|
||||
movl %eax,__progname
|
||||
cmpl $0,__progname
|
||||
jne .L3
|
||||
movl 12(%ebp),%eax
|
||||
movl (%eax),%edx
|
||||
movl %edx,__progname
|
||||
jmp .L2
|
||||
.align 4
|
||||
.L3:
|
||||
incl __progname
|
||||
.L4:
|
||||
.L2:
|
||||
cmpl $0,28(%ebp)
|
||||
je .L5
|
||||
movl 28(%ebp),%eax
|
||||
movl %eax,__ps_strings
|
||||
.L5:
|
||||
# pushl $_fini
|
||||
# call atexit
|
||||
# addl $4,%esp
|
||||
# call _init
|
||||
# copied from linux
|
||||
|
||||
finit /* initialize fpu */
|
||||
fwait
|
||||
fldcw ___fpucw
|
||||
|
||||
xorl %ebp,%ebp
|
||||
|
||||
call _main
|
||||
pushl %eax
|
||||
jmp _haltproc
|
||||
|
||||
.p2align 2,0x90
|
||||
.globl _haltproc
|
||||
.type _haltproc,@function
|
||||
|
||||
_haltproc:
|
||||
mov $1,%eax
|
||||
movzwl U_SYSTEM_EXITCODE,%ebx
|
||||
pushl %ebx
|
||||
call _actualsyscall
|
||||
addl $4,%esp
|
||||
jmp _haltproc
|
||||
|
||||
_actualsyscall:
|
||||
int $0x80
|
||||
jb .LErrorcode
|
||||
xor %ebx,%ebx
|
||||
ret
|
||||
.LErrorcode:
|
||||
mov %eax,%ebx
|
||||
mov $-1,%eax
|
||||
ret
|
||||
.p2align 2,0x90
|
||||
|
||||
.Lfe1:
|
||||
.size ___start,.Lfe1-___start
|
||||
.align 4
|
||||
.type _strrchr,@function
|
||||
_strrchr:
|
||||
pushl %ebp
|
||||
movl %esp,%ebp
|
||||
subl $8,%esp
|
||||
movl 12(%ebp),%eax
|
||||
movb %al,-1(%ebp)
|
||||
movl $0,-8(%ebp)
|
||||
.align 4
|
||||
.L7:
|
||||
movl 8(%ebp),%eax
|
||||
movb (%eax),%dl
|
||||
cmpb -1(%ebp),%dl
|
||||
jne .L10
|
||||
movl 8(%ebp),%eax
|
||||
movl %eax,-8(%ebp)
|
||||
.L10:
|
||||
movl 8(%ebp),%eax
|
||||
cmpb $0,(%eax)
|
||||
jne .L9
|
||||
movl -8(%ebp),%edx
|
||||
movl %edx,%eax
|
||||
jmp .L6
|
||||
.align 4
|
||||
.L11:
|
||||
.L9:
|
||||
incl 8(%ebp)
|
||||
jmp .L7
|
||||
.align 4
|
||||
.L8:
|
||||
.L6:
|
||||
leave
|
||||
ret
|
||||
|
||||
|
||||
.Lfe2:
|
||||
.size _strrchr,.Lfe2-_strrchr
|
||||
.comm environ,4,4
|
||||
|
||||
# This section is needed for NetBSD to recognize a NetBSD binary as such.
|
||||
# otherwise it will be startup in Linux emulation mode.
|
||||
|
||||
.section ".note.netbsd.ident","a"
|
||||
.p2align 2
|
||||
|
||||
.long 7
|
||||
.long 4
|
||||
# ELF NOTE TYPE NETBSD TAG
|
||||
.long 1
|
||||
.ascii "NetBSD\0\0"
|
||||
.long 199905
|
||||
|
@ -52,11 +52,21 @@ type
|
||||
TPid = pid_t;
|
||||
pPid = ^pid_t;
|
||||
|
||||
{$ifdef CPU64}
|
||||
size_t = cuint64;
|
||||
{$else}
|
||||
size_t = cuint32; { as definied in the C standard}
|
||||
{$endif}
|
||||
TSize = size_t;
|
||||
pSize = ^size_t;
|
||||
pSize_t = ^size_t;
|
||||
|
||||
{$ifdef CPU64}
|
||||
ssize_t = cint64; { used by function for returning number of bytes }
|
||||
{$else}
|
||||
ssize_t = cint32; { used by function for returning number of bytes}
|
||||
{$endif}
|
||||
|
||||
ssize_t = cint32; { used by function for returning number of bytes }
|
||||
TsSize = ssize_t;
|
||||
psSize = ^ssize_t;
|
||||
|
||||
@ -77,6 +87,40 @@ type
|
||||
TSocklen = socklen_t;
|
||||
pSocklen = ^socklen_t;
|
||||
|
||||
Const
|
||||
{$warning Check me, I'am from FreeBSD}
|
||||
MNAMLEN = 80; // slightly machine specific.
|
||||
MFSNamLen = 16;
|
||||
type
|
||||
{$warning Check me, I'am from FreeBSD}
|
||||
fsid_t = array[0..1] of cint;
|
||||
// Kernel statfs
|
||||
{$warning Check me, I'am from FreeBSD}
|
||||
TStatfs = packed record
|
||||
spare2, { place holder}
|
||||
bsize, { fundamental block size}
|
||||
iosize, { optimal block size }
|
||||
blocks, { total blocks}
|
||||
bfree, { blocks free}
|
||||
bavail, { block available for mortal users}
|
||||
files, { Total file nodes}
|
||||
ffree : clong ; { file nodes free}
|
||||
fsid : fsid_t;
|
||||
fowner : tuid; {mounter uid}
|
||||
ftype : cint;
|
||||
fflags : cint; {copy of mount flags}
|
||||
fsyncwrites,
|
||||
fasyncwrites : clong;
|
||||
fstypename : array[0..MFSNamLen-1] of char;
|
||||
mountpoint : array[0..MNAMLEN-1] of char;
|
||||
fsyncreads, { count of sync reads since mount }
|
||||
fasyncreads : clong;
|
||||
fspares1 : cshort;
|
||||
mnfromname : array[0..MNAMLEN-1] of char;
|
||||
fspares2 : cshort;
|
||||
fspare3 : array[0..1] of clong;
|
||||
end;
|
||||
PStatFS=^TStatFS;
|
||||
timeval = packed record
|
||||
tv_sec,
|
||||
tv_usec : clong;
|
||||
@ -93,7 +137,7 @@ type
|
||||
|
||||
pthread_t = pointer;
|
||||
pthread_attr_t = pointer;
|
||||
pthread_mutex_t = {$ pmutext.inc}
|
||||
pthread_mutex_t = {$i pmutext.inc}
|
||||
pthread_mutexattr_t = pointer;
|
||||
pthread_cond_t = pointer;
|
||||
pthread_condattr_t = pointer;
|
||||
@ -102,6 +146,8 @@ type
|
||||
pthread_rwlockattr_t = pointer;
|
||||
|
||||
sem_t = pointer;
|
||||
rlim_t = int64;
|
||||
TRlim = rlim_t;
|
||||
|
||||
{
|
||||
Mutex types (Single UNIX Specification, Version 2, 1997).
|
||||
@ -144,3 +190,7 @@ const
|
||||
|
||||
SIG_MAXSIG = 128; // highest signal version
|
||||
|
||||
{ For getting/setting priority }
|
||||
Prio_Process = 0;
|
||||
Prio_PGrp = 1;
|
||||
Prio_User = 2;
|
||||
|
@ -126,13 +126,13 @@ type sigset_t = array[0..3] of cardinal;
|
||||
PSignalRestorer = ^SignalRestorer;
|
||||
|
||||
{$ifdef powerpc}
|
||||
TSigaction= procedure(Sig: Longint); cdecl;
|
||||
SigactionHandler = procedure(Sig: Longint); cdecl;
|
||||
{$else}
|
||||
{$define BSDHandler}
|
||||
{$ifdef BSDHandler}
|
||||
TSigAction = procedure(Sig: Longint; code:longint;var SigContext: SigContextRec);cdecl;
|
||||
SigActionHandler = procedure(Sig: Longint; code:longint;var SigContext: SigContextRec);cdecl;
|
||||
{$else}
|
||||
TSigAction = procedure(Sig: Longint; var sininfo:tsiginfo_t;var SigContext: SigContextRec);cdecl;
|
||||
SigActionHandler = procedure(Sig: Longint; var sininfo:tsiginfo_t;var SigContext: SigContextRec);cdecl;
|
||||
{$endif}
|
||||
{$endif}
|
||||
|
||||
@ -142,7 +142,7 @@ type sigset_t = array[0..3] of cardinal;
|
||||
|
||||
SigActionRec = packed record
|
||||
// Handler : record
|
||||
sa_handler : TSigAction;
|
||||
sa_handler : SigActionHandler;
|
||||
// case byte of
|
||||
// 0: (Sh: SignalHandler);
|
||||
// 1: (Sa: TSigAction);
|
||||
|
@ -6,7 +6,7 @@
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
socket call implementations for FreeBSD
|
||||
socket call implementations for NetBSD
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY;without even the implied warranty of
|
||||
@ -14,198 +14,100 @@
|
||||
}
|
||||
|
||||
|
||||
|
||||
{$warning Taken from FreeBSD, please check }
|
||||
{******************************************************************************
|
||||
Basic Socket Functions
|
||||
******************************************************************************}
|
||||
|
||||
Function socket(Domain,SocketType,Protocol:Longint):Longint;
|
||||
function fpsocket (domain:cint; xtype:cint; protocol: cint):cint;
|
||||
Begin
|
||||
fpSocket:=Do_Syscall(syscall_nr_socket,Domain,xtype,Protocol);
|
||||
socketerror:=fpgeterrno;
|
||||
End;
|
||||
|
||||
function fpsend (s:cint; msg:pointer; len:size_t; flags:cint):ssize_t;
|
||||
begin
|
||||
Socket:=Do_Syscall(syscall_nr_socket,Domain,SocketType,Protocol);
|
||||
fpSend:=do_syscall(syscall_nr_sendto,S,TSysParam(msg),Len,Flags,0,0);
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function CloseSocket (Sock:Longint):Longint;
|
||||
function fpsendto (s:cint; msg:pointer; len:size_t; flags:cint; tox :psockaddr; tolen: tsocklen):ssize_t;
|
||||
begin
|
||||
if fpclose(Sock)=0 then
|
||||
CloseSocket := 0 else
|
||||
CloseSocket := -1;
|
||||
fpSendto:=do_syscall(syscall_nr_sendto,S,TSysParam(msg),Len,Flags,TSysParam(tox),tolen);
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function Send(Sock:Longint;Const Buf;BufLen,Flags:Longint):Longint;
|
||||
function fprecv (s:cint; buf: pointer; len: size_t; flags:cint):ssize_t;
|
||||
begin
|
||||
Send:=do_syscall(syscall_nr_sendto,Sock,Longint(@Buf),BufLen,Flags,0,0);
|
||||
fpRecv:=do_syscall(syscall_nr_Recvfrom,S,tsysparam(buf),len,flags,0,0);
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function SendTo(Sock:Longint;Const Buf;BufLen,Flags:Longint;Var Addr; AddrLen : Longint):Longint;
|
||||
function fprecvfrom (s:cint; buf: pointer; len: size_t; flags: cint; from : psockaddr; fromlen : psocklen):ssize_t;
|
||||
begin
|
||||
Sendto:=do_syscall(syscall_nr_Sendto,Sock,Longint(@Buf),BufLen,Flags,Longint(@Addr),AddrLen);
|
||||
fpRecvFrom:=do_syscall(syscall_nr_Recvfrom,S,TSysParam(buf),len,flags,TSysParam(from),TSysParam(fromlen));
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function Recv(Sock:Longint;Var Buf;BufLen,Flags:Longint):Longint;
|
||||
function fpbind (s:cint; addrx : psockaddr; addrlen : tsocklen):cint;
|
||||
begin
|
||||
Recv:=do_syscall(syscall_nr_Recvfrom,Sock,Longint(@Buf),BufLen,Flags,0,0);
|
||||
fpBind:=do_syscall(syscall_nr_Bind,S,TSysParam(addrx),addrlen);
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function RecvFrom(Sock : Longint; Var Buf; Buflen,Flags : Longint; Var Addr ; AddrLen : Integer) : longint;
|
||||
|
||||
function fplisten (s:cint; backlog : cint):cint;
|
||||
begin
|
||||
RecvFrom:=do_syscall(syscall_nr_Recvfrom,Sock,Longint(@buf),buflen,flags,Longint(@Addr),AddrLen);
|
||||
fpListen:=do_syscall(syscall_nr_Listen,S,backlog);
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function Bind(Sock:Longint;Const Addr;AddrLen:Longint):Boolean;
|
||||
function fpaccept (s:cint; addrx : psockaddr; addrlen : psocklen):cint;
|
||||
begin
|
||||
Bind:=(do_syscall(syscall_nr_Bind,Sock,Longint(@Addr),AddrLen)=0);
|
||||
fpAccept:=do_syscall(syscall_nr_accept,S,TSysParam(addrx),TSysParam(addrlen));
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function Listen(Sock,MaxConnect:Longint):Boolean;
|
||||
function fpconnect (s:cint; name : psockaddr; namelen : tsocklen):cint;
|
||||
begin
|
||||
Listen:=(do_syscall(syscall_nr_Listen,Sock,MaxConnect,0)=0);
|
||||
fpConnect:=do_syscall(syscall_nr_connect,S,TSysParam(name),namelen);
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function Accept(Sock:Longint;Var Addr;Var Addrlen:Longint):Longint;
|
||||
function fpshutdown (s:cint; how:cint):cint;
|
||||
begin
|
||||
Accept:=do_syscall(syscall_nr_accept,Sock,longint(@Addr),longint(@AddrLen));
|
||||
If Accept<0 Then
|
||||
Accept:=-1;
|
||||
fpShutDown:=do_syscall(syscall_nr_shutdown,S,how);
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
Function Connect(Sock:Longint;Const Addr;Addrlen:Longint): boolean;
|
||||
|
||||
function fpgetsockname (s:cint; name : psockaddr; namelen : psocklen):cint;
|
||||
begin
|
||||
Connect:=do_syscall(syscall_nr_connect,Sock,longint(@Addr),AddrLen)=0;
|
||||
fpGetSockName:=do_syscall(syscall_nr_GetSockName,S,TSysParam(name),TSysParam(namelen));
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
|
||||
Function Shutdown(Sock:Longint;How:Longint):Longint;
|
||||
function fpgetpeername (s:cint; name : psockaddr; namelen : psocklen):cint;
|
||||
begin
|
||||
ShutDown:=do_syscall(syscall_nr_shutdown,Sock,How);
|
||||
fpGetPeerName:=do_syscall(syscall_nr_GetPeerName,S,TSysParam(name),TSysParam(namelen));
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
|
||||
Function GetSocketName(Sock:Longint;Var Addr;Var Addrlen:Longint):Longint;
|
||||
function fpsetsockopt (s:cint; level:cint; optname:cint; optval:pointer; optlen : tsocklen):cint;
|
||||
begin
|
||||
GetSocketName:=do_syscall(syscall_nr_GetSockName,Sock,longint(@Addr),longint(@AddrLen));
|
||||
fpSetSockOpt:=do_syscall(syscall_nr_SetSockOpt,S,level,optname,TSysParam(optval),optlen);
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function GetPeerName(Sock:Longint;Var Addr;Var Addrlen:Longint):Longint;
|
||||
function fpgetsockopt (s:cint; level:cint; optname:cint; optval:pointer; optlen : psocklen):cint;
|
||||
begin
|
||||
GetPeerName:=do_syscall(syscall_nr_GetPeerName,Sock,longint(@Addr),longint(@AddrLen));
|
||||
fpGetSockOpt:=do_syscall(syscall_nr_GetSockOpt,S,level,TSysParam(optname),TSysParam(optval),TSysParam(optlen));
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
function fpsocketpair (d:cint; xtype:cint; protocol:cint; sv:pcint):cint;
|
||||
|
||||
|
||||
Function SetSocketOptions(Sock,Level,OptName:Longint;Const OptVal;optlen:longint):Longint;
|
||||
begin
|
||||
SetSocketOptions:=do_syscall(syscall_nr_SetSockOpt,Sock,Level,OptName,Longint(@OptVal),OptLen,0);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function GetSocketOptions(Sock,Level,OptName:Longint;Var OptVal;Var optlen:longint):Longint;
|
||||
begin
|
||||
GetSocketOptions:=do_syscall(syscall_nr_GetSockOpt,Sock,Level,OptName,Longint(@OptVal),OptLen,0);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function SocketPair(Domain,SocketType,Protocol:Longint;var Pair:TSockArray):Longint;
|
||||
begin
|
||||
SocketPair:=do_syscall(syscall_nr_SocketPair,Domain,SocketType,Protocol,longint(@Pair),0,0);
|
||||
end;
|
||||
|
||||
{******************************************************************************
|
||||
UnixSock
|
||||
******************************************************************************}
|
||||
|
||||
Procedure Str2UnixSockAddr(const addr:string;var t:TUnixSockAddr;var len:longint);
|
||||
begin
|
||||
Move(Addr[1],t.Path,length(Addr));
|
||||
t.Family:=AF_UNIX;
|
||||
t.Path[length(Addr)]:=#0;
|
||||
Len:=Length(Addr)+3;
|
||||
end;
|
||||
|
||||
|
||||
Function Bind(Sock:longint;const addr:string):boolean;
|
||||
var
|
||||
UnixAddr : TUnixSockAddr;
|
||||
AddrLen : longint;
|
||||
begin
|
||||
Str2UnixSockAddr(addr,UnixAddr,AddrLen);
|
||||
Bind(Sock,UnixAddr,AddrLen);
|
||||
Bind:=(SocketError=0);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function DoAccept(Sock:longint;var addr:string):longint;
|
||||
var
|
||||
UnixAddr : TUnixSockAddr;
|
||||
AddrLen : longint;
|
||||
begin
|
||||
AddrLen:=length(addr)+3;
|
||||
DoAccept:=Accept(Sock,UnixAddr,AddrLen);
|
||||
Move(UnixAddr.Path,Addr[1],AddrLen);
|
||||
SetLength(Addr,AddrLen);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function DoConnect(Sock:longint;const addr:string):Boolean;
|
||||
var
|
||||
UnixAddr : TUnixSockAddr;
|
||||
AddrLen : longint;
|
||||
begin
|
||||
Str2UnixSockAddr(addr,UnixAddr,AddrLen);
|
||||
DoConnect:=Connect(Sock,UnixAddr,AddrLen);
|
||||
end;
|
||||
|
||||
Function Accept(Sock:longint;var addr:string;var SockIn,SockOut:text):Boolean;
|
||||
var
|
||||
s : longint;
|
||||
begin
|
||||
S:=DoAccept(Sock,addr);
|
||||
if S>0 then
|
||||
begin
|
||||
Sock2Text(S,SockIn,SockOut);
|
||||
Accept:=true;
|
||||
end
|
||||
else
|
||||
Accept:=false;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function Accept(Sock:longint;var addr:string;var SockIn,SockOut:File):Boolean;
|
||||
var
|
||||
s : longint;
|
||||
begin
|
||||
S:=DoAccept(Sock,addr);
|
||||
if S>0 then
|
||||
begin
|
||||
Sock2File(S,SockIn,SockOut);
|
||||
Accept:=true;
|
||||
end
|
||||
else
|
||||
Accept:=false;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function Connect(Sock:longint;const addr:string;var SockIn,SockOut:text):Boolean;
|
||||
begin
|
||||
Connect:=DoConnect(Sock,addr);
|
||||
If Connect then
|
||||
Sock2Text(Sock,SockIn,SockOut);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function Connect(Sock:longint;const addr:string;var SockIn,SockOut:file):Boolean;
|
||||
begin
|
||||
Connect:=DoConnect(Sock,addr);
|
||||
if Connect then
|
||||
Sock2File(Sock,SockIn,SockOut);
|
||||
fpSocketPair:=do_syscall(syscall_nr_SocketPair,d,xtype,protocol,TSysParam(sv));
|
||||
socketerror:=fpgeterrno;
|
||||
end;
|
||||
|
||||
|
113
rtl/netbsd/unxconst.inc
Normal file
113
rtl/netbsd/unxconst.inc
Normal file
@ -0,0 +1,113 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by Michael Van Canneyt,
|
||||
member of the Free Pascal development team.
|
||||
|
||||
Constants for Unix unit.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
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.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
|
||||
{$warning taken from FreeBSD, please check and fix }
|
||||
|
||||
const
|
||||
{ Things for LSEEK call}
|
||||
Seek_set = 0;
|
||||
Seek_Cur = 1;
|
||||
Seek_End = 2;
|
||||
|
||||
{ Things for OPEN call - after include/sys/fcntl.h,
|
||||
BSD specifies these constants in hex }
|
||||
Open_Accmode = 3;
|
||||
Open_RdOnly = 0;
|
||||
Open_WrOnly = 1;
|
||||
Open_RdWr = 2;
|
||||
Open_NonBlock = 4;
|
||||
Open_Append = 8;
|
||||
Open_ShLock = $10;
|
||||
Open_ExLock = $20;
|
||||
Open_ASync = $40;
|
||||
Open_FSync = $80;
|
||||
Open_NoFollow = $100;
|
||||
Open_Create = $200; {BSD convention}
|
||||
Open_Creat = $200; {Linux convention}
|
||||
Open_Trunc = $400;
|
||||
Open_Excl = $800;
|
||||
Open_NoCTTY = $8000;
|
||||
|
||||
{ The waitpid uses the following options:}
|
||||
Wait_NoHang = 1;
|
||||
Wait_UnTraced = 2;
|
||||
Wait_Any = -1;
|
||||
Wait_MyPGRP = 0;
|
||||
|
||||
|
||||
{ Constants to check stat.mode - checked all STAT constants with BSD}
|
||||
STAT_IFMT = $f000; {00170000 }
|
||||
STAT_IFSOCK = $c000; {0140000 }
|
||||
STAT_IFLNK = $a000; {0120000 }
|
||||
STAT_IFREG = $8000; {0100000 }
|
||||
STAT_IFBLK = $6000; {0060000 }
|
||||
STAT_IFDIR = $4000; {0040000 }
|
||||
STAT_IFCHR = $2000; {0020000 }
|
||||
STAT_IFIFO = $1000; {0010000 }
|
||||
STAT_ISUID = $0800; {0004000 }
|
||||
STAT_ISGID = $0400; {0002000 }
|
||||
STAT_ISVTX = $0200; {0001000}
|
||||
{ Constants to check permissions all }
|
||||
STAT_IRWXO = $7;
|
||||
STAT_IROTH = $4;
|
||||
STAT_IWOTH = $2;
|
||||
STAT_IXOTH = $1;
|
||||
|
||||
STAT_IRWXG = STAT_IRWXO shl 3;
|
||||
STAT_IRGRP = STAT_IROTH shl 3;
|
||||
STAT_IWGRP = STAT_IWOTH shl 3;
|
||||
STAT_IXGRP = STAT_IXOTH shl 3;
|
||||
|
||||
STAT_IRWXU = STAT_IRWXO shl 6;
|
||||
STAT_IRUSR = STAT_IROTH shl 6;
|
||||
STAT_IWUSR = STAT_IWOTH shl 6;
|
||||
STAT_IXUSR = STAT_IXOTH shl 6;
|
||||
|
||||
{ Constants to test the type of filesystem }
|
||||
fs_old_ext2 = $ef51;
|
||||
fs_ext2 = $ef53;
|
||||
fs_ext = $137d;
|
||||
fs_iso = $9660;
|
||||
fs_minix = $137f;
|
||||
fs_minix_30 = $138f;
|
||||
fs_minux_V2 = $2468;
|
||||
fs_msdos = $4d44;
|
||||
fs_nfs = $6969;
|
||||
fs_proc = $9fa0;
|
||||
fs_xia = $012FD16D;
|
||||
|
||||
{Constansts Termios/Ioctl (used in Do_IsDevice) }
|
||||
IOCtl_TCGETS= $40000000+$2C7400+ 19; // TCGETS is also in termios.inc, but the sysunix needs only this
|
||||
|
||||
ITimer_Real =0;
|
||||
ITimer_Virtual =1;
|
||||
ITimer_Prof =2;
|
||||
|
||||
{
|
||||
{Checked for BSD using Linuxthreads port}
|
||||
{ cloning flags }
|
||||
CSIGNAL = $000000ff; // signal mask to be sent at exit
|
||||
CLONE_VM = $00000100; // set if VM shared between processes
|
||||
CLONE_FS = $00000200; // set if fs info shared between processes
|
||||
CLONE_FILES = $00000400; // set if open files shared between processes
|
||||
CLONE_SIGHAND = $00000800; // set if signal handlers shared
|
||||
CLONE_PID = $00001000; // set if pid shared
|
||||
|
||||
type
|
||||
TCloneFunc=function(args:pointer):longint;cdecl;
|
||||
}
|
||||
|
68
rtl/netbsd/unxfunc.inc
Normal file
68
rtl/netbsd/unxfunc.inc
Normal file
@ -0,0 +1,68 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 2000 by Marco van de Voort
|
||||
member of the Free Pascal development team.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
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.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{$ifndef HAS_LIBC_PIPING}
|
||||
Function PClose(Var F:file) : cint;
|
||||
var
|
||||
pl : ^cint;
|
||||
res : cint;
|
||||
begin
|
||||
fpclose(filerec(F).Handle);
|
||||
{ closed our side, Now wait for the other - this appears to be needed ?? }
|
||||
pl:=@(filerec(f).userdata[2]);
|
||||
fpwaitpid(pl^,@res,0);
|
||||
pclose:=res shr 8;
|
||||
end;
|
||||
|
||||
|
||||
Function PClose(Var F:text) :cint;
|
||||
var
|
||||
pl : pcint;
|
||||
res : cint;
|
||||
begin
|
||||
fpclose(Textrec(F).Handle);
|
||||
{ closed our side, Now wait for the other - this appears to be needed ?? }
|
||||
pl:=@(textrec(f).userdata[2]);
|
||||
fpwaitpid(pl^,@res,0);
|
||||
pclose:=res shr 8;
|
||||
end;{$ENDIF}
|
||||
|
||||
|
||||
// can't have oldfpccall here, linux doesn't need it.
|
||||
Function AssignPipe(var pipe_in,pipe_out:cint):cint; [public, alias : 'FPC_SYSC_ASSIGNPIPE'];
|
||||
{
|
||||
Sets up a pair of file variables, which act as a pipe. The first one can
|
||||
be read from, the second one can be written to.
|
||||
If the operation was unsuccesful, linuxerror is set.
|
||||
}
|
||||
var
|
||||
ret : cint;
|
||||
errn : cint;
|
||||
{$ifdef FPC_USE_LIBC}
|
||||
fdis : array[0..1] of cint;
|
||||
{$endif}
|
||||
begin
|
||||
{$ifndef FPC_USE_LIBC}
|
||||
ret:=intAssignPipe(pipe_in,pipe_out,errn);
|
||||
if ret=-1 Then
|
||||
fpseterrno(errn);
|
||||
{$ELSE}
|
||||
fdis[0]:=pipe_in;
|
||||
fdis[1]:=pipe_out;
|
||||
ret:=pipe(fdis);
|
||||
pipe_in:=fdis[0];
|
||||
pipe_out:=fdis[1];
|
||||
{$ENDIF}
|
||||
AssignPipe:=ret;
|
||||
end;
|
275
rtl/netbsd/unxsockh.inc
Normal file
275
rtl/netbsd/unxsockh.inc
Normal file
@ -0,0 +1,275 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
(c) 2000-2003 by Marco van de Voort
|
||||
member of the Free Pascal development team.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
OS dependant part of the header.
|
||||
|
||||
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.
|
||||
}
|
||||
|
||||
{$warning taken from FreeBSD, please check and fix }
|
||||
|
||||
Const
|
||||
AF_AX25 = 3; { Amateur Radio AX.25 }
|
||||
AF_IPX = 4; { Novell IPX }
|
||||
AF_APPLETALK = 5; { Appletalk DDP }
|
||||
AF_NETROM = 6; { Amateur radio NetROM }
|
||||
AF_BRIDGE = 7; { Multiprotocol bridge }
|
||||
AF_AAL5 = 8; { Reserved for Werner's ATM }
|
||||
AF_X25 = 9; { Reserved for X.25 project }
|
||||
AF_INET6 = 10; { IP version 6 }
|
||||
AF_MAX = 12;
|
||||
|
||||
SOCK_PACKET = 10;
|
||||
|
||||
PF_AX25 = AF_AX25;
|
||||
PF_IPX = AF_IPX;
|
||||
PF_APPLETALK = AF_APPLETALK;
|
||||
PF_NETROM = AF_NETROM;
|
||||
PF_BRIDGE = AF_BRIDGE;
|
||||
PF_AAL5 = AF_AAL5;
|
||||
PF_X25 = AF_X25;
|
||||
PF_INET6 = AF_INET6;
|
||||
|
||||
PF_MAX = AF_MAX;
|
||||
|
||||
|
||||
{ Maximum queue length specifiable by listen. }
|
||||
SOMAXCONN = 128;
|
||||
|
||||
SOL_SOCKET = $FFFF;
|
||||
SO_DEBUG = $0001; { turn on debugging info recording }
|
||||
SO_ACCEPTCONN = $0002; { socket has had listen() }
|
||||
SO_REUSEADDR = $0004; { allow local address reuse }
|
||||
SO_KEEPALIVE = $0008; { keep connections alive }
|
||||
SO_DONTROUTE = $0010; { just use interface addresses }
|
||||
SO_BROADCAST = $0020; { permit sending of broadcast msgs }
|
||||
SO_USELOOPBACK = $0040; { bypass hardware when possible }
|
||||
SO_LINGER = $0080; { linger on close if data present }
|
||||
SO_OOBINLINE = $0100; { leave received OOB data in line }
|
||||
SO_REUSEPORT = $0200; { allow local address & port reuse }
|
||||
SO_TIMESTAMP = $0400; { timestamp received dgram traffic }
|
||||
|
||||
{
|
||||
* Additional options, not kept in so_options.
|
||||
}
|
||||
SO_SNDBUF =$1001; { send buffer size }
|
||||
SO_RCVBUF =$1002; { receive buffer size }
|
||||
SO_SNDLOWAT =$1003; { send low-water mark }
|
||||
SO_RCVLOWAT =$1004; { receive low-water mark }
|
||||
SO_SNDTIMEO =$1005; { send timeout }
|
||||
SO_RCVTIMEO =$1006; { receive timeout }
|
||||
SO_ERROR =$1007; { get error status and clear }
|
||||
SO_TYPE =$1008; { get socket type }
|
||||
|
||||
|
||||
SHUT_RD =0; { shut down the reading side }
|
||||
SHUT_WR =1; { shut down the writing side }
|
||||
SHUT_RDWR =2; { shut down both sides }
|
||||
|
||||
IPPROTO_IP = 0; { dummy for IP }
|
||||
IPPROTO_ICMP = 1; { control message protocol }
|
||||
IPPROTO_TCP = 6; { tcp }
|
||||
IPPROTO_UDP = 17; { user datagram protocol }
|
||||
|
||||
|
||||
IPPROTO_HOPOPTS = 0 ; { IP6 hop-by-hop options }
|
||||
IPPROTO_IGMP = 2 ; { group mgmt protocol }
|
||||
IPPROTO_GGP = 3 ; { gateway^2 (deprecated) }
|
||||
IPPROTO_IPV4 = 4 ; { IPv4 encapsulation }
|
||||
IPPROTO_IPIP = IPPROTO_IPV4; { for compatibility }
|
||||
IPPROTO_ST = 7 ; { Stream protocol II }
|
||||
IPPROTO_EGP = 8 ; { exterior gateway protocol }
|
||||
IPPROTO_PIGP = 9 ; { private interior gateway }
|
||||
IPPROTO_RCCMON = 10; { BBN RCC Monitoring }
|
||||
IPPROTO_NVPII = 11; { network voice protocol}
|
||||
IPPROTO_PUP = 12; { pup }
|
||||
IPPROTO_ARGUS = 13; { Argus }
|
||||
IPPROTO_EMCON = 14; { EMCON }
|
||||
IPPROTO_XNET = 15; { Cross Net Debugger }
|
||||
IPPROTO_CHAOS = 16; { Chaos}
|
||||
IPPROTO_MUX = 18; { Multiplexing }
|
||||
IPPROTO_MEAS = 19; { DCN Measurement Subsystems }
|
||||
IPPROTO_HMP = 20; { Host Monitoring }
|
||||
IPPROTO_PRM = 21; { Packet Radio Measurement }
|
||||
IPPROTO_IDP = 22; { xns idp }
|
||||
IPPROTO_TRUNK1 = 23; { Trunk-1 }
|
||||
IPPROTO_TRUNK2 = 24; { Trunk-2 }
|
||||
IPPROTO_LEAF1 = 25; { Leaf-1 }
|
||||
IPPROTO_LEAF2 = 26; { Leaf-2 }
|
||||
IPPROTO_RDP = 27; { Reliable Data }
|
||||
IPPROTO_IRTP = 28; { Reliable Transaction }
|
||||
IPPROTO_TP = 29; { tp-4 w/ class negotiation }
|
||||
IPPROTO_BLT = 30; { Bulk Data Transfer }
|
||||
IPPROTO_NSP = 31; { Network Services }
|
||||
IPPROTO_INP = 32; { Merit Internodal }
|
||||
IPPROTO_SEP = 33; { Sequential Exchange }
|
||||
IPPROTO_3PC = 34; { Third Party Connect }
|
||||
IPPROTO_IDPR = 35; { InterDomain Policy Routing }
|
||||
IPPROTO_XTP = 36; { XTP }
|
||||
IPPROTO_DDP = 37; { Datagram Delivery }
|
||||
IPPROTO_CMTP = 38; { Control Message Transport }
|
||||
IPPROTO_TPXX = 39; { TP++ Transport }
|
||||
IPPROTO_IL = 40; { IL transport protocol }
|
||||
IPPROTO_IPV6 = 41; { IP6 header }
|
||||
IPPROTO_SDRP = 42; { Source Demand Routing }
|
||||
IPPROTO_ROUTING = 43; { IP6 routing header }
|
||||
IPPROTO_FRAGMENT = 44; { IP6 fragmentation header }
|
||||
IPPROTO_IDRP = 45; { InterDomain Routing}
|
||||
IPPROTO_RSVP = 46; { resource reservation }
|
||||
IPPROTO_GRE = 47; { General Routing Encap. }
|
||||
IPPROTO_MHRP = 48; { Mobile Host Routing }
|
||||
IPPROTO_BHA = 49; { BHA }
|
||||
IPPROTO_ESP = 50; { IP6 Encap Sec. Payload }
|
||||
IPPROTO_AH = 51; { IP6 Auth Header }
|
||||
IPPROTO_INLSP = 52; { Integ. Net Layer Security }
|
||||
IPPROTO_SWIPE = 53; { IP with encryption }
|
||||
IPPROTO_NHRP = 54; { Next Hop Resolution }
|
||||
IPPROTO_MOBILE = 55; { IP Mobility }
|
||||
IPPROTO_TLSP = 56; { Transport Layer Security }
|
||||
IPPROTO_SKIP = 57; { SKIP }
|
||||
IPPROTO_ICMPV6 = 58; { ICMP6 }
|
||||
IPPROTO_NONE = 59; { IP6 no next header }
|
||||
IPPROTO_DSTOPTS = 60; { IP6 destination option }
|
||||
IPPROTO_AHIP = 61; { any host internal protocol }
|
||||
IPPROTO_CFTP = 62; { CFTP }
|
||||
IPPROTO_HELLO = 63; { "hello" routing protocol }
|
||||
IPPROTO_SATEXPAK = 64; { SATNET/Backroom EXPAK }
|
||||
IPPROTO_KRYPTOLAN = 65; { Kryptolan }
|
||||
IPPROTO_RVD = 66; { Remote Virtual Disk }
|
||||
IPPROTO_IPPC = 67; { Pluribus Packet Core }
|
||||
IPPROTO_ADFS = 68; { Any distributed FS }
|
||||
IPPROTO_SATMON = 69; { Satnet Monitoring }
|
||||
IPPROTO_VISA = 70; { VISA Protocol }
|
||||
IPPROTO_IPCV = 71; { Packet Core Utility }
|
||||
IPPROTO_CPNX = 72; { Comp. Prot. Net. Executive }
|
||||
IPPROTO_CPHB = 73; { Comp. Prot. HeartBeat }
|
||||
IPPROTO_WSN = 74; { Wang Span Network }
|
||||
IPPROTO_PVP = 75; { Packet Video Protocol }
|
||||
IPPROTO_BRSATMON = 76; { BackRoom SATNET Monitoring }
|
||||
IPPROTO_ND = 77; { Sun net disk proto (temp.) }
|
||||
IPPROTO_WBMON = 78; { WIDEBAND Monitoring }
|
||||
IPPROTO_WBEXPAK = 79; { WIDEBAND EXPAK }
|
||||
IPPROTO_EON = 80; { ISO cnlp }
|
||||
IPPROTO_VMTP = 81; { VMTP }
|
||||
IPPROTO_SVMTP = 82; { Secure VMTP }
|
||||
IPPROTO_VINES = 83; { Banyon VINES }
|
||||
IPPROTO_TTP = 84; { TTP }
|
||||
IPPROTO_IGP = 85; { NSFNET-IGP }
|
||||
IPPROTO_DGP = 86; { dissimilar gateway prot. }
|
||||
IPPROTO_TCF = 87; { TCF }
|
||||
IPPROTO_IGRP = 88; { Cisco/GXS IGRP }
|
||||
IPPROTO_OSPFIGP = 89; { OSPFIGP }
|
||||
IPPROTO_SRPC = 90; { Strite RPC protocol }
|
||||
IPPROTO_LARP = 91; { Locus Address Resoloution }
|
||||
IPPROTO_MTP = 92; { Multicast Transport }
|
||||
IPPROTO_AX25 = 93; { AX.25 Frames }
|
||||
IPPROTO_IPEIP = 94; { IP encapsulated in IP }
|
||||
IPPROTO_MICP = 95; { Mobile Int.ing control }
|
||||
IPPROTO_SCCSP = 96; { Semaphore Comm. security }
|
||||
IPPROTO_ETHERIP = 97; { Ethernet IP encapsulation }
|
||||
IPPROTO_ENCAP = 98; { encapsulation header }
|
||||
IPPROTO_APES = 99; { any private encr. scheme }
|
||||
IPPROTO_GMTP = 100; { GMTP}
|
||||
IPPROTO_IPCOMP = 108; { payload compression (IPComp) }
|
||||
{ 101-254: Partly Unassigned }
|
||||
IPPROTO_PIM = 103; { Protocol Independent Mcast }
|
||||
IPPROTO_CARP = 112; { CARP }
|
||||
IPPROTO_PGM = 113; { PGM }
|
||||
IPPROTO_PFSYNC = 240; { PFSYNC }
|
||||
|
||||
{ last return value of *_input(), meaning "all job for this pkt is done". }
|
||||
IPPROTO_RAW = 255;
|
||||
IPPROTO_MAX = 256;
|
||||
IPPROTO_DONE = 257;
|
||||
|
||||
{
|
||||
* Options for use with [gs]etsockopt at the IP level.
|
||||
* First word of comment is data type; bool is stored in int.
|
||||
}
|
||||
IP_OPTIONS = 1 ; { buf/ip_opts; set/get IP options }
|
||||
IP_HDRINCL = 2 ; { int; header is included with data }
|
||||
IP_TOS = 3 ; { int; IP type of service and preced. }
|
||||
IP_TTL = 4 ; { int; IP time to live }
|
||||
IP_RECVOPTS = 5 ; { bool; receive all IP opts w/dgram }
|
||||
IP_RECVRETOPTS = 6 ; { bool; receive IP opts for response }
|
||||
IP_RECVDSTADDR = 7 ; { bool; receive IP dst addr w/dgram }
|
||||
IP_SENDSRCADDR = IP_RECVDSTADDR; { cmsg_type to set src addr }
|
||||
IP_RETOPTS = 8 ; { ip_opts; set/get IP options }
|
||||
IP_MULTICAST_IF = 9 ; { u_char; set/get IP multicast i/f }
|
||||
IP_MULTICAST_TTL = 10; { u_char; set/get IP multicast ttl }
|
||||
IP_MULTICAST_LOOP = 11; { u_char; set/get IP multicast loopback }
|
||||
IP_ADD_MEMBERSHIP = 12; { ip_mreq; add an IP group membership }
|
||||
IP_DROP_MEMBERSHIP = 13; { ip_mreq; drop an IP group membership }
|
||||
IP_MULTICAST_VIF = 14; { set/get IP mcast virt. iface }
|
||||
IP_RSVP_ON = 15; { enable RSVP in kernel }
|
||||
IP_RSVP_OFF = 16; { disable RSVP in kernel }
|
||||
IP_RSVP_VIF_ON = 17; { set RSVP per-vif socket }
|
||||
IP_RSVP_VIF_OFF = 18; { unset RSVP per-vif socket }
|
||||
IP_PORTRANGE = 19; { int; range to choose for unspec port }
|
||||
IP_RECVIF = 20; { bool; receive reception if w/dgram }
|
||||
|
||||
{ for IPSEC }
|
||||
IP_IPSEC_POLICY = 21; { int; set/get security policy }
|
||||
IP_FAITH = 22; { bool; accept FAITH'ed connections }
|
||||
|
||||
IP_ONESBCAST = 23; { bool: send all-ones broadcast }
|
||||
|
||||
IP_FW_TABLE_ADD = 40; { add entry }
|
||||
IP_FW_TABLE_DEL = 41; { delete entry }
|
||||
IP_FW_TABLE_FLUSH = 42; { flush table }
|
||||
IP_FW_TABLE_GETSIZE = 43; { get table size }
|
||||
IP_FW_TABLE_LIST = 44; { list table contents }
|
||||
|
||||
IP_FW_ADD = 50; { add a firewall rule to chain }
|
||||
IP_FW_DEL = 51; { delete a firewall rule from chain }
|
||||
IP_FW_FLUSH = 52; { flush firewall rule chain }
|
||||
IP_FW_ZERO = 53; { clear single/all firewall counter(s) }
|
||||
IP_FW_GET = 54; { get entire firewall rule chain }
|
||||
IP_FW_RESETLOG = 55; { reset logging counters }
|
||||
|
||||
IP_DUMMYNET_CONFIGURE = 60; { add/configure a dummynet pipe }
|
||||
IP_DUMMYNET_DEL = 61; { delete a dummynet pipe from chain }
|
||||
IP_DUMMYNET_FLUSH = 62; { flush dummynet }
|
||||
IP_DUMMYNET_GET = 64; { get entire dummynet pipes }
|
||||
|
||||
IP_RECVTTL = 65; { bool; receive IP TTL w/dgram }
|
||||
|
||||
IPV6_SOCKOPT_RESERVED1 = 3 ; { reserved for future use }
|
||||
IPV6_UNICAST_HOPS = 4 ; { int; IP6 hops }
|
||||
IPV6_MULTICAST_IF = 9 ; { u_int; setget IP6 multicast if }
|
||||
IPV6_MULTICAST_HOPS = 10; { int; setget IP6 multicast hops }
|
||||
IPV6_MULTICAST_LOOP = 11; { u_int; setget IP6 multicast loopback }
|
||||
IPV6_JOIN_GROUP = 12; { ip6_mreq; join a group membership }
|
||||
IPV6_LEAVE_GROUP = 13; { ip6_mreq; leave a group membership }
|
||||
IPV6_PORTRANGE = 14; { int; range to choose for unspec port }
|
||||
|
||||
IPV6_PKTINFO = 46; { in6_pktinfo; send if, src addr }
|
||||
IPV6_HOPLIMIT = 47; { int; send hop limit }
|
||||
IPV6_NEXTHOP = 48; { sockaddr; next hop addr }
|
||||
IPV6_HOPOPTS = 49; { ip6_hbh; send hop-by-hop option }
|
||||
IPV6_DSTOPTS = 50; { ip6_dest; send dst option befor rthdr }
|
||||
IPV6_RTHDR = 51; { ip6_rthdr; send routing header }
|
||||
IPV6_PKTOPTIONS = 52; { buf/cmsghdr; set/get IPv6 options }
|
||||
|
||||
{ Flags for send, recv etc. }
|
||||
MSG_OOB = $0001; { Process out-of-band data}
|
||||
MSG_PEEK = $0002; { Peek at incoming messages }
|
||||
MSG_DONTROUTE = $0004; { Don't use local routing }
|
||||
MSG_EOR = $0008; { End of record }
|
||||
MSG_TRUNC = $0010;
|
||||
MSG_CTRUNC = $0020; { Control data lost before delivery }
|
||||
MSG_WAITALL = $0040; { Wait for a full request }
|
||||
MSG_DONTWAIT = $0080; { Non-blocking I/O }
|
||||
MSG_EOF = $0100;
|
||||
MSG_NBIO = $4000;
|
||||
MSG_COMPAT = $8000;
|
||||
MSG_SOCALLBCK = $10000;
|
||||
MSG_NOSIGNAL = $20000; { Do not generate SIGPIPE }
|
||||
|
@ -68,10 +68,10 @@ begin
|
||||
fsync:=do_syscall(syscall_nr_fsync,fd);
|
||||
end;
|
||||
|
||||
Function Flock (fd,mode : longint) : cint;
|
||||
Function fpFlock (fd,mode : longint) : cint;
|
||||
|
||||
begin
|
||||
Flock:=do_syscall(syscall_nr_flock,fd,mode);
|
||||
fpFlock:=do_syscall(syscall_nr_flock,fd,mode);
|
||||
end;
|
||||
|
||||
Function fStatFS(Fd:Longint;Var Info:tstatfs):cint;
|
||||
@ -128,6 +128,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
{
|
||||
Function PClose(Var F:text) :cint;
|
||||
var
|
||||
pl : ^longint;
|
||||
@ -153,6 +154,7 @@ begin
|
||||
fpwaitpid(pl^,@res,0);
|
||||
pclose:=res shr 8;
|
||||
end;
|
||||
}
|
||||
|
||||
function MUnMap (P : Pointer; Size : size_t) : cint;
|
||||
|
||||
@ -161,60 +163,11 @@ begin
|
||||
end;
|
||||
{$else}
|
||||
|
||||
Function PClose(Var F:file) : cint;
|
||||
var
|
||||
pl : ^cint;
|
||||
res : cint;
|
||||
{
|
||||
|
||||
begin
|
||||
fpclose(filerec(F).Handle);
|
||||
{ closed our side, Now wait for the other - this appears to be needed ?? }
|
||||
pl:=@(filerec(f).userdata[2]);
|
||||
fpwaitpid(pl^,@res,0);
|
||||
pclose:=res shr 8;
|
||||
end;
|
||||
|
||||
Function PClose(Var F:text) :cint;
|
||||
var
|
||||
pl : ^longint;
|
||||
res : longint;
|
||||
|
||||
begin
|
||||
fpclose(Textrec(F).Handle);
|
||||
{ closed our side, Now wait for the other - this appears to be needed ?? }
|
||||
pl:=@(textrec(f).userdata[2]);
|
||||
fpwaitpid(pl^,@res,0);
|
||||
pclose:=res shr 8;
|
||||
end;
|
||||
}
|
||||
|
||||
{$endif}
|
||||
// can't have oldfpccall here, linux doesn't need it.
|
||||
Function AssignPipe(var pipe_in,pipe_out:cint):cint; [public, alias : 'FPC_SYSC_ASSIGNPIPE'];
|
||||
{
|
||||
Sets up a pair of file variables, which act as a pipe. The first one can
|
||||
be read from, the second one can be written to.
|
||||
If the operation was unsuccesful, linuxerror is set.
|
||||
}
|
||||
var
|
||||
ret : longint;
|
||||
errn : cint;
|
||||
{$ifdef FPC_USE_LIBC}
|
||||
fdis : array[0..1] of cint;
|
||||
{$endif}
|
||||
begin
|
||||
{$ifndef FPC_USE_LIBC}
|
||||
ret:=intAssignPipe(pipe_in,pipe_out,errn);
|
||||
if ret=-1 Then
|
||||
fpseterrno(errn);
|
||||
{$ELSE}
|
||||
fdis[0]:=pipe_in;
|
||||
fdis[1]:=pipe_out;
|
||||
ret:=pipe(fdis);
|
||||
pipe_in:=fdis[0];
|
||||
pipe_out:=fdis[1];
|
||||
{$ENDIF}
|
||||
AssignPipe:=ret;
|
||||
end;
|
||||
|
||||
|
||||
{
|
@ -39,7 +39,7 @@ Type
|
||||
Const
|
||||
{ IPC flags for get calls }
|
||||
|
||||
{$ifdef FreeBSD} // BSD_VISIBLE
|
||||
{$if defined(FreeBSD) or defined(NetBSD)} // BSD_VISIBLE
|
||||
IPC_R = 4 shl 6;
|
||||
IPC_W = 2 shl 6;
|
||||
IPC_M = 2 shl 12;
|
||||
|
Loading…
Reference in New Issue
Block a user