Node:Summary of Obstacks,
Previous:Obstack Chunks,
Up:Obstacks
Summary of Obstack Functions
Here is a summary of all the functions associated with obstacks.  Each
takes the address of an obstack (struct obstack *) as its first
argument.
void obstack_init (struct obstack *obstack-ptr)
- Initialize use of an obstack.  See Creating Obstacks.
 void *obstack_alloc (struct obstack *obstack-ptr, int size)
- Allocate an object of size uninitialized bytes. 
See Allocation in an Obstack.
 void *obstack_copy (struct obstack *obstack-ptr, void *address, int size)
- Allocate an object of size bytes, with contents copied from
address.  See Allocation in an Obstack.
 void *obstack_copy0 (struct obstack *obstack-ptr, void *address, int size)
- Allocate an object of size+1 bytes, with size of them copied
from address, followed by a null character at the end. 
See Allocation in an Obstack.
 void obstack_free (struct obstack *obstack-ptr, void *object)
- Free object (and everything allocated in the specified obstack
more recently than object).  See Freeing Obstack Objects.
 void obstack_blank (struct obstack *obstack-ptr, int size)
- Add size uninitialized bytes to a growing object. 
See Growing Objects.
 void obstack_grow (struct obstack *obstack-ptr, void *address, int size)
- Add size bytes, copied from address, to a growing object. 
See Growing Objects.
 void obstack_grow0 (struct obstack *obstack-ptr, void *address, int size)
- Add size bytes, copied from address, to a growing object,
and then add another byte containing a null character.  See Growing Objects.
 void obstack_1grow (struct obstack *obstack-ptr, char data-char)
- Add one byte containing data-char to a growing object. 
See Growing Objects.
 void *obstack_finish (struct obstack *obstack-ptr)
- Finalize the object that is growing and return its permanent address. 
See Growing Objects.
 int obstack_object_size (struct obstack *obstack-ptr)
- Get the current size of the currently growing object.  See Growing Objects.
 void obstack_blank_fast (struct obstack *obstack-ptr, int size)
- Add size uninitialized bytes to a growing object without checking
that there is enough room.  See Extra Fast Growing.
 void obstack_1grow_fast (struct obstack *obstack-ptr, char data-char)
- Add one byte containing data-char to a growing object without
checking that there is enough room.  See Extra Fast Growing.
 int obstack_room (struct obstack *obstack-ptr)
- Get the amount of room now available for growing the current object. 
See Extra Fast Growing.
 int obstack_alignment_mask (struct obstack *obstack-ptr)
- The mask used for aligning the beginning of an object.  This is an
lvalue.  See Obstacks Data Alignment.
 int obstack_chunk_size (struct obstack *obstack-ptr)
- The size for allocating chunks.  This is an lvalue.  See Obstack Chunks.
 void *obstack_base (struct obstack *obstack-ptr)
- Tentative starting address of the currently growing object. 
See Status of an Obstack.
 void *obstack_next_free (struct obstack *obstack-ptr)
- Address just after the end of the currently growing object. 
See Status of an Obstack.