Home | History | Annotate | Download | only in include
      1 /* Copyright (C) 1996, 1997, 1998, 1999 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, write to the Free
     16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     17    02111-1307 USA.  */
     18 
     19 #ifndef _ALIASES_H
     20 #define _ALIASES_H	1
     21 
     22 #include <features.h>
     23 
     24 #include <sys/types.h>
     25 
     26 
     27 __BEGIN_DECLS
     28 
     29 /* Structure to represent one entry of the alias data base.  */
     30 struct aliasent
     31   {
     32     char *alias_name;
     33     size_t alias_members_len;
     34     char **alias_members;
     35     int alias_local;
     36   };
     37 
     38 
     39 /* Open alias data base files.  */
     40 extern void setaliasent (void) __THROW;
     41 
     42 /* Close alias data base files.  */
     43 extern void endaliasent (void) __THROW;
     44 
     45 /* Get the next entry from the alias data base.  */
     46 extern struct aliasent *getaliasent (void) __THROW;
     47 
     48 /* Get the next entry from the alias data base and put it in RESULT_BUF.  */
     49 extern int getaliasent_r (struct aliasent *__restrict __result_buf,
     50 			  char *__restrict __buffer, size_t __buflen,
     51 			  struct aliasent **__restrict __result) __THROW;
     52 
     53 /* Get alias entry corresponding to NAME.  */
     54 extern struct aliasent *getaliasbyname (__const char *__name) __THROW;
     55 
     56 /* Get alias entry corresponding to NAME and put it in RESULT_BUF.  */
     57 extern int getaliasbyname_r (__const char *__restrict __name,
     58 			     struct aliasent *__restrict __result_buf,
     59 			     char *__restrict __buffer, size_t __buflen,
     60 			     struct aliasent **__restrict __result) __THROW;
     61 
     62 __END_DECLS
     63 
     64 #endif /* aliases.h */
     65