gwion-util
utilities for the Gwion project
Loading...
Searching...
No Matches
symbol.h
Go to the documentation of this file.
1
4#ifndef __SYMBOL_H__
5#define __SYMBOL_H__
6
7#include "gwion_thread.h"
8typedef struct Symbol_ *Symbol;
9struct Symbol_ {
11 char name[];
12};
19
20ANN SymTable *new_symbol_table(MemPool p, const size_t sz);
21ANN Symbol insert_symbol(SymTable *const, const m_str) __attribute__((pure));
22
23__attribute__((pure)) ANN static inline m_str s_name(const Symbol s) {
24 return s->name;
25};
26ANN void free_symbols(SymTable *const);
27#endif
#define ANN
Definition defs.h:19
char * m_str
Definition gwcommon.h:14
cross-platform thread functions
size_t sz
Definition symbol.h:16
MemPool p
Definition symbol.h:15
gwtlock_t mutex
Definition symbol.h:14
Symbol sym[]
Definition symbol.h:17
char name[]
Definition symbol.h:11
Symbol next
Definition symbol.h:10
ANN void free_symbols(SymTable *const)
Definition symbol.c:19
__attribute__((pure)) ANN static inline m_str s_name(const Symbol s)
Definition symbol.h:23
ANN SymTable * new_symbol_table(MemPool p, const size_t sz)
Definition symbol.c:5
ANN Symbol insert_symbol(SymTable *const, const m_str) __attribute__((pure))
Definition symbol.c:39
struct SymTable_ SymTable
struct Symbol_ * Symbol
Definition symbol.h:8
pthread_mutex_t gwtlock_t
Definition threadpool.h:12