func HashFilename(filename string) (string, error) {
	buf := (*C.char)(C.calloc(C.FUZZY_MAX_RESULT, 1))
	defer C.free(unsafe.Pointer(buf))
	cf := C.CString(filename)
	defer C.free(unsafe.Pointer(cf))
	if C.fuzzy_hash_filename(cf, buf) != 0 {
		return "", errors.New("")
	}
	return C.GoString(buf), nil
}
/*
Compute the fuzzy hash of a file.
package ssdeep
import "C"
import (
	"errors"
	"unsafe"
)
type FuzzyState struct {
	cstate *C.struct_fuzzy_state
}
func New() (*FuzzyState, error) {
	var cstate *C.struct_fuzzy_state
	if cstate = C.fuzzy_new(); cstate == nil {
		return nil, errors.New("")
	}
	return &FuzzyState{cstate}, nil
}
func (fs *FuzzyState) Clone() (*FuzzyState, error) {
	var cstate *C.struct_fuzzy_state
	if cstate = C.fuzzy_clone(fs.cstate); cstate == nil {
		return nil, errors.New("")
	}
	return &FuzzyState{cstate}, nil
}
func (fs *FuzzyState) Free() {
	C.fuzzy_free(fs.cstate)
}
func (fs *FuzzyState) Update(str string) error {
	cstr := C.CString(str)
	defer C.free(unsafe.Pointer(cstr))
	length := C.size_t(len(str))
	if C.fuzzy_update(fs.cstate, (*C.uchar)(unsafe.Pointer(cstr)), length) != 0 {
		return errors.New("")
	}
	return nil
}
func (fs *FuzzyState) Digest() (string, error) {
	buf := (*C.char)(C.calloc(C.FUZZY_MAX_RESULT, 1))
	defer C.free(unsafe.Pointer(buf))
	if C.fuzzy_digest(fs.cstate, buf, C.uint(0)) != 0 {
		return "", errors.New("")
	}
	return C.GoString(buf), nil
}
func Compare(str1, str2 string) (int, error) {
	cstr1 := C.CString(str1)
	defer C.free(unsafe.Pointer(cstr1))
	cstr2 := C.CString(str2)
	defer C.free(unsafe.Pointer(cstr2))
	if score := C.fuzzy_compare(cstr1, cstr2); score >= 0 {
		return int(score), nil
	}
	return -1, errors.New("")
}
func HashString(str string) (string, error) {
	buf := (*C.char)(C.calloc(C.FUZZY_MAX_RESULT, 1))
	defer C.free(unsafe.Pointer(buf))
	cstr := C.CString(str)
	defer C.free(unsafe.Pointer(cstr))
	length := C.uint32_t(len(str))
	if C.fuzzy_hash_buf((*C.uchar)(unsafe.Pointer(cstr)), length, buf) != 0 {
		return "", errors.New("")
	}
	return C.GoString(buf), nil
}