diff options
author | JP Abgrall <jpa@google.com> | 2014-02-12 14:04:01 -0800 |
---|---|---|
committer | JP Abgrall <jpa@google.com> | 2014-02-12 22:33:37 +0000 |
commit | 7830bfb3e58b8d9ba85d275666cbd3c0cc32b56c (patch) | |
tree | a7e2beb95ff5e0ae8093a9f046e74d8155ae72ae | |
parent | 53f17a9db278d33517d9888dd77848f554522a38 (diff) | |
download | tcpdump-7830bfb3e58b8d9ba85d275666cbd3c0cc32b56c.tar.gz |
Get it to work on Android
- Add NBBY define
- Add empty stubs for setprotent()/endprotoent()
- Pre-gen version.c
- Tweak config.h:
. undef stuff related to: bittypes.h hostton ntohost
HAVE_GETRPCBYNUMBER
Change-Id: I29e80f185f79084230e95c134834f137b42b6725
-rw-r--r-- | Android.mk | 57 | ||||
-rw-r--r-- | CleanSpec.mk | 49 | ||||
-rw-r--r-- | config.h | 370 | ||||
-rw-r--r-- | tcpdump-stdinc.h | 8 | ||||
-rw-r--r-- | version.c | 1 |
5 files changed, 485 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk new file mode 100644 index 00000000..348d8b0e --- /dev/null +++ b/Android.mk @@ -0,0 +1,57 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +tcpdump_CSRC = addrtoname.c af.c checksum.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \ + nlpid.c l2vpn.c machdep.c parsenfsfh.c in_cksum.c \ + print-802_11.c print-802_15_4.c print-ap1394.c print-ah.c \ + print-arcnet.c print-aodv.c print-arp.c print-ascii.c print-atalk.c \ + print-atm.c print-beep.c print-bfd.c print-bgp.c \ + print-bootp.c print-bt.c print-calm-fast.c print-carp.c print-cdp.c print-cfm.c \ + print-chdlc.c print-cip.c print-cnfp.c print-dccp.c print-decnet.c \ + print-domain.c print-dtp.c print-dvmrp.c print-enc.c print-egp.c \ + print-eap.c print-eigrp.c\ + print-esp.c print-ether.c print-fddi.c print-forces.c print-fr.c \ + print-geonet.c print-gre.c print-hsrp.c print-icmp.c print-igmp.c \ + print-igrp.c print-ip.c print-ipcomp.c print-ipfc.c print-ipnet.c \ + print-ipx.c print-isoclns.c print-juniper.c print-krb.c \ + print-l2tp.c print-lane.c print-ldp.c print-lldp.c print-llc.c \ + print-lmp.c print-lspping.c print-lwapp.c \ + print-lwres.c print-mobile.c print-mpcp.c print-mpls.c print-mptcp.c print-msdp.c \ + print-msnlb.c print-nflog.c print-nfs.c print-ntp.c print-null.c \ + print-olsr.c print-openflow.c print-openflow-1.0.c print-ospf.c \ + print-pgm.c print-pim.c \ + print-ppi.c print-ppp.c print-pppoe.c print-pptp.c \ + print-radius.c print-raw.c print-rip.c print-rpki-rtr.c print-rrcp.c print-rsvp.c \ + print-rx.c print-sctp.c print-sflow.c print-sip.c print-sl.c print-sll.c \ + print-slow.c print-snmp.c print-stp.c print-sunatm.c print-sunrpc.c \ + print-symantec.c print-syslog.c print-tcp.c print-telnet.c print-tftp.c \ + print-timed.c print-tipc.c print-token.c print-udld.c print-udp.c \ + print-usb.c print-vjc.c print-vqp.c print-vrrp.c print-vtp.c \ + print-wb.c print-zephyr.c print-zeromq.c print-vxlan.c print-otv.c signature.c setsignal.c tcpdump.c util.c + +tcpdump_LIBNETDISSECT_SRC=print-isakmp.c +tcpdump_LOCALSRC = print-ip6.c print-ip6opts.c print-mobility.c print-ripng.c print-icmp6.c print-frag6.c print-rt6.c print-ospf6.c print-dhcp6.c print-babel.c print-smb.c smbutil.c +tcpdump_GENSRC = version.c + +LOCAL_SRC_FILES:=\ + $(tcpdump_CSRC) $(tcpdump_LIBNETDISSECT_SRC) $(tcpdump_LOCALSRC) $(tcpdump_GENSRC) + +LOCAL_CFLAGS := -O2 -g +LOCAL_CFLAGS += -DHAVE_CONFIG_H -D_U_="__attribute__((unused))" + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/missing\ + external/openssl/include\ + external/libpcap + +LOCAL_SHARED_LIBRARIES += libssl libcrypto + +LOCAL_STATIC_LIBRARIES += libpcap + +LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) + +LOCAL_MODULE_TAGS := eng + +LOCAL_MODULE := tcpdump + +include $(BUILD_EXECUTABLE) diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 00000000..b84e1b65 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,49 @@ +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) + +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ diff --git a/config.h b/config.h new file mode 100644 index 00000000..83ef8158 --- /dev/null +++ b/config.h @@ -0,0 +1,370 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* define if you have the addrinfo function */ +#define HAVE_ADDRINFO 1 + +/* Define to 1 if you have the `alarm' function. */ +#define HAVE_ALARM 1 + +/* Define to 1 if you have the `bpf_dump' function. */ +#define HAVE_BPF_DUMP 1 + +/* Define to 1 if you have the declaration of `ether_ntohost', and to 0 if you + don't. */ +/* #undef HAVE_DECL_ETHER_NTOHOST */ + +/* define if you have the dnet_htoa function */ +/* #undef HAVE_DNET_HTOA */ + +/* Define to 1 if you have the `ether_ntohost' function. */ +/* #undef HAVE_ETHER_NTOHOST */ + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getnameinfo' function. */ +#define HAVE_GETNAMEINFO 1 + +/* define if you have getrpcbynumber() */ +/* #undef HAVE_GETRPCBYNUMBER */ + +/* define if you have the h_errno variable */ +#define HAVE_H_ERRNO 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `crypto' library (-lcrypto). */ +#define HAVE_LIBCRYPTO 1 + +/* Define to 1 if you have the `rpc' library (-lrpc). */ +/* #undef HAVE_LIBRPC */ + +/* Define to 1 if you have the `smi' library (-lsmi). */ +/* #undef HAVE_LIBSMI */ + +/* Define to 1 if you have the <memory.h> header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the <netdnet/dnetdb.h> header file. */ +/* #undef HAVE_NETDNET_DNETDB_H */ + +/* define if you have a dnet_htoa declaration in <netdnet/dnetdb.h> */ +/* #undef HAVE_NETDNET_DNETDB_H_DNET_HTOA */ + +/* Define to 1 if you have the <netinet/ether.h> header file. */ +#define HAVE_NETINET_ETHER_H 1 + +/* Define to 1 if you have the <netinet/if_ether.h> header file. */ +#define HAVE_NETINET_IF_ETHER_H 1 + +/* Define to 1 if you have the <net/pfvar.h> header file. */ +/* #undef HAVE_NET_PFVAR_H */ + +/* Define to 1 if you have the <openssl/evp.h> header file. */ +#define HAVE_OPENSSL_EVP_H 1 + +/* if there's an os_proto.h for this platform, to use additional prototypes */ +/* #undef HAVE_OS_PROTO_H */ + +/* Define to 1 if you have the <pcap/bluetooth.h> header file. */ +#define HAVE_PCAP_BLUETOOTH_H 1 + +/* Define to 1 if you have the `pcap_breakloop' function. */ +#define HAVE_PCAP_BREAKLOOP 1 + +/* Define to 1 if you have the `pcap_create' function. */ +#define HAVE_PCAP_CREATE 1 + +/* define if libpcap has pcap_datalink_name_to_val() */ +#define HAVE_PCAP_DATALINK_NAME_TO_VAL 1 + +/* define if libpcap has pcap_datalink_val_to_description() */ +#define HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION 1 + +/* define if libpcap has pcap_debug */ +/* #undef HAVE_PCAP_DEBUG */ + +/* Define to 1 if you have the `pcap_dump_flush' function. */ +#define HAVE_PCAP_DUMP_FLUSH 1 + +/* define if libpcap has pcap_dump_ftell() */ +#define HAVE_PCAP_DUMP_FTELL 1 + +/* Define to 1 if you have the `pcap_findalldevs' function. */ +#define HAVE_PCAP_FINDALLDEVS 1 + +/* Define to 1 if the system has the type `pcap_if_t'. */ +#define HAVE_PCAP_IF_T 1 + +/* Define to 1 if you have the `pcap_lib_version' function. */ +#define HAVE_PCAP_LIB_VERSION 1 + +/* define if libpcap has pcap_list_datalinks() */ +#define HAVE_PCAP_LIST_DATALINKS 1 + +/* Define to 1 if you have the <pcap/nflog.h> header file. */ +#define HAVE_PCAP_NFLOG_H 1 + +/* Define to 1 if you have the `pcap_setdirection' function. */ +#define HAVE_PCAP_SETDIRECTION 1 + +/* define if libpcap has pcap_set_datalink() */ +#define HAVE_PCAP_SET_DATALINK 1 + +/* Define to 1 if you have the `pcap_set_tstamp_type' function. */ +#define HAVE_PCAP_SET_TSTAMP_TYPE 1 + +/* Define to 1 if you have the <pcap/usb.h> header file. */ +#define HAVE_PCAP_USB_H 1 + +/* define if libpcap has pcap_version */ +/* #undef HAVE_PCAP_VERSION */ + +/* Define to 1 if you have the `pfopen' function. */ +/* #undef HAVE_PFOPEN */ + +/* Define to 1 if you have the <rpc/rpcent.h> header file. */ +/* #undef HAVE_RPC_RPCENT_H */ + +/* Define to 1 if you have the <rpc/rpc.h> header file. */ +#define HAVE_RPC_RPC_H 1 + +/* Define to 1 if you have the `setlinebuf' function. */ +#define HAVE_SETLINEBUF 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the `sigset' function. */ +/* #undef HAVE_SIGSET */ + +/* Define to 1 if you have the <smi.h> header file. */ +/* #undef HAVE_SMI_H */ + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* if struct sockaddr has the sa_len member */ +/* #undef HAVE_SOCKADDR_SA_LEN */ + +/* define if you have struct sockaddr_storage */ +#define HAVE_SOCKADDR_STORAGE 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strftime' function. */ +#define HAVE_STRFTIME 1 + +/* Define to 1 if you have the <strings.h> header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcat' function. */ +/* #undef HAVE_STRLCAT */ + +/* Define to 1 if you have the `strlcpy' function. */ +/* #undef HAVE_STRLCPY */ + +/* Define to 1 if you have the `strsep' function. */ +#define HAVE_STRSEP 1 + +/* Define to 1 if the system has the type `struct ether_addr'. */ +/* #undef HAVE_STRUCT_ETHER_ADDR */ + +/* Define to 1 if you have the <sys/bitypes.h> header file. */ +/* #undef HAVE_SYS_BITYPES_H */ + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* define if libpcap has yydebug */ +/* #undef HAVE_YYDEBUG */ + +/* define if your compiler has __attribute__ */ +#define HAVE___ATTRIBUTE__ 1 + +/* Define if you enable IPv6 support */ +#define INET6 1 + +/* if unaligned access fails */ +/* #undef LBL_ALIGN */ + +/* Define if you enable support for libsmi */ +/* #undef LIBSMI */ + +/* define if you need to include missing/addrinfo.h */ +/* #undef NEED_ADDRINFO_H */ + +/* Define to 1 if netinet/ether.h declares `ether_ntohost' */ +/* #undef NETINET_ETHER_H_DECLARES_ETHER_NTOHOST */ + +/* Define to 1 if netinet/if_ether.h declares `ether_ntohost' */ +/* #undef NETINET_IF_ETHER_H_DECLARES_ETHER_NTOHOST */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* define if the platform doesn't define PRId64 */ +/* #undef PRId64 */ + +/* define if the platform doesn't define PRIo64 */ +/* #undef PRIo64 */ + +/* define if the platform doesn't define PRIx64 */ +/* #undef PRIu64 */ + +/* define if the platform doesn't define PRIu64 */ +/* #undef PRIx64 */ + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* return value of signal handlers */ +#define RETSIGVAL /**/ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* define if you want to build the possibly-buggy SMB printer */ +#define TCPDUMP_DO_SMB 1 + +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +#define TIME_WITH_SYS_TIME 1 + +/* define if you have ether_ntohost() and it works */ +/* #undef USE_ETHER_NTOHOST */ + +/* define if should chroot when dropping privileges */ +/* #undef WITH_CHROOT */ + +/* define if should drop privileges by default */ +/* #undef WITH_USER */ + +/* get BSD semantics on Irix */ +/* #undef _BSD_SIGNALS */ + +/* define on AIX to get certain functions */ +/* #undef _SUN */ + +/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>, + <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT32_T */ + +/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>, + <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT64_T */ + +/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>, + <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT8_T */ + +/* define if your compiler allows __attribute__((format)) without a warning */ +#define __ATTRIBUTE___FORMAT_OK 1 + +/* define if your compiler allows __attribute__((format)) to be applied to + function pointers */ +#define __ATTRIBUTE___FORMAT_OK_FOR_FUNCTION_POINTERS 1 + +/* define if your compiler allows __attribute__((noreturn)) to be applied to + function pointers */ +#define __ATTRIBUTE___NORETURN_OK_FOR_FUNCTION_POINTERS 1 + +/* to handle Ultrix compilers that don't support const in prototypes */ +/* #undef const */ + +/* Define as token for inline if inlining supported */ +#define inline inline + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int16_t */ + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int32_t */ + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int64_t */ + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +/* #undef int8_t */ + +/* Define to `unsigned short' if u_int16_t not defined. */ +/* #undef u_int16_t */ + +/* Define to `unsigned int' if u_int32_t not defined. */ +/* #undef u_int32_t */ + +/* Define to `unsigned long long' if u_int64_t not defined. */ +/* #undef u_int64_t */ + +/* Define to `unsigned char' if u_int8_t not defined. */ +/* #undef u_int8_t */ + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint16_t */ + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint32_t */ + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint64_t */ + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint8_t */ diff --git a/tcpdump-stdinc.h b/tcpdump-stdinc.h index 1c587647..4866b599 100644 --- a/tcpdump-stdinc.h +++ b/tcpdump-stdinc.h @@ -127,6 +127,14 @@ typedef char* caddr_t; #include <arpa/inet.h> +#ifndef NBBY +#define NBBY 8 +#endif + +/* Doesn't exist on Android. */ +#define setprotoent(...) +#define endprotoent(...) + #endif /* WIN32 */ #ifndef HAVE___ATTRIBUTE__ diff --git a/version.c b/version.c new file mode 100644 index 00000000..6481d27e --- /dev/null +++ b/version.c @@ -0,0 +1 @@ +const char version[] = "4.5.1"; |