Logo Search packages:      
Sourcecode: samba-doc-ja version File versions

hp_nss_dbdefs.h

#ifndef _HP_NSS_DBDEFS_H
#define _HP_NSS_DBDEFS_H

/*
   Unix SMB/CIFS implementation.
 
   Donated by HP to enable Winbindd to build on HPUX 11.x.
   Copyright (C) Jeremy Allison 2002.
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.
 
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.
 
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA  02111-1307, USA.
*/

#include <errno.h>
#include <netdb.h>
#include <limits.h>
 
#ifndef NSS_INCLUDE_UNSAFE
#define NSS_INCLUDE_UNSAFE      1       /* Build old, MT-unsafe interfaces, */
#endif  /* NSS_INCLUDE_UNSAFE */
 
enum nss_netgr_argn {
      NSS_NETGR_MACHINE,
      NSS_NETGR_USER,
      NSS_NETGR_DOMAIN,
      NSS_NETGR_N
};
 
enum nss_netgr_status {
      NSS_NETGR_FOUND,
      NSS_NETGR_NO,
      NSS_NETGR_NOMEM
};
 
typedef unsigned nss_innetgr_argc;
typedef char **nss_innetgr_argv;
 
struct nss_innetgr_1arg {
      nss_innetgr_argc argc;
      nss_innetgr_argv argv;
};
 
typedef struct {
      void *result;        /* "result" parameter to getXbyY_r() */
      char *buffer;        /* "buffer"     "             "      */
      int buflen;         /* "buflen"     "             "      */
} nss_XbyY_buf_t;
 
extern nss_XbyY_buf_t *_nss_XbyY_buf_alloc(int struct_size, int buffer_size);
extern void _nss_XbyY_buf_free(nss_XbyY_buf_t *);
 
union nss_XbyY_key {
      uid_t uid;
      gid_t gid;
      const char *name;
      int number;
      struct {
            long net;
            int type;
      } netaddr;
      struct {
            const char *addr;
            int len;
            int type;
      } hostaddr;
      struct {
            union {
                  const char *name;
                  int port;
            } serv;
            const char *proto;
      } serv;
      void *ether;
};
 
typedef struct nss_XbyY_args {
      nss_XbyY_buf_t  buf;
      int stayopen;
      /*
       * Support for setXXXent(stayopen)
       * Used only in hosts, protocols,
       * networks, rpc, and services.
       */
      int (*str2ent)(const char *instr, int instr_len, void *ent, char *buffer, int buflen);
      union nss_XbyY_key key;
 
      void *returnval;
      int erange;
      int h_errno;
      nss_status_t status;
} nss_XbyY_args_t;
 
#endif /* _NSS_DBDEFS_H */

Generated by  Doxygen 1.6.0   Back to index