update NOTICE and LICENSE
[nit.git] / clib / gc_static_objects_list.h
1 /* This file is part of NIT ( http://www.nitlanguage.org ).
2 *
3 * Copyright 2009 Julien Chevalier <chevjulien@gmail.com>
4 *
5 * This file is free software, which comes along with NIT. This software is
6 * distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
7 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
8 * PARTICULAR PURPOSE. You can modify it is you want, provided this header
9 * is kept unaltered, and a notification of the changes is added.
10 * You are allowed to redistribute it and sell it, alone or is a part of
11 * another product.
12 */
13
14 #ifndef GC_LIST
15 #define GC_LIST
16
17 #include <stdlib.h>
18 #include <stdio.h>
19 #include <string.h>
20 #include "nit_common.h"
21
22 typedef struct GC_static_object {
23 val_t *pointer;
24 struct GC_static_object *next;
25 } GC_static_object;
26
27 typedef struct GC_List {
28 GC_static_object *top;
29 int size;
30 } GC_List;
31
32 void GC_List_Init(GC_List *list);
33 int GC_List_Push(GC_List *list, val_t *pointer);
34
35 #endif