From 7fe48d453f50808c30c1d9769109b1fdc9728a0d Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Tue, 21 Jun 2016 14:39:33 +0200
Subject: [PATCH] headers: forward declare CURL, CURLM and CURLSH as structs

Instead of typedef'ing to void, typedef to their corresponding actual
struct names to allow compilers to type-check.

Assistance-by: Reinhard Max
---
 include/curl/curl.h  | 4 ++--
 include/curl/multi.h | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/curl/curl.h b/include/curl/curl.h
index b9bd8b7..b91f02c 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -89,11 +89,11 @@
 
 #ifdef  __cplusplus
 extern "C" {
 #endif
 
-typedef void CURL;
+typedef struct SessionHandle CURL;
 
 /*
  * libcurl external API function linkage decorations.
  */
 
@@ -2256,11 +2256,11 @@ typedef void (*curl_lock_function)(CURL *handle,
                                    void *userptr);
 typedef void (*curl_unlock_function)(CURL *handle,
                                      curl_lock_data data,
                                      void *userptr);
 
-typedef void CURLSH;
+typedef struct Curl_share CURLSH;
 
 typedef enum {
   CURLSHE_OK,  /* all is fine */
   CURLSHE_BAD_OPTION, /* 1 */
   CURLSHE_IN_USE,     /* 2 */
diff --git a/include/curl/multi.h b/include/curl/multi.h
index 0fbbd96..7a1040f 100644
--- a/include/curl/multi.h
+++ b/include/curl/multi.h
@@ -5,11 +5,11 @@
  *  Project                     ___| | | |  _ \| |
  *                             / __| | | | |_) | |
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
  * are also available at https://curl.haxx.se/docs/copyright.html.
  *
@@ -50,11 +50,11 @@
 
 #ifdef  __cplusplus
 extern "C" {
 #endif
 
-typedef void CURLM;
+typedef struct Curl_multi CURLM;
 
 typedef enum {
   CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or
                                     curl_multi_socket*() soon */
   CURLM_OK,
-- 
2.8.1

