Initial revision
This commit is contained in:
53
lld_blob.h
Normal file
53
lld_blob.h
Normal file
@ -0,0 +1,53 @@
|
||||
/* =======================================================================
|
||||
LLD_BLOB.h Generic Doubly Linked List for Binary Large OBjects.
|
||||
Linked Lists for variable size data-items.
|
||||
|
||||
v1.00 94-08-11
|
||||
|
||||
- Based on the LLD module for fixed size data-items.
|
||||
- Use the functions in the LLD module for operations
|
||||
not specific to Blobs. You can use LLDnodePtr() to
|
||||
obtain a pointer to the stored Blob.
|
||||
- Note that From and To suffixes to function names are
|
||||
implied in the Blob data related functions.
|
||||
|
||||
_____ This version is Public Domain.
|
||||
/_|__| A.Reitsma, Delft, The Netherlands.
|
||||
/ | \ --------------------------------------------------------------- */
|
||||
|
||||
/* ---- LL blob system management and maintenance --------------------- */
|
||||
|
||||
int LLDblobCreate( void );
|
||||
/* returns list number to use or -1 on failure. */
|
||||
/* MUST be called before using a list of blobs. */
|
||||
|
||||
/* ---- Node management --------------------------------------------------
|
||||
Functions changing current node pointer to the new node.
|
||||
A return value of -1 indicates a memory allocation problem.
|
||||
*/
|
||||
int LLDblobInsert( int List, void * Source, unsigned Size );
|
||||
/* insert BEFORE current node */
|
||||
int LLDblobAdd( int List, void * Source, unsigned Size );
|
||||
/* insert AFTER current node */
|
||||
|
||||
/* Functions NOT changing the current node pointer.
|
||||
Especially intended for implementation of Queue's and Stacks.
|
||||
*/
|
||||
int LLDblobPrepend( int List, void * Source, unsigned Size );
|
||||
/* insert as first node */
|
||||
int LLDblobAppend( int List, void * Source, unsigned Size );
|
||||
/* insert as last node */
|
||||
|
||||
void LLDblobDelete( int List );
|
||||
/* remove current node and free() the data. */
|
||||
/* current node ptr moved to next node. UNLESS the deleted node */
|
||||
/* was the last node: then current ptr moved to previous node */
|
||||
|
||||
/* ---- stored data management -------------------------------------------
|
||||
'return' typeless data. The return value is the size of the data.
|
||||
The data is transferred to Destination.
|
||||
If 'Destination' is NULL, the only action is returning the size.
|
||||
*/
|
||||
unsigned LLDblobData( int List, void * Destination );
|
||||
|
||||
/* ==== LLD_BLOB.h end =============================================== */
|
Reference in New Issue
Block a user