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