X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=regress%2Fhmacros.i4;h=83f5f25edde87b7052d6f094791ca90cc1ccd29d;hb=814cee186999a6e9a76ab970f891347c1e42b132;hp=4e5123ec4a4476946ce18a80285d419c8cac5776;hpb=70a778e57fbc29a2d2bc8976745a18f4edd1a03a;p=adns.git diff --git a/regress/hmacros.i4 b/regress/hmacros.i4 index 4e5123e..83f5f25 100644 --- a/regress/hmacros.i4 +++ b/regress/hmacros.i4 @@ -2,11 +2,16 @@ m4_dnl hmacros.h.m4 m4_dnl (part of complex test harness, not of the library) m4_dnl - common macros -m4_dnl This file is part of adns, which is Copyright (C) 1997, 1998 Ian Jackson +m4_dnl This file is part of adns, which is +m4_dnl Copyright (C) 1997-2000,2003,2006,2014-2016,2020 Ian Jackson +m4_dnl Copyright (C) 2014 Mark Wooding +m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch +m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology +m4_dnl (See the file INSTALL for full details.) m4_dnl m4_dnl This program is free software; you can redistribute it and/or modify m4_dnl it under the terms of the GNU General Public License as published by -m4_dnl the Free Software Foundation; either version 2, or (at your option) +m4_dnl the Free Software Foundation; either version 3, or (at your option) m4_dnl any later version. m4_dnl m4_dnl This program is distributed in the hope that it will be useful, @@ -15,8 +20,7 @@ m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the m4_dnl GNU General Public License for more details. m4_dnl m4_dnl You should have received a copy of the GNU General Public License -m4_dnl along with this program; if not, write to the Free Software Foundation, -m4_dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +m4_dnl along with this program; if not, write to the Free Software Foundation. m4_define(`hm_args_massage', `m4_ifelse( @@ -27,21 +31,22 @@ m4_define(`hm_args_massage', `'), `', `$2', - ` + `m4_dnl m4_patsubst(m4_patsubst(m4_patsubst(m4_translit($1, ` ',` '), `\(hm_comma *\)*$', `'), `^\( *hm_comma\)*', `'), - `\( *hm_comma *\)+',` hm_comma ') + `\( *hm_comma *\)+',` hm_comma ')m4_dnl ')') m4_define(`hm_create_nothing', ` m4_define(`hm_na',`') - m4_define(`hm_arg_timeval_out_abs', `') m4_define(`hm_arg_nullptr', `') m4_define(`hm_arg_int', `') m4_define(`hm_arg_fdset_io', `') + m4_define(`hm_arg_pollfds_io', `') m4_define(`hm_arg_timeval_in_rel_null',`') m4_define(`hm_arg_must', `') m4_define(`hm_arg_socktype',`') + m4_define(`hm_arg_addrfam',`') m4_define(`hm_arg_ign', `') m4_define(`hm_arg_fd', `') m4_define(`hm_arg_fcntl_cmd_arg',`') @@ -49,17 +54,26 @@ m4_define(`hm_create_nothing', ` m4_define(`hm_arg_bytes_in', `') m4_define(`hm_arg_bytes_out', `') m4_define(`hm_arg_addr_out', `') + m4_define(`hm_rv_must', `') + m4_define(`hm_rv_any', `') + m4_define(`hm_rv_fd', `') + m4_define(`hm_rv_succfail', `') + m4_define(`hm_rv_len', `') + m4_define(`hm_rv_fcntl', `') + m4_define(`hm_rv_select', `hm_rv_any') + m4_define(`hm_rv_poll', `hm_rv_any') ') m4_define(`hm_create_proto_h',` m4_define(`hm_na', `hm_comma') - m4_define(`hm_arg_timeval_out_abs', `struct timeval *$'`1') m4_define(`hm_arg_nullptr', `$'`1 $'`2') m4_define(`hm_arg_int', `int $'`1') m4_define(`hm_arg_fdset_io', `fd_set *$'`1') + m4_define(`hm_arg_pollfds_io', `struct pollfd *$'`1 hm_comma int $'`2') m4_define(`hm_arg_timeval_in_rel_null', `struct timeval *$'`1') m4_define(`hm_arg_must', `$'`1 $'`2') m4_define(`hm_arg_socktype', `int $'`1') + m4_define(`hm_arg_addrfam', `int $'`1') m4_define(`hm_arg_ign', `$'`1 $'`2') m4_define(`hm_arg_fd', `int $'`1') m4_define(`hm_arg_fcntl_cmd_arg', `int $'`1 hm_comma ...') @@ -71,9 +85,9 @@ m4_define(`hm_create_proto_h',` m4_define(`hm_create_proto_q',` hm_create_proto_h - m4_define(`hm_arg_timeval_out_abs', `') m4_define(`hm_arg_nullptr', `') m4_define(`hm_arg_fdset_io', `const fd_set *$'`1') + m4_define(`hm_arg_pollfds_io', `const struct pollfd *$'`1 hm_comma int $'`2') m4_define(`hm_arg_must', `') m4_define(`hm_arg_ign', `') m4_define(`hm_arg_fcntl_cmd_arg', `int $'`1 hm_comma long $'`2') @@ -92,10 +106,12 @@ m4_define(`hm_create_hqcall_init',` m4_define(`hm_arg_must', `Tmust("$1","$'`2",$'`2==$'`3);') m4_define(`hm_arg_socktype',` Tmust("$1","$'`1",$'`1==SOCK_STREAM || $'`1==SOCK_DGRAM);') + m4_define(`hm_arg_addrfam',` + Tmust("$1","$'`1",$'`1==AF_INET || $'`1==AF_INET6);') m4_define(`hm_arg_fcntl_cmd_arg',` Tmust("$1","$'`1",$'`1==F_SETFL || $'`1==F_GETFL); if ($'`1 == F_SETFL) { - va_start(al,$'`1); $'`2= va_arg(al,long); va_end(al); + va_start(al,$'`1); $'`2= va_arg(al,int); va_end(al); } else { $'`2= 0; }') @@ -104,13 +120,14 @@ m4_define(`hm_create_hqcall_init',` m4_define(`hm_create_realcall_args',` m4_define(`hm_na',`hm_comma') - m4_define(`hm_arg_timeval_out_abs', `$'`1') m4_define(`hm_arg_nullptr', `0') m4_define(`hm_arg_int', `$'`1') m4_define(`hm_arg_fdset_io', `$'`1') + m4_define(`hm_arg_pollfds_io', `$'`1 hm_comma $'`2') m4_define(`hm_arg_timeval_in_rel_null', `$'`1') m4_define(`hm_arg_must', `$'`2') m4_define(`hm_arg_socktype', `$'`1') + m4_define(`hm_arg_addrfam', `$'`1') m4_define(`hm_arg_ign', `$'`2') m4_define(`hm_arg_fd', `$'`1') m4_define(`hm_arg_fcntl_cmd_arg', `$'`1 hm_comma $'`2') @@ -122,7 +139,6 @@ m4_define(`hm_create_realcall_args',` m4_define(`hm_create_hqcall_args',` hm_create_realcall_args - m4_define(`hm_arg_timeval_out_abs', `') m4_define(`hm_arg_nullptr', `') m4_define(`hm_arg_must', `') m4_define(`hm_arg_ign', `') @@ -130,3 +146,7 @@ m4_define(`hm_create_hqcall_args',` m4_define(`hm_arg_bytes_out', `$'`4') m4_define(`hm_arg_addr_out', `*$'`2') ') + +m4_define(`hm_fr_syscall_ident',` + static const char sync_expect[sizeof("$1")]= "$1\xee"; +')