diff options
author | Neil Jerram <neil@ossau.uklinux.net> | 2009-10-07 22:14:38 +0100 |
---|---|---|
committer | Neil Jerram <neil@ossau.uklinux.net> | 2009-10-07 22:14:38 +0100 |
commit | 98241dc53fc66ec86c01b9eeea426def2f787cec (patch) | |
tree | 94a2ff5a14e6f550da0c4923868f7e28844be223 /libguile/dynwind.h | |
parent | 61aab1c3755a97390fc8e365fbd4a6b1a4f80978 (diff) | |
download | guile-98241dc53fc66ec86c01b9eeea426def2f787cec.tar.gz |
Revert "Change dynwind flag enums to #defines, for greater portability"
This reverts commit b25aa0b9373d2798469e0fe999cd915e8beedc4f.
Diffstat (limited to 'libguile/dynwind.h')
-rw-r--r-- | libguile/dynwind.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/libguile/dynwind.h b/libguile/dynwind.h index a8209905f..b178bc429 100644 --- a/libguile/dynwind.h +++ b/libguile/dynwind.h @@ -43,21 +43,26 @@ SCM_INTERNAL void scm_init_dynwind (void); SCM_API void scm_swap_bindings (SCM vars, SCM vals); -/* Flags for scm_dynwind_begin. */ -#define SCM_F_DYNWIND_REWINDABLE 1 +typedef enum { + SCM_F_DYNWIND_REWINDABLE = (1 << 0) +} scm_t_dynwind_flags; -/* Flags for scm_dynwind_unwind_handler(_with_scm) and - scm_dynwind_rewind_handler(_with_scm). */ -#define SCM_F_WIND_EXPLICITLY 1 +typedef enum { + SCM_F_WIND_EXPLICITLY = (1 << 0) +} scm_t_wind_flags; -SCM_API void scm_dynwind_begin (int); +SCM_API void scm_dynwind_begin (scm_t_dynwind_flags); SCM_API void scm_dynwind_end (void); -SCM_API void scm_dynwind_unwind_handler (void (*) (void *), void *, int); -SCM_API void scm_dynwind_rewind_handler (void (*) (void *), void *, int); +SCM_API void scm_dynwind_unwind_handler (void (*func) (void *), void *data, + scm_t_wind_flags); +SCM_API void scm_dynwind_rewind_handler (void (*func) (void *), void *data, + scm_t_wind_flags); -SCM_API void scm_dynwind_unwind_handler_with_scm (void (*) (SCM), SCM, int); -SCM_API void scm_dynwind_rewind_handler_with_scm (void (*) (SCM), SCM, int); +SCM_API void scm_dynwind_unwind_handler_with_scm (void (*func) (SCM), SCM data, + scm_t_wind_flags); +SCM_API void scm_dynwind_rewind_handler_with_scm (void (*func) (SCM), SCM data, + scm_t_wind_flags); SCM_API void scm_dynwind_free (void *mem); |