aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-sexp.h
diff options
context:
space:
mode:
Diffstat (limited to 'e-util/e-sexp.h')
-rw-r--r--e-util/e-sexp.h162
1 files changed, 0 insertions, 162 deletions
diff --git a/e-util/e-sexp.h b/e-util/e-sexp.h
deleted file mode 100644
index d4b8795c3e..0000000000
--- a/e-util/e-sexp.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- generic s-exp evaluator class
-*/
-#ifndef _E_SEXP_H
-#define _E_SEXP_H
-
-#include <setjmp.h>
-#include <time.h>
-#include <glib.h>
-
-#ifdef E_SEXP_IS_GTK_OBJECT
-#include <gtk/gtkobject.h>
-#endif
-
-#ifdef E_SEXP_IS_GTK_OBJECT
-#define E_SEXP(obj) GTK_CHECK_CAST (obj, e_sexp_get_type (), ESExp)
-#define E_SEXP_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, e_sexp_get_type (), ESExpClass)
-#define FILTER_IS_SEXP(obj) GTK_CHECK_TYPE (obj, e_sexp_get_type ())
-#else
-#define E_SEXP(obj) ((struct _ESExp *)(obj))
-#define E_SEXP_CLASS(klass) ((struct _ESExpClass *)(klass))
-#define FILTER_IS_SEXP(obj) (1)
-#endif
-
-typedef struct _ESExp ESExp;
-typedef struct _ESExpClass ESExpClass;
-
-typedef struct _ESExpSymbol ESExpSymbol;
-typedef struct _ESExpResult ESExpResult;
-typedef struct _ESExpTerm ESExpTerm;
-
-typedef struct _ESExpResult *(ESExpFunc)(struct _ESExp *sexp,
- int argc,
- struct _ESExpResult **argv,
- void *data);
-
-typedef struct _ESExpResult *(ESExpIFunc)(struct _ESExp *sexp,
- int argc,
- struct _ESExpTerm **argv,
- void *data);
-enum _ESExpResultType {
- ESEXP_RES_ARRAY_PTR=0, /* type is a ptrarray, what it points to is implementation dependant */
- ESEXP_RES_INT, /* type is a number */
- ESEXP_RES_STRING, /* type is a pointer to a single string */
- ESEXP_RES_BOOL, /* boolean type */
- ESEXP_RES_TIME, /* time_t type */
- ESEXP_RES_UNDEFINED /* unknown type */
-};
-
-struct _ESExpResult {
- enum _ESExpResultType type;
- union {
- GPtrArray *ptrarray;
- int number;
- char *string;
- int bool;
- time_t time;
- } value;
-};
-
-enum _ESExpTermType {
- ESEXP_TERM_INT = 0, /* integer literal */
- ESEXP_TERM_BOOL, /* boolean literal */
- ESEXP_TERM_STRING, /* string literal */
- ESEXP_TERM_TIME, /* time_t literal (number of seconds past the epoch) */
- ESEXP_TERM_FUNC, /* normal function, arguments are evaluated before calling */
- ESEXP_TERM_IFUNC, /* immediate function, raw terms are arguments */
- ESEXP_TERM_VAR, /* variable reference */
-};
-
-struct _ESExpSymbol {
- int type; /* ESEXP_TERM_FUNC or ESEXP_TERM_VAR */
- char *name;
- void *data;
- union {
- ESExpFunc *func;
- ESExpIFunc *ifunc;
- } f;
-};
-
-struct _ESExpTerm {
- enum _ESExpTermType type;
- union {
- char *string;
- int number;
- int bool;
- time_t time;
- struct {
- struct _ESExpSymbol *sym;
- struct _ESExpTerm **terms;
- int termcount;
- } func;
- struct _ESExpSymbol *var;
- } value;
-};
-
-
-
-struct _ESExp {
-#ifdef E_SEXP_IS_GTK_OBJECT
- GtkObject object;
-#else
- int refcount;
-#endif
- GScanner *scanner; /* for parsing text version */
- ESExpTerm *tree; /* root of expression tree */
-
- /* private stuff */
- jmp_buf failenv;
- char *error;
-
- /* TODO: may also need a pool allocator for term strings, so we dont lose them
- in error conditions? */
- struct _EMemChunk *term_chunks;
- struct _EMemChunk *result_chunks;
-};
-
-struct _ESExpClass {
-#ifdef E_SEXP_IS_GTK_OBJECT
- GtkObjectClass parent_class;
-#endif
-};
-
-#ifdef E_SEXP_IS_GTK_OBJECT
-guint e_sexp_get_type (void);
-#endif
-ESExp *e_sexp_new (void);
-#ifndef E_SEXP_IS_GTK_OBJECT
-void e_sexp_ref (ESExp *f);
-void e_sexp_unref (ESExp *f);
-#endif
-void e_sexp_add_function (ESExp *f, int scope, char *name, ESExpFunc *func, void *data);
-void e_sexp_add_ifunction (ESExp *f, int scope, char *name, ESExpIFunc *func, void *data);
-void e_sexp_add_variable (ESExp *f, int scope, char *name, ESExpTerm *value);
-void e_sexp_remove_symbol (ESExp *f, int scope, char *name);
-int e_sexp_set_scope (ESExp *f, int scope);
-
-void e_sexp_input_text (ESExp *f, const char *text, int len);
-void e_sexp_input_file (ESExp *f, int fd);
-
-
-int e_sexp_parse (ESExp *f);
-ESExpResult *e_sexp_eval (ESExp *f);
-
-ESExpResult *e_sexp_term_eval (struct _ESExp *f, struct _ESExpTerm *t);
-ESExpResult *e_sexp_result_new (struct _ESExp *f, int type);
-void e_sexp_result_free (struct _ESExp *f, struct _ESExpResult *t);
-
-/* used in normal functions if they have to abort, to free their arguments */
-void e_sexp_resultv_free (struct _ESExp *f, int argc, struct _ESExpResult **argv);
-
-/* utility functions for creating s-exp strings. */
-void e_sexp_encode_bool (GString *s, gboolean state);
-void e_sexp_encode_string (GString *s, const char *string);
-
-/* only to be called from inside a callback to signal a fatal execution error */
-void e_sexp_fatal_error (struct _ESExp *f, char *why, ...);
-
-/* return the error string */
-const char *e_sexp_error (struct _ESExp *f);
-
-#endif /* _E_SEXP_H */
span> * Update to 0.03sunpoet2018-10-192-6/+7 * devel/py-pystorm: Update to 3.1.4swills2018-10-192-10/+8 * devel/py-streamparse: Update to 3.14.0swills2018-10-192-9/+8 * devel/py-pyral: update to 1.4.1swills2018-10-192-5/+17 * Disable gstreamer dependency because upcoming gstreamer 1.14 isn'ttijl2018-10-192-5/+4 * devel/rust-cbindgen: update to 0.6.6jbeich2018-10-192-4/+4 * devel/papi: change from net/mpich2 to net/mpichpizzamig2018-10-181-2/+2 * Update the Linphone stack and drop maintainership.tijl2018-10-181-0/+1 * Update to 4.2.3.vanilla2018-10-182-4/+4 * Update to 1.2.1.vanilla2018-10-182-4/+4 * devel/py-joblib: Update 0.9.4 -> 0.12.5yuri2018-10-182-3/+5 * Add missing dependency and fix plist troubles when DOCS is onmartymac2018-10-183-1461/+15 * devel/sccache: ignore on CURRENT if openssl 1.1.1 basedpizzamig2018-10-171-1/+7 * devel/boost-python-libs: switch to FLAVORjbeich2018-10-171-1/+1 * devel/rust-cbindgen: update to 0.6.5jbeich2018-10-172-5/+4 * Update to 2.1.0antoine2018-10-172-4/+4 * Update to 1.9.1antoine2018-10-172-4/+4 * devel/py-pycompilation: Update 0.4.3 -> 0.4.4yuri2018-10-172-4/+6 * - Update to 2.147lwhsu2018-10-172-4/+4 * Fix RabbitMQ connections with Python 3.xsunpoet2018-10-172-0/+14 * Update to 9999.22sunpoet2018-10-173-5/+7 * Update to 0.015sunpoet2018-10-172-3/+6 * Update to 0.14sunpoet2018-10-172-5/+6 * Update to 2.11.149sunpoet2018-10-172-4/+4 * Update to 2.11.149sunpoet2018-10-172-4/+4 * Update to 2.11.149sunpoet2018-10-172-4/+4 * Update to 2.0.5sunpoet2018-10-172-6/+8 * Update to 4.4.2sunpoet2018-10-172-4/+4 * Update to 2.0.5sunpoet2018-10-172-6/+7 * Update to 0.3.4sunpoet2018-10-172-6/+7 * Update to 0.22sunpoet2018-10-172-6/+7 * Remove expired ports:rene2018-10-165-60/+0 * devel/icu: back out r482186jbeich2018-10-162-7/+7 * - Update to 1.0.1wen2018-10-162-3/+6 * - Update to 2.0.0wen2018-10-162-4/+4 * graphics/wayland: update to 1.16.0jbeich2018-10-161-2/+2 * devel/icu: move to new homejbeich2018-10-162-7/+7 * - Update to 2.7.0amdmi32018-10-163-6/+5 * Update to 1.7.0sunpoet2018-10-162-4/+4 * Update to 0.6.0.4sunpoet2018-10-162-4/+4 * Update to 0.05sunpoet2018-10-162-7/+8 * Update to 0.4.0sunpoet2018-10-162-6/+7 * Fix gemspec for rubygem-tty-which 0.4.0 updatesunpoet2018-10-162-2/+15 * Fix gemspec for rubygem-tty-which 0.4.0 updatesunpoet2018-10-162-2/+15 * Fix gemspec for rubygem-tty-which 0.4.0 updatesunpoet2018-10-162-6/+9 * Update to 2.11.148sunpoet2018-10-162-4/+4 * Update to 2.11.148sunpoet2018-10-162-4/+4 * Update to 2.11.148sunpoet2018-10-162-4/+4 * Security update of devel/libgit2 and depending ports to fix seceurity vulnera...mfechner2018-10-164-8/+8 * devel/android-tools-adb: apply boringssl style fixesjbeich2018-10-151-35/+32 * devel/android-tools-adb: unbreak with OpenSSL 1.1jbeich2018-10-152-2/+130 * devel/py-nose2: update to 0.8.0swills2018-10-152-5/+6 * Bump PORTREVISION for package change caused by rubygem-bundler 1.16.6 updatesunpoet2018-10-151-0/+1 * Update to 5.13.0sunpoet2018-10-152-5/+6 * Update to 1.3.0sunpoet2018-10-153-27/+7 * Update to 3.8.2sunpoet2018-10-152-6/+7 * Update to 6.6.0sunpoet2018-10-152-4/+4 * Update to 0.24.3sunpoet2018-10-152-4/+4 * Update to 1.1.1sunpoet2018-10-152-6/+7 * Update to 1.3.2sunpoet2018-10-152-4/+4 * Update to 2.4.4sunpoet2018-10-152-6/+7 * Fix build on powerpc64sunpoet2018-10-151-0/+2 * Add LICENSEsunpoet2018-10-151-3/+5 * Update to 2.11.147sunpoet2018-10-152-4/+4 * Update to 2.11.147sunpoet2018-10-152-4/+4 * Update to 2.11.147sunpoet2018-10-152-4/+4 * Update to 1.3.7sunpoet2018-10-152-6/+7 * qt5: Fix build on GCC based architectures.tcberner2018-10-1418-19/+46 * Update to 2.9.45antoine2018-10-142-6/+4 * Update meson to 0.48.0.kwm2018-10-147-195/+223 * - Update to 1.6.30danilo2018-10-146-68/+29 * - Update to 0.9.0nivit2018-10-132-9/+10 * devel/libvirt-glib: update to 2.0.0novel2018-10-132-5/+4 * Remove bogus depends line.mat2018-10-131-2/+0 * devel/rust-bindgen: update to 0.42.2jbeich2018-10-132-122/+112 * Take maintainershipsunpoet2018-10-131-1/+1 * - Add LICENSEamdmi32018-10-131-0/+6 * devel/py-IBMQuantumExperience: Update 2.0.3 -> 2.0.4yuri2018-10-132-4/+4 * devel/kore: Add missing KORE_NO_TLS guardstobik2018-10-131-4/+47 * - Update to 0.2.5tota2018-10-132-6/+6 * - Unbreak some drivers by importing patch from upstreamamdmi32018-10-133-1/+33 * devel/awscli: Update 1.16.28 -> 1.16.32bhughes2018-10-132-5/+5 * devel/py-botocore: Update 1.12.18 -> 1.12.22bhughes2018-10-132-4/+4 * Update to 1.200sunpoet2018-10-132-3/+4 * Update to 2.11.146sunpoet2018-10-132-4/+4 * Update to 2.11.146sunpoet2018-10-132-4/+4 * Update to 2.11.146sunpoet2018-10-132-4/+4 * lang/rust: update to 1.29.2jbeich2018-10-138-6/+8 * devel/renpy: update to 7.1.1jbeich2018-10-132-4/+4 * devel/py-libzfs: Fix build on systems that are missing the /sys symlinktobik2018-10-121-0/+2 * Finish glib12 deprecationantoine2018-10-121-0/+3 * Deprecate most glib12 consumersantoine2018-10-122-0/+6 * devel/libccid: Update to 1.4.300mp2018-10-123-17/+12 * Fix build problem with OpenSSL-1.1.1girgen2018-10-121-0/+28 * - Update to 0.12tota2018-10-122-8/+4 * Those ports are not compatible with php 7.3antoine2018-10-129-7/+9 * - Update to 0.4.0tota2018-10-122-4/+4 * - Update to 2.3.0tota2018-10-122-5/+4 * - Update to 0.8tota2018-10-122-5/+4 * - Update to 0.12.19tota2018-10-122-4/+4 * Update to 2.11.145sunpoet2018-10-122-4/+4 * Update to 2.11.145sunpoet2018-10-122-4/+4 * Update to 2.11.145sunpoet2018-10-122-4/+4 * Update to 0.40sunpoet2018-10-122-6/+8 * Update KDE Applications to 18.08.2tcberner2018-10-1212-34/+33 * Fix devel/qca with OpenSSL 1.1.1.adridg2018-10-125-1/+2023 * Need to define PORTVERSION later due to depending on MEMCACHED option.bdrewery2018-10-121-5/+3 * Update devel/tbb to version 2019.1 and bump dependent ports' revisionsmartymac2018-10-115-6/+19041 * - Update to 2.138.2lwhsu2018-10-112-4/+4 * - Update to 2.146lwhsu2018-10-112-5/+5 * Update to 4.2.1, and ignore php56.vanilla2018-10-115-90/+22 * Mark devel/memleax as broken and deprecate ittobik2018-10-111-0/+4 * devel/memleax: Take maintainershiptobik2018-10-111-1/+1 * devel/pcsc-lite: Clean up & update MASTER_SITES.0mp2018-10-113-13/+16 * devel/arm-none-eabi-gcc: Unbreak on arm64manu2018-10-112-376/+375 * devel/concurrencykit: Enable build on aarch64manu2018-10-111-1/+0 * Update to 0.5.2matthew2018-10-113-4/+17 * devel/py-aiortc: create portswills2018-10-114-0/+41 * This project is a minimalistic implementation of a port/recipe systemwen2018-10-114-0/+27 * devel/qt5-core: unbreak on armv7 after r479286jbeich2018-10-111-0/+18 * Remove p5-Module-Build from BUILD_DEPENDS: already brought in by USE_PERL5=mo...sunpoet2018-10-111-4/+7 * Update to 2.02sunpoet2018-10-113-5/+10 * Remove Perl core modulesunpoet2018-10-111-4/+3 * Update to 2.11.144sunpoet2018-10-112-4/+4 * Update to 2.11.144sunpoet2018-10-112-4/+4 * Update to 2.11.144sunpoet2018-10-112-4/+4 * Update to 4.4.1sunpoet2018-10-112-4/+4 * (1) Update to 1.10.3.lev2018-10-108-116/+14 * - Update to 2.145lwhsu2018-10-102-4/+4 * - Update to 1.11.8tota2018-10-102-4/+4 * - Update devel/courier-unicode to 2.1madpilot2018-10-103-9/+7 * Fix version requirement of *_DEPENDSsunpoet2018-10-102-12/+12 * Update to 2.11.143sunpoet2018-10-102-4/+4 * Update to 2.11.143sunpoet2018-10-102-4/+4 * Update to 2.11.143sunpoet2018-10-102-4/+4 * Update to 3.37.1sunpoet2018-10-102-4/+4 * Update to 1.2.0.vanilla2018-10-103-5/+5 * - Update to 0.21wen2018-10-102-5/+5 * - Update to 6.06wen2018-10-102-4/+4 * devel/ace+tao-doc: Update to 6.5.2swills2018-10-102-12/+9 * devel/thrift: fix build with GCC-based archesswills2018-10-102-5/+11 * Implement a better fix for python flavorsjpaetzel2018-10-101-6/+8 * Update deps when python > 3.4 is in use.jpaetzel2018-10-101-0/+5 * devel/pecl-xdebug-devel: add the beta version to support PHP 7.3pizzamig2018-10-105-0/+68 * devel/pecl-xdebug26: rename as pecl-xdebug and update to 2.6.1pizzamig2018-10-106-7/+6 * devel/pecl-xdebug: mark PHP 73 as unsupported and rename as pecl-xdebug25pizzamig2018-10-106-2/+3 * Fix building with php73.vanilla2018-10-094-3/+84 * Upgrade to v1.23.2.thierry2018-10-092-4/+4 * Update to 1.2.4 release.ale2018-10-092-4/+4 * deve/py-pylibsrtp: create portswills2018-10-094-0/+34 * deve/py-aioice: create portswills2018-10-094-0/+33 * - Update to 9999.21wen2018-10-092-4/+4 * Update to 0.4.2sunpoet2018-10-093-25/+8 * Update to 4.10.0sunpoet2018-10-093-5/+5 * Update to 0.6.0.2sunpoet2018-10-092-4/+4 * Update to 4.7.2sunpoet2018-10-092-4/+4 * Update WWWsunpoet2018-10-091-1/+1 * Update to 0.26sunpoet2018-10-093-6/+8 * Update to 0.29sunpoet2018-10-092-6/+7 * Update to 2.127sunpoet2018-10-092-5/+6 * Update to 2.11.142sunpoet2018-10-092-4/+4 * Update to 2.11.142sunpoet2018-10-092-4/+4 * Update to 2.11.142sunpoet2018-10-092-4/+4 * devel/cdecl: update to 4.8.ler2018-10-092-4/+4 * Fix some PKGNAME collisionsantoine2018-10-0842-42/+42 * Connect all the PHP 7.3 portstz2018-10-081-0/+10 * Add PHP 7.3 RC2 to the ports-tree.tz2018-10-0812-0/+166 * - Update to 0.24wen2018-10-082-3/+4 * Update to 1.12.0matthew2018-10-082-4/+4 * Update to 7.4.0joneum2018-10-082-4/+4 * Update to 5.0.0jpaetzel2018-10-082-3/+7 * Update to 0.2.0jpaetzel2018-10-082-3/+4 * - Update to 1.08wen2018-10-082-4/+4 * - Update to 0.54wen2018-10-082-4/+4 * devel/pycharm-ce: Update to version 2018.2.4bsam2018-10-082-4/+4 * Deprecate some GNOME 2 applicationsantoine2018-10-081-0/+3 * Add PORTSCOUTsunpoet2018-10-081-2/+5 * Update to 2.11.141sunpoet2018-10-082-4/+4 * Update to 2.11.141sunpoet2018-10-082-4/+4 * Update to 2.11.141sunpoet2018-10-082-4/+4 * Update to 3.1.0sunpoet2018-10-082-4/+4 * devel/py-cligj: update to 0.5.0swills2018-10-082-4/+4 * devel/py-libvirt: update to 4.8.0novel2018-10-072-4/+4 * devel/libvirt: update to 4.8.0novel2018-10-072-5/+5 * - Add LICENSEamdmi32018-10-071-0/+4 * New port: devel/py-deepdiff: Deep difference and search of any Python object/...yuri2018-10-074-0/+29 * New port: devel/py-jsonpickle: Python library for serializing any arbitrary o...yuri2018-10-074-0/+33 * devel/py-pybind11: Update 2.2.1 -> 2.2.4yuri2018-10-072-5/+4 * devel/pybind11: Update 2.2.2 -> 2.2.4yuri2018-10-072-5/+4 * devel/cctz: update to 2.2swills2018-10-072-6/+5 * devel/flatbuffers/: Update 1.9.0 -> 1.10.0yuri2018-10-072-5/+4 * devel/awscli: Update 1.16.22 -> 1.16.28bhughes2018-10-072-5/+5 * devel/py-botocore: Update 1.12.12 -> 1.12.18bhughes2018-10-072-4/+4 * devel/okteta: update to 0.25.3tcberner2018-10-074-18/+110 * devel/lua-stdlib-debug: update to 1.0.1swills2018-10-073-15/+17 * devel/lua-stdlib-normalize: update to 2.0.2swills2018-10-073-15/+17 * devel/ace: update to 6.5.2fernape2018-10-075-23/+39 * update to 20180919trociny2018-10-062-4/+4 * Fix every instance of RUN_DEPENDS:=${BUILD_DEPENDS} in p5 ports, exceptdes2018-10-06