(root)/
glibc-2.38/
sunrpc/
rpc_common.c
       1  /*
       2   * Copyright (c) 2010, Oracle America, Inc.
       3   * Redistribution and use in source and binary forms, with or without
       4   * modification, are permitted provided that the following conditions are
       5   * met:
       6   *
       7   *     * Redistributions of source code must retain the above copyright
       8   *       notice, this list of conditions and the following disclaimer.
       9   *     * Redistributions in binary form must reproduce the above
      10   *       copyright notice, this list of conditions and the following
      11   *       disclaimer in the documentation and/or other materials
      12   *       provided with the distribution.
      13   *     * Neither the name of the "Oracle America, Inc." nor the names of its
      14   *       contributors may be used to endorse or promote products derived
      15   *       from this software without specific prior written permission.
      16   *
      17   *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
      18   *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
      19   *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
      20   *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
      21   *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
      22   *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
      23   *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
      24   *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
      25   *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
      26   *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
      27   *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
      28   *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      29   */
      30  #include <rpc/rpc.h>
      31  #include <shlib-compat.h>
      32  
      33  #undef svc_fdset
      34  #undef rpc_createerr
      35  #undef svc_pollfd
      36  #undef svc_max_pollfd
      37  
      38  /*
      39   * This file should only contain common data (global data) that is exported
      40   * by public interfaces
      41   */
      42  /* We are very tricky here.  We want to have _null_auth in a read-only
      43     section but we cannot add const to the type because this isn't how
      44     the variable is declared.  So we use the section attribute.  */
      45  struct opaque_auth _null_auth;
      46  libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0)
      47  
      48  fd_set svc_fdset;
      49  struct rpc_createerr rpc_createerr;
      50  struct pollfd *svc_pollfd;
      51  int svc_max_pollfd;
      52  #ifdef SHARED
      53  # ifndef EXPORT_RPC_SYMBOLS
      54  compat_symbol (libc, svc_fdset, svc_fdset, GLIBC_2_0);
      55  compat_symbol (libc, rpc_createerr, rpc_createerr, GLIBC_2_0);
      56  compat_symbol (libc, svc_pollfd, svc_pollfd, GLIBC_2_2);
      57  compat_symbol (libc, svc_max_pollfd, svc_max_pollfd, GLIBC_2_2);
      58  # endif
      59  #endif