builtins/http/globus_xio_http.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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     /* const char *                     header_name,
00182        const char *                     header_value */
00183     GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HEADER,
00200     /* int status */
00201     GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_STATUS_CODE,
00218     /* const char * reason */
00219     GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_REASON_PHRASE,
00238     /* globus_xio_http_version_t version */
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     /* const char * method */
00284     GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_METHOD,
00301     /* globus_xio_http_version_t version */
00302     GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HTTP_VERSION,
00339     /* const char *                     header_name,
00340      * const char *                     header_value */
00341     GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HEADER,
00352     GLOBUS_XIO_HTTP_ATTR_DELAY_WRITE_HEADER,
00376     /* char **                          method,
00377        char **                          uri,
00378        globus_xio_http_version_t *      http_version,
00379        globus_hashtable_t *             headers */
00380     GLOBUS_XIO_HTTP_GET_REQUEST,
00406     /* int *                            status_code,
00407        char **                          reason_phrase,
00408        globus_xio_http_version_t *      http_version,
00409        globus_hashtable_t *             headers */
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

Generated on 2 May 2016 for globus_xio by  doxygen 1.4.7