1 |
/*! |
2 |
|
3 |
\file _aos.h |
4 |
\brief Private library functions of the AOS (Attribute Object Store) |
5 |
\author Aram Verstegen |
6 |
|
7 |
This header contains some private functions of the Attribute Object Store. |
8 |
It contains the following functions: |
9 |
-# AOS_buffer_size(arg_type): returns size of buffer needed to store an argument of arg_type; |
10 |
-# AOS_free_argslist(void): Free's linkedlist nodes that have malloc-ed buffers. |
11 |
-# AOS_get_last_node(void): Returns last node in the linkedlist. |
12 |
-# AOS_is_initialized(void): Returns 1 if the AOS list is initialized, 0 if it isn't. This might be deprecated now that the AOS uses a linked list rather than an array. |
13 |
*/ |
14 |
|
15 |
#ifndef _AOS_H |
16 |
#define _AOS_H |
17 |
#if HAVE_CONFIG_H |
18 |
#include "config.h" |
19 |
#endif |
20 |
#if HAVE_STRING_H |
21 |
#include <string.h> |
22 |
#endif |
23 |
#if HAVE_STDIO_H |
24 |
#include <stdio.h> |
25 |
#endif |
26 |
#if HAVE_STDLIB_H |
27 |
#include <stdlib.h> |
28 |
#endif |
29 |
#if HAVE_ERRNO_H |
30 |
#include <errno.h> |
31 |
#endif |
32 |
#if HAVE_PTHREAD_H |
33 |
#include <pthread.h> |
34 |
#endif |
35 |
#if HAVE_UNISTD_H |
36 |
#include <unistd.h> |
37 |
#endif |
38 |
#include "eef_polytypes.h" |
39 |
#include "eef_log.h" |
40 |
|
41 |
static int _is_initialized; |
42 |
static int _is_threading; |
43 |
|
44 |
pthread_rwlock_t _rwlock; |
45 |
pthread_key_t _aos_key; |
46 |
pthread_once_t _aos_key_once; |
47 |
static aos_storage_t * _global_storage; |
48 |
|
49 |
EES_RC aos_free_storage(aos_storage_t*); |
50 |
int aos_is_initialized(void); |
51 |
void aos_start_threading(void); |
52 |
aos_storage_t * aos_get_storage(void); |
53 |
void aos_make_key(void); |
54 |
void aos_clean_key(void *v); |
55 |
void aos_free_key(aos_storage_t* storage); |
56 |
|
57 |
EES_RC aos_dump_argslist (void); |
58 |
|
59 |
#endif |
60 |
|