// Code generated by modernc.org/undup from the per-target sqlite_*.go files; DO NOT EDIT.

//go:build (freebsd && arm) || (windows && 386)

package sqlite3

import (
	"unsafe"

	"modernc.org/libc"
)

// C documentation
//
//	/*
//	** The %_data table is completely empty when this function is called. This
//	** function populates it with the initial structure objects for each index,
//	** and the initial version of the "averages" record (a zero-byte blob).
//	*/
func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) {
	bp := tls.Alloc(48)
	defer tls.Free(48)
	var pTmp uintptr
	var _ /* uFts at bp+0 */ struct {
		F__ccgo_align [0]uint32
		FtmpSpace     [0][44]Tu8
		FsFts         TFts5Structure
		F__ccgo_pad2  [16]byte
	}
	_ = pTmp
	_fts5StructureInvalidate(tls, p)
	_fts5IndexDiscardData(tls, p)
	pTmp = bp
	libc.Xmemset(tls, bp, 0, uint32(44))
	if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 {
		(*TFts5Structure)(unsafe.Pointer(pTmp)).FnOriginCntr = uint64(1)
	}
	_fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1702, 0)
	_fts5StructureWrite(tls, p, pTmp)
	return _fts5IndexReturn(tls, p)
}
