patch-1.3.78 linux/include/net/gc.h

Next file: linux/include/net/ipx.h
Previous file: linux/include/net/af_unix.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.77/linux/include/net/gc.h linux/include/net/gc.h
@@ -0,0 +1,46 @@
+/*
+ *	Interface routines assumed by gc()
+ *
+ *	Copyright (C) Barak A. Pearlmutter.
+ *	Released under the GPL version 2 or later.
+ *
+ */
+
+typedef struct object *pobj;	/* pointer to a guy of the type we gc */
+
+/*
+ *	How to mark and unmark objects
+ */
+
+extern void gc_mark(pobj);
+extern void gc_unmark(pobj);
+extern int gc_marked(pobj);
+
+/* 
+ *	How to count and access an object's children
+ */
+
+extern int n_children(pobj);	/* how many children */
+extern pobj child_n(pobj, int);	/* child i, numbered 0..n-1 */
+
+/*
+ *	How to access the root set
+ */
+
+extern int root_size(void);	/* number of things in root set */
+extern pobj root_elt(int);	/* element i of root set, numbered 0..n-1 */
+
+/*
+ *	How to access the free list
+ */
+
+extern void clear_freelist(void);
+extern void add_to_free_list(pobj);
+
+/*
+ *	How to iterate through all objects in memory
+ */
+
+extern int N_OBJS;
+extern pobj obj_number(int);
+

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this