<testcase>
<info>
<keywords>
source analysis
CURL_EXTERN
</keywords>
</info>

#
# Client-side
<client>
<server>
none
</server>

# The VMS and OS/400 builds extract the CURL_EXTERN protos and use in
# the build. We break binary compatibility by changing order. Only add
# new entries last or bump the SONAME.
#
 <name>
Verify CURL_EXTERN order
 </name>

<command type="perl">
%SRCDIR/extern-scan.pl %SRCDIR/..
</command>
</client>

<verify>
<stdout>
CURL_EXTERN int curl_strequal
CURL_EXTERN int curl_strnequal
CURL_EXTERN curl_mime *curl_mime_init
CURL_EXTERN void curl_mime_free
CURL_EXTERN curl_mimepart *curl_mime_addpart
CURL_EXTERN CURLcode curl_mime_name
CURL_EXTERN CURLcode curl_mime_filename
CURL_EXTERN CURLcode curl_mime_type
CURL_EXTERN CURLcode curl_mime_encoder
CURL_EXTERN CURLcode curl_mime_data
CURL_EXTERN CURLcode curl_mime_filedata
CURL_EXTERN CURLcode curl_mime_data_cb
CURL_EXTERN CURLcode curl_mime_subparts
CURL_EXTERN CURLcode curl_mime_headers
CURL_EXTERN CURLFORMcode curl_formadd
CURL_EXTERN int curl_formget
CURL_EXTERN void curl_formfree
CURL_EXTERN char *curl_getenv
CURL_EXTERN char *curl_version
CURL_EXTERN char *curl_easy_escape
CURL_EXTERN char *curl_escape
CURL_EXTERN char *curl_easy_unescape
CURL_EXTERN char *curl_unescape
CURL_EXTERN void curl_free
CURL_EXTERN CURLcode curl_global_init
CURL_EXTERN CURLcode curl_global_init_mem
CURL_EXTERN void curl_global_cleanup
CURL_EXTERN CURLsslset curl_global_sslset
CURL_EXTERN struct curl_slist *curl_slist_append
CURL_EXTERN void curl_slist_free_all
CURL_EXTERN time_t curl_getdate
CURL_EXTERN CURLSH *curl_share_init
CURL_EXTERN CURLSHcode curl_share_setopt
CURL_EXTERN CURLSHcode curl_share_cleanup
CURL_EXTERN curl_version_info_data *curl_version_info
CURL_EXTERN const char *curl_easy_strerror
CURL_EXTERN const char *curl_share_strerror
CURL_EXTERN CURLcode curl_easy_pause
CURL_EXTERN CURL *curl_easy_init
CURL_EXTERN CURLcode curl_easy_setopt
CURL_EXTERN CURLcode curl_easy_perform
CURL_EXTERN void curl_easy_cleanup
CURL_EXTERN CURLcode curl_easy_getinfo
CURL_EXTERN CURL *curl_easy_duphandle
CURL_EXTERN void curl_easy_reset
CURL_EXTERN CURLcode curl_easy_recv
CURL_EXTERN CURLcode curl_easy_send
CURL_EXTERN CURLcode curl_easy_upkeep
CURL_EXTERN int curl_mprintf
CURL_EXTERN int curl_mfprintf
CURL_EXTERN int curl_msprintf
CURL_EXTERN int curl_msnprintf
CURL_EXTERN int curl_mvprintf
CURL_EXTERN int curl_mvfprintf
CURL_EXTERN int curl_mvsprintf
CURL_EXTERN int curl_mvsnprintf
CURL_EXTERN char *curl_maprintf
CURL_EXTERN char *curl_mvaprintf
CURL_EXTERN CURLM *curl_multi_init
CURL_EXTERN CURLMcode curl_multi_add_handle
CURL_EXTERN CURLMcode curl_multi_remove_handle
CURL_EXTERN CURLMcode curl_multi_fdset
CURL_EXTERN CURLMcode curl_multi_wait
CURL_EXTERN CURLMcode curl_multi_poll
CURL_EXTERN CURLMcode curl_multi_wakeup
CURL_EXTERN CURLMcode curl_multi_perform
CURL_EXTERN CURLMcode curl_multi_cleanup
CURL_EXTERN CURLMsg *curl_multi_info_read
CURL_EXTERN const char *curl_multi_strerror
CURL_EXTERN CURLMcode curl_multi_socket
CURL_EXTERN CURLMcode curl_multi_socket_action
CURL_EXTERN CURLMcode curl_multi_socket_all
CURL_EXTERN CURLMcode curl_multi_timeout
CURL_EXTERN CURLMcode curl_multi_setopt
CURL_EXTERN CURLMcode curl_multi_assign
CURL_EXTERN char *curl_pushheader_bynum
CURL_EXTERN char *curl_pushheader_byname
CURL_EXTERN CURLU *curl_url
CURL_EXTERN void curl_url_cleanup
CURL_EXTERN CURLU *curl_url_dup
CURL_EXTERN CURLUcode curl_url_get
CURL_EXTERN CURLUcode curl_url_set
CURL_EXTERN const char *curl_url_strerror
CURL_EXTERN const struct curl_easyoption *curl_easy_option_by_name
CURL_EXTERN const struct curl_easyoption *curl_easy_option_by_id
CURL_EXTERN const struct curl_easyoption *curl_easy_option_next
CURL_EXTERN CURLHcode curl_easy_header
CURL_EXTERN struct curl_header *curl_easy_nextheader
</stdout>
</verify>

</testcase>
