Blob Blame History Raw
--- api/alsa/src/Clib/bglalsa.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/alsa/src/Clib/bglalsa.c	2020-10-14 15:54:06.353446963 -0600
@@ -597,7 +597,7 @@ bgl_snd_devices_list( char *iface ) {
 /*    bgl_snd_rawmidi_isdir ...                                        */
 /*---------------------------------------------------------------------*/
 bool_t
-bgl_snd_rawmidi_isdir( obj_t o, int card, int device, int sub, int dir ) {
+bgl_snd_rawmidi_isdir( obj_t o, int device, int sub, int dir ) {
    snd_rawmidi_info_t *info;
    int status;
 
--- api/alsa/src/Clib/bglalsa.h.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/alsa/src/Clib/bglalsa.h	2020-10-14 15:53:37.185464700 -0600
@@ -50,4 +50,6 @@ extern void bgl_snd_ctl_rawmidi_info_ini
 
 extern int bgl_snd_mixer_open( obj_t );
 
+extern bool_t bgl_snd_rawmidi_isdir( obj_t, int, int, int );
+
 #endif
--- api/avahi/src/Clib/bavahi.h.orig	1969-12-31 17:00:00.000000000 -0700
+++ api/avahi/src/Clib/bavahi.h	2020-10-19 11:52:39.166653215 -0600
@@ -0,0 +1,46 @@
+/*=====================================================================*/
+/*    serrano/prgm/project/bigloo/api/avahi/src/Clib/bavahi.h          */
+/*    -------------------------------------------------------------    */
+/*    Author      :  Manuel Serrano                                    */
+/*    Creation    :  Wed Oct 14 12:42:13 2020                          */
+/*    Last change :  Wed Oct 14 12:42:13 2020 (jjames)                 */
+/*    Copyright   :  2020 Manuel Serrano                               */
+/*    -------------------------------------------------------------    */
+/*    External declarations for the Bigloo avahi binding               */
+/*=====================================================================*/
+
+/* Forward references */
+struct BgL_avahizd2simplezd2pollz00_bgl;
+struct BgL_avahizd2threadedzd2pollz00_bgl;
+struct BgL_avahizd2clientzd2_bgl;
+struct BgL_avahizd2entryzd2groupz00_bgl;
+struct BgL_avahizd2servicezd2browserz00_bgl;
+struct BgL_avahizd2servicezd2typezd2browserzd2_bgl;
+struct BgL_avahizd2domainzd2browserz00_bgl;
+struct BgL_avahizd2servicezd2resolverz00_bgl ;
+
+extern void bgl_avahi_simple_poll_new( struct BgL_avahizd2simplezd2pollz00_bgl * );
+extern void bgl_avahi_simple_poll_timeout( AvahiSimplePoll *, long, obj_t );
+extern void bgl_avahi_simple_poll_close( struct BgL_avahizd2simplezd2pollz00_bgl * );
+
+extern void bgl_avahi_threaded_poll_new( struct BgL_avahizd2threadedzd2pollz00_bgl * );
+extern void bgl_avahi_threaded_poll_timeout( AvahiThreadedPoll *, long, obj_t );
+extern void bgl_avahi_threaded_poll_close( struct BgL_avahizd2threadedzd2pollz00_bgl * );
+
+extern void bgl_avahi_client_new( struct BgL_avahizd2clientzd2_bgl * );
+extern void bgl_avahi_client_close( struct BgL_avahizd2clientzd2_bgl * );
+
+extern void bgl_avahi_entry_group_new( struct BgL_avahizd2entryzd2groupz00_bgl * );
+extern void bgl_avahi_entry_group_close( struct BgL_avahizd2entryzd2groupz00_bgl * );
+
+extern void bgl_avahi_service_browser_new( struct BgL_avahizd2servicezd2browserz00_bgl * );
+extern void bgl_avahi_service_browser_close( struct BgL_avahizd2servicezd2browserz00_bgl * );
+
+extern void bgl_avahi_service_type_browser_new( struct BgL_avahizd2servicezd2typezd2browserzd2_bgl * );
+extern void bgl_avahi_service_type_browser_close( struct BgL_avahizd2servicezd2typezd2browserzd2_bgl * );
+
+extern void bgl_avahi_domain_browser_new( struct BgL_avahizd2domainzd2browserz00_bgl *, AvahiDomainBrowserType );
+extern void bgl_avahi_domain_browser_close( struct BgL_avahizd2domainzd2browserz00_bgl * );
+
+extern void bgl_avahi_service_resolver_new( struct BgL_avahizd2servicezd2resolverz00_bgl * );
+extern void bgl_avahi_service_resolver_close( struct BgL_avahizd2servicezd2resolverz00_bgl * );
--- api/avahi/src/Clib/bglavahi.c.orig	2020-07-22 11:37:30.380107176 -0600
+++ api/avahi/src/Clib/bglavahi.c	2020-10-19 11:46:15.574230717 -0600
@@ -22,11 +22,12 @@
 #include <avahi-common/timeval.h>
 
 #include "bglavahi.h"
+#include "bavahi.h"
 
 /*---------------------------------------------------------------------*/
 /*    Imports                                                          */
 /*---------------------------------------------------------------------*/
-extern int bgl_avahi_error( char *, char *, obj_t, int );
+extern obj_t bgl_avahi_error( char *, char *, obj_t, int );
 extern obj_t bgl_avahi_client_state_to_symbol( AvahiClientState );
 extern obj_t bgl_avahi_entry_group_state_to_symbol( AvahiEntryGroupState );
 extern obj_t bgl_avahi_protocol_to_symbol( AvahiProtocol );
--- api/avahi/src/Llib/avahi.sch.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/avahi/src/Llib/avahi.sch	2020-10-14 13:01:30.782265154 -0600
@@ -21,6 +21,7 @@
       (include "avahi-common/thread-watch.h")
       (include "avahi-common/error.h")
       (include "avahi-common/alternative.h")
+      (include "bavahi.h")
 
       ;; misc
       (macro $avahi-strerror::string
--- api/flac/src/Llib/flac.sch.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/flac/src/Llib/flac.sch	2020-10-14 13:13:59.543037526 -0600
@@ -15,6 +15,7 @@
 (directives
    (extern
     (include "FLAC/stream_decoder.h")
+    (include "pulse/error.h")
     (include "bglflac.h")
     
     ;; misc
--- api/libuv/src/Clib/bgluv.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/libuv/src/Clib/bgluv.c	2020-10-14 14:35:37.483412294 -0600
@@ -138,14 +138,14 @@ bgl_uv_timer_new( BgL_uvtimerz00_bglt o,
 /*    bgl_uv_timer_cb ...                                              */
 /*---------------------------------------------------------------------*/
 void
-bgl_uv_timer_cb( uv_handle_t *handle, char *path, int events, int status ) {
+bgl_uv_timer_cb( uv_handle_t *handle ) {
    bgl_uv_watcher_t o = (bgl_uv_watcher_t)handle->data;
    obj_t p = ((bgl_uv_watcher_t)COBJECT( o ))->BgL_cbz00;
    bgl_uv_loop_t l = ((BgL_uvwatcherz00_bglt)COBJECT( o ))->BgL_loopz00;
 
    bgl_uv_pop_gcmark( (bgl_uv_handle_t)l, (obj_t)o );
 
-   if( PROCEDUREP( p ) ) PROCEDURE_ENTRY( p )( p, o, BINT( status ), BEOA );
+   if( PROCEDUREP( p ) ) PROCEDURE_ENTRY( p )( p, o, BEOA );
 }
 
 /*---------------------------------------------------------------------*/
--- api/libuv/src/Llib/timer.scm.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/libuv/src/Llib/timer.scm	2020-10-14 15:01:57.345096285 -0600
@@ -41,7 +41,7 @@
       ;; store in the loop for the GC
       (uv-push-gcmark! loop o)
       ;; force Bigloo to add the extern clause for bgl_uv_timer_cb
-      (when (uv-gcmarks-empty? loop) ($bgl_uv_timer_cb $uv_timer_nil 0))
+      (when (uv-gcmarks-empty? loop) ($bgl_uv_timer_cb $uv_timer_nil))
       ($uv_timer_start ($uv-timer-t $builtin) $BGL_UV_TIMER_CB t r)))
 
 ;*---------------------------------------------------------------------*/
--- api/libuv/src/Llib/uv.sch.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/libuv/src/Llib/uv.sch	2020-10-14 14:40:47.331959975 -0600
@@ -148,7 +148,7 @@
       (macro $uv_timer_start::void (::$uv_timer_t ::$uv_timer_cb ::uint64 ::uint64) "uv_timer_start")
       (macro $uv_timer_stop::void (::$uv_timer_t) "uv_timer_stop")
       
-      ($bgl_uv_timer_cb::$uv_timer_cb (::$uv_timer_t ::int) "bgl_uv_timer_cb")
+      ($bgl_uv_timer_cb::$uv_timer_cb (::$uv_timer_t) "bgl_uv_timer_cb")
       (macro $BGL_UV_TIMER_CB::$uv_timer_cb "(uv_timer_cb)&bgl_uv_timer_cb")
 
       (macro $uv-hrtime::uint64 () "uv_hrtime")
--- api/libuv/src/Llib/uvtypes.scm.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/libuv/src/Llib/uvtypes.scm	2020-10-11 09:04:55.893336615 -0600
@@ -160,7 +160,7 @@
 	   (uv-strerror::bstring ::int)
 	   (uv-err-name::bstring ::int)
 
-	   (uv-handle-type-symbol ::int)
+	   (uv-handle-type-symbol ::long)
 	   (uv-guess-handle::symbol ::int)
 	   (inline uv-push-gcmark! ::UvHandle o)
 	   (uv-pop-gcmark! ::UvHandle o)
--- api/mpg123/src/Clib/bglmpg123.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/mpg123/src/Clib/bglmpg123.c	2020-10-14 16:48:25.377460368 -0600
@@ -121,13 +121,14 @@ bgl_mpg123_position( mpg123_handle *m )
 /*    bgl_mpg123_info ...                                              */
 /*---------------------------------------------------------------------*/
 long
-bgl_mpg123_info( mpg123_handle *m ) {
+bgl_mpg123_info( obj_t o ) {
    struct mpg123_frameinfo mi;
+   mpg123_handle *m = BGL_HANDLE_BUILTIN( o );
    int err = mpg123_info( m, &mi );
    obj_t env = BGL_CURRENT_DYNAMIC_ENV();
 
    if( err < 0 ) {
-      bgl_mpg123_error( "mpg123-info", mpg123_plain_strerror( err ), m );
+      bgl_mpg123_error( "mpg123-info", mpg123_plain_strerror( err ), o );
    }
 
    BGL_ENV_MVALUES_NUMBER_SET( env, 1 );
@@ -159,14 +160,15 @@ bgl_mpg123_getvolume( mpg123_handle *m )
 /*    bgl_mpg123_getparam ...                                          */
 /*---------------------------------------------------------------------*/
 obj_t
-bgl_mpg123_getparam( mpg123_handle *m, enum mpg123_parms type ) {
+bgl_mpg123_getparam( obj_t o, enum mpg123_parms type ) {
    long val;
    double fval;
+   mpg123_handle *m = BGL_HANDLE_BUILTIN( o );
    int err = mpg123_getparam( m, type, &val, &fval );
    obj_t env = BGL_CURRENT_DYNAMIC_ENV();
 
    if( err < 0 ) {
-      bgl_mpg123_error( "mpg123-getparam", mpg123_plain_strerror( err ), m );
+      bgl_mpg123_error( "mpg123-getparam", mpg123_plain_strerror( err ), o );
    }
 
    BGL_ENV_MVALUES_NUMBER_SET( env, 1 );
--- api/mpg123/src/Clib/bglmpg123.h.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/mpg123/src/Clib/bglmpg123.h	2020-10-14 17:22:26.259714509 -0600
@@ -11,12 +11,13 @@
 #ifndef BGL_LIBMPG123
 #define BGL_LIBMPG123
 
-extern obj_t bgl_mpg123_error();
+extern int bgl_mpg123_error(char *, char *, obj_t);
 extern obj_t bgl_mpg123_decoders();
 extern int bgl_mpg123_decode( obj_t, char *, long, long, char *, long );
 extern mpg123_handle *bgl_mpg123_new( const char * );
 extern long bgl_mpg123_getformat( mpg123_handle * );
-extern long bgl_mpg123_info( mpg123_handle * );
+extern long bgl_mpg123_info( obj_t );
 extern double bgl_mpg123_getvolume( mpg123_handle * );
+extern obj_t bgl_mpg123_getparam( obj_t, enum mpg123_parms );
 
 #endif
--- api/mpg123/src/Llib/mpg123.sch.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/mpg123/src/Llib/mpg123.sch	2020-10-14 16:46:11.521410373 -0600
@@ -71,13 +71,13 @@
     ($bgl-mpg123-position::long
        (::$mpg123-handle) "bgl_mpg123_position")
     ($bgl-mpg123-info::long
-       (::$mpg123-handle) "bgl_mpg123_info")
+       (::obj) "bgl_mpg123_info")
     ($bgl-mpg123-getvolume::double
        (::$mpg123-handle) "bgl_mpg123_getvolume")
     ($bgl-mpg123-param::obj
        (::$mpg123-handle ::$mpg123-params ::long ::double) "bgl_mpg123_param")
     ($bgl-mpg123-getparam::obj
-       (::$mpg123-handle ::$mpg123-params) "bgl_mpg123_getparam")
+       (::obj ::$mpg123-params) "bgl_mpg123_getparam")
 
     (macro $mpg123-new-format::int "MPG123_NEW_FORMAT")
     (macro $mpg123-err::int "MPG123_ERR")
--- api/phidget/src/Clib/bglphidget.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/phidget/src/Clib/bglphidget.c	2020-10-14 15:27:14.722113894 -0600
@@ -1655,7 +1655,7 @@ bgl_phidget_encoder_add_event_listener(
 /*    bgl_phidget_encoder_get_input_count ...                          */
 /*---------------------------------------------------------------------*/
 int
-bgl_phidget_encoder_get_input_count( CPhidgetEncoderHandle phid, int i, obj_t o ) {
+bgl_phidget_encoder_get_input_count( CPhidgetEncoderHandle phid, obj_t o ) {
   int err, count;
 
   err = CPhidgetEncoder_getInputCount( phid, &count);
@@ -1669,7 +1669,7 @@ bgl_phidget_encoder_get_input_count( CPh
 /*    bgl_phidget_encoder_get_encoder_count ...                        */
 /*---------------------------------------------------------------------*/
 int
-bgl_phidget_encoder_get_encoder_count( CPhidgetEncoderHandle phid, int i, obj_t o ) {
+bgl_phidget_encoder_get_encoder_count( CPhidgetEncoderHandle phid, obj_t o ) {
   int err, count;
 
   err = CPhidgetEncoder_getEncoderCount( phid, &count);
--- api/phidget/src/Clib/bglphidget.h.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/phidget/src/Clib/bglphidget.h	2020-10-14 15:27:33.537092500 -0600
@@ -42,6 +42,8 @@
 
 extern void bgl_phidget_init();
 
+extern obj_t bgl_phidget_error(char *, int, obj_t);
+
 extern int bgl_phidget_manager_add_event_listener(
    CPhidgetManagerHandle, char *, obj_t, obj_t );
 
@@ -51,6 +53,8 @@ extern int bgl_phidget_phidget_add_event
 extern int bgl_phidget_ifkit_add_event_listener(
    CPhidgetInterfaceKitHandle, char *, obj_t, obj_t );
 
+extern void bgl_phidget_invoke_callbacks(void);
+
 extern obj_t bgl_phidget_event_error_new( obj_t, int, char * );
 extern obj_t bgl_phidget_event_attach_new( obj_t, CPhidgetHandle );
 extern obj_t bgl_phidget_event_detach_new( obj_t, CPhidgetHandle );
@@ -81,6 +85,25 @@ extern obj_t bgl_phidget_get_device_type
 extern obj_t bgl_phidget_get_device_id( CPhidgetHandle );
 extern obj_t bgl_phidget_get_server_id( CPhidgetHandle );
 extern int bgl_phidget_get_serial_number( CPhidgetHandle );
+extern int bgl_phidget_get_device_version( CPhidgetHandle );
+
+extern int bgl_phidget_spatial_add_event_listener( CPhidgetSpatialHandle,
+						   char *, obj_t, obj_t );
+extern int bgl_phidget_spatial_get_datarate( CPhidgetSpatialHandle, obj_t );
+extern int bgl_phidget_spatial_get_datarate_min( CPhidgetSpatialHandle, obj_t );
+extern int bgl_phidget_spatial_get_datarate_max( CPhidgetSpatialHandle, obj_t );
+
+extern int bgl_phidget_servo_get_motor_count( CPhidgetServoHandle, obj_t );
+
+extern int bgl_phidget_motor_control_add_event_listener(
+   CPhidgetMotorControlHandle, char *, obj_t, obj_t );
+
+extern int bgl_phidget_encoder_add_event_listener( CPhidgetEncoderHandle,
+						   char *, obj_t, obj_t );
+extern void bgl_phidget_encoder_enable( CPhidgetEncoderHandle, int );
+extern void bgl_phidget_encoder_disable( CPhidgetEncoderHandle, int );
+extern int bgl_phidget_encoder_get_input_count( CPhidgetEncoderHandle, obj_t );
+extern int bgl_phidget_encoder_get_encoder_count( CPhidgetEncoderHandle, obj_t );
 
 /*---------------------------------------------------------------------*/
 /*    Bigloo functions                                                 */
--- api/phidget/src/Llib/pdgencoder.scm.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/phidget/src/Llib/pdgencoder.scm	2020-10-11 16:21:05.335315539 -0600
@@ -106,11 +106,13 @@
 
 (define (phidget-encoder-enable! e::phidget-encoder i::int)
    (with-access::phidget e ($builtin)
-      ($pdg-phidget-encoder-enable! ($pdg-phidget->encoder $builtin) i)))
+      ($pdg-phidget-encoder-enable! ($pdg-phidget->encoder $builtin) i))
+   #t)
 
 (define (phidget-encoder-disable! e::phidget-encoder i::int)
    (with-access::phidget e ($builtin)
-      ($pdg-phidget-encoder-disable! ($pdg-phidget->encoder $builtin) i)))
+      ($pdg-phidget-encoder-disable! ($pdg-phidget->encoder $builtin) i))
+   #t)
 
 ;*---------------------------------------------------------------------*/
 ;*    phidget-encoder-input-count ...                                  */
--- api/pulseaudio/src/Clib/bglpulseaudio.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ api/pulseaudio/src/Clib/bglpulseaudio.c	2020-10-14 12:03:50.105583273 -0600
@@ -16,7 +16,7 @@
 /*---------------------------------------------------------------------*/
 /*    import                                                           */
 /*---------------------------------------------------------------------*/
-extern obj_t bgl_pulseaudio_error();
+extern int bgl_pulseaudio_error(char *, char*, obj_t);
 
 /*---------------------------------------------------------------------*/
 /*    pa_simple *                                                      */
--- runtime/Clib/callcc.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ runtime/Clib/callcc.c	2020-10-11 08:54:25.021246175 -0600
@@ -27,7 +27,7 @@ extern long glob_dummy;
 extern obj_t make_fx_procedure( obj_t (*)(), int, int );
 extern obj_t c_constant_string_to_string( char * );
 
-static obj_t callcc_restore_stack();
+static obj_t callcc_restore_stack( obj_t, obj_t, char ** );
 extern obj_t unwind_stack_until( obj_t, obj_t, obj_t, obj_t );
 extern bool_t unwind_stack_value_p( obj_t );
 extern void *bgl_get_top_of_stack();
--- runtime/Clib/cerror.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ runtime/Clib/cerror.c	2020-10-11 08:54:25.021246175 -0600
@@ -23,9 +23,8 @@ extern int errno;
 /*    Les recuperations externes                                       */
 /*---------------------------------------------------------------------*/
 #ifndef _MSC_VER
-extern void perror();
-extern char *strerror( int );
-extern void exit( int );
+#include <stdio.h>
+#include <stdlib.h>
 #endif
 extern obj_t bgl_typeof( obj_t );
 
--- runtime/Clib/cinit_obj.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ runtime/Clib/cinit_obj.c	2020-10-11 08:54:25.022246175 -0600
@@ -43,7 +43,7 @@ BGL_RUNTIME_DEF union nanobj bigloo_nan,
 /*---------------------------------------------------------------------*/
 /*    Importations                                                     */
 /*---------------------------------------------------------------------*/
-extern obj_t string_to_obj();
+extern obj_t string_to_obj(obj_t, obj_t, obj_t);
 extern void bgl_init_dynamic_env();
 extern void bgl_init_symbol_table();
 extern void bgl_init_socket();
--- runtime/Clib/cmain.c.orig	2020-10-11 08:54:14.174246089 -0600
+++ runtime/Clib/cmain.c	2020-10-11 08:54:25.022246175 -0600
@@ -36,8 +36,8 @@ BGL_RUNTIME_DEF long heap_size = DEFAULT
 /*---------------------------------------------------------------------*/
 /*    imports                                                          */
 /*---------------------------------------------------------------------*/
-extern void cref();
-extern void memshow();
+extern obj_t cref(obj_t);
+extern void memshow( char *, char *, long );
 extern void bgl_init_eval_cnst();
 extern obj_t c_constant_string_to_string( char * );
 extern void c_error( char *, char *, int ) __attribute__((noreturn));
@@ -49,7 +49,7 @@ extern void GC_set_all_interior_pointers
 extern obj_t bgl_signal( int, obj_t );
 
 #ifndef _MSC_VER
-extern char *getenv();
+#include <stdlib.h>
 #endif
 
 /*---------------------------------------------------------------------*/
--- runtime/Clib/cpcre.h.orig	2020-05-12 00:35:36.000000000 -0600
+++ runtime/Clib/cpcre.h	2020-10-11 08:55:11.932246547 -0600
@@ -10,7 +10,7 @@
 /*=====================================================================*/
 #include <pcre.h>
 
-extern obj_t make_string( int, unsigned char );
+extern obj_t make_string( long, unsigned char );
 
 static obj_t utf8_symbol = BUNSPEC;
 static obj_t javascript_symbol = BUNSPEC;
--- runtime/Clib/cports.c.orig	2020-10-11 08:54:07.526246036 -0600
+++ runtime/Clib/cports.c	2020-10-11 08:54:25.022246175 -0600
@@ -113,7 +113,7 @@
 /*---------------------------------------------------------------------*/
 #if( BGL_HAVE_SENDFILE )
 #  if( BGL_SENDFILE_BRAND == BGL_SENDFILE_LINUX )
-extern ssize_t sendfile( int, int, off_t *, size_t );
+#    include <sys/sendfile.h>
 #    define BGL_SENDFILE sendfile
 #  else
 #    if( BGL_SENDFILE_BRAND == BGL_SENDFILE_BSD )
--- runtime/Clib/cprocess.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ runtime/Clib/cprocess.c	2020-10-11 08:54:25.022246175 -0600
@@ -57,7 +57,7 @@ extern obj_t bgl_close_input_port( obj_t
 extern long  bgl_list_length( obj_t );
 extern char *bgl_string_to_gc_cstring( obj_t );
 extern obj_t string_to_bstring( char * );
-extern ssize_t bgl_syswrite( obj_t, char *, size_t );
+extern ssize_t bgl_syswrite( obj_t, const void *, size_t );
 extern obj_t make_string_sans_fill( long );
 
 /*---------------------------------------------------------------------*/
--- runtime/Clib/csocket.c.orig	2020-10-11 08:54:18.550246123 -0600
+++ runtime/Clib/csocket.c	2020-10-11 08:54:25.023246175 -0600
@@ -149,12 +149,11 @@ extern unsigned char bgl_get_hash_number
 extern bool_t bigloo_strcmp( obj_t o1, obj_t o2 );
 extern bool_t bgl_dns_enable_cache();
 extern long bgl_dns_cache_validity_timeout();
-extern ssize_t bgl_syswrite( obj_t, char *, size_t );
+extern ssize_t bgl_syswrite( obj_t, const void *, size_t );
 extern obj_t make_string_sans_fill( long );
 
 #ifndef _BGL_WIN32_VER
-extern int dup( int );
-extern int close( int );
+#include <unistd.h>
 #endif
 
 /*---------------------------------------------------------------------*/
--- runtime/Clib/inline_alloc.c.orig	2020-05-12 00:35:36.000000000 -0600
+++ runtime/Clib/inline_alloc.c	2020-10-11 08:54:25.023246175 -0600
@@ -38,7 +38,7 @@ gcollect_verbose( unsigned long heapsz,
 GC_API void
 bgl_gc_verbose_set( bool_t verbose ) {
 #if( (BGL_GC == BGL_BOEHM_GC) && BGL_GC_CUSTOM )
-   extern void GC_add_gc_hook();
+   extern void GC_add_gc_hook( void (*f)() );
    
    if( verbose ) {
       fprintf( stderr, "bgl_gc_verbose on...\n" );
--- runtime/Include/bigloo_pair.h.orig	2020-05-12 00:35:36.000000000 -0600
+++ runtime/Include/bigloo_pair.h	2020-10-13 17:39:33.656637491 -0600
@@ -60,7 +60,7 @@ struct bgl_epair {
    obj_t car;       
    obj_t cdr;
    /* extended header type */
-#if( (BGL_GC == BGL_BOEHM_GC) && TAG_PAIR )
+#if( TAG_PAIR )
    obj_t eheader;
 #endif   
    /* extended slot */