/*
 * stack.h - header for stack.c
 *
 * Written by Matthew Green
 *
 * Copyright (C) 1993.
 *
 * @(#)$Id: stack.h,v 1.7 1994/07/02 02:38:10 mrg Exp $
 */

#ifndef __stack_h_
# define __stack_h_

#include "irc_std.h"
#include "hook.h"
#include "alias.h"

extern        void    stackcmd  _((char *, char *, char *));

#define STACK_POP 0
#define STACK_PUSH 1
#define STACK_SWAP 2
#define STACK_LIST 3

#define STACK_DO_ALIAS	0x0001
#define STACK_DO_ASSIGN	0x0002

typedef	struct	setstacklist
{
	int	which;
	Hook	*list;
	struct setstacklist *next;
}	SetStack;

typedef	struct	aliasstacklist
{
	int	which;
	char	*name;
	Alias	*list;
	struct aliasstacklist *next;
}	AliasStack;

typedef	struct	onstacklist
{
	int	which;
	Hook	*list;
	struct onstacklist *next;
}	OnStack;

#endif /* __stack_h_ */
