// Code generated by cmd/cgo; DO NOT EDIT.

//line /usr/local/go/src/net/cgo_unix_cgo.go:1:1
// Copyright 2022 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 cgo && !netgo && unix && !darwin

package net

/*
#define _GNU_SOURCE

#cgo CFLAGS: -fno-stack-protector
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>

#ifndef EAI_NODATA
#define EAI_NODATA -5
#endif

// If nothing else defined EAI_OVERFLOW, make sure it has a value.
#ifndef EAI_OVERFLOW
#define EAI_OVERFLOW -12
#endif
*/
import _ 
import 

const (
	_C_AF_INET      = ( /*line :34:20*/_Ciconst_AF_INET /*line :34:28*/)
	_C_AF_INET6     = ( /*line :35:20*/_Ciconst_AF_INET6 /*line :35:29*/)
	_C_AF_UNSPEC    = ( /*line :36:20*/_Ciconst_AF_UNSPEC /*line :36:30*/)
	_C_EAI_AGAIN    = ( /*line :37:20*/_Ciconst_EAI_AGAIN /*line :37:30*/)
	_C_EAI_NODATA   = ( /*line :38:20*/_Ciconst_EAI_NODATA /*line :38:31*/)
	_C_EAI_NONAME   = ( /*line :39:20*/_Ciconst_EAI_NONAME /*line :39:31*/)
	_C_EAI_OVERFLOW = ( /*line :40:20*/_Ciconst_EAI_OVERFLOW /*line :40:33*/)
	_C_EAI_SYSTEM   = ( /*line :41:20*/_Ciconst_EAI_SYSTEM /*line :41:31*/)
	_C_IPPROTO_TCP  = ( /*line :42:20*/_Ciconst_IPPROTO_TCP /*line :42:32*/)
	_C_IPPROTO_UDP  = ( /*line :43:20*/_Ciconst_IPPROTO_UDP /*line :43:32*/)
	_C_SOCK_DGRAM   = ( /*line :44:20*/_Ciconst_SOCK_DGRAM /*line :44:31*/)
	_C_SOCK_STREAM  = ( /*line :45:20*/_Ciconst_SOCK_STREAM /*line :45:32*/)
)

type (
	_C_char            =  /*line :49:23*/_Ctype_char /*line :49:29*/
	_C_uchar           =  /*line :50:23*/_Ctype_uchar /*line :50:30*/
	_C_int             =  /*line :51:23*/_Ctype_int /*line :51:28*/
	_C_uint            =  /*line :52:23*/_Ctype_uint /*line :52:29*/
	_C_socklen_t       =  /*line :53:23*/_Ctype_socklen_t /*line :53:34*/
	_C_struct_addrinfo =  /*line :54:23*/_Ctype_struct_addrinfo /*line :54:40*/
	_C_struct_sockaddr =  /*line :55:23*/_Ctype_struct_sockaddr /*line :55:40*/
)

func ( *_C_char) string      { return ( /*line :58:51*/_Cfunc_GoString /*line :58:60*/)() }
func ( uintptr) unsafe.Pointer { return ( /*line :59:51*/_Cfunc__CMalloc /*line :59:58*/)( /*line :59:60*/_Ctype_size_t /*line :59:68*/()) }
func ( unsafe.Pointer)           { func() {  := /*line :60:51*/; _cgoCheckPointer(, nil); /*line :60:53*/_Cfunc_free(); }() }

func ( *_C_struct_addrinfo) **_C_struct_sockaddr { return &.ai_addr }
func ( *_C_struct_addrinfo) *_C_int            { return &.ai_family }
func ( *_C_struct_addrinfo) *_C_int             { return &.ai_flags }
func ( *_C_struct_addrinfo) **_C_struct_addrinfo { return &.ai_next }
func ( *_C_struct_addrinfo) *_C_int          { return &.ai_protocol }
func ( *_C_struct_addrinfo) *_C_int          { return &.ai_socktype }

func ( *_C_struct_addrinfo) {
	func() {  := /*line :70:17*/; _cgoCheckPointer(, nil); /*line :70:20*/_Cfunc_freeaddrinfo(); }()
}

func ( _C_int) string {
	return ( /*line :74:9*/_Cfunc_GoString /*line :74:18*/)(( /*line :74:20*/_Cfunc_gai_strerror /*line :74:33*/)())
}

func (,  *_C_char,  *_C_struct_addrinfo,  **_C_struct_addrinfo) (int, error) {
	,  := func() (_Ctype_int, error){ var  *_Ctype_char = /*line :78:26*/; var  *_Ctype_char = /*line :78:36*/;  := /*line :78:46*/;  := /*line :78:53*/; _cgoCheckPointer(, nil); _cgoCheckPointer(, nil); return /*line :78:57*/_C2func_getaddrinfo(, , , ); }()
	return int(), 
}