/*
 stack.h
 Header file defining the stack ADT
 Nadeem Abdul Hamid
 Fall 2006 - Berry College - CSC220
*/

#ifndef _STACK
#define _STACK

#include <stdbool.h>

/* define the STACK type; the actual structure will
   be defined somewhere in the implementation (.c file) */
typedef struct stack* STACK;

/* operations on stacks */
STACK createStack();
void destroyStack(STACK s);

int size(STACK s);
bool isEmpty(STACK s);
bool push(STACK s, void* item);
void* pop(STACK s);
void* top(STACK s);

#endif

