xref: /openbsd/include/bsd_auth.h (revision 89ebbd5d)
1e802aa69Smillert /*-
2e802aa69Smillert  * Copyright (c) 1997 Berkeley Software Design, Inc. All rights reserved.
3e802aa69Smillert  *
4e802aa69Smillert  * Redistribution and use in source and binary forms, with or without
5e802aa69Smillert  * modification, are permitted provided that the following conditions
6e802aa69Smillert  * are met:
7e802aa69Smillert  * 1. Redistributions of source code must retain the above copyright
8e802aa69Smillert  *    notice, this list of conditions and the following disclaimer.
9e802aa69Smillert  * 2. Redistributions in binary form must reproduce the above copyright
10e802aa69Smillert  *    notice, this list of conditions and the following disclaimer in the
11e802aa69Smillert  *    documentation and/or other materials provided with the distribution.
12e802aa69Smillert  * 3. All advertising materials mentioning features or use of this software
13e802aa69Smillert  *    must display the following acknowledgement:
14e802aa69Smillert  *	This product includes software developed by Berkeley Software Design,
15e802aa69Smillert  *	Inc.
16e802aa69Smillert  * 4. The name of Berkeley Software Design, Inc.  may not be used to endorse
17e802aa69Smillert  *    or promote products derived from this software without specific prior
18e802aa69Smillert  *    written permission.
19e802aa69Smillert  *
20e802aa69Smillert  * THIS SOFTWARE IS PROVIDED BY BERKELEY SOFTWARE DESIGN, INC. ``AS IS'' AND
21e802aa69Smillert  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22e802aa69Smillert  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23e802aa69Smillert  * ARE DISCLAIMED.  IN NO EVENT SHALL BERKELEY SOFTWARE DESIGN, INC. BE LIABLE
24e802aa69Smillert  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25e802aa69Smillert  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26e802aa69Smillert  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27e802aa69Smillert  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28e802aa69Smillert  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29e802aa69Smillert  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30e802aa69Smillert  * SUCH DAMAGE.
31e802aa69Smillert  *
32e802aa69Smillert  *	BSDI $From: bsd_auth.h,v 2.3 1999/09/08 22:13:08 prb Exp $
33e802aa69Smillert  */
34e802aa69Smillert 
35*89ebbd5dSmillert #ifndef _BSD_AUTH_H_
36*89ebbd5dSmillert #define _BSD_AUTH_H_
37*89ebbd5dSmillert 
38e802aa69Smillert typedef struct auth_session_t auth_session_t;
39e802aa69Smillert 
40e802aa69Smillert typedef enum {
41e802aa69Smillert 	AUTHV_ALL,
42e802aa69Smillert 	AUTHV_CHALLENGE,
43e802aa69Smillert 	AUTHV_CLASS,
44e802aa69Smillert 	AUTHV_NAME,
45e802aa69Smillert 	AUTHV_SERVICE,
46e802aa69Smillert 	AUTHV_STYLE,
47e802aa69Smillert 	AUTHV_INTERACTIVE
48e802aa69Smillert } auth_item_t;
49e802aa69Smillert 
50*89ebbd5dSmillert #include <sys/cdefs.h>
51*89ebbd5dSmillert __BEGIN_DECLS
52e802aa69Smillert 
53*89ebbd5dSmillert char *	auth_getitem __P((auth_session_t *, auth_item_t));
54*89ebbd5dSmillert int	auth_setitem __P((auth_session_t *, auth_item_t, char *));
55e802aa69Smillert 
56*89ebbd5dSmillert auth_session_t *auth_open __P((void));
57*89ebbd5dSmillert auth_session_t *auth_verify __P((auth_session_t *, char *, char *, ...));
58*89ebbd5dSmillert auth_session_t *auth_userchallenge __P((char *, char *, char *, char **));
59*89ebbd5dSmillert auth_session_t *auth_usercheck __P((char *, char *, char *, char *));
60e802aa69Smillert 
61*89ebbd5dSmillert int	auth_userresponse __P((auth_session_t *, char *, int));
62*89ebbd5dSmillert int	auth_userokay __P((char *, char *, char *, char *));
63*89ebbd5dSmillert int	auth_approval __P((auth_session_t *, login_cap_t *, char *, char *));
64e802aa69Smillert 
65*89ebbd5dSmillert int	auth_close __P((auth_session_t *));
66*89ebbd5dSmillert void	auth_clean __P((auth_session_t *));
67e802aa69Smillert 
68*89ebbd5dSmillert char *	auth_getvalue __P((auth_session_t *, char *));
69*89ebbd5dSmillert int	auth_getstate __P((auth_session_t *));
70*89ebbd5dSmillert char *	auth_challenge __P((auth_session_t *));
71*89ebbd5dSmillert void	auth_setenv __P((auth_session_t *));
72*89ebbd5dSmillert void	auth_clrenv __P((auth_session_t *));
73e802aa69Smillert 
74*89ebbd5dSmillert void	auth_setstate __P((auth_session_t *, int));
75*89ebbd5dSmillert int	auth_call __P((auth_session_t *, char *, ...));
76e802aa69Smillert 
77*89ebbd5dSmillert int	auth_setdata __P((auth_session_t *, void *, size_t));
78*89ebbd5dSmillert int	auth_setoption __P((auth_session_t *, char *, char *));
79*89ebbd5dSmillert int	auth_setpwd __P((auth_session_t *, struct passwd *pwd));
80*89ebbd5dSmillert void	auth_set_va_list __P((auth_session_t *, _BSD_VA_LIST_));
81e802aa69Smillert 
82*89ebbd5dSmillert struct	passwd *auth_getpwd __P((auth_session_t *));
83e802aa69Smillert 
84*89ebbd5dSmillert quad_t	auth_check_expire __P((auth_session_t *));
85*89ebbd5dSmillert quad_t	auth_check_change __P((auth_session_t *));
86e802aa69Smillert 
87*89ebbd5dSmillert void	auth_clroptions __P((auth_session_t *));
88*89ebbd5dSmillert void	auth_clroption __P((auth_session_t *, char *));
89e802aa69Smillert 
90*89ebbd5dSmillert char *	auth_mkvalue __P((char *));
91*89ebbd5dSmillert void	auth_checknologin __P((login_cap_t *));
92*89ebbd5dSmillert int	auth_cat __P((char *));
93*89ebbd5dSmillert 
94*89ebbd5dSmillert __END_DECLS
95*89ebbd5dSmillert 
96*89ebbd5dSmillert #endif /* _BSD_AUTH_H_ */
97