1
2 ptrdiff_t size;
3
4
5 struct emacs_env_private *private_members;
6
7
8
9 emacs_value (*make_global_ref) (emacs_env *env, emacs_value value)
10 EMACS_ATTRIBUTE_NONNULL(1);
11
12 void (*free_global_ref) (emacs_env *env, emacs_value global_value)
13 EMACS_ATTRIBUTE_NONNULL(1);
14
15
16
17 enum emacs_funcall_exit (*non_local_exit_check) (emacs_env *env)
18 EMACS_ATTRIBUTE_NONNULL(1);
19
20 void (*non_local_exit_clear) (emacs_env *env)
21 EMACS_ATTRIBUTE_NONNULL(1);
22
23 enum emacs_funcall_exit (*non_local_exit_get)
24 (emacs_env *env, emacs_value *symbol, emacs_value *data)
25 EMACS_ATTRIBUTE_NONNULL(1, 2, 3);
26
27 void (*non_local_exit_signal) (emacs_env *env,
28 emacs_value symbol, emacs_value data)
29 EMACS_ATTRIBUTE_NONNULL(1);
30
31 void (*non_local_exit_throw) (emacs_env *env,
32 emacs_value tag, emacs_value value)
33 EMACS_ATTRIBUTE_NONNULL(1);
34
35
36
37 emacs_value (*make_function) (emacs_env *env,
38 ptrdiff_t min_arity,
39 ptrdiff_t max_arity,
40 emacs_value (*func) (emacs_env *env,
41 ptrdiff_t nargs,
42 emacs_value* args,
43 void *data)
44 EMACS_NOEXCEPT
45 EMACS_ATTRIBUTE_NONNULL(1),
46 const char *docstring,
47 void *data)
48 EMACS_ATTRIBUTE_NONNULL(1, 4);
49
50 emacs_value (*funcall) (emacs_env *env,
51 emacs_value func,
52 ptrdiff_t nargs,
53 emacs_value* args)
54 EMACS_ATTRIBUTE_NONNULL(1);
55
56 emacs_value (*intern) (emacs_env *env, const char *name)
57 EMACS_ATTRIBUTE_NONNULL(1, 2);
58
59
60
61 emacs_value (*type_of) (emacs_env *env, emacs_value arg)
62 EMACS_ATTRIBUTE_NONNULL(1);
63
64 bool (*is_not_nil) (emacs_env *env, emacs_value arg)
65 EMACS_ATTRIBUTE_NONNULL(1);
66
67 bool (*eq) (emacs_env *env, emacs_value a, emacs_value b)
68 EMACS_ATTRIBUTE_NONNULL(1);
69
70 intmax_t (*extract_integer) (emacs_env *env, emacs_value arg)
71 EMACS_ATTRIBUTE_NONNULL(1);
72
73 emacs_value (*make_integer) (emacs_env *env, intmax_t n)
74 EMACS_ATTRIBUTE_NONNULL(1);
75
76 double (*extract_float) (emacs_env *env, emacs_value arg)
77 EMACS_ATTRIBUTE_NONNULL(1);
78
79 emacs_value (*make_float) (emacs_env *env, double d)
80 EMACS_ATTRIBUTE_NONNULL(1);
81
82
83
84
85
86
87
88
89
90
91
92
93
94 bool (*copy_string_contents) (emacs_env *env,
95 emacs_value value,
96 char *buf,
97 ptrdiff_t *len)
98 EMACS_ATTRIBUTE_NONNULL(1, 4);
99
100
101 emacs_value (*make_string) (emacs_env *env,
102 const char *str, ptrdiff_t len)
103 EMACS_ATTRIBUTE_NONNULL(1, 2);
104
105
106 emacs_value (*make_user_ptr) (emacs_env *env,
107 void (*fin) (void *) EMACS_NOEXCEPT,
108 void *ptr)
109 EMACS_ATTRIBUTE_NONNULL(1);
110
111 void *(*get_user_ptr) (emacs_env *env, emacs_value arg)
112 EMACS_ATTRIBUTE_NONNULL(1);
113 void (*set_user_ptr) (emacs_env *env, emacs_value arg, void *ptr)
114 EMACS_ATTRIBUTE_NONNULL(1);
115
116 void (*(*get_user_finalizer) (emacs_env *env, emacs_value uptr))
117 (void *) EMACS_NOEXCEPT EMACS_ATTRIBUTE_NONNULL(1);
118 void (*set_user_finalizer) (emacs_env *env, emacs_value arg,
119 void (*fin) (void *) EMACS_NOEXCEPT)
120 EMACS_ATTRIBUTE_NONNULL(1);
121
122
123 emacs_value (*vec_get) (emacs_env *env, emacs_value vector, ptrdiff_t index)
124 EMACS_ATTRIBUTE_NONNULL(1);
125
126 void (*vec_set) (emacs_env *env, emacs_value vector, ptrdiff_t index,
127 emacs_value value)
128 EMACS_ATTRIBUTE_NONNULL(1);
129
130 ptrdiff_t (*vec_size) (emacs_env *env, emacs_value vector)
131 EMACS_ATTRIBUTE_NONNULL(1);