00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if !defined GLOBUS_XIO_DRIVER_HTTP_H
00018 #define GLOBUS_XIO_DRIVER_HTTP_H 1
00019
00024 #include "globus_xio.h"
00025
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00128 typedef struct
00129 {
00131 char * name;
00133 char * value;
00134 }
00135 globus_xio_http_header_t;
00136
00141 typedef enum
00142 {
00181
00182
00183 GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HEADER,
00200
00201 GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_STATUS_CODE,
00218
00219 GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_REASON_PHRASE,
00238
00239 GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HTTP_VERSION,
00254 GLOBUS_XIO_HTTP_HANDLE_SET_END_OF_ENTITY,
00255 GLOBUS_XIO_HTTP_HANDLE_SET_REQUEST_HEADER
00256 }
00257 globus_xio_http_handle_cmd_t;
00258
00263 typedef enum
00264 {
00283
00284 GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_METHOD,
00301
00302 GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HTTP_VERSION,
00339
00340
00341 GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HEADER,
00352 GLOBUS_XIO_HTTP_ATTR_DELAY_WRITE_HEADER,
00376
00377
00378
00379
00380 GLOBUS_XIO_HTTP_GET_REQUEST,
00406
00407
00408
00409
00410 GLOBUS_XIO_HTTP_GET_RESPONSE
00411
00412 }
00413 globus_xio_http_attr_cmd_t;
00414
00419 typedef enum
00420 {
00426 GLOBUS_XIO_HTTP_ERROR_INVALID_HEADER,
00430 GLOBUS_XIO_HTTP_ERROR_PARSE,
00434 GLOBUS_XIO_HTTP_ERROR_NO_ENTITY,
00438 GLOBUS_XIO_HTTP_ERROR_EOF,
00442 GLOBUS_XIO_HTTP_ERROR_PERSISTENT_CONNECTION_DROPPED
00443 }
00444 globus_xio_http_errors_t;
00445
00452 typedef enum
00453 {
00454 GLOBUS_XIO_HTTP_VERSION_UNSET,
00458 GLOBUS_XIO_HTTP_VERSION_1_0,
00462 GLOBUS_XIO_HTTP_VERSION_1_1
00463 }
00464 globus_xio_http_version_t;
00465
00466 #ifdef __cplusplus
00467 }
00468 #endif
00469
00470 #endif