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

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

s48_value df_strlen_or_false(s48_value g1)
{
    extern s48_value strlen_or_false(const char * );
    s48_value ret1;
    s48_value r1;

    
    r1 = strlen_or_false((const char * )AlienVal(g1));
    ret1 = r1;
    return ret1;
}

s48_value df_cstring_nullp(s48_value g1)
{
    extern int cstring_nullp(const char * );
    s48_value ret1;
    int r1;

    
    r1 = cstring_nullp((const char * )AlienVal(g1));
    ret1 = ENTER_BOOLEAN(r1);
    return ret1;
}

s48_value df_c2scheme_strcpy_free(s48_value g1, s48_value g2)
{
    extern int c2scheme_strcpy_free(s48_value , char* );
    s48_value ret1;
    int r1;

    
    r1 = c2scheme_strcpy_free(g1, (char* )AlienVal(g2));
    ret1 = ENTER_BOOLEAN(r1);
    return ret1;
}

s48_value df_c2scheme_strcpy(s48_value g1, s48_value g2)
{
    extern int c2scheme_strcpy(s48_value , char* );
    s48_value ret1;
    int r1;

    
    r1 = c2scheme_strcpy(g1, (char* )AlienVal(g2));
    ret1 = ENTER_BOOLEAN(r1);
    return ret1;
}

s48_value df_c_veclen(s48_value g1)
{
    extern s48_value c_veclen(long* );
    s48_value ret1;
    s48_value r1;

    
    r1 = c_veclen((long* )AlienVal(g1));
    ret1 = r1;
    return ret1;
}

s48_value df_free(s48_value g1)
{
    

    
    free((void* )AlienVal(g1));
    return S48_FALSE;
}

s48_value df_set_strvec_carriers(s48_value g1, s48_value g2)
{
    extern void set_strvec_carriers(s48_value , char** );

    
    set_strvec_carriers(g1, (char** )AlienVal(g2));
    return S48_FALSE;
}

s48_value s48_init_cig(void)
{
    S48_EXPORT_FUNCTION(df_strlen_or_false);
    S48_EXPORT_FUNCTION(df_cstring_nullp);
    S48_EXPORT_FUNCTION(df_c2scheme_strcpy_free);
    S48_EXPORT_FUNCTION(df_c2scheme_strcpy);
    S48_EXPORT_FUNCTION(df_c_veclen);
    S48_EXPORT_FUNCTION(df_free);
    S48_EXPORT_FUNCTION(df_set_strvec_carriers);

    return S48_UNSPECIFIC;
}