Annotation of embedaddon/curl/lib/socks.h, revision 1.1.1.1

1.1       misho       1: #ifndef HEADER_CURL_SOCKS_H
                      2: #define HEADER_CURL_SOCKS_H
                      3: /***************************************************************************
                      4:  *                                  _   _ ____  _
                      5:  *  Project                     ___| | | |  _ \| |
                      6:  *                             / __| | | | |_) | |
                      7:  *                            | (__| |_| |  _ <| |___
                      8:  *                             \___|\___/|_| \_\_____|
                      9:  *
                     10:  * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
                     11:  *
                     12:  * This software is licensed as described in the file COPYING, which
                     13:  * you should have received as part of this distribution. The terms
                     14:  * are also available at https://curl.haxx.se/docs/copyright.html.
                     15:  *
                     16:  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
                     17:  * copies of the Software, and permit persons to whom the Software is
                     18:  * furnished to do so, under the terms of the COPYING file.
                     19:  *
                     20:  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
                     21:  * KIND, either express or implied.
                     22:  *
                     23:  ***************************************************************************/
                     24: 
                     25: #include "curl_setup.h"
                     26: 
                     27: #ifdef CURL_DISABLE_PROXY
                     28: #define Curl_SOCKS4(a,b,c,d,e) CURLE_NOT_BUILT_IN
                     29: #define Curl_SOCKS5(a,b,c,d,e,f) CURLE_NOT_BUILT_IN
                     30: #define Curl_SOCKS_getsock(x,y,z) 0
                     31: #else
                     32: /*
                     33:  * Helper read-from-socket functions. Does the same as Curl_read() but it
                     34:  * blocks until all bytes amount of buffersize will be read. No more, no less.
                     35:  *
                     36:  * This is STUPID BLOCKING behavior
                     37:  */
                     38: int Curl_blockread_all(struct connectdata *conn,
                     39:                        curl_socket_t sockfd,
                     40:                        char *buf,
                     41:                        ssize_t buffersize,
                     42:                        ssize_t *n);
                     43: 
                     44: int Curl_SOCKS_getsock(struct connectdata *conn,
                     45:                        curl_socket_t *sock,
                     46:                        int sockindex);
                     47: /*
                     48:  * This function logs in to a SOCKS4(a) proxy and sends the specifics to the
                     49:  * final destination server.
                     50:  */
                     51: CURLcode Curl_SOCKS4(const char *proxy_name,
                     52:                      const char *hostname,
                     53:                      int remote_port,
                     54:                      int sockindex,
                     55:                      struct connectdata *conn,
                     56:                      bool *done);
                     57: 
                     58: /*
                     59:  * This function logs in to a SOCKS5 proxy and sends the specifics to the
                     60:  * final destination server.
                     61:  */
                     62: CURLcode Curl_SOCKS5(const char *proxy_name,
                     63:                      const char *proxy_password,
                     64:                      const char *hostname,
                     65:                      int remote_port,
                     66:                      int sockindex,
                     67:                      struct connectdata *conn,
                     68:                      bool *done);
                     69: 
                     70: #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
                     71: /*
                     72:  * This function handles the SOCKS5 GSS-API negotiation and initialisation
                     73:  */
                     74: CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
                     75:                                       struct connectdata *conn);
                     76: #endif
                     77: 
                     78: #endif /* CURL_DISABLE_PROXY */
                     79: 
                     80: #endif  /* HEADER_CURL_SOCKS_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>