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. Note:Creating Obstacks.
`void *obstack_alloc (struct obstack *OBSTACK-PTR, int SIZE)'
Allocate an object of SIZE uninitialized bytes. Note: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. Note: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. Note: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). Note:Freeing Obstack Objects.
`void obstack_blank (struct obstack *OBSTACK-PTR, int SIZE)'
Add SIZE uninitialized bytes to a growing object. Note:Growing
Objects.
`void obstack_grow (struct obstack *OBSTACK-PTR, void *ADDRESS, int SIZE)'
Add SIZE bytes, copied from ADDRESS, to a growing object. Note: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. Note:Growing
Objects.
`void obstack_1grow (struct obstack *OBSTACK-PTR, char DATA-CHAR)'
Add one byte containing DATA-CHAR to a growing object. Note:Growing Objects.
`void *obstack_finish (struct obstack *OBSTACK-PTR)'
Finalize the object that is growing and return its permanent
address. Note:Growing Objects.
`int obstack_object_size (struct obstack *OBSTACK-PTR)'
Get the current size of the currently growing object. Note: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. Note: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. Note:Extra Fast Growing.
`int obstack_room (struct obstack *OBSTACK-PTR)'
Get the amount of room now available for growing the current
object. Note: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. Note:Obstacks Data Alignment.
`int obstack_chunk_size (struct obstack *OBSTACK-PTR)'
The size for allocating chunks. This is an lvalue. Note:Obstack
Chunks.
`void *obstack_base (struct obstack *OBSTACK-PTR)'
Tentative starting address of the currently growing object. Note:Status of an Obstack.
`void *obstack_next_free (struct obstack *OBSTACK-PTR)'
Address just after the end of the currently growing object. Note:Status of an Obstack.