aboutsummaryrefslogtreecommitdiffstats
path: root/gawkapi.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2012-07-12 22:45:25 +0300
committerArnold D. Robbins <arnold@skeeve.com>2012-07-12 22:45:25 +0300
commit28daef44c3c08f16002c678319a30b816f6972fd (patch)
tree5bb3ed751db1d4c32b71a72e2fc87c52e1f46de9 /gawkapi.h
parent4319d9141a56cb8ed878d44d0e74bedee51085a6 (diff)
downloadegawk-28daef44c3c08f16002c678319a30b816f6972fd.tar.gz
egawk-28daef44c3c08f16002c678319a30b816f6972fd.tar.bz2
egawk-28daef44c3c08f16002c678319a30b816f6972fd.zip
Allow creation of constants from extensions.
Diffstat (limited to 'gawkapi.h')
-rw-r--r--gawkapi.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/gawkapi.h b/gawkapi.h
index 50ca327a..a84fbf52 100644
--- a/gawkapi.h
+++ b/gawkapi.h
@@ -334,7 +334,15 @@ typedef struct gawk_api {
* In fact, using this to update an array is not allowed, either.
* Such an attempt returns false.
*/
- awk_bool_t (*api_sym_update)(awk_ext_id_t id, const char *name, awk_value_t *value);
+ awk_bool_t (*api_sym_update)(awk_ext_id_t id,
+ const char *name,
+ awk_value_t *value);
+ /*
+ * Install a constant value.
+ */
+ awk_bool_t (*api_sym_constant)(awk_ext_id_t id,
+ const char *name,
+ awk_value_t *value);
/*
* Work with a scalar cookie.
@@ -445,6 +453,8 @@ typedef struct gawk_api {
(api->api_sym_lookup_scalar(ext_id, scalar_cookie, wanted, result))
#define sym_update(name, value) \
(api->api_sym_update(ext_id, name, value))
+#define sym_constant(name, value) \
+ (api->api_sym_constant(ext_id, name, value))
#define sym_update_scalar(scalar_cookie, value) \
(api->api_sym_update_scalar)(ext_id, scalar_cookie, value)