--- /dev/null
+/*
+ +--------------------------------------------------------------------+
+ | PECL :: http |
+ +--------------------------------------------------------------------+
+ | Redistribution and use in source and binary forms, with or without |
+ | modification, are permitted provided that the conditions mentioned |
+ | in the accompanying LICENSE file are met. |
+ +--------------------------------------------------------------------+
+ | Copyright (c) 2004-2014, Michael Wallner <mike@php.net> |
+ +--------------------------------------------------------------------+
+*/
+
+#if PHP_HTTP_HAVE_CURL
+
+PHP_HTTP_API zend_class_entry *php_http_client_curl_user_class_entry;
+PHP_HTTP_API php_http_client_curl_ops_t *php_http_client_curl_user_ops_get();
+PHP_MINIT_FUNCTION(http_client_curl_user);
+
+#endif
+
+#if 0
+<?php
+
+interface http\Client\Curl\User
+{
+ const POLL_NONE = 0;
+ const POLL_IN = 1;
+ const POLL_OUT = 2;
+ const POLL_INOUT = 3;
+ const POLL_REMOVE = 4;
+
+ /**
+ * Initialize the loop
+ *
+ * The callback should be run when:
+ * - timeout occurs
+ * - a watched socket needs action
+ *
+ * @param callable $run callback as function(http\Client $client, resource $socket = null, int $action = http\Client\Curl\User::POLL_NONE)
+ */
+ function init(callable $run);
+
+ /**
+ * Register a timeout watcher
+ * @param int $timeout_ms desired timeout with milliseconds resolution
+ */
+ function timer(int $timeout_ms);
+
+ /**
+ * (Un-)Register a socket watcher
+ * @param resource $socket the fd to watch
+ * @param int $poll http\Client\Curl\Loop::POLL_* constant
+ */
+ function socket($socket, int $poll);
+
+ /**
+ * Run the loop as long as it does not block
+ *
+ * Called by http\Client::once()
+ */
+ function once();
+
+ /**
+ * Wait/poll/select (block the loop) until events fire
+ *
+ * Called by http\Client::wait()
+ *
+ * @param int $timeout_ms block for maximal $timeout_ms milliseconds
+ */
+ function wait(int $timeout_ms = null);
+
+ /**
+ * Run the loop
+ *
+ * Called by http\Client::send() while there are unfinished requests and
+ * no exception has occurred
+ */
+ function send();
+}
+#endif
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ * vim600: noet sw=4 ts=4 fdm=marker
+ * vim<600: noet sw=4 ts=4
+ */