mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
packetdrill: add recipe for current git.
* doesn't work quite yet.
This commit is contained in:
55
net-misc/packetdrill/packetdrill-20160707.recipe
Normal file
55
net-misc/packetdrill/packetdrill-20160707.recipe
Normal file
@@ -0,0 +1,55 @@
|
||||
SUMMARY="A network testing scripting tool"
|
||||
DESCRIPTION="The packetdrill scripting tool enables quick, precise tests for \
|
||||
entire TCP/UDP/IPv4/IPv6 network stacks, from the system call layer down to \
|
||||
the NIC hardware. packetdrill currently works on Linux, FreeBSD, OpenBSD, \
|
||||
and NetBSD. It can test network stack behavior over physical NICs on a LAN, \
|
||||
or on a single machine using a tun virtual network device."
|
||||
HOMEPAGE="https://github.com/google/packetdrill"
|
||||
COPYRIGHT="2013-2016 Google Inc."
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
srcGitRev="a3d4338d16a03b32e12559d34a8064978bbaa717"
|
||||
SOURCE_URI="https://github.com/google/packetdrill/archive/$srcGitRev.tar.gz"
|
||||
CHECKSUM_SHA256="5b184075673299c08c7772a2a552e97758f3c2ec46c4bdacb37336452ba8562b"
|
||||
SOURCE_DIR="packetdrill-$srcGitRev"
|
||||
PATCHES="packetdrill-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64"
|
||||
SECONDARY_ARCHITECTURES="?x86 ?x86_gcc2"
|
||||
|
||||
PROVIDES="
|
||||
packetdrill$secondaryArchSuffix = $portVersion
|
||||
cmd:checksum_test
|
||||
cmd:packet_parser_test
|
||||
cmd:packet_to_string_test
|
||||
cmd:packetdrill
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libpcap
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libpcap
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cd gtests/net/packetdrill
|
||||
./configure
|
||||
CFLAGS=-D_BSD_SOURCE make
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd gtests/net/packetdrill
|
||||
mkdir -p $binDir $dataDir/packetdrill
|
||||
cp packetdrill packet_to_string_test \
|
||||
packet_parser_test checksum_test $binDir
|
||||
cp -R tests $dataDir/packetdrill
|
||||
}
|
||||
489
net-misc/packetdrill/patches/packetdrill-20160707.patchset
Normal file
489
net-misc/packetdrill/patches/packetdrill-20160707.patchset
Normal file
@@ -0,0 +1,489 @@
|
||||
From 8a62d1b05b74792d16f9448e24881af5319a6866 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 8 Oct 2016 14:45:19 +0000
|
||||
Subject: Haiku patch
|
||||
|
||||
|
||||
diff --git a/gtests/net/packetdrill/Makefile.Haiku b/gtests/net/packetdrill/Makefile.Haiku
|
||||
new file mode 100644
|
||||
index 0000000..7d332d0
|
||||
--- /dev/null
|
||||
+++ b/gtests/net/packetdrill/Makefile.Haiku
|
||||
@@ -0,0 +1,2 @@
|
||||
+packetdrill-ext-libs := -lnetwork -lpcap
|
||||
+include Makefile.common
|
||||
diff --git a/gtests/net/packetdrill/Makefile.common b/gtests/net/packetdrill/Makefile.common
|
||||
index 0ec741f..a98ffa8 100644
|
||||
--- a/gtests/net/packetdrill/Makefile.common
|
||||
+++ b/gtests/net/packetdrill/Makefile.common
|
||||
@@ -1,6 +1,6 @@
|
||||
all: binaries
|
||||
|
||||
-CFLAGS = -g -Wall -Werror
|
||||
+CFLAGS += -g -Wall -Werror
|
||||
|
||||
parser.o: parser.y
|
||||
bison --output=parser.c --defines=parser.h --report=state parser.y
|
||||
@@ -19,6 +19,7 @@ packetdrill-lib := \
|
||||
symbols_freebsd.o \
|
||||
symbols_openbsd.o \
|
||||
symbols_netbsd.o \
|
||||
+ symbols_haiku.o \
|
||||
gre_packet.o icmp_packet.o ip_packet.o tcp_packet.o udp_packet.o \
|
||||
mpls_packet.o \
|
||||
run.o run_command.o run_packet.o run_system_call.o \
|
||||
diff --git a/gtests/net/packetdrill/link_layer.c b/gtests/net/packetdrill/link_layer.c
|
||||
index 45f5b66..db38bbf 100644
|
||||
--- a/gtests/net/packetdrill/link_layer.c
|
||||
+++ b/gtests/net/packetdrill/link_layer.c
|
||||
@@ -66,7 +66,7 @@ void get_hw_address(const char *name, struct ether_addr *hw_address)
|
||||
|
||||
#else
|
||||
|
||||
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
||||
#include <net/if_types.h>
|
||||
#include <net/if_dl.h>
|
||||
#include <sys/types.h>
|
||||
diff --git a/gtests/net/packetdrill/netdev.c b/gtests/net/packetdrill/netdev.c
|
||||
index aeca2da..393c23d 100644
|
||||
--- a/gtests/net/packetdrill/netdev.c
|
||||
+++ b/gtests/net/packetdrill/netdev.c
|
||||
@@ -307,7 +307,7 @@ static void local_netdev_free(struct netdev *a_netdev)
|
||||
free(netdev);
|
||||
}
|
||||
|
||||
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
||||
/* According to `man 4 tun` on OpenBSD: "Each packet read or written
|
||||
* is prefixed with a tunnel header consisting of a 4-byte network
|
||||
* byte order integer containing the address family in the case of
|
||||
@@ -352,7 +352,7 @@ static int local_netdev_send(struct netdev *a_netdev,
|
||||
|
||||
DEBUGP("local_netdev_send\n");
|
||||
|
||||
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
||||
bsd_tun_write(netdev, packet);
|
||||
#endif /* defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) */
|
||||
|
||||
diff --git a/gtests/net/packetdrill/packet_socket_pcap.c b/gtests/net/packetdrill/packet_socket_pcap.c
|
||||
index 9b22101..1f9b629 100644
|
||||
--- a/gtests/net/packetdrill/packet_socket_pcap.c
|
||||
+++ b/gtests/net/packetdrill/packet_socket_pcap.c
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
#include <pcap/pcap.h>
|
||||
-#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
+#elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
||||
#include <pcap.h>
|
||||
#endif
|
||||
|
||||
@@ -71,8 +71,11 @@ extern void die_pcap_perror(pcap_t *pcap, char *message)
|
||||
|
||||
static void packet_socket_setup(struct packet_socket *psock)
|
||||
{
|
||||
+#ifndef __HAIKU__
|
||||
int data_link = -1, bpf_fd = -1, val = -1;
|
||||
-
|
||||
+#else
|
||||
+ int data_link = -1, bpf_fd = -1;
|
||||
+#endif
|
||||
DEBUGP("calling pcap_create() with %s\n", psock->name);
|
||||
psock->pcap = pcap_create(psock->name, psock->pcap_error);
|
||||
if (psock->pcap == NULL)
|
||||
@@ -96,9 +99,11 @@ static void packet_socket_setup(struct packet_socket *psock)
|
||||
* force the BPF device to return the first packet
|
||||
* immediately.
|
||||
*/
|
||||
+#ifndef __HAIKU__
|
||||
val = 1;
|
||||
if (ioctl(bpf_fd, BIOCIMMEDIATE, &val) < 0)
|
||||
die_perror("ioctl BIOCIMMEDIATE on bpf fd");
|
||||
+#endif
|
||||
|
||||
/* Find data link type. */
|
||||
data_link = pcap_datalink(psock->pcap);
|
||||
@@ -252,7 +257,7 @@ int packet_socket_receive(struct packet_socket *psock,
|
||||
(u32)pkt_header->ts.tv_sec,
|
||||
(u32)pkt_header->ts.tv_usec);
|
||||
|
||||
-#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
||||
packet->time_usecs = timeval_to_usecs(&pkt_header->ts);
|
||||
#elif defined(__OpenBSD__)
|
||||
packet->time_usecs = bpf_timeval_to_usecs(&pkt_header->ts);
|
||||
diff --git a/gtests/net/packetdrill/platforms.h b/gtests/net/packetdrill/platforms.h
|
||||
index 5fdda2c..b322dff 100644
|
||||
--- a/gtests/net/packetdrill/platforms.h
|
||||
+++ b/gtests/net/packetdrill/platforms.h
|
||||
@@ -92,5 +92,26 @@
|
||||
|
||||
#endif /* __NetBSD__ */
|
||||
|
||||
+/* ------------------------- Haiku --------------------- */
|
||||
+
|
||||
+#if defined(__HAIKU__)
|
||||
+
|
||||
+#include <sys/param.h>
|
||||
+#include <sys/sockio.h>
|
||||
+#define USE_LIBPCAP 1
|
||||
+#define TUN_PATH "/dev/tun0"
|
||||
+#define TUN_DEV "tun0"
|
||||
+#define IFF_RUNNING 0
|
||||
+#define IPPROTO_IPIP 4
|
||||
+#define IPPROTO_GRE 47
|
||||
+
|
||||
+#define HAVE_FMEMOPEN 1
|
||||
+#define HAVE_OPEN_MEMSTREAM 1
|
||||
+#include "fmemopen.h"
|
||||
+
|
||||
+#define __always_inline
|
||||
+
|
||||
+#endif /* __HAIKU__ */
|
||||
+
|
||||
|
||||
#endif /* __PLATFORMS_H__ */
|
||||
diff --git a/gtests/net/packetdrill/run.c b/gtests/net/packetdrill/run.c
|
||||
index a326019..e5a6b99 100644
|
||||
--- a/gtests/net/packetdrill/run.c
|
||||
+++ b/gtests/net/packetdrill/run.c
|
||||
@@ -407,7 +407,7 @@ void set_scheduling_priority(void)
|
||||
if (num_cpus <= 1)
|
||||
return;
|
||||
|
||||
-#if !defined(__OpenBSD__)
|
||||
+#if !defined(__OpenBSD__) && !defined(__HAIKU__)
|
||||
/* Chose a real-time policy, but use SCHED_RR instead of
|
||||
* SCHED_FIFO, so that we round-robin among real-time threads
|
||||
* of the same priority. In practice this shouldn't matter,
|
||||
@@ -434,8 +434,10 @@ void set_scheduling_priority(void)
|
||||
*/
|
||||
void lock_memory(void)
|
||||
{
|
||||
+#ifndef __HAIKU__
|
||||
if (mlockall(MCL_CURRENT | MCL_FUTURE))
|
||||
die_perror("lockall(MCL_CURRENT | MCL_FUTURE)");
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* Wait for and return the wall time at which we should start the
|
||||
diff --git a/gtests/net/packetdrill/run_system_call.c b/gtests/net/packetdrill/run_system_call.c
|
||||
index dcc57c3..535afe8 100644
|
||||
--- a/gtests/net/packetdrill/run_system_call.c
|
||||
+++ b/gtests/net/packetdrill/run_system_call.c
|
||||
@@ -37,10 +37,14 @@
|
||||
#include <string.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/socket.h>
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/syscall.h>
|
||||
+#endif
|
||||
#include <sys/types.h>
|
||||
#include <sys/uio.h>
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/sendfile.h>
|
||||
+#endif
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include "logging.h"
|
||||
@@ -56,7 +60,7 @@ static pid_t gettid(void)
|
||||
#ifdef linux
|
||||
return syscall(__NR_gettid);
|
||||
#endif
|
||||
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
||||
/* TODO(ncardwell): Implement me. XXX */
|
||||
return 0;
|
||||
#endif /* defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)*/
|
||||
@@ -1740,8 +1744,12 @@ static int syscall_sendfile(struct state *state, struct syscall_spec *syscall,
|
||||
int live_outfd, script_outfd;
|
||||
int live_infd, script_infd;
|
||||
int script_offset = 0;
|
||||
+#ifndef __HAIKU__
|
||||
off_t live_offset;
|
||||
int count, result;
|
||||
+#else
|
||||
+ int count;
|
||||
+#endif
|
||||
int status = STATUS_ERR;
|
||||
|
||||
if (check_arg_count(args, 4, error))
|
||||
@@ -1759,6 +1767,7 @@ static int syscall_sendfile(struct state *state, struct syscall_spec *syscall,
|
||||
if (s32_arg(args, 3, &count, error))
|
||||
return STATUS_ERR;
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
live_offset = script_offset;
|
||||
|
||||
begin_syscall(state, syscall);
|
||||
@@ -1766,6 +1775,7 @@ static int syscall_sendfile(struct state *state, struct syscall_spec *syscall,
|
||||
result = sendfile(live_outfd, live_infd, &live_offset, count);
|
||||
|
||||
status = end_syscall(state, syscall, CHECK_EXACT, result, error);
|
||||
+#endif
|
||||
|
||||
return status;
|
||||
}
|
||||
@@ -1885,7 +1895,7 @@ static int yield(void)
|
||||
#elif defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
pthread_yield();
|
||||
return 0;
|
||||
-#elif defined(__NetBSD__)
|
||||
+#elif defined(__NetBSD__) || defined(__HAIKU__)
|
||||
return sched_yield();
|
||||
#endif /* defined(__NetBSD__) */
|
||||
}
|
||||
diff --git a/gtests/net/packetdrill/symbols_haiku.c b/gtests/net/packetdrill/symbols_haiku.c
|
||||
new file mode 100644
|
||||
index 0000000..e3d8768
|
||||
--- /dev/null
|
||||
+++ b/gtests/net/packetdrill/symbols_haiku.c
|
||||
@@ -0,0 +1,230 @@
|
||||
+/*
|
||||
+ * Copyright 2013 Google Inc.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License
|
||||
+ * as published by the Free Software Foundation; either version 2
|
||||
+ * of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * 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. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
+ * 02110-1301, USA.
|
||||
+ */
|
||||
+/*
|
||||
+ * Definitions of strace-style symbols for HAIKU.
|
||||
+ * Allows us to map from symbolic strings to integers for system call inputs.
|
||||
+ */
|
||||
+
|
||||
+#if defined(__HAIKU__)
|
||||
+
|
||||
+#include "symbols.h"
|
||||
+
|
||||
+#include <errno.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <netinet/in.h>
|
||||
+#include <netinet/udp.h>
|
||||
+#include <poll.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <sys/socket.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <unistd.h>
|
||||
+
|
||||
+#include "tcp.h"
|
||||
+
|
||||
+/* A table of platform-specific string->int mappings. */
|
||||
+struct int_symbol platform_symbols_table[] = {
|
||||
+
|
||||
+ /* /usr/include/sys/socket.h */
|
||||
+ { SO_DEBUG, "SO_DEBUG" },
|
||||
+ { SO_ACCEPTCONN, "SO_ACCEPTCONN" },
|
||||
+ { SO_REUSEADDR, "SO_REUSEADDR" },
|
||||
+ { SO_KEEPALIVE, "SO_KEEPALIVE" },
|
||||
+ { SO_DONTROUTE, "SO_DONTROUTE" },
|
||||
+ { SO_BROADCAST, "SO_BROADCAST" },
|
||||
+ { SO_USELOOPBACK, "SO_USELOOPBACK" },
|
||||
+ { SO_LINGER, "SO_LINGER" },
|
||||
+ { SO_OOBINLINE, "SO_OOBINLINE" },
|
||||
+ { SO_REUSEPORT, "SO_REUSEPORT" },
|
||||
+ { SO_SNDBUF, "SO_SNDBUF" },
|
||||
+ { SO_RCVBUF, "SO_RCVBUF" },
|
||||
+ { SO_SNDLOWAT, "SO_SNDLOWAT" },
|
||||
+ { SO_RCVLOWAT, "SO_RCVLOWAT" },
|
||||
+ { SO_SNDTIMEO, "SO_SNDTIMEO" },
|
||||
+ { SO_RCVTIMEO, "SO_RCVTIMEO" },
|
||||
+ { SO_ERROR, "SO_ERROR" },
|
||||
+ { SO_TYPE, "SO_TYPE" },
|
||||
+
|
||||
+ /* /usr/include/netinet/tcp.h */
|
||||
+ { TCP_NODELAY, "TCP_NODELAY" },
|
||||
+ { TCP_MAXSEG, "TCP_MAXSEG" },
|
||||
+ { TCP_NOPUSH, "TCP_NOPUSH" },
|
||||
+ { TCP_NOOPT, "TCP_NOOPT" },
|
||||
+
|
||||
+ /* /usr/include/sys/fcntl.h */
|
||||
+ { O_RDONLY, "O_RDONLY" },
|
||||
+ { O_WRONLY, "O_WRONLY" },
|
||||
+ { O_RDWR, "O_RDWR" },
|
||||
+ { O_ACCMODE, "O_ACCMODE" },
|
||||
+ { O_NONBLOCK, "O_NONBLOCK" },
|
||||
+ { O_APPEND, "O_APPEND" },
|
||||
+ { O_SYNC, "O_SYNC" },
|
||||
+ { O_NOFOLLOW, "O_NOFOLLOW" },
|
||||
+ { O_CREAT, "O_CREAT" },
|
||||
+ { O_TRUNC, "O_TRUNC" },
|
||||
+ { O_EXCL, "O_EXCL" },
|
||||
+ { O_NOCTTY, "O_NOCTTY" },
|
||||
+ { O_DIRECT, "O_DIRECT" },
|
||||
+ { O_DIRECTORY, "O_DIRECTORY" },
|
||||
+ { O_CLOEXEC, "O_CLOEXEC" },
|
||||
+ { O_NDELAY, "O_NDELAY" },
|
||||
+ { AT_FDCWD, "AT_FDCWD" },
|
||||
+ { AT_EACCESS, "AT_EACCESS" },
|
||||
+ { AT_SYMLINK_NOFOLLOW, "AT_SYMLINK_NOFOLLOW" },
|
||||
+ { AT_SYMLINK_FOLLOW, "AT_SYMLINK_FOLLOW" },
|
||||
+ { AT_REMOVEDIR, "AT_REMOVEDIR" },
|
||||
+ { F_DUPFD, "F_DUPFD" },
|
||||
+ { F_GETFD, "F_GETFD" },
|
||||
+ { F_SETFD, "F_SETFD" },
|
||||
+ { F_GETFL, "F_GETFL" },
|
||||
+ { F_SETFL, "F_SETFL" },
|
||||
+ { F_GETLK, "F_GETLK" },
|
||||
+ { F_SETLK, "F_SETLK" },
|
||||
+ { F_SETLKW, "F_SETLKW" },
|
||||
+ { FD_CLOEXEC, "FD_CLOEXEC" },
|
||||
+ { F_RDLCK, "F_RDLCK" },
|
||||
+ { F_UNLCK, "F_UNLCK" },
|
||||
+ { F_WRLCK, "F_WRLCK" },
|
||||
+
|
||||
+ /* /usr/include/sys/unistd.h */
|
||||
+ { SEEK_SET, "SEEK_SET" },
|
||||
+ { SEEK_CUR, "SEEK_CUR" },
|
||||
+ { SEEK_END, "SEEK_END" },
|
||||
+
|
||||
+ /* /usr/include/sys/socket.h */
|
||||
+ { MSG_OOB, "MSG_OOB" },
|
||||
+ { MSG_PEEK, "MSG_PEEK" },
|
||||
+ { MSG_DONTROUTE, "MSG_DONTROUTE" },
|
||||
+ { MSG_EOR, "MSG_EOR" },
|
||||
+ { MSG_TRUNC, "MSG_TRUNC" },
|
||||
+ { MSG_CTRUNC, "MSG_CTRUNC" },
|
||||
+ { MSG_WAITALL, "MSG_WAITALL" },
|
||||
+ { MSG_DONTWAIT, "MSG_DONTWAIT" },
|
||||
+ { MSG_EOF, "MSG_EOF" },
|
||||
+ { MSG_NOSIGNAL, "MSG_NOSIGNAL" },
|
||||
+
|
||||
+ /* /usr/include/sys/filio.h */
|
||||
+ { FIONREAD, "FIONREAD" },
|
||||
+ { FIONBIO, "FIONBIO" },
|
||||
+
|
||||
+ /* /usr/include/sys/poll.h */
|
||||
+ { POLLIN, "POLLIN" },
|
||||
+ { POLLPRI, "POLLPRI" },
|
||||
+ { POLLOUT, "POLLOUT" },
|
||||
+ { POLLRDNORM, "POLLRDNORM" },
|
||||
+ { POLLWRNORM, "POLLWRNORM" },
|
||||
+ { POLLRDBAND, "POLLRDBAND" },
|
||||
+ { POLLWRBAND, "POLLWRBAND" },
|
||||
+ { POLLERR, "POLLERR" },
|
||||
+ { POLLHUP, "POLLHUP" },
|
||||
+ { POLLNVAL, "POLLNVAL" },
|
||||
+
|
||||
+ /* /usr/include/sys/errno.h */
|
||||
+ { EPERM, "EPERM" },
|
||||
+ { ENOENT, "ENOENT" },
|
||||
+ { ESRCH, "ESRCH" },
|
||||
+ { EINTR, "EINTR" },
|
||||
+ { EIO, "EIO" },
|
||||
+ { ENXIO, "ENXIO" },
|
||||
+ { E2BIG, "E2BIG" },
|
||||
+ { ENOEXEC, "ENOEXEC" },
|
||||
+ { EBADF, "EBADF" },
|
||||
+ { ECHILD, "ECHILD" },
|
||||
+ { EDEADLK, "EDEADLK" },
|
||||
+ { ENOMEM, "ENOMEM" },
|
||||
+ { EACCES, "EACCES" },
|
||||
+ { EFAULT, "EFAULT" },
|
||||
+ { EBUSY, "EBUSY" },
|
||||
+ { EEXIST, "EEXIST" },
|
||||
+ { EXDEV, "EXDEV" },
|
||||
+ { ENODEV, "ENODEV" },
|
||||
+ { ENOTDIR, "ENOTDIR" },
|
||||
+ { EISDIR, "EISDIR" },
|
||||
+ { EINVAL, "EINVAL" },
|
||||
+ { ENFILE, "ENFILE" },
|
||||
+ { EMFILE, "EMFILE" },
|
||||
+ { ENOTTY, "ENOTTY" },
|
||||
+ { ETXTBSY, "ETXTBSY" },
|
||||
+ { EFBIG, "EFBIG" },
|
||||
+ { ENOSPC, "ENOSPC" },
|
||||
+ { ESPIPE, "ESPIPE" },
|
||||
+ { EROFS, "EROFS" },
|
||||
+ { EMLINK, "EMLINK" },
|
||||
+ { EPIPE, "EPIPE" },
|
||||
+ { EDOM, "EDOM" },
|
||||
+ { ERANGE, "ERANGE" },
|
||||
+ { EAGAIN, "EAGAIN" },
|
||||
+ { EWOULDBLOCK, "EWOULDBLOCK" },
|
||||
+ { EINPROGRESS, "EINPROGRESS" },
|
||||
+ { EALREADY, "EALREADY" },
|
||||
+ { ENOTSOCK, "ENOTSOCK" },
|
||||
+ { EDESTADDRREQ, "EDESTADDRREQ" },
|
||||
+ { EMSGSIZE, "EMSGSIZE" },
|
||||
+ { EPROTOTYPE, "EPROTOTYPE" },
|
||||
+ { ENOPROTOOPT, "ENOPROTOOPT" },
|
||||
+ { EPROTONOSUPPORT, "EPROTONOSUPPORT" },
|
||||
+ { EOPNOTSUPP, "EOPNOTSUPP" },
|
||||
+ { ENOTSUP, "ENOTSUP" },
|
||||
+ { EPFNOSUPPORT, "EPFNOSUPPORT" },
|
||||
+ { EAFNOSUPPORT, "EAFNOSUPPORT" },
|
||||
+ { EADDRINUSE, "EADDRINUSE" },
|
||||
+ { EADDRNOTAVAIL, "EADDRNOTAVAIL" },
|
||||
+ { ENETDOWN, "ENETDOWN" },
|
||||
+ { ENETUNREACH, "ENETUNREACH" },
|
||||
+ { ENETRESET, "ENETRESET" },
|
||||
+ { ECONNABORTED, "ECONNABORTED" },
|
||||
+ { ECONNRESET, "ECONNRESET" },
|
||||
+ { ENOBUFS, "ENOBUFS" },
|
||||
+ { EISCONN, "EISCONN" },
|
||||
+ { ENOTCONN, "ENOTCONN" },
|
||||
+ { ESHUTDOWN, "ESHUTDOWN" },
|
||||
+ { ETIMEDOUT, "ETIMEDOUT" },
|
||||
+ { ECONNREFUSED, "ECONNREFUSED" },
|
||||
+ { ELOOP, "ELOOP" },
|
||||
+ { ENAMETOOLONG, "ENAMETOOLONG" },
|
||||
+ { EHOSTDOWN, "EHOSTDOWN" },
|
||||
+ { EHOSTUNREACH, "EHOSTUNREACH" },
|
||||
+ { ENOTEMPTY, "ENOTEMPTY" },
|
||||
+ { EDQUOT, "EDQUOT" },
|
||||
+ { ESTALE, "ESTALE" },
|
||||
+ { ENOLCK, "ENOLCK" },
|
||||
+ { ENOSYS, "ENOSYS" },
|
||||
+ { EIDRM, "EIDRM" },
|
||||
+ { ENOMSG, "ENOMSG" },
|
||||
+ { EOVERFLOW, "EOVERFLOW" },
|
||||
+ { ECANCELED, "ECANCELED" },
|
||||
+ { EILSEQ, "EILSEQ" },
|
||||
+ { ENOATTR, "ENOATTR" },
|
||||
+ { EBADMSG, "EBADMSG" },
|
||||
+ { EMULTIHOP, "EMULTIHOP" },
|
||||
+ { ENOLINK, "ENOLINK" },
|
||||
+ { EPROTO, "EPROTO" },
|
||||
+
|
||||
+ /* Sentinel marking the end of the table. */
|
||||
+ { 0, NULL },
|
||||
+};
|
||||
+
|
||||
+struct int_symbol *platform_symbols(void)
|
||||
+{
|
||||
+ return platform_symbols_table;
|
||||
+}
|
||||
+
|
||||
+#endif /* __HAIKU__ */
|
||||
diff --git a/gtests/net/packetdrill/tcp.h b/gtests/net/packetdrill/tcp.h
|
||||
index b29bfb6..a4f81e5 100644
|
||||
--- a/gtests/net/packetdrill/tcp.h
|
||||
+++ b/gtests/net/packetdrill/tcp.h
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
#include <netinet/tcp.h>
|
||||
|
||||
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
||||
#define SOL_TCP IPPROTO_TCP
|
||||
#endif /* defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) */
|
||||
|
||||
--
|
||||
2.2.2
|
||||
|
||||
Reference in New Issue
Block a user