* Add 'static' before some functions and global variables. * Remove cleanup() function. * Remove useless comments. * Modify the format of etab[] and ftab[]. * Some cleanup.
Signed-off-by: Zeng Linggang <zenglg...@cn.fujitsu.com> --- testcases/network/lib6/asapi_05.c | 218 ++++++++++++++++---------------------- 1 file changed, 89 insertions(+), 129 deletions(-) diff --git a/testcases/network/lib6/asapi_05.c b/testcases/network/lib6/asapi_05.c index 9acc6a2..7b2dda3 100644 --- a/testcases/network/lib6/asapi_05.c +++ b/testcases/network/lib6/asapi_05.c @@ -1,6 +1,6 @@ /* - * * Copyright (c) International Business Machines Corp., 2001 + * 04/2005 written by 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 @@ -13,26 +13,14 @@ * 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 + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* - * Test Name: asapi_05 - * * Test Description: * These tests are for the "Advanced Sockets API" (RFC 3542) * Verify that in6 and sockaddr fields are present. - * - * Usage: <for command-line> - * asapi_05 - * - * HISTORY - * 04/2005 written by David L Stevens - * - * RESTRICTIONS: - * None. - * */ #include <stdio.h> @@ -51,11 +39,10 @@ char *TCID = "asapi_05"; /* Test program identifier. */ -void setup(void); -void cleanup(void); +static void setup(void); -void icmp6_et(void); -void icmp6_ft(void); +static void icmp6_et(void); +static void icmp6_ft(void); int main(int argc, char *argv[]) { @@ -71,14 +58,12 @@ int main(int argc, char *argv[]) icmp6_ft(); } - cleanup(); - tst_exit(); } enum ttype { EXISTS, ALIAS, VALUE, DEFINED }; -struct etent { +static struct etent { char *et_tname; /* test name */ int et_type; /* test type */ char *et_incl; /* include file list */ @@ -92,76 +77,56 @@ struct etent { #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 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 ARRAY_SIZE(etab) /* existence tests */ -void icmp6_et(void) +static void icmp6_et(void) { - int i; + unsigned int i; for (i = 0; i < ETCOUNT; ++i) { switch (etab[i].et_type) { @@ -190,50 +155,45 @@ void icmp6_et(void) } } -void setup(void) +static void setup(void) { - TEST_PAUSE; /* if -P option specified */ + TEST_PAUSE; tst_require_root(NULL); } -void cleanup(void) -{ -} - -/* - * This is for old, broken glibc-header icmp6_filter structure definitions. - * If icmp6.h has struct icmp6_filter with field named "data" instead - * of the standard "icmp_filt", uncomment this line. - */ -/*#define icmp_filt data */ - -enum tt { T_WILLPASS, T_WILLBLOCK, T_SETPASS, T_SETBLOCK, T_SETPASSALL, +enum tt { + T_WILLPASS, + T_WILLBLOCK, + T_SETPASS, + T_SETBLOCK, + T_SETPASSALL, T_SETBLOCKALL }; -struct ftent { - char *ft_tname; /* test name, for logging */ + +static struct ftent { + char *ft_tname; /* test name, for logging */ unsigned char ft_sndtype; /* send type field */ unsigned char ft_flttype; /* filter type field */ - enum tt ft_test; /* what macro to test */ - int ft_expected; /* packet should pass? */ + enum tt ft_test; /* what macro to test */ + int ft_expected; /* packet should pass? */ } ftab[] = { - { - "ICMP6_FILTER_SETPASS s 20 f 20", 20, 20, T_SETPASS, 1}, { - "ICMP6_FILTER_SETPASS s 20 f 21", 20, 21, T_SETPASS, 0}, { - "ICMP6_FILTER_SETBLOCK s 20 f 20", 20, 20, T_SETBLOCK, 0}, { - "ICMP6_FILTER_SETBLOCK s 20 f 21", 20, 21, T_SETBLOCK, 1}, { - "ICMP6_FILTER_PASSALL s 20", 20, 0, T_SETPASSALL, 1}, { - "ICMP6_FILTER_PASSALL s 20", 21, 0, T_SETPASSALL, 1}, { - "ICMP6_FILTER_BLOCKALL s 20", 20, 0, T_SETBLOCKALL, 0}, { - "ICMP6_FILTER_BLOCKALL s 20", 21, 0, T_SETBLOCKALL, 0}, { - "ICMP6_FILTER_WILLBLOCK s 20 f 21", 20, 21, T_WILLBLOCK, 0}, { - "ICMP6_FILTER_WILLBLOCK s 20 f 20", 20, 20, T_WILLBLOCK, 1}, { - "ICMP6_FILTER_WILLPASS s 20 f 21", 20, 21, T_WILLPASS, 0}, { -"ICMP6_FILTER_WILLPASS s 22 f 22", 22, 22, T_WILLPASS, 1},}; - -#define FTCOUNT (sizeof(ftab)/sizeof(ftab[0])) - -int ic6_send1(char *tname, unsigned char type) + {"ICMP6_FILTER_SETPASS s 20 f 20", 20, 20, T_SETPASS, 1}, + {"ICMP6_FILTER_SETPASS s 20 f 21", 20, 21, T_SETPASS, 0}, + {"ICMP6_FILTER_SETBLOCK s 20 f 20", 20, 20, T_SETBLOCK, 0}, + {"ICMP6_FILTER_SETBLOCK s 20 f 21", 20, 21, T_SETBLOCK, 1}, + {"ICMP6_FILTER_PASSALL s 20", 20, 0, T_SETPASSALL, 1}, + {"ICMP6_FILTER_PASSALL s 20", 21, 0, T_SETPASSALL, 1}, + {"ICMP6_FILTER_BLOCKALL s 20", 20, 0, T_SETBLOCKALL, 0}, + {"ICMP6_FILTER_BLOCKALL s 20", 21, 0, T_SETBLOCKALL, 0}, + {"ICMP6_FILTER_WILLBLOCK s 20 f 21", 20, 21, T_WILLBLOCK, 0}, + {"ICMP6_FILTER_WILLBLOCK s 20 f 20", 20, 20, T_WILLBLOCK, 1}, + {"ICMP6_FILTER_WILLPASS s 20 f 21", 20, 21, T_WILLPASS, 0}, + {"ICMP6_FILTER_WILLPASS s 22 f 22", 22, 22, T_WILLPASS, 1}, +}; + +#define FTCOUNT ARRAY_SIZE(ftab) + +static int ic6_send1(char *tname, unsigned char type) { struct sockaddr_in6 sin6; struct icmp6_hdr ic6; @@ -259,7 +219,7 @@ int ic6_send1(char *tname, unsigned char type) return 0; } -int ic6_recv1(char *tname, int sall, int sf) +static int ic6_recv1(char *tname, int sall, int sf) { fd_set readfds, readfds_saved; struct timeval tv; @@ -302,7 +262,7 @@ int ic6_recv1(char *tname, int sall, int sf) return -1; } /* if packet check succeeds... */ - if (htonl(pic6->icmp6_data32[0]) == getpid()) + if (htonl(pic6->icmp6_data32[0]) == (uint32_t)getpid()) gotall = 1; } if (FD_ISSET(sf, &readfds)) { @@ -313,7 +273,7 @@ int ic6_recv1(char *tname, int sall, int sf) return -1; } /* if packet check succeeds... */ - if (htonl(pic6->icmp6_data32[0]) == getpid()) + if (htonl(pic6->icmp6_data32[0]) == (uint32_t)getpid()) gotone = 1; } memcpy(&readfds, &readfds_saved, sizeof(readfds)); @@ -328,11 +288,11 @@ int ic6_recv1(char *tname, int sall, int sf) } /* functional tests */ -void icmp6_ft(void) +static void icmp6_ft(void) { struct icmp6_filter i6f; int sall, sf; - int i; + unsigned int i; sall = socket(PF_INET6, SOCK_RAW, IPPROTO_ICMPV6); if (sall < 0) { -- 1.9.3 ------------------------------------------------------------------------------ _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list