// Code generated by cmd/cgo; DO NOT EDIT.

//line /tmp/go-build960525543/b001/_main_swig.go:1:1
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (https://www.swig.org).
 * Version 4.1.0
 *
 * Do not make changes to this file unless you know what you are doing - modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

// source: main.swig

package main

/*
#define intgo swig_intgo
typedef void *swig_voidp;

#include <stddef.h>
#include <stdint.h>


typedef long long intgo;
typedef unsigned long long uintgo;



typedef struct { char *p; intgo n; } _gostring_;
typedef struct { void* array; intgo len; intgo cap; } _goslice_;


typedef _gostring_ swig_type_1;
typedef _gostring_ swig_type_2;
extern void _wrap_Swig_free_main_157a87ff0e9792e1(uintptr_t arg1);
extern uintptr_t _wrap_Swig_malloc_main_157a87ff0e9792e1(swig_intgo arg1);
extern uintptr_t _wrap_fopen_main_157a87ff0e9792e1(swig_type_1 arg1, swig_type_2 arg2);
extern swig_intgo _wrap_fclose_main_157a87ff0e9792e1(uintptr_t arg1);
extern swig_intgo _wrap_fgetc_main_157a87ff0e9792e1(uintptr_t arg1);
#undef intgo
*/
import _ "unsafe"

import "unsafe"
import _ "runtime/cgo"
import "sync"


type _ unsafe.Pointer



var Swig_escape_always_false bool
var Swig_escape_val interface{}


type _swig_fnptr *byte
type _swig_memberptr *byte


func getSwigcptr(v interface { Swigcptr() uintptr }) uintptr {
	if v == nil {
		return 0
	}
	return v.Swigcptr()
}


type _ sync.Mutex

func Swig_free(arg1 uintptr) {
	_swig_i_0 := arg1
	( /*line :70:2*/_Cfunc__wrap_Swig_free_main_157a87ff0e9792e1 /*line :70:40*/)( /*line :70:42*/_Ctype_uintptr_t /*line :70:53*/(_swig_i_0))
}

func Swig_malloc(arg1 int) (_swig_ret uintptr) {
	var swig_r uintptr
	_swig_i_0 := arg1
	swig_r = (uintptr)(( /*line :76:21*/_Cfunc__wrap_Swig_malloc_main_157a87ff0e9792e1 /*line :76:61*/)( /*line :76:63*/_Ctype_swig_intgo /*line :76:75*/(_swig_i_0)))
	return swig_r
}

func Fopen(arg1 string, arg2 string) (_swig_ret FILE) {
	var swig_r FILE
	_swig_i_0 := arg1
	_swig_i_1 := arg2
	swig_r = (FILE)(SwigcptrFILE(( /*line :84:31*/_Cfunc__wrap_fopen_main_157a87ff0e9792e1 /*line :84:65*/)(*(* /*line :84:70*/_Ctype_swig_type_1 /*line :84:83*/)(unsafe.Pointer(&_swig_i_0)), *(* /*line :84:117*/_Ctype_swig_type_2 /*line :84:130*/)(unsafe.Pointer(&_swig_i_1)))))
	if Swig_escape_always_false {
		Swig_escape_val = arg1
	}
	if Swig_escape_always_false {
		Swig_escape_val = arg2
	}
	return swig_r
}

func Fclose(arg1 FILE) (_swig_ret int) {
	var swig_r int
	_swig_i_0 := getSwigcptr(arg1)
	swig_r = (int)(( /*line :97:17*/_Cfunc__wrap_fclose_main_157a87ff0e9792e1 /*line :97:52*/)( /*line :97:54*/_Ctype_uintptr_t /*line :97:65*/(_swig_i_0)))
	return swig_r
}

func Fgetc(arg1 FILE) (_swig_ret int) {
	var swig_r int
	_swig_i_0 := getSwigcptr(arg1)
	swig_r = (int)(( /*line :104:17*/_Cfunc__wrap_fgetc_main_157a87ff0e9792e1 /*line :104:51*/)( /*line :104:53*/_Ctype_uintptr_t /*line :104:64*/(_swig_i_0)))
	return swig_r
}


type SwigcptrFILE uintptr
type FILE interface {
	Swigcptr() uintptr;
}
func (p SwigcptrFILE) Swigcptr() uintptr {
	return uintptr(p)
}

