OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [sys/] [linux/] [net/] [netgroup.h] - Diff between revs 148 and 158

Only display areas with differences | Details | Blame | View Log

Rev 148 Rev 158
/* Internal header for netgroup related functions.
/* Internal header for netgroup related functions.
   Copyright (C) 1996, 1997, 2004 Free Software Foundation, Inc.
   Copyright (C) 1996, 1997, 2004 Free Software Foundation, Inc.
   This file is part of the GNU C Library.
   This file is part of the GNU C Library.
 
 
   The GNU C Library is free software; you can redistribute it and/or
   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.
   version 2.1 of the License, or (at your option) any later version.
 
 
   The GNU C Library is distributed in the hope that it will be useful,
   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.
   Lesser General Public License for more details.
 
 
   You should have received a copy of the GNU Lesser General Public
   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, write to the Free
   License along with the GNU C Library; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307 USA.  */
   02111-1307 USA.  */
 
 
#ifndef _NETGROUP_H
#ifndef _NETGROUP_H
#define _NETGROUP_H     1
#define _NETGROUP_H     1
 
 
#include <nsswitch.h>
#include <nsswitch.h>
 
 
/* A netgroup can consist of names of other netgroups.  We have to
/* A netgroup can consist of names of other netgroups.  We have to
   track which netgroups were read and which still have to be read.  */
   track which netgroups were read and which still have to be read.  */
struct name_list
struct name_list
{
{
  struct name_list *next;
  struct name_list *next;
  char name[0];
  char name[0];
};
};
 
 
 
 
/* Dataset for iterating netgroups.  */
/* Dataset for iterating netgroups.  */
struct __netgrent
struct __netgrent
{
{
  enum { triple_val, group_val } type;
  enum { triple_val, group_val } type;
 
 
  union
  union
  {
  {
    struct
    struct
    {
    {
      const char *host;
      const char *host;
      const char *user;
      const char *user;
      const char *domain;
      const char *domain;
    }
    }
    triple;
    triple;
 
 
    const char *group;
    const char *group;
  } val;
  } val;
 
 
  /* Room for the data kept between the calls to the netgroup
  /* Room for the data kept between the calls to the netgroup
     functions.  We must avoid global variables.  */
     functions.  We must avoid global variables.  */
  char *data;
  char *data;
  size_t data_size;
  size_t data_size;
  union
  union
  {
  {
    char *cursor;
    char *cursor;
    unsigned long int position;
    unsigned long int position;
  };
  };
  int first;
  int first;
 
 
  struct name_list *known_groups;
  struct name_list *known_groups;
  struct name_list *needed_groups;
  struct name_list *needed_groups;
 
 
  /* This handle for the NSS data base is shared between all
  /* This handle for the NSS data base is shared between all
     set/get/endXXXent functions.  */
     set/get/endXXXent functions.  */
  service_user *nip;
  service_user *nip;
};
};
 
 
 
 
/* The internal netgroup handling functions might be called from outside.  */
/* The internal netgroup handling functions might be called from outside.  */
extern int __internal_setnetgrent (const char *group,
extern int __internal_setnetgrent (const char *group,
                                   struct __netgrent *datap);
                                   struct __netgrent *datap);
extern void __internal_endnetgrent (struct __netgrent *datap);
extern void __internal_endnetgrent (struct __netgrent *datap);
extern int __internal_getnetgrent_r (char **hostp, char **userp,
extern int __internal_getnetgrent_r (char **hostp, char **userp,
                                     char **domainp, struct __netgrent *datap,
                                     char **domainp, struct __netgrent *datap,
                                     char *buffer, size_t buflen, int *errnop);
                                     char *buffer, size_t buflen, int *errnop);
 
 
#endif /* netgroup.h */
#endif /* netgroup.h */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.