annotate stream/http.h @ 36475:7a2dcbac77fb

XvMC: Remove message requesting feedback for OSD backend rendering. The free radeon driver for XvMC (part of Mesa3D Gallium) provides this type of rendering and it seems to work fine.
author iive
date Mon, 06 Jan 2014 20:11:56 +0000
parents be61988fb5c4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26184
diff changeset
1 /*
902
ede5785faa53 Bugs fix, improvements...
bertrand
parents: 870
diff changeset
2 * HTTP Helper
30426
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
3 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
4 * Copyright (C) 2001 Bertrand Baudet <bertrand_baudet@yahoo.com>
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
5 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
6 * This file is part of MPlayer.
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
7 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
8 * MPlayer is free software; you can redistribute it and/or modify
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
9 * it under the terms of the GNU General Public License as published by
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
11 * (at your option) any later version.
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
12 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
13 * MPlayer is distributed in the hope that it will be useful,
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
16 * GNU General Public License for more details.
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
17 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
18 * You should have received a copy of the GNU General Public License along
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
19 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
902
ede5785faa53 Bugs fix, improvements...
bertrand
parents: 870
diff changeset
21 */
ede5785faa53 Bugs fix, improvements...
bertrand
parents: 870
diff changeset
22
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23689
diff changeset
23 #ifndef MPLAYER_HTTP_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23689
diff changeset
24 #define MPLAYER_HTTP_H
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
25
26184
7ee4ae1648e6 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
26 #include <sys/types.h>
7ee4ae1648e6 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
27
3039
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
28 typedef struct HTTP_field_type {
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
29 char *field_name;
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
30 struct HTTP_field_type *next;
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
31 } HTTP_field_t;
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
32
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
33 typedef struct {
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
34 char *protocol;
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
35 char *method;
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
36 char *uri;
7953
60624e692b95 GCC warning fixes
bertrand
parents: 6514
diff changeset
37 unsigned int status_code;
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
38 char *reason_phrase;
7953
60624e692b95 GCC warning fixes
bertrand
parents: 6514
diff changeset
39 unsigned int http_minor_version;
3039
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
40 // Field variables
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
41 HTTP_field_t *first_field;
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
42 HTTP_field_t *last_field;
7953
60624e692b95 GCC warning fixes
bertrand
parents: 6514
diff changeset
43 unsigned int field_nb;
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
44 char *field_search;
3039
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
45 HTTP_field_t *field_search_pos;
6514
37b0b3302395 Added base64 encoder
bertrand
parents: 3039
diff changeset
46 // Body variables
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
47 char *body;
7953
60624e692b95 GCC warning fixes
bertrand
parents: 6514
diff changeset
48 size_t body_size;
902
ede5785faa53 Bugs fix, improvements...
bertrand
parents: 870
diff changeset
49 char *buffer;
7953
60624e692b95 GCC warning fixes
bertrand
parents: 6514
diff changeset
50 size_t buffer_size;
60624e692b95 GCC warning fixes
bertrand
parents: 6514
diff changeset
51 unsigned int is_parsed;
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
52 } HTTP_header_t;
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
53
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 7953
diff changeset
54 HTTP_header_t* http_new_header(void);
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
55 void http_free( HTTP_header_t *http_hdr );
902
ede5785faa53 Bugs fix, improvements...
bertrand
parents: 870
diff changeset
56 int http_response_append( HTTP_header_t *http_hdr, char *data, int length );
ede5785faa53 Bugs fix, improvements...
bertrand
parents: 870
diff changeset
57 int http_response_parse( HTTP_header_t *http_hdr );
2489
0ecc1b4f7cf8 Added ASF http server streaming (Not mms streaming).
bertrand
parents: 2310
diff changeset
58 int http_is_header_entire( HTTP_header_t *http_hdr );
902
ede5785faa53 Bugs fix, improvements...
bertrand
parents: 870
diff changeset
59 char* http_build_request( HTTP_header_t *http_hdr );
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
60 char* http_get_field( HTTP_header_t *http_hdr, const char *field_name );
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
61 char* http_get_next_field( HTTP_header_t *http_hdr );
3039
80189681c02b Removed the field number limitation.
bertrand
parents: 2489
diff changeset
62 void http_set_field( HTTP_header_t *http_hdr, const char *field_name );
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
63 void http_set_method( HTTP_header_t *http_hdr, const char *method );
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
64 void http_set_uri( HTTP_header_t *http_hdr, const char *uri );
6514
37b0b3302395 Added base64 encoder
bertrand
parents: 3039
diff changeset
65 int http_add_basic_authentication( HTTP_header_t *http_hdr, const char *username, const char *password );
32547
6a629e6fdb09 Add Proxy-Authorization header to authenticate on proxies
cboesch
parents: 30426
diff changeset
66 int http_add_basic_proxy_authentication( HTTP_header_t *http_hdr, const char *username, const char *password );
870
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
67
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
68 void http_debug_hdr( HTTP_header_t *http_hdr );
f641c96e431b Some simple code to handle HTTP requests/responses.
bertrand
parents:
diff changeset
69
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23689
diff changeset
70 #endif /* MPLAYER_HTTP_H */