aboutsummaryrefslogtreecommitdiff
path: root/hardinfo2/stack.h
blob: e706de2e170ac363b88cf65380c8746b420b68f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
 * Simple Pascal Compiler
 * Stack
 *
 * Copyright (c) 2007-2008 Leandro A. F. Pereira <leandro@hardinfo.org>
 */
#ifndef __STACK_H__
#define __STACK_H__

#include <glib.h>

typedef struct _Stack	Stack;

struct _Stack {
	GSList *_stack;
};


Stack		*stack_new(void);
void		 stack_free(Stack *stack);

gboolean	 stack_is_empty(Stack *stack);
void		 stack_push(Stack *stack, gpointer data);
gpointer	 stack_pop(Stack *stack);
gpointer	 stack_peek(Stack *stack);

#endif	/* __STACK_H__ */