www.delorie.com/gnu/docs/glibc/libc_53.html   search  
 
Buy the book!


The GNU C Library

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.4.11 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 section 3.2.4.1 Creating Obstacks.

void *obstack_alloc (struct obstack *obstack-ptr, int size)
Allocate an object of size uninitialized bytes. See section 3.2.4.3 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 section 3.2.4.3 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 section 3.2.4.3 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 section 3.2.4.4 Freeing Objects in an Obstack.

void obstack_blank (struct obstack *obstack-ptr, int size)
Add size uninitialized bytes to a growing object. See section 3.2.4.6 Growing Objects.

void obstack_grow (struct obstack *obstack-ptr, void *address, int size)
Add size bytes, copied from address, to a growing object. See section 3.2.4.6 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 section 3.2.4.6 Growing Objects.

void obstack_1grow (struct obstack *obstack-ptr, char data-char)
Add one byte containing data-char to a growing object. See section 3.2.4.6 Growing Objects.

void *obstack_finish (struct obstack *obstack-ptr)
Finalize the object that is growing and return its permanent address. See section 3.2.4.6 Growing Objects.

int obstack_object_size (struct obstack *obstack-ptr)
Get the current size of the currently growing object. See section 3.2.4.6 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 section 3.2.4.7 Extra Fast Growing Objects.

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 section 3.2.4.7 Extra Fast Growing Objects.

int obstack_room (struct obstack *obstack-ptr)
Get the amount of room now available for growing the current object. See section 3.2.4.7 Extra Fast Growing Objects.

int obstack_alignment_mask (struct obstack *obstack-ptr)
The mask used for aligning the beginning of an object. This is an lvalue. See section 3.2.4.9 Alignment of Data in Obstacks.

int obstack_chunk_size (struct obstack *obstack-ptr)
The size for allocating chunks. This is an lvalue. See section 3.2.4.10 Obstack Chunks.

void *obstack_base (struct obstack *obstack-ptr)
Tentative starting address of the currently growing object. See section 3.2.4.8 Status of an Obstack.

void *obstack_next_free (struct obstack *obstack-ptr)
Address just after the end of the currently growing object. See section 3.2.4.8 Status of an Obstack.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003