//go:build windows

package yu_curl

import yu_sys "gogs.qqck.cn/s/tools/sys"

var modlibcurl yu_sys.Module

var (
	curl_global_init    yu_sys.Address
	curl_version        yu_sys.Address
	curl_easy_init      yu_sys.Address
	curl_easy_cleanup   yu_sys.Address
	curl_easy_setopt    yu_sys.Address
	curl_slist_append   yu_sys.Address
	curl_slist_free_all yu_sys.Address
	curl_easy_perform   yu_sys.Address
	curl_easy_strerror  yu_sys.Address
	curl_easy_getinfo   yu_sys.Address

	curl_ws_send yu_sys.Address
	curl_ws_recv yu_sys.Address
)

func loadDLL(path string) {
	modlibcurl = yu_sys.LoadLibrary(path)
	curl_global_init = modlibcurl.GetProcAddress("curl_global_init")
	curl_version = modlibcurl.GetProcAddress("curl_version")
	curl_easy_init = modlibcurl.GetProcAddress("curl_easy_init")
	curl_easy_cleanup = modlibcurl.GetProcAddress("curl_easy_cleanup")
	curl_easy_setopt = modlibcurl.GetProcAddress("curl_easy_setopt")
	curl_slist_append = modlibcurl.GetProcAddress("curl_slist_append")
	curl_slist_free_all = modlibcurl.GetProcAddress("curl_slist_free_all")
	curl_easy_perform = modlibcurl.GetProcAddress("curl_easy_perform")
	curl_easy_strerror = modlibcurl.GetProcAddress("curl_easy_strerror")
	curl_easy_getinfo = modlibcurl.GetProcAddress("curl_easy_getinfo")

	curl_ws_send = modlibcurl.GetProcAddress("curl_ws_send")
	curl_ws_recv = modlibcurl.GetProcAddress("curl_ws_recv")
}
