4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivelibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change
on this file since 50b1bee was
8c42377,
checked in by Richard Sanger <rsangerarj@…>, 7 years ago
|
Fix some BSD warnings/errors
|
-
Property mode set to
100644
|
File size:
1.2 KB
|
Line | |
---|
1 | #include <pthread.h> |
---|
2 | /* Need libtrace.h for DLLEXPORT defines */ |
---|
3 | #include "../libtrace.h" |
---|
4 | |
---|
5 | #ifndef LIBTRACE_VECTOR_H |
---|
6 | #define LIBTRACE_VECTOR_H |
---|
7 | |
---|
8 | typedef void (*vector_data_fn)(void *data); |
---|
9 | struct libtrace_vector { |
---|
10 | size_t max_size; |
---|
11 | size_t size; |
---|
12 | size_t element_size; |
---|
13 | char *elements; // Means we can use array indexing |
---|
14 | pthread_mutex_t lock; |
---|
15 | }; |
---|
16 | |
---|
17 | DLLEXPORT void libtrace_vector_init(libtrace_vector_t *v, size_t element_size); |
---|
18 | DLLEXPORT void libtrace_vector_push_back(libtrace_vector_t *v, void *d); |
---|
19 | DLLEXPORT size_t libtrace_vector_get_size(libtrace_vector_t *v); |
---|
20 | DLLEXPORT int libtrace_vector_get(libtrace_vector_t *v, size_t location, void *d); |
---|
21 | DLLEXPORT void libtrace_vector_append(libtrace_vector_t *dest, libtrace_vector_t *src); |
---|
22 | DLLEXPORT void libtrace_vector_destroy(libtrace_vector_t *v); |
---|
23 | DLLEXPORT void libtrace_zero_vector(libtrace_vector_t *v); |
---|
24 | DLLEXPORT int libtrace_vector_remove_front(libtrace_vector_t *v); |
---|
25 | DLLEXPORT void libtrace_vector_empty(libtrace_vector_t *v); |
---|
26 | |
---|
27 | // For now this is a special case and this doesn't really belong |
---|
28 | // here, but to do this properly a full lock is required as |
---|
29 | // multiple items are changed |
---|
30 | DLLEXPORT void libtrace_vector_apply_function(libtrace_vector_t *v, vector_data_fn fn); |
---|
31 | |
---|
32 | #endif |
---|
Note: See
TracBrowser
for help on using the repository browser.