(root)/
glibc-2.38/
inet/
bug-if1.c
       1  /* Copyright (C) 2004-2023 Free Software Foundation, Inc.
       2     This file is part of the GNU C Library.
       3  
       4     The GNU C Library is free software; you can redistribute it and/or
       5     modify it under the terms of the GNU Lesser General Public
       6     License as published by the Free Software Foundation; either
       7     version 2.1 of the License, or (at your option) any later version.
       8  
       9     The GNU C Library is distributed in the hope that it will be useful,
      10     but WITHOUT ANY WARRANTY; without even the implied warranty of
      11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12     Lesser General Public License for more details.
      13  
      14     You should have received a copy of the GNU Lesser General Public
      15     License along with the GNU C Library; if not, see
      16     <https://www.gnu.org/licenses/>.  */
      17  
      18  #include <errno.h>
      19  #include <limits.h>
      20  #include <stdio.h>
      21  #include <string.h>
      22  #include <net/if.h>
      23  
      24  
      25  static int
      26  do_test (void)
      27  {
      28    char buf[IF_NAMESIZE];
      29    /* Index 0 is always invalid (see RFC 3493).  */
      30    char *cp = if_indextoname (0, buf);
      31    if (cp != NULL)
      32      {
      33        printf ("invalid index returned result \"%s\"\n", cp);
      34        return 1;
      35      }
      36    else if (errno != ENXIO)
      37      {
      38        int err = errno;
      39        char errbuf1[256];
      40        char errbuf2[256];
      41  
      42        printf ("errno = %d (%s), expected %d (%s)\n",
      43  	      err, strerror_r (err, errbuf1, sizeof (errbuf1)),
      44  	      ENXIO, strerror_r (ENXIO, errbuf2, sizeof (errbuf2)));
      45        return 1;
      46      }
      47  
      48    return 0;
      49  }
      50  
      51  #define TEST_FUNCTION do_test ()
      52  #include "../test-skeleton.c"