* adds pcap extra package

git-svn-id: trunk@6509 -
This commit is contained in:
Almindor 2007-02-16 11:00:53 +00:00
parent 3d6141fa86
commit 63eac6f420
9 changed files with 2393 additions and 28 deletions

5
.gitattributes vendored
View File

@ -3677,6 +3677,11 @@ packages/extra/palmunits/uicontrols.pp svneol=native#text/plain
packages/extra/palmunits/uiresources.pp svneol=native#text/plain
packages/extra/palmunits/vfsmgr.pp svneol=native#text/plain
packages/extra/palmunits/window.pp svneol=native#text/plain
packages/extra/pcap/Makefile svneol=native#text/plain
packages/extra/pcap/Makefile.fpc svneol=native#text/plain
packages/extra/pcap/fpmake.inc svneol=native#text/plain
packages/extra/pcap/fpmake.pp svneol=native#text/plain
packages/extra/pcap/pcap.pp svneol=native#text/plain
packages/extra/ptc/Makefile -text
packages/extra/ptc/Makefile.fpc -text
packages/extra/ptc/aread.inc -text

View File

@ -1,8 +1,8 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/08/20]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/02/15]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince arm-gba powerpc64-linux
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-embedded
BSDs = freebsd netbsd openbsd darwin
UNIXs = linux $(BSDs) solaris qnx
LIMIT83fs = go32v2 os2 emx watcom
@ -231,31 +231,31 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
endif
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl libcurl cairo unixutil
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl pcap libcurl cairo unixutil
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_DIRS+=unzip
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_DIRS+=unzip opengl gtk gtk2 zlib tcl cdrom fpgtk fftw mad openal oggvorbis a52 libpng openssl
override TARGET_DIRS+=unzip opengl gtk gtk2 zlib tcl cdrom fpgtk fftw mad openal oggvorbis a52 libpng openssl pcap
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_DIRS+=os2units rexx unzip zlib x11 gtk libpng tcl imlib fpgtk
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),i386-netware)
override TARGET_DIRS+=unzip zlib
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 univint openssl libcurl cairo
@ -270,28 +270,28 @@ ifeq ($(FULL_TARGET),i386-wince)
override TARGET_DIRS+=unzip zlib tcl fftw
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_DIRS+=amunits
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_DIRS+=palmunits
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override TARGET_DIRS+=amunits
@ -300,25 +300,25 @@ ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 univint openssl libcurl cairo
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib x11 opengl gtk syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_DIRS+=unzip opengl gtk gtk2 zlib tcl cdrom fpgtk fftw openssl
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl pcap libcurl cairo
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_DIRS+=palmunits
@ -327,7 +327,7 @@ ifeq ($(FULL_TARGET),arm-wince)
override TARGET_DIRS+=unzip zlib tcl fftw
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl libcurl cairo
override TARGET_DIRS+=unzip zlib fftw x11 opengl gtk gtk2 syslog forms svgalib ggi libpng libgd utmp bfd gdbm ncurses tcl cdrom imlib gnome1 fpgtk newt uuid ldap openal mad oggvorbis a52 modplug dts openssl pcap libcurl cairo
endif
override INSTALL_FPCPACKAGE=y
override INSTALL_FPCSUBDIR=packages/extra
@ -657,6 +657,10 @@ EXEEXT=.gba
SHAREDLIBEXT=.so
SHORTSUFFIX=gba
endif
ifeq ($(OS_TARGET),symbian)
SHAREDLIBEXT=.dll
SHORTSUFFIX=symbian
endif
else
ifeq ($(OS_TARGET),go32v1)
PPUEXT=.pp1
@ -1125,7 +1129,7 @@ ifeq ($(CPU_TARGET),powerpc)
FPCCPUOPT:=-O1r
endif
else
FPCCPUOPT:=-O1r
FPCCPUOPT:=-O2
endif
override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
override FPCOPTDEF+=RELEASE
@ -1184,6 +1188,13 @@ ifeq ($(CPU_TARGET),i386)
override FPCOPT+=-Aas
endif
endif
ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
ifeq ($(OS_TARGET),linux)
ifeq ($(CPU_TARGET),x86_64)
override FPCOPT+=-Cg
endif
endif
endif
ifdef LINKSHARED
endif
ifdef OPT
@ -1426,6 +1437,7 @@ TARGET_DIRS_A52=1
TARGET_DIRS_MODPLUG=1
TARGET_DIRS_DTS=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
TARGET_DIRS_UNIXUTIL=1
@ -1449,6 +1461,7 @@ TARGET_DIRS_OGGVORBIS=1
TARGET_DIRS_A52=1
TARGET_DIRS_LIBPNG=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
endif
ifeq ($(FULL_TARGET),i386-os2)
TARGET_DIRS_OS2UNITS=1
@ -1485,6 +1498,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1509,6 +1523,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1535,6 +1550,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1563,6 +1579,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1646,6 +1663,7 @@ TARGET_DIRS_A52=1
TARGET_DIRS_MODPLUG=1
TARGET_DIRS_DTS=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1672,6 +1690,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1696,6 +1715,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1723,6 +1743,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1762,6 +1783,7 @@ TARGET_DIRS_A52=1
TARGET_DIRS_MODPLUG=1
TARGET_DIRS_DTS=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1786,6 +1808,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1850,6 +1873,7 @@ TARGET_DIRS_A52=1
TARGET_DIRS_MODPLUG=1
TARGET_DIRS_DTS=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1874,6 +1898,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1900,6 +1925,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1936,6 +1962,7 @@ TARGET_DIRS_A52=1
TARGET_DIRS_MODPLUG=1
TARGET_DIRS_DTS=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -1962,6 +1989,7 @@ TARGET_DIRS_TCL=1
TARGET_DIRS_IMLIB=1
TARGET_DIRS_GNOME1=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -2010,6 +2038,7 @@ TARGET_DIRS_A52=1
TARGET_DIRS_MODPLUG=1
TARGET_DIRS_DTS=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -2055,6 +2084,7 @@ TARGET_DIRS_A52=1
TARGET_DIRS_MODPLUG=1
TARGET_DIRS_DTS=1
TARGET_DIRS_OPENSSL=1
TARGET_DIRS_PCAP=1
TARGET_DIRS_LIBCURL=1
TARGET_DIRS_CAIRO=1
endif
@ -3498,6 +3528,51 @@ openssl:
$(MAKE) -C openssl all
.PHONY: openssl_all openssl_debug openssl_smart openssl_release openssl_units openssl_examples openssl_shared openssl_install openssl_sourceinstall openssl_exampleinstall openssl_distinstall openssl_zipinstall openssl_zipsourceinstall openssl_zipexampleinstall openssl_zipdistinstall openssl_clean openssl_distclean openssl_cleanall openssl_info openssl_makefiles openssl
endif
ifdef TARGET_DIRS_PCAP
pcap_all:
$(MAKE) -C pcap all
pcap_debug:
$(MAKE) -C pcap debug
pcap_smart:
$(MAKE) -C pcap smart
pcap_release:
$(MAKE) -C pcap release
pcap_units:
$(MAKE) -C pcap units
pcap_examples:
$(MAKE) -C pcap examples
pcap_shared:
$(MAKE) -C pcap shared
pcap_install:
$(MAKE) -C pcap install
pcap_sourceinstall:
$(MAKE) -C pcap sourceinstall
pcap_exampleinstall:
$(MAKE) -C pcap exampleinstall
pcap_distinstall:
$(MAKE) -C pcap distinstall
pcap_zipinstall:
$(MAKE) -C pcap zipinstall
pcap_zipsourceinstall:
$(MAKE) -C pcap zipsourceinstall
pcap_zipexampleinstall:
$(MAKE) -C pcap zipexampleinstall
pcap_zipdistinstall:
$(MAKE) -C pcap zipdistinstall
pcap_clean:
$(MAKE) -C pcap clean
pcap_distclean:
$(MAKE) -C pcap distclean
pcap_cleanall:
$(MAKE) -C pcap cleanall
pcap_info:
$(MAKE) -C pcap info
pcap_makefiles:
$(MAKE) -C pcap makefiles
pcap:
$(MAKE) -C pcap all
.PHONY: pcap_all pcap_debug pcap_smart pcap_release pcap_units pcap_examples pcap_shared pcap_install pcap_sourceinstall pcap_exampleinstall pcap_distinstall pcap_zipinstall pcap_zipsourceinstall pcap_zipexampleinstall pcap_zipdistinstall pcap_clean pcap_distclean pcap_cleanall pcap_info pcap_makefiles pcap
endif
ifdef TARGET_DIRS_LIBCURL
libcurl_all:
$(MAKE) -C libcurl all

View File

@ -8,26 +8,26 @@ dirs_linux=unzip zlib fftw \
utmp bfd gdbm ncurses tcl cdrom \
imlib gnome1 fpgtk newt uuid \
ldap openal mad oggvorbis a52 \
modplug dts openssl libcurl cairo
modplug dts openssl pcap libcurl cairo
dirs_i386_linux=unixutil
dirs_netbsd=unzip zlib \
x11 opengl gtk syslog \
forms svgalib ggi libpng libgd \
utmp bfd gdbm ncurses fpgtk \
tcl imlib gnome1 openssl libcurl cairo
tcl imlib gnome1 openssl pcap libcurl cairo
dirs_freebsd=unzip zlib fftw \
x11 opengl gtk gtk2 syslog \
forms svgalib ggi libpng libgd \
utmp bfd gdbm ncurses fpgtk \
tcl imlib gnome1 openssl libcurl cairo
tcl imlib gnome1 openssl pcap libcurl cairo
dirs_openbsd=unzip zlib \
x11 opengl gtk syslog \
forms svgalib ggi libpng libgd \
utmp bfd gdbm ncurses fpgtk \
tcl imlib gnome1 openssl libcurl cairo
tcl imlib gnome1 openssl pcap libcurl cairo
# libcurl should work on Win32 too, but I haven't tested this. Skip it for now. MVC.
dirs_win32=unzip opengl gtk gtk2 zlib tcl cdrom fpgtk fftw \
mad openal oggvorbis a52 libpng openssl
mad openal oggvorbis a52 libpng openssl pcap
dirs_win64=unzip opengl gtk gtk2 zlib tcl cdrom fpgtk fftw openssl
dirs_wince=unzip zlib tcl fftw
dirs_os2=os2units \
@ -58,7 +58,7 @@ dirs_solaris= unzip zlib fftw \
x11 opengl gtk gtk2 syslog \
forms svgalib ggi libpng libgd \
utmp bfd gdbm ncurses fpgtk tcl imlib gnome1 \
openssl libcurl cairo
openssl pcap libcurl cairo
[install]
fpcpackage=y

View File

@ -110,3 +110,6 @@
{ openssl }
{$i openssl/fpmake.inc}
{ pcap }
{$i pcap/fpmake.inc}

1900
packages/extra/pcap/Makefile Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,19 @@
#
# Makefile.fpc for pcap bindings
#
[package]
name=pcap
version=1.0.0
[target]
units=pcap
[install]
fpcpackage=y
[default]
fpcdir=../../..
[rules]
.NOTPARALLEL:

View File

@ -0,0 +1,9 @@
StartPackage('pcap');
{$IF defined(ALLPACKAGES)}
Directory:='extra/pcap';
{$ELSEIF defined(EXTRAPACKAGES)}
Directory:='pcp';
{$ENDIF}
OS:=[linux,netbsd,freebsd,openbsd,win32,solaris];
T:=Targets.AddUnit('pcap');
EndPackage;

View File

@ -0,0 +1,17 @@
{$mode objfpc}{$H+}
program fpmake;
uses fpmkunit;
Var
T : TTarget;
begin
With Installer do
begin
{ Base packages }
{$i fpmake.inc}
Run;
end;
end.

337
packages/extra/pcap/pcap.pp Normal file
View File

@ -0,0 +1,337 @@
unit Pcap;
{ -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- }
{
* Copyright (c) 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* 4. Neither the name of the University nor of the Laboratory may be used
* to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $FreeBSD: src/contrib/libpcap/pcap.h,v 1.11 2005/07/11 03:43:25 sam Exp $
* @(#) $Header: /tcpdump/master/libpcap/pcap.h,v 1.52 2004/12/18 08:52:11 guy Exp $ (LBL)
}
interface
uses
{$ifdef UNIX}
BaseUnix,
{$endif}
{$ifdef Windows}
WinSock, Windows,
{$endif}
Types, Sockets;
{$IFDEF FPC}
{$PACKRECORDS C}
{$ifndef NO_SMART_LINK}
{$smartlink on}
{$endif}
{$ENDIF}
const
{$ifdef unix}
{$linklib c}
PCAP_LIB_NAME = 'libpcap';
{$endif}
{$ifdef WINDOWS}
PCAP_LIB_NAME = 'wpcap';
{$endif}
PCAP_VERSION_MAJOR = 2;
PCAP_VERSION_MINOR = 4;
PCAP_ERRBUF_SIZE = 256;
{ interface is loopback }
PCAP_IF_LOOPBACK = $00000001;
{
* The first record in the file contains saved values for some
* of the flags used in the printout phases of tcpdump.
* Many fields here are 32 bit ints so compilers won't insert unwanted
* padding; these files need to be interchangeable across architectures.
*
* Do not change the layout of this structure, in any way (this includes
* changes that only affect the length of fields in this structure).
*
* Also, do not change the interpretation of any of the members of this
* structure, in any way (this includes using values other than
* LINKTYPE_ values, as defined in "savefile.c", in the "linktype"
* field).
*
* Instead:
*
* introduce a new structure for the new format, if the layout
* of the structure changed;
*
* send mail to "tcpdump-workers@tcpdump.org", requesting a new
* magic number for your new capture file format, and, when
* you get the new magic number, put it in "savefile.c";
*
* use that magic number for save files with the changed file
* header;
*
* make the code in "savefile.c" capable of reading files with
* the old file header as well as files with the new file header
* (using the magic number to determine the header format).
*
* Then supply the changes to "patches@tcpdump.org", so that future
* versions of libpcap and programs that use it (such as tcpdump) will
* be able to read your new capture file format.
}
{ gmt to local correction }
{ accuracy of timestamps }
{ max length saved portion of each pkt }
{ data link type (LINKTYPE_*) }
type
PPLongint = ^PLongint;
PPcap_File_Header = ^TPcap_File_Header;
TPcap_File_Header = record
magic : DWord;
version_major : Word;
version_minor : Word;
thiszone : Longint;
sigfigs : DWord;
snaplen : DWord;
linktype : DWord;
end;
PBPF_Insn = ^TBPF_Insn;
TBPF_Insn = record
code: Word;
jt: Byte;
jf: Byte;
k: DWord;
end;
PBPF_Program = ^TBPF_Program;
TBPF_Program = record
bf_len: PtrInt;
bf_insns: PBPF_Insn;
end;
PDirection = ^TDirection;
TDirection = (D_INOUT, D_IN, D_OUT);
{
* Each packet in the dump file is prepended with this generic header.
* This gets around the problem of different headers for different
* packet interfaces.
}
{ time stamp }
{ length of portion present }
{ length this packet (off wire) }
PPPcap_Pkthdr = ^PPcap_Pkthdr;
PPcap_Pkthdr = ^TPcap_Pkthdr;
TPcap_Pkthdr = record
ts : TTimeVal;
caplen : DWord;
len : DWord;
end;
{
* As returned by the pcap_stats()
}
{ number of packets received }
{ number of packets dropped }
{ drops by interface XXX not yet supported }
PPcap_Stat = ^TPcap_Stat;
TPcap_Stat = record
ps_recv : DWord;
ps_drop : DWord;
ps_ifdrop : DWord;
bs_capt : DWord;
end;
{
* Representation of an interface address.
}
{ address }
{ netmask for that address }
{ broadcast address for that address }
{ P2P destination address for that address }
PPcap_Addr = ^TPcap_Addr;
TPcap_Addr = record
next : PPcap_Addr;
addr : PSockAddr;
netmask : PSockAddr;
broadaddr : PSockAddr;
dstaddr : PSockAddr;
end;
{
* Item in a list of interfaces.
}
{ name to hand to "pcap_open_live()" }
{ textual description of interface, or NULL }
{ PCAP_IF_ interface flags }
PPPcap_If = ^PPcap_If;
PPcap_If = ^TPcap_If;
TPcap_If = record
next : PPcap_If;
name : PChar;
description : PChar;
addresses : PPcap_Addr;
flags : DWord;
end;
{ obfuscated C types }
PPcap = ^TPcap;
TPcap = record end;
PPcapDumper = ^TPcapDumper;
TPcapDumper = record end;
TPcapHandler = procedure (para1: PChar; Header: PPcap_Pkthdr; Data: PChar); cdecl;
function pcap_lookupdev(ErrBuf: PChar): PChar; cdecl; external PCAP_LIB_NAME;
function pcap_lookupnet(Device: PChar; NetP: PDword;
MaskP: PDword; ErrBuf: PChar): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_open_live(Device : PChar; SnapLen: Longint; Promisc: Longint;
to_ms: Longint; ebuf: PChar): PPcap; cdecl; external PCAP_LIB_NAME;
function pcap_open_dead(LinkType: Longint; SnapLen: Longint): PPcap; cdecl; external PCAP_LIB_NAME;
function pcap_open_offline(FileName: PChar; ErrBuf: PChar): PPcap; cdecl; external PCAP_LIB_NAME;
// function pcap_fopen_offline(para1:PFILE; para2:PChar): PPcap; cdecl; external PCAP_LIB_NAME;
procedure pcap_close(p :PPcap); cdecl; external PCAP_LIB_NAME;
function pcap_loop(p: PPcap; cnt: Longint; Callback: TPCapHandler; User: PChar): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_dispatch(p: PPcap; cnt: Longint; Callback: TPCapHandler; User: PChar): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_next(para1: PPcap; para2:PPcap_Pkthdr): PChar; cdecl; external PCAP_LIB_NAME;
function pcap_next_ex(para1: PPcap; para2:PPPcap_Pkthdr; para3:PPChar): Longint; cdecl; external PCAP_LIB_NAME;
procedure pcap_breakloop(para1:PPcap); cdecl; external PCAP_LIB_NAME;
function pcap_stats(para1: PPcap; para2:PPcap_Stat): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_setfilter(para1: PPcap; para2:PBPF_Program): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_setdirection(para1: PPcap; para2:TDirection): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_getnonblock(para1: PPcap; para2:PChar): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_setnonblock(para1: PPcap; para2: Longint; para3:PChar): Longint; cdecl; external PCAP_LIB_NAME;
procedure pcap_perror(para1: PPcap; para2:PChar); cdecl; external PCAP_LIB_NAME;
function pcap_inject(para1: PPcap; para2:pointer; para3: TSize): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_sendpacket(para1: PPcap; para2: PChar; para3:Longint): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_strerror(para1:Longint): PChar; cdecl; external PCAP_LIB_NAME;
function pcap_geterr(para1:PPcap): PChar; cdecl; external PCAP_LIB_NAME;
function pcap_compile(para1: PPcap; para2:PBPF_Program; para3: PChar; para4: Longint; para5:DWord): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_compile_nopcap(para1: Longint; para2: Longint; para3:PBPF_Program; para4: PChar; para5: Longint;
para6:DWord): Longint; cdecl; external PCAP_LIB_NAME;
procedure pcap_freecode(para1:PBPF_Program); cdecl; external PCAP_LIB_NAME;
function pcap_datalink(para1:PPcap): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_list_datalinks(para1: PPcap; para2:PPLongint): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_set_datalink(para1: PPcap; para2:Longint): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_datalink_name_to_val(para1:PChar): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_datalink_val_to_name(para1:Longint): PChar; cdecl; external PCAP_LIB_NAME;
function pcap_datalink_val_to_description(para1:Longint): PChar; cdecl; external PCAP_LIB_NAME;
function pcap_snapshot(para1:PPcap): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_is_swapped(para1:PPcap): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_major_version(para1:PPcap): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_minor_version(para1:PPcap): Longint; cdecl; external PCAP_LIB_NAME;
{ XXX }
// function pcap_file(para1:PPcap):PFILE; cdecl; external PCAP_LIB_NAME;
function pcap_fileno(para1:PPcap): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_dump_open(para1: PPcap; para2:PChar):PPCapDumper; cdecl; external PCAP_LIB_NAME;
// function pcap_dump_fopen(para1: PPcap; fp:PFILE):PPCapDumper; cdecl; external PCAP_LIB_NAME;
// function pcap_dump_file(para1:PPCapDumper):PFILE; cdecl; external PCAP_LIB_NAME;
function pcap_dump_ftell(para1:PPCapDumper): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_dump_flush(para1:PPCapDumper): Longint; cdecl; external PCAP_LIB_NAME;
procedure pcap_dump_close(para1:PPCapDumper); cdecl; external PCAP_LIB_NAME;
procedure pcap_dump(para1: PChar; para2:PPcap_Pkthdr; para3:PChar); cdecl; external PCAP_LIB_NAME;
function pcap_findalldevs(para1:PPPcap_If; para2:PChar): Longint; cdecl; external PCAP_LIB_NAME;
procedure pcap_freealldevs(para1:PPcap_If); cdecl; external PCAP_LIB_NAME;
function pcap_lib_version: PChar; cdecl; external PCAP_LIB_NAME;
{ XXX this guy lives in the bpf tree }
function bpf_filter(para1:Pbpf_insn; para2: PChar; para3:PtrInt; para4:PtrInt):PtrInt; cdecl; external PCAP_LIB_NAME;
function bpf_validate(f:Pbpf_insn; len:Longint): Longint; cdecl; external PCAP_LIB_NAME;
function bpf_image(para1:Pbpf_insn; para2:Longint): PChar; cdecl; external PCAP_LIB_NAME;
procedure bpf_dump(para1:PBPF_Program; para2:Longint); cdecl; external PCAP_LIB_NAME;
{$ifdef WINDOWS}
function pcap_setbuff(p: PPcap; dim:Longint): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_setmode(p: PPcap; mode:Longint): Longint; cdecl; external PCAP_LIB_NAME;
function pcap_setmintocopy(p: PPcap; size:Longint): Longint; cdecl; external PCAP_LIB_NAME;
{$endif}
{$ifdef unix}
function pcap_get_selectable_fd(para1:PPcap): Longint; cdecl; external PCAP_LIB_NAME;
{$endif}
implementation
end.