taskrambler  0.1.9
Web server and task management solution.
header.h
Go to the documentation of this file.
1 /**
2  * \file
3  * HTTP header class. One Instance represents one header line of
4  * an HTTP message.
5  *
6  * \author Georg Hopp
7  *
8  * \copyright
9  * Copyright © 2012 Georg Hopp
10  *
11  * This program is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation, either version 3 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program. If not, see <http://www.gnu.org/licenses/>.
23  */
24 
25 #ifndef __HTTP_HEADER_H__
26 #define __HTTP_HEADER_H__
27 
28 #include <sys/types.h>
29 
30 #include "class.h"
31 
32 #define N_VALUES 128
33 
34 CLASS(HttpHeader) {
35  unsigned long hash;
36  char * name;
37  char * value[N_VALUES];
38  size_t nname; //!< len of name without \0
39  size_t nvalue[N_VALUES]; //!< len of value without \0
40  size_t cvalue; //!< count of values up to N_VALUE
41  size_t size; //!< full size of this header
42 };
43 
44 size_t httpHeaderToString(HttpHeader, char *);
45 
46 #endif // __HTTP_HEADER_H__
47 
48 // vim: set ts=4 sw=4:
size_t httpHeaderToString(HttpHeader, char *)
Definition: to_string.c:29
const char * name
Definition: interface.h:43
static size_t size
#define N_VALUES
Definition: header.h:32
CLASS(HttpHeader)
Definition: header.h:34