File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / mpd / src / radsrv.h
Revision 1.1.1.2.2.1: download - view: text, annotated - select for diffs - revision graph
Wed Sep 27 11:08:01 2023 UTC (15 months ago) by misho
Branches: v5_9p16
Diff to: branchpoint 1.1.1.2: preferred, unified
Version 5.9p16


/*
 * radsrv.h
 *
 * Written by Alexander Motin <mav@FreeBSD.org>
 */

#ifndef _RADSRV_H_
#define	_RADSRV_H_

#include "defs.h"

#ifdef USE_RADIUS
#include <radlib.h>

/*
 * DEFINITIONS
 */

#define RADSRV_MAX_SERVERS	10

 /* Configuration options */
enum {
	RADSRV_DISCONNECT,		/* enable Disconnect-Request */
	RADSRV_COA			/* enable CoA-Request */
};

 /* Configuration for a radius server */
struct radiusclient_conf {
	char   *hostname;
	char   *sharedsecret;
	struct radiusclient_conf *next;
};

struct radsrv {
	struct optinfo options;
	struct u_addr addr;
	in_port_t port;
	int	fd;
	struct rad_handle *handle;
	struct radiusclient_conf *clients;
	EventRef event;			/* connect-event */
};

typedef struct radsrv *Radsrv;

/*
 * VARIABLES
 */

extern const struct cmdtab RadsrvSetCmds[];

/*
 * FUNCTIONS
 */

extern int RadsrvInit(Radsrv c);
extern int RadsrvOpen(Radsrv c);
extern int RadsrvClose(Radsrv c);
extern int RadsrvStat(Context ctx, int ac, const char *const av[], const void *arg);

#endif /* USE_RADIUS */
#endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>