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
00135 typedef struct
00136 {
00138 char * name;
00140 char * value;
00141 }
00142 globus_xio_http_header_t;
00143
00148 typedef enum
00149 {
00188
00189
00190 GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HEADER,
00207
00208 GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_STATUS_CODE,
00225
00226 GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_REASON_PHRASE,
00245
00246 GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HTTP_VERSION,
00261 GLOBUS_XIO_HTTP_HANDLE_SET_END_OF_ENTITY,
00262 GLOBUS_XIO_HTTP_HANDLE_SET_REQUEST_HEADER
00263 }
00264 globus_xio_http_handle_cmd_t;
00265
00270 typedef enum
00271 {
00290
00291 GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_METHOD,
00308
00309 GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HTTP_VERSION,
00346
00347
00348 GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HEADER,
00359 GLOBUS_XIO_HTTP_ATTR_DELAY_WRITE_HEADER,
00383
00384
00385
00386
00387 GLOBUS_XIO_HTTP_GET_REQUEST,
00413
00414
00415
00416
00417 GLOBUS_XIO_HTTP_GET_RESPONSE
00418
00419 }
00420 globus_xio_http_attr_cmd_t;
00421
00426 typedef enum
00427 {
00433 GLOBUS_XIO_HTTP_ERROR_INVALID_HEADER,
00437 GLOBUS_XIO_HTTP_ERROR_PARSE,
00441 GLOBUS_XIO_HTTP_ERROR_NO_ENTITY,
00445 GLOBUS_XIO_HTTP_ERROR_EOF,
00449 GLOBUS_XIO_HTTP_ERROR_PERSISTENT_CONNECTION_DROPPED
00450 }
00451 globus_xio_http_errors_t;
00452
00459 typedef enum
00460 {
00461 GLOBUS_XIO_HTTP_VERSION_UNSET,
00465 GLOBUS_XIO_HTTP_VERSION_1_0,
00469 GLOBUS_XIO_HTTP_VERSION_1_1
00470 }
00471 globus_xio_http_version_t;
00472
00473 #ifdef __cplusplus
00474 }
00475 #endif
00476
00477 #endif