/* This is an Scheme48/C interface file, 
** automatically generated by cig.
*/

#include <stdio.h>
#include <stdlib.h> /* For malloc. */
#include "libcig.h"

/* Make sure foreign-function stubs interface to the C funs correctly: */
#include "select1.h"

scheme_value df_select_copyback(long nargs, scheme_value *args)
{
    extern scheme_value select_copyback(scheme_value , scheme_value , scheme_value , scheme_value , int *, int *, int *);
    scheme_value ret1;
    scheme_value r1;
    int r2;
    int r3;
    int r4;

    cig_check_nargs(5, nargs, "select_copyback");
    r1 = select_copyback(args[4], args[3], args[2], args[1], &r2, &r3, &r4);
    ret1 = r1;
    VECTOR_REF(*args,0) = ENTER_FIXNUM(r2);
    VECTOR_REF(*args,1) = ENTER_FIXNUM(r3);
    VECTOR_REF(*args,2) = ENTER_FIXNUM(r4);
    return ret1;
    }

scheme_value df_select_filter(long nargs, scheme_value *args)
{
    extern scheme_value select_filter(scheme_value , scheme_value , scheme_value , scheme_value , int *, int *, int *);
    scheme_value ret1;
    scheme_value r1;
    int r2;
    int r3;
    int r4;

    cig_check_nargs(5, nargs, "select_filter");
    r1 = select_filter(args[4], args[3], args[2], args[1], &r2, &r3, &r4);
    ret1 = r1;
    VECTOR_REF(*args,0) = ENTER_FIXNUM(r2);
    VECTOR_REF(*args,1) = ENTER_FIXNUM(r3);
    VECTOR_REF(*args,2) = ENTER_FIXNUM(r4);
    return ret1;
    }