|
DTS Application Library
0.2.3
Application library containing referenced objects and interfaces to common libraries
|
Referenced Lockable Objects. More...
#include <pthread.h>#include <string.h>#include <stdlib.h>#include <stdint.h>#include "include/dtsapp.h"Go to the source code of this file.
Data Structures | |
| struct | ref_obj |
| Internal structure of all referenced objects. More... | |
| struct | blist_obj |
| Entry in a bucket list. More... | |
| struct | bucket_list |
| Bucket list, hold hashed objects in buckets. More... | |
| struct | bucket_loop |
| Bucket iterator. More... | |
Macros | |
| #define | REFOBJ_MAGIC 0xdeadc0de |
| Magic number stored as first field of all referenced objects. More... | |
| #define | refobj_offset sizeof(struct ref_obj); |
| The size of ref_obj is the offset for the data. More... | |
Functions | |
| void * | objalloc (int size, objdestroy destructor) |
| Allocate a referenced lockable object. More... | |
| int | objref (void *data) |
| Reference a object. More... | |
| int | objunref (void *data) |
| Drop reference held. More... | |
| int | objcnt (void *data) |
| Return current reference count. More... | |
| int | objsize (void *data) |
| Size requested for data. More... | |
| int | objlock (void *data) |
| Lock the reference. More... | |
| int | objtrylock (void *data) |
| Try lock a reference. More... | |
| int | objunlock (void *data) |
| Unlock a reference. More... | |
| void * | objchar (const char *orig) |
| Return a reference to copy of a buffer. More... | |
| void * | create_bucketlist (int bitmask, blisthash hash_function) |
| int | addtobucket (struct bucket_list *blist, void *data) |
| Add a reference to the bucketlist. More... | |
| void | remove_bucket_item (struct bucket_list *blist, void *data) |
| Remove and unreference a item from the list. More... | |
| int | bucket_list_cnt (struct bucket_list *blist) |
| Return number of items in the list. More... | |
| void * | bucket_list_find_key (struct bucket_list *blist, const void *key) |
| Find and return a reference to a item matching supplied key. More... | |
| void | bucketlist_callback (struct bucket_list *blist, blist_cb callback, void *data2) |
| Run a callback function on all items in the list. More... | |
| struct bucket_loop * | init_bucket_loop (struct bucket_list *blist) |
| Create a bucket list iterator to safely iterate the list. More... | |
| void * | next_bucket_loop (struct bucket_loop *bloop) |
| Return a reference to the next item in the list this could be the first item. More... | |
| void | remove_bucket_loop (struct bucket_loop *bloop) |
| Safely remove a item from a list while iterating in a loop. More... | |
Referenced Lockable Objects.
Definition in file refobj.c.