diff options
author | Elliott Hughes <enh@google.com> | 2018-06-27 12:29:06 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2018-06-27 12:29:06 -0700 |
commit | e5a5eec5e588957aba2582ef25795bb3b573669f (patch) | |
tree | fda9d6bfc6e3273c90e94928f4a0f4514ac17758 | |
parent | 92c6f7ee9014f434fbcce89ab894c745e36732d2 (diff) | |
download | bionic-e5a5eec5e588957aba2582ef25795bb3b573669f.tar.gz |
<netinet/ip_icmp.h>: ensure struct icmphdr is available.
Needed to build toybox ping.
Bug: N/A
Test: ran tests
Change-Id: Ifd0f0ccbb8351c6a0ece526b050778fd02e984bf
-rw-r--r-- | libc/include/netinet/ip_icmp.h | 4 | ||||
-rw-r--r-- | tests/Android.bp | 1 | ||||
-rw-r--r-- | tests/netinet_ip_icmp_test.cpp | 30 |
3 files changed, 34 insertions, 1 deletions
diff --git a/libc/include/netinet/ip_icmp.h b/libc/include/netinet/ip_icmp.h index 75105927f..d6f89bc2f 100644 --- a/libc/include/netinet/ip_icmp.h +++ b/libc/include/netinet/ip_icmp.h @@ -35,9 +35,11 @@ #ifndef _NETINET_IP_ICMP_H_ #define _NETINET_IP_ICMP_H_ -#include <netinet/ip.h> #include <sys/cdefs.h> +#include <linux/icmp.h> +#include <netinet/ip.h> + __BEGIN_DECLS /* diff --git a/tests/Android.bp b/tests/Android.bp index 707d0fece..00f285657 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -108,6 +108,7 @@ cc_test_library { "net_if_test.cpp", "netinet_ether_test.cpp", "netinet_in_test.cpp", + "netinet_ip_icmp_test.cpp", "netinet_udp_test.cpp", "nl_types_test.cpp", "pthread_test.cpp", diff --git a/tests/netinet_ip_icmp_test.cpp b/tests/netinet_ip_icmp_test.cpp new file mode 100644 index 000000000..b3b4f65e8 --- /dev/null +++ b/tests/netinet_ip_icmp_test.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2018 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. + */ + +#include <netinet/ip_icmp.h> + +#include <gtest/gtest.h> + +TEST(netinet_ip_icmp, struct_icmphdr) { + icmphdr hdr = { .type = ICMP_ECHO }; + ASSERT_EQ(ICMP_ECHO, hdr.type); + ASSERT_EQ(0, hdr.code); + ASSERT_EQ(0, hdr.checksum); + ASSERT_EQ(0, hdr.un.echo.id); + ASSERT_EQ(0, hdr.un.echo.sequence); + ASSERT_EQ(0U, hdr.un.gateway); + ASSERT_EQ(0, hdr.un.frag.mtu); +} |