Node:Status of an Obstack, Next:Obstacks Data Alignment, Previous:Extra Fast Growing, Up:Obstacks
Here are functions that provide information on the current status of allocation in an obstack. You can use them to learn about an object while still growing it.
void * obstack_base (struct obstack *obstack-ptr) | Function |
This function returns the tentative address of the beginning of the
currently growing object in obstack-ptr. If you finish the object
immediately, it will have that address. If you make it larger first, it
may outgrow the current chunk--then its address will change!
If no object is growing, this value says where the next object you allocate will start (once again assuming it fits in the current chunk). |
void * obstack_next_free (struct obstack *obstack-ptr) | Function |
This function returns the address of the first free byte in the current
chunk of obstack obstack-ptr. This is the end of the currently
growing object. If no object is growing, obstack_next_free
returns the same value as obstack_base .
|
int obstack_object_size (struct obstack *obstack-ptr) | Function |
This function returns the size in bytes of the currently growing object.
This is equivalent to
obstack_next_free (obstack-ptr) - obstack_base (obstack-ptr) |