#ifndef _STACK_H
#define _STACK_H

struct node {
   int data;
   struct node * prev;
};

struct stack {
   struct node * top;
};

void init_stack(struct stack * s);

void push(struct stack * s, int data);

int pop(struct stack * s);

void print_stack(const struct stack * s);

void empty_stack(const struct stack * s);

int pop_n(struct stack * s,int n);

#endif
