Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavformat
httpauth.h
Go to the documentation of this file.
1
/*
2
* HTTP authentication
3
* Copyright (c) 2010 Martin Storsjo
4
*
5
* This file is part of Libav.
6
*
7
* Libav is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* Libav is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with Libav; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#ifndef AVFORMAT_HTTPAUTH_H
23
#define AVFORMAT_HTTPAUTH_H
24
28
typedef
enum
HTTPAuthType
{
29
HTTP_AUTH_NONE
= 0,
30
HTTP_AUTH_BASIC
,
32
HTTP_AUTH_DIGEST
,
33
}
HTTPAuthType
;
34
35
typedef
struct
{
36
char
nonce[300];
37
char
algorithm[10];
38
char
qop[30];
41
char
opaque[300];
44
int
nc;
46
}
DigestParams
;
47
52
typedef
struct
{
56
HTTPAuthType
auth_type
;
60
char
realm[200];
64
DigestParams
digest_params
;
65
}
HTTPAuthState
;
66
67
void
ff_http_auth_handle_header
(
HTTPAuthState
*
state
,
const
char
*key,
68
const
char
*value);
69
char
*
ff_http_auth_create_response
(
HTTPAuthState
*
state
,
const
char
*auth,
70
const
char
*path,
const
char
*method);
71
72
#endif
/* AVFORMAT_HTTPAUTH_H */