00001 /****************************************************************** 00002 * $Id: nanohttp-response.h,v 1.15 2007/01/03 08:33:44 m0gg Exp $ 00003 * 00004 * CSOAP Project: A http client/server library in C 00005 * Copyright (C) 2003-2004 Ferhat Ayaz 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Library General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Library General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Library General Public 00018 * License along with this library; if not, write to the 00019 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00020 * Boston, MA 02111-1307, USA. 00021 * 00022 * Email: ferhatayaz@yahoo.com 00023 ******************************************************************/ 00024 #ifndef __nanohttp_response_h 00025 #define __nanohttp_response_h 00026 00038 00045 #define HEADER_ACCEPT_RANGES "Accept-Ranges" 00046 00055 #define HEADER_AGE "Age" 00056 00067 #define HEADER_EXTENSION_TAG "ETag" 00068 00080 #define HEADER_LOCATION "Location" 00081 00090 #define HEADER_PROXY_AUTHENTICATE "Proxy-Authenticate" 00091 00103 #define HEADER_RETRY_AFTER "Retry-After" 00104 00114 #define HEADER_SERVER "Server" 00115 00130 #define HEADER_VARY "Vary" 00131 00151 #define HEADER_WWW_AUTHENTICATE "WWW-Authenticate" 00152 00160 typedef struct hresponse 00161 { 00162 http_version_t version; 00163 int errcode; 00164 char desc[RESPONSE_MAX_DESC_SIZE]; 00165 00166 hpair_t *header; 00167 00168 struct http_input_stream_t *in; 00169 content_type_t *content_type; 00170 struct attachments_t *attachments; 00171 char root_part_id[150]; 00172 } hresponse_t; 00173 00174 #ifdef __cplusplus 00175 extern "C" { 00176 #endif 00177 00178 #ifdef __NHTTP_INTERNAL 00179 extern herror_t hresponse_new_from_socket(struct hsocket_t *sock, hresponse_t **out); 00180 #endif 00181 00182 extern void hresponse_free(hresponse_t * res); 00183 00184 #ifdef __cplusplus 00185 } 00186 #endif 00187 00188 #endif