github.com/traefik/yaegi@v0.15.1/stdlib/go1_20_crypto_ecdh.go (about)

     1  // Code generated by 'yaegi extract crypto/ecdh'. DO NOT EDIT.
     2  
     3  //go:build go1.20
     4  // +build go1.20
     5  
     6  package stdlib
     7  
     8  import (
     9  	"crypto/ecdh"
    10  	"io"
    11  	"reflect"
    12  )
    13  
    14  func init() {
    15  	Symbols["crypto/ecdh/ecdh"] = map[string]reflect.Value{
    16  		// function, constant and variable definitions
    17  		"P256":   reflect.ValueOf(ecdh.P256),
    18  		"P384":   reflect.ValueOf(ecdh.P384),
    19  		"P521":   reflect.ValueOf(ecdh.P521),
    20  		"X25519": reflect.ValueOf(ecdh.X25519),
    21  
    22  		// type definitions
    23  		"Curve":      reflect.ValueOf((*ecdh.Curve)(nil)),
    24  		"PrivateKey": reflect.ValueOf((*ecdh.PrivateKey)(nil)),
    25  		"PublicKey":  reflect.ValueOf((*ecdh.PublicKey)(nil)),
    26  
    27  		// interface wrapper definitions
    28  		"_Curve": reflect.ValueOf((*_crypto_ecdh_Curve)(nil)),
    29  	}
    30  }
    31  
    32  // _crypto_ecdh_Curve is an interface wrapper for Curve type
    33  type _crypto_ecdh_Curve struct {
    34  	IValue         interface{}
    35  	WGenerateKey   func(rand io.Reader) (*ecdh.PrivateKey, error)
    36  	WNewPrivateKey func(key []byte) (*ecdh.PrivateKey, error)
    37  	WNewPublicKey  func(key []byte) (*ecdh.PublicKey, error)
    38  }
    39  
    40  func (W _crypto_ecdh_Curve) GenerateKey(rand io.Reader) (*ecdh.PrivateKey, error) {
    41  	return W.WGenerateKey(rand)
    42  }
    43  func (W _crypto_ecdh_Curve) NewPrivateKey(key []byte) (*ecdh.PrivateKey, error) {
    44  	return W.WNewPrivateKey(key)
    45  }
    46  func (W _crypto_ecdh_Curve) NewPublicKey(key []byte) (*ecdh.PublicKey, error) {
    47  	return W.WNewPublicKey(key)
    48  }