#include <pwd.h>
#include <grp.h>
+#include <netdb.h>
typedef struct test_tables {
struct passwd *pwd_table;
struct group *grp_table;
+ struct hostent *host_table;
} test_tables;
extern void _nss_test1_init_hook (test_tables *) __attribute__((weak));
#define PWD_LAST() { .pw_name = NULL, .pw_uid = 0 }
#define GRP_LAST() { .gr_name = NULL, .gr_gid = 0 }
+#define HOST_LAST() { .h_name = NULL, .h_aliases = NULL, .h_length = 0, .h_addr_list = NULL }
#define PWD_ISLAST(p) ((p)->pw_name == NULL && (p)->pw_uid == 0)
#define GRP_ISLAST(g) ((g)->gr_name == NULL && (g)->gr_gid == 0)
+#define HOST_ISLAST(h) ((h)->h_name == NULL && (h)->h_length == 0)
/* Macros to fill in the tables easily. */
{ .gr_name = (char *) n, .gr_passwd = (char *) "*", .gr_gid = u, \
.gr_mem = (char **) m }
+#define HOST(u) \
+ { .h_name = (char *) "name" #u, .h_aliases = NULL, .h_addrtype = u, \
+ .h_length = 4, \
+ .h_addr_list = (char **) hostaddr_##u }
+
/*------------------------------------------------------------*/
/* Helper functions for testing passwd entries. Call