Annotation of Gnu-Mach/linux/src/include/net/gc.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *     Interface routines assumed by gc()
                      3:  *
                      4:  *     Copyright (C) Barak A. Pearlmutter.
                      5:  *     Released under the GPL version 2 or later.
                      6:  *
                      7:  */
                      8: 
                      9: typedef struct object *pobj;   /* pointer to a guy of the type we gc */
                     10: 
                     11: /*
                     12:  *     How to mark and unmark objects
                     13:  */
                     14: 
                     15: extern void gc_mark(pobj);
                     16: extern void gc_unmark(pobj);
                     17: extern int gc_marked(pobj);
                     18: 
                     19: /* 
                     20:  *     How to count and access an object's children
                     21:  */
                     22: 
                     23: extern int n_children(pobj);   /* how many children */
                     24: extern pobj child_n(pobj, int);        /* child i, numbered 0..n-1 */
                     25: 
                     26: /*
                     27:  *     How to access the root set
                     28:  */
                     29: 
                     30: extern int root_size(void);    /* number of things in root set */
                     31: extern pobj root_elt(int);     /* element i of root set, numbered 0..n-1 */
                     32: 
                     33: /*
                     34:  *     How to access the free list
                     35:  */
                     36: 
                     37: extern void clear_freelist(void);
                     38: extern void add_to_free_list(pobj);
                     39: 
                     40: /*
                     41:  *     How to iterate through all objects in memory
                     42:  */
                     43: 
                     44: extern int N_OBJS;
                     45: extern pobj obj_number(int);
                     46: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.