Hello, Could you help to review?
CC: Alexey Thanks and best regards, Zeng On Mon, 2015-08-31 at 18:15 +0800, Zeng Linggang wrote: > Signed-off-by: Zeng Linggang <zenglg...@cn.fujitsu.com> > Signed-off-by: Alexey Kodanev <alexey.koda...@oracle.com> > Signed-off-by: Cyril Hrubis <chru...@suse.cz> > --- > runtest/ipv6_lib | 4 - > testcases/network/.gitignore | 4 - > testcases/network/lib6/Makefile | 4 - > testcases/network/lib6/asapi_01.c | 251 ---------------------------- > testcases/network/lib6/asapi_02.c | 338 > -------------------------------------- > testcases/network/lib6/asapi_03.c | 234 -------------------------- > testcases/network/lib6/asapi_05.c | 119 +------------- > testcases/network/lib6/asapi_07.c | 144 ---------------- > testcases/network/lib6/runcc.c | 209 ----------------------- > testcases/network/lib6/runcc.h | 30 ---- > 10 files changed, 1 insertion(+), 1336 deletions(-) > delete mode 100644 testcases/network/lib6/asapi_01.c > delete mode 100644 testcases/network/lib6/asapi_02.c > delete mode 100644 testcases/network/lib6/asapi_03.c > delete mode 100644 testcases/network/lib6/asapi_07.c > delete mode 100644 testcases/network/lib6/runcc.c > delete mode 100644 testcases/network/lib6/runcc.h > > diff --git a/runtest/ipv6_lib b/runtest/ipv6_lib > index 75614fb..203e275 100644 > --- a/runtest/ipv6_lib > +++ b/runtest/ipv6_lib > @@ -2,10 +2,6 @@ > in6_01 in6_01 > in6_02 in6_02 > getaddrinfo_01 getaddrinfo_01 > -asapi_01 asapi_01 > -asapi_02 asapi_02 > -asapi_03 asapi_03 > asapi_04 asapi_04 > asapi_05 asapi_05 > asapi_06 asapi_06 > -asapi_07 asapi_07 > diff --git a/testcases/network/.gitignore b/testcases/network/.gitignore > index aa6d4da..18b0203 100644 > --- a/testcases/network/.gitignore > +++ b/testcases/network/.gitignore > @@ -1,13 +1,9 @@ > /can/filter-tests/can_filter > /can/filter-tests/can_rcv_own_msgs > /datafiles/ > -/lib6/asapi_01 > -/lib6/asapi_02 > -/lib6/asapi_03 > /lib6/asapi_04 > /lib6/asapi_05 > /lib6/asapi_06 > -/lib6/asapi_07 > /lib6/getaddrinfo_01 > /lib6/in6_01 > /lib6/in6_02 > diff --git a/testcases/network/lib6/Makefile b/testcases/network/lib6/Makefile > index e337938..e9fde3b 100644 > --- a/testcases/network/lib6/Makefile > +++ b/testcases/network/lib6/Makefile > @@ -31,8 +31,4 @@ LDLIBS += -lpthread > > CLEAN_TARGETS += $(LIB) > > -FILTER_OUT_MAKE_TARGETS := runcc > - > include $(top_srcdir)/include/mk/generic_leaf_target.mk > - > -$(MAKE_TARGETS): %: %.o runcc.o > diff --git a/testcases/network/lib6/asapi_01.c > b/testcases/network/lib6/asapi_01.c > deleted file mode 100644 > index 5d8bdc7..0000000 > --- a/testcases/network/lib6/asapi_01.c > +++ /dev/null > @@ -1,251 +0,0 @@ > -/* > - * > - * Copyright (c) International Business Machines Corp., 2001 > - * Author: David L Stevens > - * > - * 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 > - */ > -/* > - * Description: > - * These tests are for the "Advanced Sockets API" (RFC 3542) > - * Verify that in6 and sockaddr fields are present. > - */ > - > -#include <stdio.h> > -#include <unistd.h> > -#include <errno.h> > - > -#include <sys/wait.h> > - > -#include <netinet/ip6.h> > - > -#include "test.h" > -#include "runcc.h" > - > -enum ttype { EXISTS, ALIAS, VALUE }; > - > -static struct ftent { > - char *ft_tname; /* test name */ > - int ft_type; /* test type */ > - char *ft_incl; /* include file list */ > - char *ft_struct; /* structure name */ > - char *ft_field; /* field name */ > - char *ft_offset; /* field offset */ > - union { > - char *fu_value; /* field size or value */ > - char *fu_dname; /* #define name */ > - } ftun; > -#define ft_value ftun.fu_value > -#define ft_dname ftun.fu_dname > -} ftab[] = { > - /* section 2.1 structure & field definitions */ > - { "ip6_hdr un1_flow", EXISTS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un1.ip6_un1_flow", "0", {"4"} }, > - { "ip6_hdr ip6_flow", ALIAS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un1.ip6_un1_flow", NULL, {"ip6_flow"} }, > - { "ip6_hdr un1_plen", EXISTS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un1.ip6_un1_plen", "4", {"2"} }, > - { "ip6_hdr ip6_plen", ALIAS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un1.ip6_un1_plen", "4", {"ip6_plen"} }, > - { "ip6_hdr un1_nxt", EXISTS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un1.ip6_un1_nxt", "6", {"1"} }, > - { "ip6_hdr ip6_nxt", ALIAS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un1.ip6_un1_nxt", NULL, {"ip6_nxt"} }, > - { "ip6_hdr un1_hlim", EXISTS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un1.ip6_un1_hlim", "7", {"1"} }, > - { "ip6_hdr ip6_hlim", ALIAS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un1.ip6_un1_hlim", NULL, {"ip6_hlim"} }, > - { "ip6_hdr un1_vfc", EXISTS, IP6_H, "ip6_hdr", > - "ip6_ctlun.ip6_un2_vfc", "0", {"1"} }, > - { "ip6_hdr ip6_src", EXISTS, IP6_H, "ip6_hdr", > - "ip6_src", "sizeof(struct ip6_hdrctl)", > - {"sizeof(struct in6_addr)"} }, > - { "ip6_hdr ip6_dst", EXISTS, IP6_H, "ip6_hdr", "ip6_dst", > - "(sizeof(struct ip6_hdrctl)+sizeof(struct in6_addr))", > - {"sizeof(struct in6_addr)"} }, > - /* section 2.2 structure and field definitions */ > - { "IPPROTO_HOPOPTS", VALUE, IN_H, "IPPROTO_HOPOPTS", > - NULL, NULL, {"0"} }, > - { "IPPROTO_IPV6", VALUE, IN_H, "IPPROTO_IPV6", > - NULL, NULL, {"41"} }, > - { "IPPROTO_ROUTING", VALUE, IN_H, "IPPROTO_ROUTING", > - NULL, NULL, {"43"} }, > - { "IPPROTO_FRAGMENT", VALUE, IN_H, "IPPROTO_FRAGMENT", > - NULL, NULL, {"44"} }, > - { "IPPROTO_ESP", VALUE, IN_H, "IPPROTO_ESP", > - NULL, NULL, {"50"} }, > - { "IPPROTO_AH", VALUE, IN_H, "IPPROTO_AH", > - NULL, NULL, {"51"} }, > - { "IPPROTO_ICMPV6", VALUE, IN_H, "IPPROTO_ICMPV6", > - NULL, NULL, {"58"} }, > - { "IPPROTO_NONE", VALUE, IN_H, "IPPROTO_NONE", > - NULL, NULL, {"59"} }, > - { "IPPROTO_DSTOPTS", VALUE, IN_H, "IPPROTO_DSTOPTS", > - NULL, NULL, {"60"} }, > - /* ip6_hbh */ > - { "ip6_hbh ip6h_nxt", EXISTS, IP6_H, "ip6_hbh", > - "ip6h_nxt", "0", {"1"} }, > - { "ip6_hbh ip6h_nxt", EXISTS, IP6_H, "ip6_hbh", > - "ip6h_len", "1", {"1"} }, > - /* ip6_dest */ > - { "ip6_dest ip6d_nxt", EXISTS, IP6_H, "ip6_dest", > - "ip6d_nxt", "0", {"1"} }, > - { "ip6_dest ip6d_nxt", EXISTS, IP6_H, "ip6_dest", > - "ip6d_len", "1", {"1"} }, > - /* ip6_rthdr0 */ > - { "ip6_rthdr0 ip6r0_nxt", EXISTS, IP6_H, "ip6_rthdr0", > - "ip6r0_nxt", "0", {"1"} }, > - { "ip6_rthdr0 ip6r0_len", EXISTS, IP6_H, "ip6_rthdr0", > - "ip6r0_len", "1", {"1"} }, > - { "ip6_rthdr0 ip6r0_type", EXISTS, IP6_H, "ip6_rthdr0", > - "ip6r0_type", "2", {"1"} }, > - { "ip6_rthdr0 ip6r0_segleft", EXISTS, IP6_H, "ip6_rthdr0", > - "ip6r0_segleft", "3", {"1"} }, > - { "ip6_rthdr0 ip6r0_reserved", EXISTS, IP6_H, "ip6_rthdr0", > - "ip6r0_reserved", "4", {"1"} }, > - /* ip6_frag */ > - { "ip6_frag ip6f_nxt", EXISTS, IP6_H, "ip6_frag", > - "ip6f_nxt", "0", {"1"} }, > - { "ip6_frag ip6f_reserved", EXISTS, IP6_H, "ip6_frag", > - "ip6f_reserved", "1", {"1"} }, > - { "ip6_frag ip6f_offlg", EXISTS, IP6_H, "ip6_frag", > - "ip6f_offlg", "2", {"2"} }, > - { "ip6_frag ip6f_ident", EXISTS, IP6_H, "ip6_frag", > - "ip6f_ident", "4", {"4"} }, > - { "IP6F_OFF_MASK", VALUE, IP6_H, "IP6F_OFF_MASK", > - NULL, NULL, {"htons(0xfff8)"} }, > - { "IP6F_RESERVED_MASK", VALUE, IP6_H, "IP6F_RESERVED_MASK", > - NULL, NULL, {"htons(0x0006)"} }, > - { "IP6F_MORE_FRAG", VALUE, IP6_H, "IP6F_MORE_FRAG", > - NULL, NULL, {"htons(0x0001)"} }, > - { "IP6OPT_TYPE", VALUE, IP6_H, "IP6OPT_TYPE(0xff)", > - NULL, NULL, {"0xc0"} }, > - { "IP6OPT_TYPE_SKIP", VALUE, IP6_H, "IP6OPT_TYPE_SKIP", > - NULL, NULL, {"0x00"} }, > - { "IP6OPT_TYPE_DISCARD", VALUE, IP6_H, "IP6OPT_TYPE_DISCARD", > - NULL, NULL, {"0x40"} }, > - { "IP6OPT_TYPE_FORCEICMP", VALUE, IP6_H, "IP6OPT_TYPE_FORCEICMP", > - NULL, NULL, {"0x80"} }, > - { "IP6OPT_TYPE_ICMP", VALUE, IP6_H, "IP6OPT_TYPE_ICMP", > - NULL, NULL, {"0xc0"} }, > - { "IP6OPT_TYPE_MUTABLE", VALUE, IP6_H, "IP6OPT_TYPE_MUTABLE", > - NULL, NULL, {"0x20"} }, > - { "IP6OPT_PAD1", VALUE, IP6_H, "IP6OPT_PAD1", > - NULL, NULL, {"0x00"} }, > - { "IP6OPT_PADN", VALUE, IP6_H, "IP6OPT_PADN", > - NULL, NULL, {"0x01"} }, > - { "IP6OPT_JUMBO", VALUE, IP6_H, "IP6OPT_JUMBO", > - NULL, NULL, {"0xc2"} }, > - { "IP6OPT_NSAP_ADDR", VALUE, IP6_H, "IP6OPT_NSAP_ADDR", > - NULL, NULL, {"0xc3"} }, > - { "IP6OPT_TUNNEL_LIMIT", VALUE, IP6_H, "IP6OPT_TUNNEL_LIMIT", > - NULL, NULL, {"0x04"} }, > - { "IP6OPT_ROUTER_ALERT", VALUE, IP6_H, "IP6OPT_ROUTER_ALERT", > - NULL, NULL, {"0x05"} }, > - /* ip6_opt_jumbo */ > - { "ip6_opt_jumbo ip6oj_type", EXISTS, IP6_H, "ip6_opt_jumbo", > - "ip6oj_type", "0", {"1"} }, > - { "ip6_opt_jumbo ip6oj_len", EXISTS, IP6_H, "ip6_opt_jumbo", > - "ip6oj_len", "1", {"1"} }, > - { "ip6_opt_jumbo ip6oj_jumbo_len element", EXISTS, IP6_H, > - "ip6_opt_jumbo", "ip6oj_jumbo_len[0]", "2", {"1"} }, > - { "ip6_opt_jumbo ip6oj_jumbo_len array", EXISTS, IP6_H, > - "ip6_opt_jumbo", "ip6oj_jumbo_len", "2", {"4"} }, > - /* ip6_opt_nsap */ > - { "ip6_opt_nsap ip6on_type", EXISTS, IP6_H, "ip6_opt_nsap", > - "ip6on_type", "0", {"1"} }, > - { "ip6_opt_nsap ip6on_len", EXISTS, IP6_H, "ip6_opt_nsap", > - "ip6on_len", "1", {"1"} }, > - { "ip6_opt_nsap ip6on_src_nsap_len", EXISTS, IP6_H, > - "ip6_opt_nsap", "ip6on_src_nsap_len", "2", {"1"} }, > - { "ip6_opt_nsap ip6on_dst_nsap_len", EXISTS, IP6_H, > - "ip6_opt_nsap", "ip6on_dst_nsap_len", "3", {"1"} }, > - /* ip6_opt_tunnel */ > - { "ip6_opt_tunnel ip6ot_type", EXISTS, IP6_H, > - "ip6_opt_tunnel", "ip6ot_type", "0", {"1"} }, > - { "ip6_opt_tunnel ip6ot_len", EXISTS, IP6_H, > - "ip6_opt_tunnel", "ip6ot_len", "1", {"1"} }, > - { "ip6_opt_tunnel ip6ot_encap_limit", EXISTS, IP6_H, > - "ip6_opt_tunnel", "ip6ot_encap_limit", "2", {"1"} }, > - /* ip6_opt_router */ > - { "ip6_opt_router ip6or_type", EXISTS, IP6_H, > - "ip6_opt_router", "ip6or_type", "0", {"1"} }, > - { "ip6_opt_router ip6or_len", EXISTS, IP6_H, > - "ip6_opt_router", "ip6or_len", "1", {"1"} }, > - { "ip6_opt_router ip6or_value element", EXISTS, IP6_H, > - "ip6_opt_router", "ip6or_value[0]", "2", {"1"} }, > - { "ip6_opt_router ip6or_value array", EXISTS, IP6_H, > - "ip6_opt_router", "ip6or_value", "2", {"2"} }, > - /* IP6_ALERT_* definitions */ > - { "IP6_ALERT_MLD", VALUE, IP6_H, "IP6_ALERT_MLD", > - NULL, NULL, {"0"} }, > - { "IP6_ALERT_RSVP", VALUE, IP6_H, "IP6_ALERT_RSVP", > - NULL, NULL, {"htons(1)"} }, > - { "IP6_ALERT_AN", VALUE, IP6_H, "IP6_ALERT_AN", > - NULL, NULL, {"htons(2)"} }, > -}; > - > -static void setup(void); > -static void do_test(const struct ftent *); > - > -char *TCID = "asapi_01"; > -int TST_TOTAL = ARRAY_SIZE(ftab); > - > -int main(int argc, char *argv[]) > -{ > - int i, lc; > - > - tst_parse_opts(argc, argv, NULL, NULL); > - > - setup(); > - > - for (lc = 0; TEST_LOOPING(lc); ++lc) { > - tst_count = 0; > - > - for (i = 0; i < TST_TOTAL; i++) > - do_test(&ftab[i]); > - } > - > - tst_exit(); > -} > - > -void setup(void) > -{ > - TEST_PAUSE; > -} > - > -void do_test(const struct ftent *ftptr) > -{ > - switch (ftptr->ft_type) { > - case EXISTS: > - structcheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_field, > - ftptr->ft_offset, ftptr->ft_value); > - break; > - case ALIAS: > - aliascheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_field, > - ftptr->ft_dname); > - break; > - case VALUE: > - valuecheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_dname); > - break; > - default: > - tst_resm(TBROK, "invalid type %d", > - ftptr->ft_type); > - break; > - } > -} > diff --git a/testcases/network/lib6/asapi_02.c > b/testcases/network/lib6/asapi_02.c > deleted file mode 100644 > index 01bee37..0000000 > --- a/testcases/network/lib6/asapi_02.c > +++ /dev/null > @@ -1,338 +0,0 @@ > -/* > - * > - * Copyright (c) International Business Machines Corp., 2001 > - * Author: David L Stevens > - * > - * 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 > - */ > -/* > - * Description: > - * These tests are for the "Advanced Sockets API" (RFC 3542) > - * Verify that in6 and sockaddr fields are present. > - */ > - > -#include <stdio.h> > -#include <unistd.h> > -#include <errno.h> > - > -#include <sys/wait.h> > - > -#include <netinet/ip6.h> > - > -#include "test.h" > -#include "runcc.h" > - > -enum ttype { EXISTS, ALIAS, VALUE }; > - > -static struct ftent { > - char *ft_tname; /* test name */ > - int ft_type; /* test type */ > - char *ft_incl; /* include file list */ > - char *ft_struct; /* structure name */ > - char *ft_field; /* field name */ > - char *ft_offset; /* field offset */ > - union { > - char *fu_value; /* field size or value */ > - char *fu_dname; /* #define name */ > - } ftun; > -#define ft_value ftun.fu_value > -#define ft_dname ftun.fu_dname > -} ftab[] = { > - /* Section 2.2, icmp6_hdr & defines */ > - { "icmp6_hdr icmp6_type", EXISTS, ICMP6_H, "icmp6_hdr", > - "icmp6_type", "0", {"1"} }, > - { "icmp6_hdr icmp6_code", EXISTS, ICMP6_H, "icmp6_hdr", > - "icmp6_code", "1", {"1"} }, > - { "icmp6_hdr icmp6_cksum", EXISTS, ICMP6_H, "icmp6_hdr", > - "icmp6_cksum", "2", {"2"} }, > - { "icmp6_hdr icmp6_un_data32 element", EXISTS, ICMP6_H, > - "icmp6_hdr", "icmp6_dataun.icmp6_un_data32[0]", "4", {"4"} }, > - { "icmp6_hdr icmp6_un_data32 array", EXISTS, ICMP6_H, > - "icmp6_hdr", "icmp6_dataun.icmp6_un_data32", "4", {"4"} }, > - { "icmp6_hdr icmp6_un_data16 element", EXISTS, ICMP6_H, > - "icmp6_hdr", "icmp6_dataun.icmp6_un_data16[0]", "4", {"2"} }, > - { "icmp6_hdr icmp6_un_data16 array", EXISTS, ICMP6_H, > - "icmp6_hdr", "icmp6_dataun.icmp6_un_data16", "4", {"4"} }, > - { "icmp6_hdr icmp6_un_data8 element", EXISTS, ICMP6_H, > - "icmp6_hdr", "icmp6_dataun.icmp6_un_data8[0]", "4", {"1"} }, > - { "icmp6_hdr icmp6_un_data8 array", EXISTS, ICMP6_H, > - "icmp6_hdr", "icmp6_dataun.icmp6_un_data8", "4", {"4"} }, > - /* icmp6_hdr definitions */ > - { "icmp6_hdr icmp6_data32 define", ALIAS, ICMP6_H, "icmp6_hdr", > - "icmp6_dataun.icmp6_un_data32", NULL, {"icmp6_data32"} }, > - { "icmp6_hdr icmp6_data16 define", ALIAS, ICMP6_H, "icmp6_hdr", > - "icmp6_dataun.icmp6_un_data16", NULL, {"icmp6_data16"} }, > - { "icmp6_hdr icmp6_data8 define", ALIAS, ICMP6_H, "icmp6_hdr", > - "icmp6_dataun.icmp6_un_data8", NULL, {"icmp6_data8"} }, > - { "icmp6_hdr icmp6_pptr define", ALIAS, ICMP6_H, "icmp6_hdr", > - "icmp6_dataun.icmp6_un_data32[0]", NULL, {"icmp6_pptr"} }, > - { "icmp6_hdr icmp6_mtu define", ALIAS, ICMP6_H, "icmp6_hdr", > - "icmp6_dataun.icmp6_un_data32[0]", NULL, {"icmp6_mtu"} }, > - { "icmp6_hdr icmp6_id define", ALIAS, ICMP6_H, "icmp6_hdr", > - "icmp6_dataun.icmp6_un_data16[0]", NULL, {"icmp6_id"} }, > - { "icmp6_hdr icmp6_seq define", ALIAS, ICMP6_H, "icmp6_hdr", > - "icmp6_dataun.icmp6_un_data16[1]", NULL, {"icmp6_seq"} }, > - { "icmp6_hdr icmp6_maxdelay define", ALIAS, ICMP6_H, "icmp6_hdr", > - "icmp6_dataun.icmp6_un_data16[0]", NULL, {"icmp6_maxdelay"} }, > - /* Section 2.2.1 ICMPv6 Type and Code Values */ > - { "ICMP6_DST_UNREACH", VALUE, ICMP6_H, "ICMP6_DST_UNREACH", > - NULL, NULL, {"1"} }, > - { "ICMP6_PACKET_TOO_BIG", VALUE, ICMP6_H, "ICMP6_PACKET_TOO_BIG", > - NULL, NULL, {"2"} }, > - { "ICMP6_TIME_EXCEEDED", VALUE, ICMP6_H, "ICMP6_TIME_EXCEEDED", > - NULL, NULL, {"3"} }, > - { "ICMP6_PARAM_PROB", VALUE, ICMP6_H, "ICMP6_PARAM_PROB", > - NULL, NULL, {"4"} }, > - { "ICMP6_INFOMSG_MASK", VALUE, ICMP6_H, "ICMP6_INFOMSG_MASK", > - NULL, NULL, {"0x80"} }, > - { "ICMP6_ECHO_REQUEST", VALUE, ICMP6_H, "ICMP6_ECHO_REQUEST", > - NULL, NULL, {"128"} }, > - { "ICMP6_ECHO_REPLY", VALUE, ICMP6_H, "ICMP6_ECHO_REPLY", > - NULL, NULL, {"129"} }, > - { "ICMP6_DST_UNREACH_NOROUTE", VALUE, ICMP6_H, > - "ICMP6_DST_UNREACH_NOROUTE", NULL, NULL, {"0"} }, > - { "ICMP6_DST_UNREACH_ADMIN", VALUE, ICMP6_H, > - "ICMP6_DST_UNREACH_ADMIN", NULL, NULL, {"1"} }, > - { "ICMP6_DST_UNREACH_BEYONDSCOPE", VALUE, ICMP6_H, > - "ICMP6_DST_UNREACH_BEYONDSCOPE", NULL, NULL, {"2"} }, > - { "ICMP6_DST_UNREACH_ADDR", VALUE, ICMP6_H, > - "ICMP6_DST_UNREACH_ADDR", NULL, NULL, {"3"} }, > - { "ICMP6_DST_UNREACH_NOPORT", VALUE, ICMP6_H, > - "ICMP6_DST_UNREACH_NOPORT", NULL, NULL, {"4"} }, > - { "ICMP6_TIME_EXCEED_TRANSIT", VALUE, ICMP6_H, > - "ICMP6_TIME_EXCEED_TRANSIT", NULL, NULL, {"0"} }, > - { "ICMP6_TIME_EXCEED_REASSEMBLY", VALUE, ICMP6_H, > - "ICMP6_TIME_EXCEED_REASSEMBLY", NULL, NULL, {"1"} }, > - { "ICMP6_PARAMPROB_HEADER", VALUE, ICMP6_H, > - "ICMP6_PARAMPROB_HEADER", NULL, NULL, {"0"} }, > - { "ICMP6_PARAMPROB_NEXTHEADER", VALUE, ICMP6_H, > - "ICMP6_PARAMPROB_NEXTHEADER", NULL, NULL, {"1"} }, > - { "ICMP6_PARAMPROB_OPTION", VALUE, ICMP6_H, > - "ICMP6_PARAMPROB_OPTION", NULL, NULL, {"2"} }, > - /* section 2.2.2, Neighbor Discovery */ > - { "ND_ROUTER_SOLICIT", VALUE, ICMP6_H, > - "ND_ROUTER_SOLICIT", NULL, NULL, {"133"} }, > - { "ND_ROUTER_ADVERT", VALUE, ICMP6_H, > - "ND_ROUTER_ADVERT", NULL, NULL, {"134"} }, > - { "ND_NEIGHBOR_SOLICIT", VALUE, ICMP6_H, > - "ND_NEIGHBOR_SOLICIT", NULL, NULL, {"135"} }, > - { "ND_NEIGHBOR_ADVERT", VALUE, ICMP6_H, > - "ND_NEIGHBOR_ADVERT", NULL, NULL, {"136"} }, > - { "ND_REDIRECT", VALUE, ICMP6_H, > - "ND_REDIRECT", NULL, NULL, {"137"} }, > - { "nd_router_solicit nd_rs_hdr", EXISTS, ICMP6_H, > - "nd_router_solicit", "nd_rs_hdr", "0", > - {"sizeof(struct icmp6_hdr)"} }, > - { "nd_router_solicit nd_rs_type define", ALIAS, ICMP6_H, > - "nd_router_solicit", "nd_rs_hdr.icmp6_type", > - NULL, {"nd_rs_type"} }, > - { "nd_router_solicit nd_rs_code define", ALIAS, ICMP6_H, > - "nd_router_solicit", "nd_rs_hdr.icmp6_code", > - NULL, {"nd_rs_code"} }, > - { "nd_router_solicit nd_rs_cksum define", ALIAS, ICMP6_H, > - "nd_router_solicit", "nd_rs_hdr.icmp6_cksum", > - NULL, {"nd_rs_cksum"} }, > - { "nd_router_solicit nd_rs_reserved define", ALIAS, ICMP6_H, > - "nd_router_solicit", "nd_rs_hdr.icmp6_data32[0]", > - NULL, {"nd_rs_reserved"} }, > - { "nd_router_advert nd_ra_hdr", EXISTS, ICMP6_H, > - "nd_router_advert", "nd_ra_hdr", "0", > - {"sizeof(struct icmp6_hdr)"} }, > - { "nd_router_advert nd_ra_reachable", EXISTS, ICMP6_H, > - "nd_router_advert", "nd_ra_reachable", > - "sizeof(struct icmp6_hdr)", {"4"} }, > - { "nd_router_advert nd_ra_retransmit", EXISTS, ICMP6_H, > - "nd_router_advert", "nd_ra_retransmit", > - "sizeof(struct icmp6_hdr)+4", {"4"} }, > - { "nd_router_advert nd_ra_type define", ALIAS, ICMP6_H, > - "nd_router_advert", "nd_ra_hdr.icmp6_type", > - NULL, {"nd_ra_type"} }, > - { "nd_router_advert nd_ra_code define", ALIAS, ICMP6_H, > - "nd_router_advert", "nd_ra_hdr.icmp6_code", > - NULL, {"nd_ra_code"} }, > - { "nd_router_advert nd_ra_cksum define", ALIAS, ICMP6_H, > - "nd_router_advert", "nd_ra_hdr.icmp6_cksum", > - NULL, {"nd_ra_cksum"} }, > - { "nd_router_advert nd_ra_curhoplimit define", ALIAS, ICMP6_H, > - "nd_router_advert", "nd_ra_hdr.icmp6_data8[0]", > - NULL, {"nd_ra_curhoplimit"} }, > - { "nd_router_advert nd_ra_flags_reserved define", ALIAS, ICMP6_H, > - "nd_router_advert", "nd_ra_hdr.icmp6_data8[1]", > - NULL, {"nd_ra_flags_reserved"} }, > - { "ND_RA_FLAG_MANAGED", VALUE, ICMP6_H, > - "ND_RA_FLAG_MANAGED", NULL, NULL, {"0x80"} }, > - { "ND_RA_FLAG_OTHER", VALUE, ICMP6_H, > - "ND_RA_FLAG_OTHER", NULL, NULL, {"0x40"} }, > - { "nd_router_advert nd_ra_router_lifetime define", ALIAS, ICMP6_H, > - "nd_router_advert", "nd_ra_hdr.icmp6_data16[1]", > - NULL, {"nd_ra_router_lifetime"} }, > - { "nd_neighbor_solicit nd_ns_hdr", EXISTS, ICMP6_H, > - "nd_neighbor_solicit", "nd_ns_hdr", > - "0", {"sizeof(struct icmp6_hdr)"} }, > - { "nd_neighbor_solicit nd_ns_target", EXISTS, ICMP6_H, > - "nd_neighbor_solicit", "nd_ns_target", > - "sizeof(struct icmp6_hdr)", {"sizeof(struct in6_addr)"} }, > - { "nd_neighbor_solicit nd_ns_type define", ALIAS, ICMP6_H, > - "nd_neighbor_solicit", "nd_ns_hdr.icmp6_type", > - NULL, {"nd_ns_type"} }, > - { "nd_neighbor_solicit nd_ns_code define", ALIAS, ICMP6_H, > - "nd_neighbor_solicit", "nd_ns_hdr.icmp6_code", > - NULL, {"nd_ns_code"} }, > - { "nd_neighbor_solicit nd_ns_cksum define", ALIAS, ICMP6_H, > - "nd_neighbor_solicit", "nd_ns_hdr.icmp6_cksum", > - NULL, {"nd_ns_cksum"} }, > - { "nd_neighbor_solicit nd_ns_reserved define", ALIAS, ICMP6_H, > - "nd_neighbor_solicit", "nd_ns_hdr.icmp6_data32[0]", > - NULL, {"nd_ns_reserved"} }, > - { "nd_neighbor_advert nd_na_hdr", EXISTS, ICMP6_H, > - "nd_neighbor_advert", "nd_na_hdr", > - "0", {"sizeof(struct icmp6_hdr)"} }, > - { "nd_neighbor_advert nd_na_target", EXISTS, ICMP6_H, > - "nd_neighbor_advert", "nd_na_target", > - "sizeof(struct icmp6_hdr)", {"sizeof(struct in6_addr)"} }, > - { "nd_neighbor_advert nd_na_type define", ALIAS, ICMP6_H, > - "nd_neighbor_advert", "nd_na_hdr.icmp6_type", > - NULL, {"nd_na_type"} }, > - { "nd_neighbor_advert nd_na_code define", ALIAS, ICMP6_H, > - "nd_neighbor_advert", "nd_na_hdr.icmp6_code", > - NULL, {"nd_na_code"} }, > - { "nd_neighbor_advert nd_na_cksum define", ALIAS, ICMP6_H, > - "nd_neighbor_advert", "nd_na_hdr.icmp6_cksum", > - NULL, {"nd_na_cksum"} }, > - { "nd_neighbor_advert nd_na_flags_reserved define", ALIAS, > - ICMP6_H, "nd_neighbor_advert", "nd_na_hdr.icmp6_data32[0]", > - NULL, {"nd_na_flags_reserved"} }, > - { "ND_NA_FLAG_ROUTER", VALUE, ICMP6_H, "ND_NA_FLAG_ROUTER", > - NULL, NULL, {"htonl(0x80000000)"} }, > - { "ND_NA_FLAG_SOLICITED", VALUE, ICMP6_H, "ND_NA_FLAG_SOLICITED", > - NULL, NULL, {"htonl(0x40000000)"} }, > - { "ND_NA_FLAG_OVERRIDE", VALUE, ICMP6_H, "ND_NA_FLAG_OVERRIDE", > - NULL, NULL, {"htonl(0x20000000)"} }, > - { "nd_redirect nd_rd_hdr", EXISTS, ICMP6_H, "nd_redirect", > - "nd_rd_hdr", "0", {"sizeof(struct icmp6_hdr)"} }, > - { "nd_redirect nd_rd_target", EXISTS, ICMP6_H, > - "nd_redirect", "nd_rd_target", > - "sizeof(struct icmp6_hdr)", {"sizeof(struct in6_addr)"} }, > - { "nd_redirect nd_rd_dst", EXISTS, ICMP6_H, "nd_redirect", > - "nd_rd_dst", "sizeof(struct icmp6_hdr)+sizeof(struct in6_addr)", > - {"sizeof(struct in6_addr)"} }, > - { "nd_redirect nd_rd_type define", ALIAS, ICMP6_H, > - "nd_neighbor_advert", "nd_na_hdr.icmp6_data32[0]", > - NULL, {"nd_na_flags_reserved"} }, > - { "nd_opt_hdr nd_rd_hdr", EXISTS, ICMP6_H, "nd_opt_hdr", > - "nd_opt_type", "0", {"1"} }, > - { "nd_opt_hdr nd_rd_hdr", EXISTS, ICMP6_H, "nd_opt_hdr", > - "nd_opt_len", "1", {"1"} }, > - { "ND_OPT_SOURCE_LINKADDR", VALUE, ICMP6_H, > - "ND_OPT_SOURCE_LINKADDR", NULL, NULL, {"1"} }, > - { "ND_OPT_TARGET_LINKADDR", VALUE, ICMP6_H, > - "ND_OPT_TARGET_LINKADDR", NULL, NULL, {"2"} }, > - { "ND_OPT_PREFIX_INFORMATION", VALUE, ICMP6_H, > - "ND_OPT_PREFIX_INFORMATION", NULL, NULL, {"3"} }, > - { "ND_OPT_REDIRECTED_HEADER", VALUE, ICMP6_H, > - "ND_OPT_REDIRECTED_HEADER", NULL, NULL, {"4"} }, > - { "ND_OPT_MTU", VALUE, ICMP6_H, "ND_OPT_MTU", > - NULL, NULL, {"5"} }, > - { "nd_opt_prefix_info nd_opt_pi_type", EXISTS, ICMP6_H, > - "nd_opt_prefix_info", "nd_opt_pi_type", "0", {"1"} }, > - { "nd_opt_prefix_info nd_opt_pi_len", EXISTS, ICMP6_H, > - "nd_opt_prefix_info", "nd_opt_pi_len", "1", {"1"} }, > - { "nd_opt_prefix_info nd_opt_pi_prefix_len", EXISTS, ICMP6_H, > - "nd_opt_prefix_info", "nd_opt_pi_prefix_len", "2", {"1"} }, > - { "nd_opt_prefix_info nd_opt_pi_flags_reserved", EXISTS, ICMP6_H, > - "nd_opt_prefix_info", "nd_opt_pi_flags_reserved", "3", {"1"} }, > - { "nd_opt_prefix_info nd_opt_pi_valid_time", EXISTS, ICMP6_H, > - "nd_opt_prefix_info", "nd_opt_pi_valid_time", "4", {"4"} }, > - { "nd_opt_prefix_info nd_opt_pi_preferred_time", EXISTS, ICMP6_H, > - "nd_opt_prefix_info", "nd_opt_pi_preferred_time", "8", {"4"} }, > - { "nd_opt_prefix_info nd_opt_pi_reserved2", EXISTS, ICMP6_H, > - "nd_opt_prefix_info", "nd_opt_pi_reserved2", "12", {"4"} }, > - { "nd_opt_prefix_info nd_opt_pi_prefix", EXISTS, ICMP6_H, > - "nd_opt_prefix_info", "nd_opt_pi_prefix", > - "16", {"sizeof(struct in6_addr)"} }, > - { "ND_OPT_PI_FLAG_ONLINK", VALUE, ICMP6_H, > - "ND_OPT_PI_FLAG_ONLINK", NULL, NULL, {"0x80"} }, > - { "ND_OPT_PI_FLAG_AUTO", VALUE, ICMP6_H, > - "ND_OPT_PI_FLAG_AUTO", NULL, NULL, {"0x40"} }, > - { "nd_opt_rd_hdr nd_opt_rh_type", EXISTS, ICMP6_H, > - "nd_opt_rd_hdr", "nd_opt_rh_type", "0", {"1"} }, > - { "nd_opt_rd_hdr nd_opt_rh_len", EXISTS, ICMP6_H, > - "nd_opt_rd_hdr", "nd_opt_rh_len", "1", {"1"} }, > - { "nd_opt_rd_hdr nd_opt_rh_reserved1", EXISTS, ICMP6_H, > - "nd_opt_rd_hdr", "nd_opt_rh_reserved1", "2", {"2"} }, > - { "nd_opt_rd_hdr nd_opt_rh_reserved2", EXISTS, ICMP6_H, > - "nd_opt_rd_hdr", "nd_opt_rh_reserved2", "4", {"4"} }, > - { "nd_opt_mtu nd_opt_mtu_type", EXISTS, ICMP6_H, > - "nd_opt_mtu", "nd_opt_mtu_type", "0", {"1"} }, > - { "nd_opt_mtu nd_opt_mtu_len", EXISTS, ICMP6_H, > - "nd_opt_mtu", "nd_opt_mtu_len", "1", {"1"} }, > - { "nd_opt_mtu nd_opt_mtu_reserved", EXISTS, ICMP6_H, > - "nd_opt_mtu", "nd_opt_mtu_reserved", "2", {"2"} }, > - { "nd_opt_mtu nd_opt_mtu_mtu", EXISTS, ICMP6_H, > - "nd_opt_mtu", "nd_opt_mtu_mtu", "4", {"4"} }, > -}; > - > -static void setup(void); > -static void do_test(const struct ftent *); > - > -char *TCID = "asapi_02"; > -int TST_TOTAL = ARRAY_SIZE(ftab); > - > -int main(int argc, char *argv[]) > -{ > - int i, lc; > - > - tst_parse_opts(argc, argv, NULL, NULL); > - > - setup(); > - > - for (lc = 0; TEST_LOOPING(lc); ++lc) { > - tst_count = 0; > - > - for (i = 0; i < TST_TOTAL; i++) > - do_test(&ftab[i]); > - } > - > - tst_exit(); > -} > - > -void setup(void) > -{ > - TEST_PAUSE; > -} > - > -void do_test(const struct ftent *ftptr) > -{ > - switch (ftptr->ft_type) { > - case EXISTS: > - structcheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_field, > - ftptr->ft_offset, ftptr->ft_value); > - break; > - case ALIAS: > - aliascheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_field, > - ftptr->ft_dname); > - break; > - case VALUE: > - valuecheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_dname); > - break; > - default: > - tst_resm(TBROK, "invalid type %d", > - ftptr->ft_type); > - break; > - } > -} > diff --git a/testcases/network/lib6/asapi_03.c > b/testcases/network/lib6/asapi_03.c > deleted file mode 100644 > index f458d7d..0000000 > --- a/testcases/network/lib6/asapi_03.c > +++ /dev/null > @@ -1,234 +0,0 @@ > -/* > - * > - * Copyright (c) International Business Machines Corp., 2001 > - * Author: David L Stevens > - * > - * 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 > - */ > -/* > - * Description: > - * These tests are for the "Advanced Sockets API" (RFC 3542) > - * Verify that in6 and sockaddr fields are present. > - */ > - > -#include <stdio.h> > -#include <unistd.h> > -#include <errno.h> > - > -#include <sys/wait.h> > - > -#include <netinet/ip6.h> > - > -#include "test.h" > -#include "runcc.h" > - > -enum ttype { EXISTS, ALIAS, VALUE }; > - > -static struct ftent { > - char *ft_tname; /* test name */ > - int ft_type; /* test type */ > - char *ft_incl; /* include file list */ > - char *ft_struct; /* structure name */ > - char *ft_field; /* field name */ > - char *ft_offset; /* field offset */ > - union { > - char *fu_value; /* field size or value */ > - char *fu_dname; /* #define name */ > - } ftun; > -#define ft_value ftun.fu_value > -#define ft_dname ftun.fu_dname > -} ftab[] = { > - /* section 2.2.3, MLDv1 */ > - { "MLD_LISTENER_QUERY", VALUE, ICMP6_H, > - "MLD_LISTENER_QUERY", NULL, NULL, {"130"} }, > - { "MLD_LISTENER_REPORT", VALUE, ICMP6_H, > - "MLD_LISTENER_REPORT", NULL, NULL, {"131"} }, > - { "MLD_LISTENER_REDUCTION", VALUE, ICMP6_H, > - "MLD_LISTENER_REDUCTION", NULL, NULL, {"132"} }, > - { "mld_hdr mld_icmp6_hdr", EXISTS, ICMP6_H, > - "mld_hdr", "mld_icmp6_hdr", "0", > - {"sizeof(struct icmp6_hdr)"} }, > - { "mld_hdr mld_addr", EXISTS, ICMP6_H, "mld_hdr", > - "mld_addr", "sizeof(struct icmp6_hdr)", > - {"sizeof(struct in6_addr)"} }, > - { "mld_hdr mld_type define", ALIAS, ICMP6_H, "mld_hdr", > - "mld_icmp6_hdr.icmp6_type", NULL, {"mld_type"} }, > - { "mld_hdr mld_code define", ALIAS, ICMP6_H, "mld_hdr", > - "mld_icmp6_hdr.icmp6_code", NULL, {"mld_code"} }, > - { "mld_hdr mld_cksum define", ALIAS, ICMP6_H, "mld_hdr", > - "mld_icmp6_hdr.icmp6_cksum", NULL, {"mld_cksum"} }, > - { "mld_hdr mld_maxdelay define", ALIAS, ICMP6_H, "mld_hdr", > - "mld_icmp6_hdr.icmp6_data16[0]", NULL, {"mld_maxdelay"} }, > - { "mld_hdr mld_reserved define", ALIAS, ICMP6_H, "mld_hdr", > - "mld_icmp6_hdr.icmp6_data16[1]", NULL, {"mld_reserved"} }, > - /* section 2.2.4, Router renumbering */ > - { "ICMP6_ROUTER_RENUMBERING", VALUE, ICMP6_H, > - "ICMP6_ROUTER_RENUMBERING", NULL, NULL, {"138"} }, > - { "icmp6_router_renum rr_hdr", EXISTS, ICMP6_H, > - "icmp6_router_renum", "rr_hdr", "0", > - {"sizeof(struct icmp6_hdr)"} }, > - { "icmp6_router_renum rr_segnum", EXISTS, ICMP6_H, > - "icmp6_router_renum", "rr_segnum", > - "sizeof(struct icmp6_hdr)", {"1"} }, > - { "icmp6_router_renum rr_flags", EXISTS, ICMP6_H, > - "icmp6_router_renum", "rr_flags", > - "sizeof(struct icmp6_hdr)+1", {"1"} }, > - { "icmp6_router_renum rr_maxdelay", EXISTS, ICMP6_H, > - "icmp6_router_renum", "rr_maxdelay", > - "sizeof(struct icmp6_hdr)+2", {"2"} }, > - { "icmp6_router_renum rr_reserved", EXISTS, ICMP6_H, > - "icmp6_router_renum", "rr_reserved", > - "sizeof(struct icmp6_hdr)+4", {"4"} }, > - { "icmp6_router_renum rr_type define", ALIAS, ICMP6_H, > - "icmp6_router_renum", "rr_hdr.icmp6_type", > - NULL, {"rr_type"} }, > - { "icmp6_router_renum rr_code define", ALIAS, ICMP6_H, > - "icmp6_router_renum", "rr_hdr.icmp6_code", > - NULL, {"rr_code"} }, > - { "icmp6_router_renum rr_cksum define", ALIAS, ICMP6_H, > - "icmp6_router_renum", "rr_hdr.icmp6_cksum", > - NULL, {"rr_cksum"} }, > - { "icmp6_router_renum rr_seqnum define", ALIAS, ICMP6_H, > - "icmp6_router_renum", "rr_hdr.icmp6_data32[0]", > - NULL, {"rr_seqnum"} }, > - { "ICMP6_RR_FLAGS_TEST", VALUE, ICMP6_H, > - "ICMP6_RR_FLAGS_TEST", NULL, NULL, {"0x80"} }, > - { "ICMP6_RR_FLAGS_REQRESULT", VALUE, ICMP6_H, > - "ICMP6_RR_FLAGS_REQRESULT", NULL, NULL, {"0x40"} }, > - { "ICMP6_RR_FLAGS_FORCEAPPLY", VALUE, ICMP6_H, > - "ICMP6_RR_FLAGS_FORCEAPPLY", NULL, NULL, {"0x20"} }, > - { "ICMP6_RR_FLAGS_SPECSITE", VALUE, ICMP6_H, > - "ICMP6_RR_FLAGS_SPECSITE", NULL, NULL, {"0x10"} }, > - { "ICMP6_RR_FLAGS_PREVDONE", VALUE, ICMP6_H, > - "ICMP6_RR_FLAGS_PREVDONE", NULL, NULL, {"0x08"} }, > - { "rr_pco_match rpm_code", EXISTS, ICMP6_H, > - "rr_pco_match", "rpm_code", "0", {"1"} }, > - { "rr_pco_match rpm_len", EXISTS, ICMP6_H, > - "rr_pco_match", "rpm_len", "1", {"1"} }, > - { "rr_pco_match rpm_ordinal", EXISTS, ICMP6_H, > - "rr_pco_match", "rpm_ordinal", "2", {"1"} }, > - { "rr_pco_match rpm_matchlen", EXISTS, ICMP6_H, > - "rr_pco_match", "rpm_matchlen", "3", {"1"} }, > - { "rr_pco_match rpm_minlen", EXISTS, ICMP6_H, > - "rr_pco_match", "rpm_minlen", "4", {"1"} }, > - { "rr_pco_match rpm_maxlen", EXISTS, ICMP6_H, > - "rr_pco_match", "rpm_maxlen", "5", {"1"} }, > - { "rr_pco_match rpm_reserved", EXISTS, ICMP6_H, > - "rr_pco_match", "rpm_reserved", "6", {"2"} }, > - { "rr_pco_match rpm_prefix", EXISTS, ICMP6_H, > - "rr_pco_match", "rpm_prefix", "8", > - {"sizeof(struct in6_addr)"} }, > - { "RPM_PCO_ADD", VALUE, ICMP6_H, "RPM_PCO_ADD", > - NULL, NULL, {"1"} }, > - { "RPM_PCO_CHANGE", VALUE, ICMP6_H, "RPM_PCO_CHANGE", > - NULL, NULL, {"2"} }, > - { "RPM_PCO_SETGLOBAL", VALUE, ICMP6_H, "RPM_PCO_SETGLOBAL", > - NULL, NULL, {"3"} }, > - { "rr_pco_use rpu_uselen", EXISTS, ICMP6_H, "rr_pco_use", > - "rpu_uselen", "0", {"1"} }, > - { "rr_pco_use rpu_keeplen", EXISTS, ICMP6_H, "rr_pco_use", > - "rpu_keeplen", "1", {"1"} }, > - { "rr_pco_use rpu_ramask", EXISTS, ICMP6_H, "rr_pco_use", > - "rpu_ramask", "2", {"1"} }, > - { "rr_pco_use rpu_raflags", EXISTS, ICMP6_H, "rr_pco_use", > - "rpu_raflags", "3", {"1"} }, > - { "rr_pco_use rpu_vltime", EXISTS, ICMP6_H, "rr_pco_use", > - "rpu_vltime", "4", {"4"} }, > - { "rr_pco_use rpu_pltime", EXISTS, ICMP6_H, "rr_pco_use", > - "rpu_pltime", "8", {"4"} }, > - { "rr_pco_use rpu_flags", EXISTS, ICMP6_H, "rr_pco_use", > - "rpu_flags", "12", {"4"} }, > - { "rr_pco_use rpu_prefix", EXISTS, ICMP6_H, "rr_pco_use", > - "rpu_prefix", "16", {"sizeof(struct in6_addr)"} }, > - { "ICMP6_RR_PCOUSE_RAFLAGS_ONLINK", VALUE, ICMP6_H, > - "ICMP6_RR_PCOUSE_RAFLAGS_ONLINK", NULL, NULL, {"0x20"} }, > - { "ICMP6_RR_PCOUSE_RAFLAGS_AUTO", VALUE, ICMP6_H, > - "ICMP6_RR_PCOUSE_RAFLAGS_AUTO", NULL, NULL, {"0x10"} }, > - { "ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME", VALUE, ICMP6_H, > - "ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME", NULL, NULL, > - {"htonl(0x80000000)"} }, > - { "ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME", VALUE, ICMP6_H, > - "ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME", NULL, NULL, > - {"htonl(0x40000000)"} }, > - { "rr_result rrr_flags", EXISTS, ICMP6_H, "rr_result", > - "rrr_flags", "0", {"2"} }, > - { "rr_result rrr_ordinal", EXISTS, ICMP6_H, "rr_result", > - "rrr_ordinal", "2", {"1"} }, > - { "rr_result rrr_matchedlen", EXISTS, ICMP6_H, "rr_result", > - "rrr_matchedlen", "3", {"1"} }, > - { "rr_result rrr_ifid", EXISTS, ICMP6_H, "rr_result", > - "rrr_ifid", "4", {"4"} }, > - { "rr_result rrr_prefix", EXISTS, ICMP6_H, "rr_result", > - "rrr_prefix", "8", {"sizeof(struct in6_addr)"} }, > - { "ICMP6_RR_RESULT_FLAGS_OOB", VALUE, ICMP6_H, > - "ICMP6_RR_RESULT_FLAGS_OOB", NULL, NULL, > - {"htons(0x0002)"} }, > - { "ICMP6_RR_RESULT_FLAGS_FORBIDDEN", VALUE, ICMP6_H, > - "ICMP6_RR_RESULT_FLAGS_FORBIDDEN", NULL, NULL, > - {"htons(0x0001)"} }, > -}; > - > -static void setup(void); > -static void do_test(const struct ftent *); > - > -char *TCID = "asapi_03"; > -int TST_TOTAL = ARRAY_SIZE(ftab); > - > -int main(int argc, char *argv[]) > -{ > - int i, lc; > - > - tst_parse_opts(argc, argv, NULL, NULL); > - > - setup(); > - > - for (lc = 0; TEST_LOOPING(lc); ++lc) { > - tst_count = 0; > - > - for (i = 0; i < TST_TOTAL; i++) > - do_test(&ftab[i]); > - } > - > - tst_exit(); > -} > - > -void setup(void) > -{ > - TEST_PAUSE; > -} > - > -void do_test(const struct ftent *ftptr) > -{ > - switch (ftptr->ft_type) { > - case EXISTS: > - structcheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_field, > - ftptr->ft_offset, ftptr->ft_value); > - break; > - case ALIAS: > - aliascheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_field, > - ftptr->ft_dname); > - break; > - case VALUE: > - valuecheck(ftptr->ft_tname, ftptr->ft_incl, > - ftptr->ft_struct, ftptr->ft_dname); > - break; > - default: > - tst_resm(TBROK, "invalid type %d", > - ftptr->ft_type); > - break; > - } > -} > diff --git a/testcases/network/lib6/asapi_05.c > b/testcases/network/lib6/asapi_05.c > index b2e7d2a..e251eee 100644 > --- a/testcases/network/lib6/asapi_05.c > +++ b/testcases/network/lib6/asapi_05.c > @@ -47,14 +47,12 @@ > #include <netinet/icmp6.h> > > #include "test.h" > -#include "runcc.h" > > char *TCID = "asapi_05"; /* Test program identifier. */ > > void setup(void); > void cleanup(void); > > -void icmp6_et(void); > void icmp6_ft(void); > > int main(int argc, char *argv[]) > @@ -67,7 +65,6 @@ int main(int argc, char *argv[]) > setup(); > > for (lc = 0; TEST_LOOPING(lc); ++lc) { > - icmp6_et(); > icmp6_ft(); > } > > @@ -76,120 +73,6 @@ int main(int argc, char *argv[]) > tst_exit(); > } > > -enum ttype { EXISTS, ALIAS, VALUE, DEFINED }; > - > -struct etent { > - char *et_tname; /* test name */ > - int et_type; /* test type */ > - char *et_incl; /* include file list */ > - char *et_struct; /* structure name */ > - char *et_field; /* field name */ > - char *et_offset; /* field offset */ > - union { > - char *fu_value; /* field size or value */ > - char *fu_dname; /* #define name */ > - } ftun; > -#define et_value ftun.fu_value > -#define et_dname ftun.fu_dname > -} etab[] = { > -/* existence checks, RFC 3542 section 3 */ > - { > - "icmp6_filter icmp6_filt", EXISTS, ICMP6_H, "icmp6_filter", > - "icmp6_filt", "0", { > - "32"}}, { > - "icmp6_filter icmp6_filt[0]", EXISTS, ICMP6_H, "icmp6_filter", > - "icmp6_filt[0]", "0", { > - "4"}}, { > - "ICMP6_FILTER_WILLPASS", DEFINED, ICMP6_H, > - "ICMP6_FILTER_WILLPASS", NULL, NULL, { > - 0}}, { > - "ICMP6_FILTER_WILLBLOCK", DEFINED, ICMP6_H, > - "ICMP6_FILTER_WILLBLOCK", NULL, NULL, { > - 0}}, { > - "ICMP6_FILTER_SETPASS", DEFINED, ICMP6_H, > - "ICMP6_FILTER_SETPASS", NULL, NULL, { > - 0}}, { > - "ICMP6_FILTER_SETBLOCK", DEFINED, ICMP6_H, > - "ICMP6_FILTER_SETBLOCK", NULL, NULL, { > - 0}}, { > - "ICMP6_FILTER_SETPASSALL", DEFINED, ICMP6_H, > - "ICMP6_FILTER_SETPASSALL", NULL, NULL, { > - 0}}, { > - "ICMP6_FILTER_SETBLOCKALL", DEFINED, ICMP6_H, > - "ICMP6_FILTER_SETBLOCKALL", NULL, NULL, { > - 0}}, { > - "ICMP6_FILTER", DEFINED, ICMP6_H, "ICMP6_FILTER", NULL, NULL, { > - 0}}, > -/* existence checks, RFC 3542 section 4 */ > -/* socket options */ > - { > - "IPV6_RECVPKTINFO", VALUE, IN_H, "IPV6_RECVPKTINFO", NULL, > NULL, { > - "IPV6_RECVPKTINFO"}}, { > - "IPV6_RECVHOPLIMIT", VALUE, IN_H, "IPV6_RECVHOPLIMIT", NULL, > - NULL, { > - "IPV6_RECVHOPLIMIT"}}, { > - "IPV6_RECVRTHDR", VALUE, IN_H, "IPV6_RECVRTHDR", NULL, NULL, { > - "IPV6_RECVRTHDR"}}, { > - "IPV6_RECVHOPOPTS", VALUE, IN_H, "IPV6_RECVHOPOPTS", NULL, > NULL, { > - "IPV6_RECVHOPOPTS"}}, { > - "IPV6_RECVDSTOPTS", VALUE, IN_H, "IPV6_RECVDSTOPTS", NULL, > NULL, { > - "IPV6_RECVDSTOPTS"}}, { > - "IPV6_RECVTCLASS", VALUE, IN_H, "IPV6_RECVTCLASS", NULL, NULL, { > - "IPV6_RECVTCLASS"}}, > -/* cmsg types */ > - { > - "IPV6_PKTINFO", DEFINED, IN_H, "IPV6_PKTINFO", NULL, NULL, { > - 0}}, { > - "IPV6_HOPLIMIT", DEFINED, IN_H, "IPV6_HOPLIMIT", NULL, NULL, { > - 0}}, { > - "IPV6_NEXTHOP", DEFINED, IN_H, "IPV6_NEXTHOP", NULL, NULL, { > - 0}}, { > - "IPV6_RTHDR", DEFINED, IN_H, "IPV6_RTHDR", NULL, NULL, { > - 0}}, { > - "IPV6_HOPOPTS", DEFINED, IN_H, "IPV6_HOPOPTS", NULL, NULL, { > - 0}}, { > - "IPV6_DSTOPTS", DEFINED, IN_H, "IPV6_DSTOPTS", NULL, NULL, { > - 0}}, { > - "IPV6_RTHDRDSTOPTS", DEFINED, IN_H, "IPV6_RTHDRDSTOPTS", NULL, > - NULL, { > - 0}}, { > - "IPV6_TCLASS", DEFINED, IN_H, "IPV6_TCLASS", NULL, NULL, { > -0}},}; > - > -#define ETCOUNT (sizeof(etab)/sizeof(etab[0])) > - > -/* existence tests */ > -void icmp6_et(void) > -{ > - int i; > - > - for (i = 0; i < ETCOUNT; ++i) { > - switch (etab[i].et_type) { > - case EXISTS: > - structcheck(etab[i].et_tname, etab[i].et_incl, > - etab[i].et_struct, etab[i].et_field, > - etab[i].et_offset, etab[i].et_value); > - break; > - case ALIAS: > - aliascheck(etab[i].et_tname, etab[i].et_incl, > - etab[i].et_struct, etab[i].et_field, > - etab[i].et_dname); > - break; > - case VALUE: > - valuecheck(etab[i].et_tname, etab[i].et_incl, > - etab[i].et_struct, etab[i].et_dname); > - break; > - case DEFINED: > - funccheck(etab[i].et_tname, etab[i].et_incl, > - etab[i].et_struct); > - break; > - default: > - tst_resm(TBROK, "invalid type %d", etab[i].et_type); > - break; > - } > - } > -} > - > void setup(void) > { > TEST_PAUSE; /* if -P option specified */ > @@ -414,4 +297,4 @@ void icmp6_ft(void) > } > } > > -int TST_TOTAL = ETCOUNT; > +int TST_TOTAL = FTCOUNT; > diff --git a/testcases/network/lib6/asapi_07.c > b/testcases/network/lib6/asapi_07.c > deleted file mode 100644 > index 826cea6..0000000 > --- a/testcases/network/lib6/asapi_07.c > +++ /dev/null > @@ -1,144 +0,0 @@ > -/* > - * > - * Copyright (c) International Business Machines Corp., 2001 > - * Author: David L Stevens > - * > - * 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 > - */ > -/* > - * Description: > - * These tests are for the "Advanced Sockets API" (RFC 3542) > - * Section 20, ancillary data macros and structure definitions > - */ > - > -#include <stdio.h> > -#include <unistd.h> > -#include <errno.h> > - > -#include <sys/wait.h> > - > -#include <netinet/in.h> > -#include <netinet/ip6.h> > -#include <netinet/icmp6.h> > - > -#include "test.h" > -#include "runcc.h" > - > -enum ttype { EXISTS, ALIAS, VALUE, DEFINED }; > - > -static struct etent { > - char *et_tname; /* test name */ > - int et_type; /* test type */ > - char *et_incl; /* include file list */ > - char *et_struct; /* structure name */ > - char *et_field; /* field name */ > - char *et_offset; /* field offset */ > - union { > - char *fu_value; /* field size or value */ > - char *fu_dname; /* #define name */ > - } ftun; > -#define et_value ftun.fu_value > -#define et_dname ftun.fu_dname > -} etab[] = { > - /* existence checks, RFC 3542 sections 5, 20 */ > - { "msghdr msg_name", EXISTS, SOCKET_H, "msghdr", > - "msg_name", NULL, {"sizeof(void *)"} }, > - { "msghdr msg_namelen", EXISTS, SOCKET_H, "msghdr", > - "msg_namelen", NULL, {"sizeof(socklen_t)"} }, > - { "msghdr msg_iov", EXISTS, SOCKET_H, "msghdr", > - "msg_iov", NULL, {"sizeof(struct iovec *)"} }, > - { "msghdr msg_iovlen", EXISTS, SOCKET_H, "msghdr", > - "msg_iovlen", NULL, {"sizeof(size_t)"} }, > - { "msghdr msg_control", EXISTS, SOCKET_H, "msghdr", > - "msg_control", NULL, {"sizeof(void *)"} }, > - { "msghdr msg_controllen", EXISTS, SOCKET_H, "msghdr", > - "msg_controllen", NULL, {"sizeof(size_t)"} }, > - { "msghdr msg_flags", EXISTS, SOCKET_H, "msghdr", > - "msg_flags", NULL, {"sizeof(int)"} }, > - { "cmsghdr cmsg_len", EXISTS, SOCKET_H, "cmsghdr", > - "cmsg_len", NULL, {"sizeof(size_t)"} }, > - { "cmsghdr cmsg_level", EXISTS, SOCKET_H, "cmsghdr", > - "cmsg_level", NULL, {"sizeof(int)"} }, > - { "cmsghdr cmsg_type", EXISTS, SOCKET_H, "cmsghdr", > - "cmsg_type", NULL, {"sizeof(int)"} }, > - { "CMSG_DATA", DEFINED, SOCKET_H, "CMSG_DATA", > - NULL, NULL, {0} }, > - { "CMSG_NXTHDR", DEFINED, SOCKET_H, "CMSG_NXTHDR", > - NULL, NULL, {0} }, > - { "CMSG_FIRSTHDR", DEFINED, SOCKET_H, "CMSG_FIRSTHDR", > - NULL, NULL, {0} }, > - { "CMSG_SPACE", DEFINED, SOCKET_H, "CMSG_SPACE", > - NULL, NULL, {0} }, > - { "CMSG_LEN", DEFINED, SOCKET_H, "CMSG_LEN", > - NULL, NULL, {0} }, > -}; > - > -static void setup(void); > -static void adatet(const struct etent *etptr); > - > -char *TCID = "asapi_07"; > -int TST_TOTAL = ARRAY_SIZE(etab); > - > -int main(int argc, char *argv[]) > -{ > - int i, lc; > - > - tst_parse_opts(argc, argv, NULL, NULL); > - > - setup(); > - > - for (lc = 0; TEST_LOOPING(lc); ++lc) { > - tst_count = 0; > - > - for (i = 0; i < TST_TOTAL; i++) > - adatet(&etab[i]); > - } > - > - tst_exit(); > -} > - > -void setup(void) > -{ > - TEST_PAUSE; > -} > - > -/* existence tests */ > -void adatet(const struct etent *etptr) > -{ > - switch (etptr->et_type) { > - case EXISTS: > - structcheck(etptr->et_tname, etptr->et_incl, > - etptr->et_struct, etptr->et_field, > - etptr->et_offset, etptr->et_value); > - break; > - case ALIAS: > - aliascheck(etptr->et_tname, etptr->et_incl, > - etptr->et_struct, etptr->et_field, > - etptr->et_dname); > - break; > - case VALUE: > - valuecheck(etptr->et_tname, etptr->et_incl, > - etptr->et_struct, etptr->et_dname); > - break; > - case DEFINED: > - funccheck(etptr->et_tname, etptr->et_incl, > - etptr->et_struct); > - break; > - default: > - tst_resm(TBROK, "invalid type %d", > - etptr->et_type); > - break; > - } > -} > diff --git a/testcases/network/lib6/runcc.c b/testcases/network/lib6/runcc.c > deleted file mode 100644 > index 91a0b16..0000000 > --- a/testcases/network/lib6/runcc.c > +++ /dev/null > @@ -1,209 +0,0 @@ > -/* > - * > - * Copyright (c) International Business Machines Corp., 2001 > - * > - * 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 > - */ > - > -/* > - * runcc.a - common functions for lib6 testing > - * > - * HISTORY > - * 05/2005 written by David L Stevens > - * > - * RESTRICTIONS: > - * None. > - * > - */ > - > -#include <stdio.h> > -#include <unistd.h> > -#include <errno.h> > -#include <ctype.h> > - > -#include <sys/wait.h> > - > -#include "test.h" > - > -char fieldref[1024]; > -char program[8192]; > - > -char *filetmpl = "/tmp/%.*s_XXXXXX"; > - > -char cmd[1024]; > - > -/* > - * like strspn, with ASCII, numbers and underscore only > - */ > -int strfpn(char *name) > -{ > - int i; > - > - for (i = 0; *name; ++name, ++i) > - if (!(isalnum(*name) || *name == '_')) > - break; > - return i; > -} > - > -int runcc(char *tname, char *filename0, char *program) > -{ > - static char filename[1024]; > - int fd, es, saved_errno; > - char *cflags = ""; > - > - fd = mkstemp(filename0); > - if (fd < 0) { > - perror("mkstemp"); > - return -1; > - } > - strncpy(filename, filename0, sizeof(filename) - 1); > - filename[sizeof(filename) - 1] = '\0'; > - strncat(filename, ".c", sizeof(filename) - strlen(filename) - 1); > - if (rename(filename0, filename) < 0) { > - perror("rename"); > - unlink(filename0); > - return -1; > - } > - if (write(fd, program, strlen(program)) < 0) { > - perror("write"); > - unlink(filename); > - return -1; > - } > - (void)close(fd); > - > - cflags = getenv("CFLAGS"); > - if (cflags == NULL) { > - tst_resm(TINFO, "CFLAGS not found, using default cc arch."); > - cflags = ""; > - } > - > - snprintf(cmd, sizeof(cmd), "%s %s -o %s %s > /tmp/test 2>&1", "cc", > - cflags, filename0, filename); > - es = system(cmd); > - if (WEXITSTATUS(es) == 127) { > - tst_resm(TBROK, "can't run C compiler: \"%s\"", cmd); > - if (unlink(filename) < 0) > - tst_resm(TWARN, "%s; unlink \"%s\" failed: %s", tname, > - filename, strerror(errno)); > - return -1; > - } > - if (unlink(filename) < 0) > - tst_resm(TWARN, "%s: unlink \"%s\" failed: %s", tname, > - filename, strerror(errno)); > - > - if (WIFSIGNALED(es) && > - (WTERMSIG(es) == SIGINT || WTERMSIG(es) == SIGQUIT)) > - exit(1); > - > - if (WEXITSTATUS(es)) { > - tst_resm(TFAIL, "%s: not present", tname); > - return -1; > - } > - /* run the test */ > - > - es = system(filename0); > - saved_errno = errno; > - if (unlink(filename0) < 0) > - tst_resm(TWARN, "%s: unlink \"%s\" failed: %s", tname, > - filename0, strerror(errno)); > - > - if (WIFSIGNALED(es) && > - (WTERMSIG(es) == SIGINT || WTERMSIG(es) == SIGQUIT)) > - exit(1); > - > - if (WEXITSTATUS(es) == 127) > - tst_resm(TBROK, "%s: can't run \"%s\": %s", tname, filename0, > - strerror(saved_errno)); > - if (WEXITSTATUS(es)) > - tst_resm(TFAIL, "%s: present, but incorrect", tname); > - else > - tst_resm(TPASS, "%s present and correct", tname); > - return 0; > -} > - > -char *field_fmt = "\n\texit((offsetof(struct %s, %s) != %s) || " > - "sizeof(tst.%s) != (%s));\n"; > -/* no offset check */ > -char *field_fmt2 = "\n\texit(sizeof(tst.%s) != (%s));\n"; > - > -const char *stmpl = > - "%s\n#ifndef offsetof\n" > - "#define offsetof(dtype, dfield) ((int)&((dtype *)0)->dfield)\n" > - "#endif\n\nstruct %s tst;\n\nmain(int argc, char *argv[])\n{\n\t%s\n}\n"; > - > -int > -structcheck(char *tname, char *incl, char *structure, char *field, > - char *offset, char *size) > -{ > - int rv; > - static char filename[1024]; > - > - if (offset) > - sprintf(fieldref, field_fmt, structure, field, offset, field, > - size); > - else > - sprintf(fieldref, field_fmt2, field, size); > - sprintf(program, stmpl, incl, structure, fieldref); > - snprintf(filename, sizeof(filename), filetmpl, strfpn(structure), > - structure); > - rv = runcc(tname, filename, program); > - return rv; > -} > - > -char *aliasfmt = > - "exit(&tst.%s != &tst.%s || sizeof(tst.%s) != sizeof(tst.%s));"; > - > -int > -aliascheck(char *tname, char *incl, char *structure, char *field, char > *dname) > -{ > - int rv; > - static char filename[1024]; > - > - sprintf(fieldref, aliasfmt, field, dname, field, dname); > - sprintf(program, stmpl, incl, structure, fieldref); > - snprintf(filename, sizeof(filename), filetmpl, strfpn(structure), > - structure); > - rv = runcc(tname, filename, program); > - return rv; > -} > - > -const char *dtmpl = > - "%s\n\nmain(int argc, char *argv[])\n{\n\texit((%s) != (%s));\n}\n"; > - > -int valuecheck(char *tname, char *incl, char *dname, char *dval) > -{ > - int rv; > - static char filename[1024]; > - > - sprintf(program, dtmpl, incl, dname, dval); > - snprintf(filename, sizeof(filename), filetmpl, strfpn(dname), dname); > - rv = runcc(tname, filename, program); > - return rv; > -} > - > -const char *ftmpl = > - "%s\n\nmain(int argc, char *argv[])\n{\n#ifdef %s\n\texit(0);\n#else\n" > - "\tsyntax error;\n#endif\n}\n"; > - > -int funccheck(char *tname, char *incl, char *fname) > -{ > - int rv; > - static char filename[1024]; > - > - sprintf(program, ftmpl, incl, fname); > - snprintf(filename, sizeof(filename), filetmpl, strfpn(fname), fname); > - rv = runcc(tname, filename, program); > - return rv; > -} > diff --git a/testcases/network/lib6/runcc.h b/testcases/network/lib6/runcc.h > deleted file mode 100644 > index 4e2a0d5..0000000 > --- a/testcases/network/lib6/runcc.h > +++ /dev/null > @@ -1,30 +0,0 @@ > -/* > - * > - * Copyright (c) International Business Machines Corp., 2001 > - * > - * 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 > - */ > - > -int aliascheck(char *tname, char *incl, char *structure, char *field, > - char *dname); > -int funccheck(char *tname, char *incl, char *fname); > -int structcheck(char *tname, char *incl, char *structure, char *field, > - char *offset, char *size); > -int valuecheck(char *tname, char *incl, char *dname, char *dval); > - > -#define IP6_H "#include <netinet/ip6.h>\n" > -#define IN_H "#include <netinet/in.h>\n" > -#define ICMP6_H "#include <netinet/icmp6.h>\n" > -#define SOCKET_H "#include <sys/types.h>\n#include <sys/socket.h>\n" ------------------------------------------------------------------------------ Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list