//go:cgo_ldflag "-O2"
//go:cgo_ldflag "-g"
//go:cgo_ldflag "-lasound"
// Code generated by cmd/cgo; DO NOT EDIT.

package oto

import "unsafe"

import "syscall"

import _cgopackage "runtime/cgo"

type _ _cgopackage.Incomplete
var _ syscall.Errno
func _Cgo_ptr(ptr unsafe.Pointer) unsafe.Pointer { return ptr }

//go:linkname _Cgo_always_false runtime.cgoAlwaysFalse
var _Cgo_always_false bool
//go:linkname _Cgo_use runtime.cgoUse
func _Cgo_use(interface{})
//go:linkname _Cgo_keepalive runtime.cgoKeepAlive
//go:noescape
func _Cgo_keepalive(interface{})
//go:linkname _Cgo_no_callback runtime.cgoNoCallback
func _Cgo_no_callback(bool)
type _Ctype__GoString_ string

type _Ctype_char int8

type _Ctype_int int32

type _Ctype_intgo = _Ctype_ptrdiff_t

type _Ctype_long int64

type _Ctype_ptrdiff_t = _Ctype_long

type _Ctype_snd_pcm_format_t int32

type _Ctype_snd_pcm_sframes_t = _Ctype_long

type _Ctype_snd_pcm_stream_t uint32

type _Ctype_snd_pcm_t = _Ctype_struct__snd_pcm

type _Ctype_snd_pcm_uframes_t = _Ctype_ulong

type _Ctype_struct__snd_pcm _cgopackage.Incomplete

type _Ctype_uint uint32

type _Ctype_ulong uint64

type _Ctype_void [0]byte

//go:linkname _cgo_runtime_cgocall runtime.cgocall
func _cgo_runtime_cgocall(unsafe.Pointer, uintptr) int32

//go:linkname _cgoCheckPointer runtime.cgoCheckPointer
//go:noescape
func _cgoCheckPointer(interface{}, interface{})

//go:linkname _cgoCheckResult runtime.cgoCheckResult
//go:noescape
func _cgoCheckResult(interface{})
const _Ciconst_EPIPE = 0x20
const _Ciconst_SND_PCM_FORMAT_S16_LE = 0x2
const _Ciconst_SND_PCM_FORMAT_U8 = 0x1
const _Ciconst_SND_PCM_STREAM_PLAYBACK = 0x0

//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc_ALSA_hw_params
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc_ALSA_hw_params _cgo_5b5d143f90c4_Cfunc_ALSA_hw_params
var __cgofn__cgo_5b5d143f90c4_Cfunc_ALSA_hw_params byte
var _cgo_5b5d143f90c4_Cfunc_ALSA_hw_params = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc_ALSA_hw_params)

//go:cgo_unsafe_args
func _Cfunc_ALSA_hw_params(p0 *_Ctype_struct__snd_pcm, p1 _Ctype_uint, p2 _Ctype_uint, p3 _Ctype_snd_pcm_format_t, p4 *_Ctype_snd_pcm_uframes_t, p5 *_Ctype_snd_pcm_uframes_t) (r1 _Ctype_int) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc_ALSA_hw_params, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
		_Cgo_use(p1)
		_Cgo_use(p2)
		_Cgo_use(p3)
		_Cgo_use(p4)
		_Cgo_use(p5)
	}
	return
}

// CString converts the Go string s to a C string.
//
// The C string is allocated in the C heap using malloc.
// It is the caller's responsibility to arrange for it to be
// freed, such as by calling C.free (be sure to include stdlib.h
// if C.free is needed).
func _Cfunc_CString(s string) *_Ctype_char {
	if len(s)+1 <= 0 {
		panic("string too large")
	}
	p := _cgo_cmalloc(uint64(len(s)+1))
	sliceHeader := struct {
		p   unsafe.Pointer
		len int
		cap int
	}{p, len(s)+1, len(s)+1}
	b := *(*[]byte)(unsafe.Pointer(&sliceHeader))
	copy(b, s)
	b[len(s)] = 0
	return (*_Ctype_char)(p)
}

//go:linkname _cgo_runtime_gostring runtime.gostring
func _cgo_runtime_gostring(*_Ctype_char) string

// GoString converts the C string p into a Go string.
func _Cfunc_GoString(p *_Ctype_char) string {
	return _cgo_runtime_gostring(p)
}
//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc_free
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc_free _cgo_5b5d143f90c4_Cfunc_free
var __cgofn__cgo_5b5d143f90c4_Cfunc_free byte
var _cgo_5b5d143f90c4_Cfunc_free = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc_free)

//go:cgo_unsafe_args
func _Cfunc_free(p0 unsafe.Pointer) (r1 _Ctype_void) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc_free, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
	}
	return
}
//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc_snd_pcm_close
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_close _cgo_5b5d143f90c4_Cfunc_snd_pcm_close
var __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_close byte
var _cgo_5b5d143f90c4_Cfunc_snd_pcm_close = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_close)

//go:cgo_unsafe_args
func _Cfunc_snd_pcm_close(p0 *_Ctype_struct__snd_pcm) (r1 _Ctype_int) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc_snd_pcm_close, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
	}
	return
}
//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc_snd_pcm_drop
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_drop _cgo_5b5d143f90c4_Cfunc_snd_pcm_drop
var __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_drop byte
var _cgo_5b5d143f90c4_Cfunc_snd_pcm_drop = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_drop)

//go:cgo_unsafe_args
func _Cfunc_snd_pcm_drop(p0 *_Ctype_struct__snd_pcm) (r1 _Ctype_int) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc_snd_pcm_drop, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
	}
	return
}
//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc_snd_pcm_open
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_open _cgo_5b5d143f90c4_Cfunc_snd_pcm_open
var __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_open byte
var _cgo_5b5d143f90c4_Cfunc_snd_pcm_open = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_open)

//go:cgo_unsafe_args
func _Cfunc_snd_pcm_open(p0 **_Ctype_struct__snd_pcm, p1 *_Ctype_char, p2 _Ctype_snd_pcm_stream_t, p3 _Ctype_int) (r1 _Ctype_int) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc_snd_pcm_open, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
		_Cgo_use(p1)
		_Cgo_use(p2)
		_Cgo_use(p3)
	}
	return
}
//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc_snd_pcm_prepare
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_prepare _cgo_5b5d143f90c4_Cfunc_snd_pcm_prepare
var __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_prepare byte
var _cgo_5b5d143f90c4_Cfunc_snd_pcm_prepare = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_prepare)

//go:cgo_unsafe_args
func _Cfunc_snd_pcm_prepare(p0 *_Ctype_struct__snd_pcm) (r1 _Ctype_int) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc_snd_pcm_prepare, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
	}
	return
}
//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc_snd_pcm_writei
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_writei _cgo_5b5d143f90c4_Cfunc_snd_pcm_writei
var __cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_writei byte
var _cgo_5b5d143f90c4_Cfunc_snd_pcm_writei = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc_snd_pcm_writei)

//go:cgo_unsafe_args
func _Cfunc_snd_pcm_writei(p0 *_Ctype_struct__snd_pcm, p1 unsafe.Pointer, p2 _Ctype_snd_pcm_uframes_t) (r1 _Ctype_snd_pcm_sframes_t) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc_snd_pcm_writei, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
		_Cgo_use(p1)
		_Cgo_use(p2)
	}
	return
}
//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc_snd_strerror
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc_snd_strerror _cgo_5b5d143f90c4_Cfunc_snd_strerror
var __cgofn__cgo_5b5d143f90c4_Cfunc_snd_strerror byte
var _cgo_5b5d143f90c4_Cfunc_snd_strerror = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc_snd_strerror)

//go:cgo_unsafe_args
func _Cfunc_snd_strerror(p0 _Ctype_int) (r1 *_Ctype_char) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc_snd_strerror, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
	}
	return
}

//go:cgo_import_static _cgo_5b5d143f90c4_Cfunc__Cmalloc
//go:linkname __cgofn__cgo_5b5d143f90c4_Cfunc__Cmalloc _cgo_5b5d143f90c4_Cfunc__Cmalloc
var __cgofn__cgo_5b5d143f90c4_Cfunc__Cmalloc byte
var _cgo_5b5d143f90c4_Cfunc__Cmalloc = unsafe.Pointer(&__cgofn__cgo_5b5d143f90c4_Cfunc__Cmalloc)

//go:linkname runtime_throw runtime.throw
func runtime_throw(string)

//go:cgo_unsafe_args
func _cgo_cmalloc(p0 uint64) (r1 unsafe.Pointer) {
	_cgo_runtime_cgocall(_cgo_5b5d143f90c4_Cfunc__Cmalloc, uintptr(unsafe.Pointer(&p0)))
	if r1 == nil {
		runtime_throw("runtime: C malloc failed")
	}
	return
}
