2 * $Id: libpamc.h,v 1.2 2000/11/19 23:54:03 agmorgan Exp $
4 * Copyright (c) Andrew G. Morgan <morgan@ftp.kernel.org>
11 #include <security/pam_client.h>
12 #include <security/_pam_macros.h>
16 #include <sys/types.h>
23 #define _PAMC_DEFAULT_TOP_FD 10
25 struct pamc_handle_s {
26 struct pamc_agent_s *current;
27 struct pamc_agent_s *chain;
28 struct pamc_blocked_s *blocked_agents;
32 int highest_fd_to_close;
35 typedef struct pamc_blocked_s {
36 char *id; /* <NUL> terminated */
37 struct pamc_blocked_s *next;
40 typedef struct pamc_agent_s {
43 struct pamc_agent_s *next;
44 int writer; /* write to agent */
45 int reader; /* read from agent */
46 pid_t pid; /* agent process id */
49 /* used to build a tree of unique, sorted agent ids */
51 typedef struct pamc_id_node {
52 struct pamc_id_node *left, *right;
57 /* internal function */
58 int __pamc_valid_agent_id(int id_length, const char *id);
60 #define PAMC_SYSTEM_AGENT_PATH "/lib/pamc:/usr/lib/pamc"
61 #define PAMC_SYSTEM_AGENT_SEPARATOR ':'
63 #endif /* LIBPAMC_H */