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

package quota

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_DIR = _Ctype_struct___dirstream

type _Ctype__GoString_ string

type _Ctype___s16 = _Ctype_short

type _Ctype___s32 = _Ctype_int

type _Ctype___s8 = _Ctype_schar

type _Ctype___u16 = _Ctype_ushort

type _Ctype___u32 = _Ctype_uint

type _Ctype___u64 = _Ctype_ulonglong

type _Ctype_char int8

type _Ctype_fs_disk_quota_t = _Ctype_struct_fs_disk_quota

type _Ctype_fs_qfilestat_t = _Ctype_struct_fs_qfilestat

type _Ctype_fs_quota_stat_t = _Ctype_struct_fs_quota_stat

type _Ctype_int int32

type _Ctype_intgo = _Ctype_ptrdiff_t

type _Ctype_long int64

type _Ctype_ptrdiff_t = _Ctype_long

type _Ctype_schar int8

type _Ctype_short int16

type _Ctype_struct___dirstream _cgopackage.Incomplete

type _Ctype_struct_fs_disk_quota struct {
	d_version	_Ctype___s8
	d_flags		_Ctype___s8
	d_fieldmask	_Ctype___u16
	d_id		_Ctype___u32
	d_blk_hardlimit	_Ctype___u64
	d_blk_softlimit	_Ctype___u64
	d_ino_hardlimit	_Ctype___u64
	d_ino_softlimit	_Ctype___u64
	d_bcount	_Ctype___u64
	d_icount	_Ctype___u64
	d_itimer	_Ctype___s32
	d_btimer	_Ctype___s32
	d_iwarns	_Ctype___u16
	d_bwarns	_Ctype___u16
	d_itimer_hi	_Ctype___s8
	d_btimer_hi	_Ctype___s8
	d_rtbtimer_hi	_Ctype___s8
	d_padding2	_Ctype___s8
	d_rtb_hardlimit	_Ctype___u64
	d_rtb_softlimit	_Ctype___u64
	d_rtbcount	_Ctype___u64
	d_rtbtimer	_Ctype___s32
	d_rtbwarns	_Ctype___u16
	d_padding3	_Ctype___s16
	d_padding4	[8]_Ctype_char
}

type _Ctype_struct_fs_qfilestat struct {
	qfs_ino		_Ctype___u64
	qfs_nblks	_Ctype___u64
	qfs_nextents	_Ctype___u32
	_		[4]byte
}

type _Ctype_struct_fs_quota_stat struct {
	qs_version	_Ctype___s8
	qs_flags	_Ctype___u16
	qs_pad		_Ctype___s8
	qs_uquota	_Ctype_struct_fs_qfilestat
	qs_gquota	_Ctype_struct_fs_qfilestat
	qs_incoredqs	_Ctype___u32
	qs_btimelimit	_Ctype___s32
	qs_itimelimit	_Ctype___s32
	qs_rtbtimelimit	_Ctype___s32
	qs_bwarnlimit	_Ctype___u16
	qs_iwarnlimit	_Ctype___u16
	_		[4]byte
}

type _Ctype_struct_fsxattr struct {
	fsx_xflags	_Ctype___u32
	fsx_extsize	_Ctype___u32
	fsx_nextents	_Ctype___u32
	fsx_projid	_Ctype___u32
	fsx_cowextsize	_Ctype___u32
	fsx_pad		[8]_Ctype_uchar
}

type _Ctype_uchar uint8

type _Ctype_uint uint32

type _Ctype_ulong uint64

type _Ctype_ulonglong uint64

type _Ctype_ushort uint16

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{})
//go:linkname __cgo_Q_XGETQSTAT_PRJQUOTA Q_XGETQSTAT_PRJQUOTA
//go:cgo_import_static Q_XGETQSTAT_PRJQUOTA
var __cgo_Q_XGETQSTAT_PRJQUOTA byte
var _Cvar_Q_XGETQSTAT_PRJQUOTA *_Ctype_int = (*_Ctype_int)(unsafe.Pointer(&__cgo_Q_XGETQSTAT_PRJQUOTA))
const _Ciconst_FS_DQUOT_VERSION = 0x1
const _Ciconst_FS_DQ_BHARD = 0x8
const _Ciconst_FS_DQ_BSOFT = 0x4
const _Ciconst_FS_IOC_FSGETXATTR = 0x801c581f
const _Ciconst_FS_IOC_FSSETXATTR = 0x401c5820
const _Ciconst_FS_QUOTA_PDQ_ACCT = 0x10
const _Ciconst_FS_QUOTA_PDQ_ENFD = 0x20
const _Ciconst_FS_XFLAG_PROJINHERIT = 0x200
const _Ciconst_Q_XGETPQUOTA = 0x580302
const _Ciconst_Q_XSETPQLIM = 0x580402
const _Ciconst_XFS_PROJ_QUOTA = 0x2


// 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:cgo_import_static _cgo_67bedb988193_Cfunc_closedir
//go:linkname __cgofn__cgo_67bedb988193_Cfunc_closedir _cgo_67bedb988193_Cfunc_closedir
var __cgofn__cgo_67bedb988193_Cfunc_closedir byte
var _cgo_67bedb988193_Cfunc_closedir = unsafe.Pointer(&__cgofn__cgo_67bedb988193_Cfunc_closedir)

//go:cgo_unsafe_args
func _Cfunc_closedir(p0 *_Ctype_struct___dirstream) (r1 _Ctype_int) {
	_cgo_runtime_cgocall(_cgo_67bedb988193_Cfunc_closedir, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
	}
	return
}
//go:cgo_import_static _cgo_67bedb988193_Cfunc_dirfd
//go:linkname __cgofn__cgo_67bedb988193_Cfunc_dirfd _cgo_67bedb988193_Cfunc_dirfd
var __cgofn__cgo_67bedb988193_Cfunc_dirfd byte
var _cgo_67bedb988193_Cfunc_dirfd = unsafe.Pointer(&__cgofn__cgo_67bedb988193_Cfunc_dirfd)

//go:cgo_unsafe_args
func _Cfunc_dirfd(p0 *_Ctype_struct___dirstream) (r1 _Ctype_int) {
	_cgo_runtime_cgocall(_cgo_67bedb988193_Cfunc_dirfd, uintptr(unsafe.Pointer(&p0)))
	if _Cgo_always_false {
		_Cgo_use(p0)
	}
	return
}
//go:cgo_import_static _cgo_67bedb988193_Cfunc_free
//go:linkname __cgofn__cgo_67bedb988193_Cfunc_free _cgo_67bedb988193_Cfunc_free
var __cgofn__cgo_67bedb988193_Cfunc_free byte
var _cgo_67bedb988193_Cfunc_free = unsafe.Pointer(&__cgofn__cgo_67bedb988193_Cfunc_free)

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

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

//go:cgo_import_static _cgo_67bedb988193_Cfunc__Cmalloc
//go:linkname __cgofn__cgo_67bedb988193_Cfunc__Cmalloc _cgo_67bedb988193_Cfunc__Cmalloc
var __cgofn__cgo_67bedb988193_Cfunc__Cmalloc byte
var _cgo_67bedb988193_Cfunc__Cmalloc = unsafe.Pointer(&__cgofn__cgo_67bedb988193_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_67bedb988193_Cfunc__Cmalloc, uintptr(unsafe.Pointer(&p0)))
	if r1 == nil {
		runtime_throw("runtime: C malloc failed")
	}
	return
}
