// Objective-C API for talking to basictypes Go package.
//   gobind -lang=objc basictypes
//
// File is generated by gobind. Do not edit.

#ifndef __GoBasictypes_H__
#define __GoBasictypes_H__

#include <Foundation/Foundation.h>
#include "GoUniverse.h"

FOUNDATION_EXPORT const BOOL GoBasictypesABool;
FOUNDATION_EXPORT const double GoBasictypesAFloat;
FOUNDATION_EXPORT NSString* const GoBasictypesALongString;
FOUNDATION_EXPORT const int32_t GoBasictypesARune;
FOUNDATION_EXPORT NSString* const GoBasictypesAString;
FOUNDATION_EXPORT const int64_t GoBasictypesAnInt;
FOUNDATION_EXPORT const int64_t GoBasictypesAnInt2;

FOUNDATION_EXPORT BOOL GoBasictypesBool(BOOL p0);

FOUNDATION_EXPORT NSData* GoBasictypesByteArrays(NSData* x);

FOUNDATION_EXPORT BOOL GoBasictypesError(NSError** error);

FOUNDATION_EXPORT BOOL GoBasictypesErrorPair(int* ret0_, NSError** error);

FOUNDATION_EXPORT void GoBasictypesInts(int8_t x, int16_t y, int32_t z, int64_t t, int u);

#endif
