summaryrefslogtreecommitdiffstats
path: root/contrib/libpam/libpam_misc/pam_misc.h
blob: 4823973a4f01e0e1454199ad3b7ab457b18efad2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/* $Id: pam_misc.h,v 1.3 1997/01/04 20:15:52 morgan Exp morgan $ */

/* $Log: pam_misc.h,v $
 * Revision 1.3  1997/01/04 20:15:52  morgan
 * added timeout to misc_conv
 *
 * Revision 1.2  1996/12/01 03:27:00  morgan
 * add env prototypes
 *
 * Revision 1.1  1996/07/06 19:31:38  morgan
 * Initial revision
 *
 * Revision 1.1  1996/07/06 19:16:30  morgan
 * Initial revision
 */

#ifndef __PAMMISC_H
#define __PAMMISC_H

#include <security/pam_appl.h>

/* include some useful macros */

#include <security/_pam_macros.h>

/* functions defined in pam_misc.* libraries */

extern int misc_conv(int num_msg, const struct pam_message **msgm,
		     struct pam_response **response, void *appdata_ptr);

#include <time.h>

extern time_t pam_misc_conv_warn_time; /* time that we should warn user */
extern time_t pam_misc_conv_die_time;         /* cut-off time for input */
extern const char *pam_misc_conv_warn_line;           /* warning notice */
extern const char *pam_misc_conv_die_line;            /* cut-off remark */
extern int pam_misc_conv_died;      /* 1 = cut-off time reached (0 not) */
extern int (*pam_binary_handler_fn)(const void *send, void **receive);

/*
 * Environment helper functions
 */

/* transcribe given environment (to pam) */
extern int pam_misc_paste_env(pam_handle_t *pamh
			      , const char * const * user_env);

/* char **pam_misc_copy_env(pam_handle_t *pamh);

   This is no longer defined as a prototype because the X/Open XSSO
   spec makes it clear that PAM's pam_getenvlist() does exactly
   what this was needed for.

   A wrapper is still provided in the pam_misc library - so that
   legacy applications will still work.  But _BE_WARNED_ it will
   disappear by the release of libpam 1.0 . */

/* delete environment as obtained from (pam_getenvlist) */
extern char **pam_misc_drop_env(char **env);

/* provide something like the POSIX setenv function for the (Linux-)PAM
 * environment. */

extern int pam_misc_setenv(pam_handle_t *pamh, const char *name
			   , const char *value, int readonly);

#endif

 
	
OpenPOWER on IntegriCloud