-
Notifications
You must be signed in to change notification settings - Fork 1
/
vlbdb.h
55 lines (45 loc) · 2.12 KB
/
vlbdb.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef VLBDH_H
#define VLBDH_H
#include <stddef.h>
#include <stdarg.h>
#ifndef VLBDB_IN_IMPLEMENTATION
struct vlbdb_unit;
struct vlbdb_binder;
typedef struct vlbdb_unit vlbdb_unit_t;
typedef struct vlbdb_binder vlbdb_binder_t;
#endif
vlbdb_unit_t * vlbdb_unit_from_bitcode (const char *, void * context);
void vlbdb_unit_retain (vlbdb_unit_t *);
int vlbdb_unit_destroy (vlbdb_unit_t *);
vlbdb_binder_t * vlbdb_binder_create (vlbdb_unit_t *, void *);
vlbdb_binder_t * vlbdb_binder_create_block (vlbdb_unit_t *, void *);
vlbdb_binder_t * vlbdb_binder_copy (vlbdb_binder_t *);
void vlbdb_binder_retain (vlbdb_binder_t *);
int vlbdb_binder_destroy (vlbdb_binder_t *);
unsigned vlbdb_register_all_functions (vlbdb_unit_t *);
void vlbdb_register_function (vlbdb_unit_t *, void *, size_t, const char *);
void vlbdb_register_function_name (vlbdb_unit_t *, const char *, size_t);
void vlbdb_register_block (vlbdb_unit_t *, void *, size_t);
__attribute__ ((format (printf, 3, 4)))
void * vlbdb_specializef(vlbdb_unit_t *, void * function, const char *, ...);
__attribute__ ((format (printf, 3, 0)))
void * vlbdb_vspecializef(vlbdb_unit_t *, void * function, const char *, va_list);
__attribute__ ((format (printf, 3, 4)))
void * vlbdb_block_specializef(vlbdb_unit_t *, void * block, const char *, ...);
__attribute__ ((format (printf, 3, 0)))
void * vlbdb_vblock_specializef(vlbdb_unit_t *, void * block, const char *, va_list);
void * vlbdb_block_specialize(vlbdb_unit_t *, void * block);
int vlbdb_intern_range (vlbdb_unit_t *, void *, size_t);
int vlbdb_register_range (vlbdb_unit_t *, void *, size_t);
void vlbdb_bind_uint(vlbdb_binder_t *, unsigned long long);
void vlbdb_bind_int(vlbdb_binder_t *, long long);
void vlbdb_bind_fp(vlbdb_binder_t *, double);
void vlbdb_bind_ptr(vlbdb_binder_t *, void *);
void vlbdb_bind_range(vlbdb_binder_t *, void *, size_t);
__attribute__ ((format (printf, 2, 3)))
void vlbdb_bindf(vlbdb_binder_t *, const char *, ...);
__attribute__ ((format (printf, 2, 0)))
void vlbdb_vbindf(vlbdb_binder_t *, const char *, va_list);
void * vlbdb_specialize(vlbdb_binder_t *);
void * vlbdb_specialize_retain(vlbdb_binder_t *);
#endif