D:/opendownloadmanager/ODM-1.x/Include.Add/curl/multi.h File Reference

#include "curl.h"

Go to the source code of this file.

Classes

struct  CURLMsg

Defines

#define CURLM_CALL_MULTI_SOCKET   CURLM_CALL_MULTI_PERFORM
#define CURL_POLL_NONE   0
#define CURL_POLL_IN   1
#define CURL_POLL_OUT   2
#define CURL_POLL_INOUT   3
#define CURL_POLL_REMOVE   4
#define CURL_SOCKET_TIMEOUT   CURL_SOCKET_BAD
#define CURL_CSELECT_IN   0x01
#define CURL_CSELECT_OUT   0x02
#define CURL_CSELECT_ERR   0x04
#define curl_multi_socket(x, y, z)   curl_multi_socket_action(x,y,0,z)
#define LONG   CURLOPTTYPE_LONG
#define OBJECTPOINT   CURLOPTTYPE_OBJECTPOINT
#define FUNCTIONPOINT   CURLOPTTYPE_FUNCTIONPOINT
#define OFF_T   CURLOPTTYPE_OFF_T
#define CINIT(name, type, number)   CURLMOPT_name = type + number

Typedefs

typedef void CURLM
typedef struct CURLMsg CURLMsg
typedef int(* curl_socket_callback )(CURL *easy, curl_socket_t s, int what, void *userp, void *socketp)
typedef int(* curl_multi_timer_callback )(CURLM *multi, long timeout_ms, void *userp)

Enumerations

enum  CURLMcode {
  CURLM_CALL_MULTI_PERFORM = -1, CURLM_OK, CURLM_BAD_HANDLE, CURLM_BAD_EASY_HANDLE,
  CURLM_OUT_OF_MEMORY, CURLM_INTERNAL_ERROR, CURLM_BAD_SOCKET, CURLM_UNKNOWN_OPTION,
  CURLM_LAST
}
enum  CURLMSG { CURLMSG_NONE, CURLMSG_DONE, CURLMSG_LAST }
enum  CURLMoption {
  CINIT = (SOCKETFUNCTION, FUNCTIONPOINT, 1), CINIT = (SOCKETFUNCTION, FUNCTIONPOINT, 1), CINIT = (SOCKETFUNCTION, FUNCTIONPOINT, 1), CINIT = (SOCKETFUNCTION, FUNCTIONPOINT, 1),
  CINIT = (SOCKETFUNCTION, FUNCTIONPOINT, 1), CINIT = (SOCKETFUNCTION, FUNCTIONPOINT, 1), CURLMOPT_LASTENTRY
}

Functions

CURL_EXTERN CURLMcurl_multi_init (void)
CURL_EXTERN CURLMcode curl_multi_add_handle (CURLM *multi_handle, CURL *curl_handle)
CURL_EXTERN CURLMcode curl_multi_remove_handle (CURLM *multi_handle, CURL *curl_handle)
CURL_EXTERN CURLMcode curl_multi_fdset (CURLM *multi_handle, fd_set *read_fd_set, fd_set *write_fd_set, fd_set *exc_fd_set, int *max_fd)
CURL_EXTERN CURLMcode curl_multi_perform (CURLM *multi_handle, int *running_handles)
CURL_EXTERN CURLMcode curl_multi_cleanup (CURLM *multi_handle)
CURL_EXTERN CURLMsgcurl_multi_info_read (CURLM *multi_handle, int *msgs_in_queue)
CURL_EXTERN const char * curl_multi_strerror (CURLMcode)
CURL_EXTERN CURLMcode curl_multi_socket (CURLM *multi_handle, curl_socket_t s, int *running_handles)
CURL_EXTERN CURLMcode curl_multi_socket_action (CURLM *multi_handle, curl_socket_t s, int ev_bitmask, int *running_handles)
CURL_EXTERN CURLMcode curl_multi_socket_all (CURLM *multi_handle, int *running_handles)
CURL_EXTERN CURLMcode curl_multi_timeout (CURLM *multi_handle, long *milliseconds)
CURL_EXTERN CURLMcode curl_multi_setopt (CURLM *multi_handle, CURLMoption option,...)
CURL_EXTERN CURLMcode curl_multi_assign (CURLM *multi_handle, curl_socket_t sockfd, void *sockp)


Define Documentation

#define CINIT ( name,
type,
number   )     CURLMOPT_name = type + number

Definition at line 125 of file multi.h.

#define CURL_CSELECT_ERR   0x04

Definition at line 84 of file multi.h.

Referenced by Curl_readwrite(), Curl_socket_ready(), Curl_SOCKS5(), and waitconnect().

#define CURL_CSELECT_IN   0x01

Definition at line 82 of file multi.h.

Referenced by Curl_readwrite(), and Curl_socket_ready().

#define CURL_CSELECT_OUT   0x02

Definition at line 83 of file multi.h.

Referenced by Curl_readwrite(), and Curl_socket_ready().

#define curl_multi_socket ( x,
y,
 )     curl_multi_socket_action(x,y,0,z)

Definition at line 109 of file multi.h.

#define CURL_POLL_IN   1

Definition at line 75 of file multi.h.

Referenced by singlesocket().

#define CURL_POLL_INOUT   3

Definition at line 77 of file multi.h.

#define CURL_POLL_NONE   0

Definition at line 74 of file multi.h.

Referenced by singlesocket().

#define CURL_POLL_OUT   2

Definition at line 76 of file multi.h.

Referenced by singlesocket().

#define CURL_POLL_REMOVE   4

Definition at line 78 of file multi.h.

Referenced by singlesocket().

#define CURL_SOCKET_TIMEOUT   CURL_SOCKET_BAD

Definition at line 80 of file multi.h.

Referenced by multi_socket().

#define CURLM_CALL_MULTI_SOCKET   CURLM_CALL_MULTI_PERFORM

Definition at line 28 of file multi.h.

#define FUNCTIONPOINT   CURLOPTTYPE_FUNCTIONPOINT

Definition at line 123 of file multi.h.

#define LONG   CURLOPTTYPE_LONG

Definition at line 121 of file multi.h.

#define OBJECTPOINT   CURLOPTTYPE_OBJECTPOINT

Definition at line 122 of file multi.h.

#define OFF_T   CURLOPTTYPE_OFF_T

Definition at line 124 of file multi.h.


Typedef Documentation

typedef int(* curl_multi_timer_callback)(CURLM *multi, long timeout_ms, void *userp)

Definition at line 92 of file multi.h.

typedef int(* curl_socket_callback)(CURL *easy, curl_socket_t s, int what, void *userp, void *socketp)

Definition at line 86 of file multi.h.

typedef void CURLM

Definition at line 14 of file multi.h.

typedef struct CURLMsg CURLMsg

Definition at line 44 of file multi.h.


Enumeration Type Documentation

enum CURLMcode

Enumerator:
CURLM_CALL_MULTI_PERFORM 
CURLM_OK 
CURLM_BAD_HANDLE 
CURLM_BAD_EASY_HANDLE 
CURLM_OUT_OF_MEMORY 
CURLM_INTERNAL_ERROR 
CURLM_BAD_SOCKET 
CURLM_UNKNOWN_OPTION 
CURLM_LAST 

Definition at line 16 of file multi.h.

Enumerator:
CINIT 
CINIT 
CINIT 
CINIT 
CINIT 
CINIT 
CURLMOPT_LASTENTRY 

Definition at line 128 of file multi.h.

enum CURLMSG

Enumerator:
CURLMSG_NONE 
CURLMSG_DONE 
CURLMSG_LAST 

Definition at line 30 of file multi.h.


Function Documentation

CURL_EXTERN CURLMcode curl_multi_add_handle ( CURLM multi_handle,
CURL curl_handle 
)

CURL_EXTERN CURLMcode curl_multi_assign ( CURLM multi_handle,
curl_socket_t  sockfd,
void *  sockp 
)

CURL_EXTERN CURLMcode curl_multi_cleanup ( CURLM multi_handle  ) 

CURL_EXTERN CURLMcode curl_multi_fdset ( CURLM multi_handle,
fd_set *  read_fd_set,
fd_set *  write_fd_set,
fd_set *  exc_fd_set,
int *  max_fd 
)

CURL_EXTERN CURLMsg* curl_multi_info_read ( CURLM multi_handle,
int *  msgs_in_queue 
)

CURL_EXTERN CURLM* curl_multi_init ( void   ) 

CURL_EXTERN CURLMcode curl_multi_perform ( CURLM multi_handle,
int *  running_handles 
)

CURL_EXTERN CURLMcode curl_multi_remove_handle ( CURLM multi_handle,
CURL curl_handle 
)

CURL_EXTERN CURLMcode curl_multi_setopt ( CURLM multi_handle,
CURLMoption  option,
  ... 
)

CURL_EXTERN CURLMcode curl_multi_socket ( CURLM multi_handle,
curl_socket_t  s,
int *  running_handles 
)

Definition at line 1869 of file multi.c.

References CURLM_OK, FALSE, multi_socket(), and update_timer().

CURL_EXTERN CURLMcode curl_multi_socket_action ( CURLM multi_handle,
curl_socket_t  s,
int  ev_bitmask,
int *  running_handles 
)

Definition at line 1879 of file multi.c.

References CURLM_OK, FALSE, multi_socket(), and update_timer().

CURL_EXTERN CURLMcode curl_multi_socket_all ( CURLM multi_handle,
int *  running_handles 
)

Definition at line 1889 of file multi.c.

References CURL_SOCKET_BAD, CURLM_OK, multi_socket(), TRUE, and update_timer().

CURL_EXTERN const char* curl_multi_strerror ( CURLMcode   ) 

CURL_EXTERN CURLMcode curl_multi_timeout ( CURLM multi_handle,
long *  milliseconds 
)

Definition at line 1922 of file multi.c.

References CURLM_BAD_HANDLE, GOOD_MULTI_HANDLE, and multi_timeout().


Generated on Sun May 25 00:19:56 2008 by  doxygen 1.5.6