// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build !(boringcrypto && linux && (amd64 || arm64) && !android && !cmd_go_bootstrap && !msan && cgo)

package boring

import (
	
	
	
	
)

const available = false

// Unreachable marks code that should be unreachable
// when BoringCrypto is in use. It is a no-op without BoringCrypto.
func () {
	// Code that's unreachable when using BoringCrypto
	// is exactly the code we want to detect for reporting
	// standard Go crypto.
	sig.StandardCrypto()
}

// UnreachableExceptTests marks code that should be unreachable
// when BoringCrypto is in use. It is a no-op without BoringCrypto.
func () {}

type randReader int

func (randReader) ( []byte) (int, error) { panic("boringcrypto: not available") }

const RandReader = randReader(0)

func () hash.Hash   { panic("boringcrypto: not available") }
func () hash.Hash { panic("boringcrypto: not available") }
func () hash.Hash { panic("boringcrypto: not available") }
func () hash.Hash { panic("boringcrypto: not available") }
func () hash.Hash { panic("boringcrypto: not available") }

func ([]byte) [20]byte   { panic("boringcrypto: not available") }
func ([]byte) [28]byte { panic("boringcrypto: not available") }
func ([]byte) [32]byte { panic("boringcrypto: not available") }
func ([]byte) [48]byte { panic("boringcrypto: not available") }
func ([]byte) [64]byte { panic("boringcrypto: not available") }

func ( func() hash.Hash,  []byte) hash.Hash { panic("boringcrypto: not available") }

func ( []byte) (cipher.Block, error) { panic("boringcrypto: not available") }
func (cipher.Block) (cipher.AEAD, error)   { panic("boringcrypto: not available") }

type PublicKeyECDSA struct{ _ int }
type PrivateKeyECDSA struct{ _ int }

func ( string) (, ,  BigInt,  error) {
	panic("boringcrypto: not available")
}
func ( string, , ,  BigInt) (*PrivateKeyECDSA, error) {
	panic("boringcrypto: not available")
}
func ( string, ,  BigInt) (*PublicKeyECDSA, error) {
	panic("boringcrypto: not available")
}
func ( *PrivateKeyECDSA,  []byte) ([]byte, error) {
	panic("boringcrypto: not available")
}
func ( *PublicKeyECDSA,  []byte,  []byte) bool {
	panic("boringcrypto: not available")
}

type PublicKeyRSA struct{ _ int }
type PrivateKeyRSA struct{ _ int }

func (,  hash.Hash,  *PrivateKeyRSA, ,  []byte) ([]byte, error) {
	panic("boringcrypto: not available")
}
func ( *PrivateKeyRSA,  []byte) ([]byte, error) {
	panic("boringcrypto: not available")
}
func ( *PrivateKeyRSA,  []byte) ([]byte, error) {
	panic("boringcrypto: not available")
}
func (,  hash.Hash,  *PublicKeyRSA, ,  []byte) ([]byte, error) {
	panic("boringcrypto: not available")
}
func ( *PublicKeyRSA,  []byte) ([]byte, error) {
	panic("boringcrypto: not available")
}
func ( *PublicKeyRSA,  []byte) ([]byte, error) {
	panic("boringcrypto: not available")
}
func ( int) (, , , , , , ,  BigInt,  error) {
	panic("boringcrypto: not available")
}
func (, , , , , , ,  BigInt) (*PrivateKeyRSA, error) {
	panic("boringcrypto: not available")
}
func (,  BigInt) (*PublicKeyRSA, error) { panic("boringcrypto: not available") }
func ( *PrivateKeyRSA,  crypto.Hash,  []byte) ([]byte, error) {
	panic("boringcrypto: not available")
}
func ( *PrivateKeyRSA,  crypto.Hash,  []byte,  int) ([]byte, error) {
	panic("boringcrypto: not available")
}
func ( *PublicKeyRSA,  crypto.Hash, ,  []byte) error {
	panic("boringcrypto: not available")
}
func ( *PublicKeyRSA,  crypto.Hash, ,  []byte,  int) error {
	panic("boringcrypto: not available")
}

type PublicKeyECDH struct{}
type PrivateKeyECDH struct{}

func (*PrivateKeyECDH, *PublicKeyECDH) ([]byte, error)      { panic("boringcrypto: not available") }
func (string) (*PrivateKeyECDH, []byte, error)   { panic("boringcrypto: not available") }
func (string, []byte) (*PrivateKeyECDH, error) { panic("boringcrypto: not available") }
func (string, []byte) (*PublicKeyECDH, error)   { panic("boringcrypto: not available") }
func (*PublicKeyECDH) () []byte                            { panic("boringcrypto: not available") }
func (*PrivateKeyECDH) () (*PublicKeyECDH, error)      { panic("boringcrypto: not available") }