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

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

#include "time1.h"
scheme_value df_time_plus_ticks(long nargs, scheme_value *args)
{
    extern scheme_value time_plus_ticks(int *, int *, int *, int *);
    scheme_value ret1;
    scheme_value r1;
    int r2;
    int r3;
    int r4;
    int r5;

    cig_check_nargs(1, nargs, "time_plus_ticks");
    r1 = time_plus_ticks(&r2, &r3, &r4, &r5);
    ret1 = r1;
    VECTOR_REF(*args,0) = ENTER_FIXNUM(r2);
    VECTOR_REF(*args,1) = ENTER_FIXNUM(r3);
    VECTOR_REF(*args,2) = ENTER_FIXNUM(r4);
    VECTOR_REF(*args,3) = ENTER_FIXNUM(r5);
    return ret1;
    }

scheme_value df_scheme_time(long nargs, scheme_value *args)
{
    extern scheme_value scheme_time(int *, int *);
    scheme_value ret1;
    scheme_value r1;
    int r2;
    int r3;

    cig_check_nargs(1, nargs, "scheme_time");
    r1 = scheme_time(&r2, &r3);
    ret1 = r1;
    VECTOR_REF(*args,0) = ENTER_FIXNUM(r2);
    VECTOR_REF(*args,1) = ENTER_FIXNUM(r3);
    return ret1;
    }

scheme_value df_date2time(long nargs, scheme_value *args)
{
    extern scheme_value date2time(int , int , int , int , int , int , scheme_value , scheme_value , int , int *, int *);
    scheme_value ret1;
    scheme_value r1;
    int r2;
    int r3;

    cig_check_nargs(10, nargs, "date2time");
    r1 = date2time(EXTRACT_FIXNUM(args[9]), EXTRACT_FIXNUM(args[8]), EXTRACT_FIXNUM(args[7]), EXTRACT_FIXNUM(args[6]), EXTRACT_FIXNUM(args[5]), EXTRACT_FIXNUM(args[4]), args[3], args[2], EXTRACT_BOOLEAN(args[1]), &r2, &r3);
    ret1 = r1;
    VECTOR_REF(*args,0) = ENTER_FIXNUM(r2);
    VECTOR_REF(*args,1) = ENTER_FIXNUM(r3);
    return ret1;
    }

scheme_value df_time2date(long nargs, scheme_value *args)
{
    extern scheme_value time2date(int , int , scheme_value , int *, int *, int *, int *, int *, int *, const char **, int *, int *, int *, int *);
    scheme_value ret1;
    scheme_value r1;
    int r2;
    int r3;
    int r4;
    int r5;
    int r6;
    int r7;
    const char *r8;
    int r9;
    int r10;
    int r11;
    int r12;

    cig_check_nargs(4, nargs, "time2date");
    r1 = time2date(EXTRACT_FIXNUM(args[3]), EXTRACT_FIXNUM(args[2]), args[1], &r2, &r3, &r4, &r5, &r6, &r7, &r8, &r9, &r10, &r11, &r12);
    ret1 = r1;
    VECTOR_REF(*args,0) = ENTER_FIXNUM(r2);
    VECTOR_REF(*args,1) = ENTER_FIXNUM(r3);
    VECTOR_REF(*args,2) = ENTER_FIXNUM(r4);
    VECTOR_REF(*args,3) = ENTER_FIXNUM(r5);
    VECTOR_REF(*args,4) = ENTER_FIXNUM(r6);
    VECTOR_REF(*args,5) = ENTER_FIXNUM(r7);
    {AlienVal(CAR(VECTOR_REF(*args,6))) = (long) r8; CDR(VECTOR_REF(*args,6)) = strlen_or_false(r8);}
    VECTOR_REF(*args,7) = ENTER_FIXNUM(r9);
    VECTOR_REF(*args,8) = ENTER_BOOLEAN(r10);
    VECTOR_REF(*args,9) = ENTER_FIXNUM(r11);
    VECTOR_REF(*args,10) = ENTER_FIXNUM(r12);
    return ret1;
    }

scheme_value df_format_date(long nargs, scheme_value *args)
{
    extern scheme_value format_date(const char *, int , int , int , int , int , int , scheme_value , int , int , int , const char **);
    scheme_value ret1;
    scheme_value r1;
    const char *r2;

    cig_check_nargs(12, nargs, "format_date");
    r1 = format_date(cig_string_body(args[11]), EXTRACT_FIXNUM(args[10]), EXTRACT_FIXNUM(args[9]), EXTRACT_FIXNUM(args[8]), EXTRACT_FIXNUM(args[7]), EXTRACT_FIXNUM(args[6]), EXTRACT_FIXNUM(args[5]), args[4], EXTRACT_BOOLEAN(args[3]), EXTRACT_FIXNUM(args[2]), EXTRACT_FIXNUM(args[1]), &r2);
    ret1 = r1;
    {AlienVal(CAR(VECTOR_REF(*args,0))) = (long) r2; CDR(VECTOR_REF(*args,0)) = strlen_or_false(r2);}
    return ret1;
    }

