1 /* Declarations for System V style searching functions.
   2    Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
   3    This file is part of the GNU C Library.
   4 
   5    The GNU C Library is free software; you can redistribute it and/or
   6    modify it under the terms of the GNU Lesser General Public
   7    License as published by the Free Software Foundation; either
   8    version 2.1 of the License, or (at your option) any later version.
   9 
  10    The GNU C Library is distributed in the hope that it will be useful,
  11    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13    Lesser General Public License for more details.
  14 
  15    You should have received a copy of the GNU Lesser General Public
  16    License along with the GNU C Library; if not, write to the Free
  17    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  18    02111-1307 USA.  */
  19 
  20 #ifndef _HSEARCH_R_H_
  21 #define _HSEARCH_R_H_
  22 
  23 #include <search.h>
  24 
  25 struct _ENTRY;
  26 
  27 /* Data type for reentrant functions.  */
  28 struct hsearch_data
  29   {
  30     struct _ENTRY *table;
  31     unsigned int size;
  32     unsigned int filled;
  33   };
  34 
  35 /* Reentrant versions which can handle multiple hashing tables at the
  36    same time.  */
  37 extern int hsearch_r (ENTRY __item, ACTION __action, ENTRY **__retval,
  38                       struct hsearch_data *__htab);
  39 extern int hcreate_r (size_t __nel, struct hsearch_data *__htab);
  40 extern void hdestroy_r (struct hsearch_data *__htab);
  41 
  42 #endif /* _HSEARCH_R_H_ */