Source: sysadm/auth.h


Annotated List
Files
Globals
Hierarchy
Index
/*
 * auth.h
 *
 *	#include file for authentication stuff
 *
 *
 *  Copyright (c) 1995, 2000 Silicon Graphics, Inc.  All Rights Reserved.
 *  
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of version 2.1 of the GNU Lesser General Public
 *  License as published by the Free Software Foundation.
 *  
 *  This program is distributed in the hope that it would be useful, but
 *  WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *  
 *  Further, this software is distributed without any warranty that it is
 *  free of the rightful claim of any third person regarding infringement
 *  or the like.  Any license provided herein, whether implied or
 *  otherwise, applies only to this software file.  Patent licenses, if
 *  any, provided herein do not apply to combinations of this program
 *  with other software, or any other product whatsoever.
 *  
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this program; if not, write the Free Software
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307,
 *  USA.
 *  
 *  Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
 *  Mountain View, CA 94043, or http://www.sgi.com/
 *  
 *  For further information regarding this notice, see:
 *  http://oss.sgi.com/projects/GenInfo/NoticeExplan/
 */

#ident "$Revision: 1.11 $"

#ifndef _AUTH_H_
#define _AUTH_H_
#ifdef __cplusplus
extern "C" {
#endif

#include <sysadm/sysadm.h>
#include <sys/types.h>

struct _WidgetRec;

#define SaPRIVAUTHDIR CONFIG_SYSADM_AUTHDSO_DIR

typedef struct _SaAuth SaAuth;
typedef enum { SaAuthSender, SaAuthReceiver } SaAuthType;

/**
 * Open the dso corresponding to authScheme, and create a
 * corresponding SaAuth structure.
 */
SaAuth *SaAuthOpen(const char *authScheme, SaAuthType authType);

/**
 * Close the dso corresponding to auth.
 */
void SaAuthClose(SaAuth *auth);

/**
 * Get the name of an an authentication scheme.  This returns the same
 * string ("same" meaning strcmp will be equal) that was passed to
 * SaAuthOpen.
 */
const char *SaAuthGetName(SaAuth *auth);

/**
 * Create widgets for SaPrivDialog for this particular authentication
 * scheme.  Only valid if SaAuthOpen() was called with SaAuthSender.
 */
struct _WidgetRec *SaAuthCreateWidgets(SaAuth *auth,
				       struct _WidgetRec *parent);

/**
 * Initialize widgets for SaPrivDialog just prior to the dialog being
 * displayed.  Only valid if SaAuthOpen() was called with SaAuthSender.
 */
void SaAuthInitWidgets(SaAuth *auth);

/**
 * Send authentication parameters.  To support challenge/response
 * interactions, outfd should be used to send responses and infd
 * should be used to receive challenges.  Only valid if SaAuthOpen()
 * was called with SaAuthSender.
 */
void SaAuthSendParams(SaAuth *auth, int infd, int outfd);

/**
 * Check authentication parameters sent by SaAuthSendParams.  Use infd
 * to get responses sent by SaAuthSendParams, and outfd to send
 * challenges.  Only valid if SaAuthOpen() was called with
 * SaAuthReceiver.
 */
bool SaAuthCheckParams(SaAuth *auth, int infd, int outfd);

#ifdef __cplusplus
}
#endif
#endif /* _AUTH_H_ */

Generated by: rusty@irem on Mon Sep 18 18:07:52 2000, using kdoc 2.0a36.