55#define HTTP_SCHEMES __table ( struct http_scheme, "http_schemes" )
58#define __http_scheme __table_entry ( HTTP_SCHEMES, 01 )
120#define HTTP_DIGEST_NC "00000001"
126#define HTTP_DIGEST_CNONCE_LEN 8
133#define HTTP_DIGEST_RESPONSE_LEN 32
242#define HTTP_REQUEST_HEADERS \
243 __table ( struct http_request_header, "http_request_headers" )
246#define __http_request_header __table_entry ( HTTP_REQUEST_HEADERS, 01 )
378#define HTTP_RESPONSE_HEADERS \
379 __table ( struct http_response_header, "http_response_headers" )
382#define __http_response_header __table_entry ( HTTP_RESPONSE_HEADERS, 01 )
473#define HTTP_TRANSFER_ENCODINGS \
474 __table ( struct http_transfer_encoding, "http_transfer_encodings" )
477#define __http_transfer_encoding __table_entry ( HTTP_TRANSFER_ENCODINGS, 01 )
505#define HTTP_CONTENT_ENCODINGS \
506 __table ( struct http_content_encoding, "http_content_encodings" )
509#define __http_content_encoding __table_entry ( HTTP_CONTENT_ENCODINGS, 01 )
547#define HTTP_AUTHENTICATIONS \
548 __table ( struct http_authentication, "http_authentications" )
551#define __http_authentication __table_entry ( HTTP_AUTHENTICATIONS, 01 )
struct arbelprm_rc_send_wqe rc
pseudo_bit_t value[0x00020]
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
char * http_token(char **line, char **value)
Get HTTP response token.
#define HTTP_DIGEST_CNONCE_LEN
HTTP Digest authentication client nonce length.
http_response_flags
HTTP response flags.
@ HTTP_RESPONSE_CONTENT_LEN
Content length specified.
@ HTTP_RESPONSE_KEEPALIVE
Keep connection alive after close.
@ HTTP_RESPONSE_RETRY
Transaction may be retried on failure.
int http_open(struct interface *xfer, struct http_method *method, struct uri *uri, struct http_request_range *range, struct http_request_content *content)
Open HTTP transaction.
int http_open_uri(struct interface *xfer, struct uri *uri)
Open HTTP transaction for simple URI.
int http_connect(struct interface *xfer, struct uri *uri)
Connect to an HTTP server.
#define HTTP_DIGEST_RESPONSE_LEN
HTTP Digest authentication response length.
struct http_method http_post
HTTP POST method.
struct http_method http_head
HTTP HEAD method.
struct http_method http_get
HTTP GET method.
NT LAN Manager (NTLM) authentication.
struct pci_range range
PCI bus:dev.fn address range.
An HTTP authentication scheme.
int(* format)(struct http_transaction *http, char *buf, size_t len)
Construct remaining "Authorization" header line.
int(* parse)(struct http_transaction *http, char *line)
Parse remaining "WWW-Authenticate" header line.
int(* authenticate)(struct http_transaction *http)
Perform authentication.
const char * name
Name (e.g.
struct interface socket
Transport layer interface.
struct uri * uri
Connection URI.
struct pooled_connection pool
Pooled connection.
struct refcnt refcnt
Reference count.
struct interface xfer
Data transfer interface.
struct http_scheme * scheme
HTTP scheme.
An HTTP content encoding.
int(* supported)(struct http_transaction *http)
Check if content encoding is supported for this request.
int(* init)(struct http_transaction *http)
Initialise content encoding.
const char * name
Method name (e.g.
HTTP request Basic authentication descriptor.
const char * username
Username.
const char * password
Password.
HTTP request Digest authentication descriptor.
char cnonce[HTTP_DIGEST_CNONCE_LEN+1]
Client nonce.
const char * qop
Quality of protection.
char response[HTTP_DIGEST_RESPONSE_LEN+1]
Response.
const char * algorithm
Algorithm.
const char * username
Username.
HTTP request NTLM authentication descriptor.
struct ntlm_lm_response lm
LAN Manager response.
size_t len
Authenticate message length.
struct ntlm_nt_response nt
NT response.
const char * username
Username.
HTTP request authentication descriptor.
struct http_authentication * auth
Authentication scheme (if any)
struct http_request_auth_digest digest
Digest authentication descriptor.
struct http_request_auth_ntlm ntlm
NTLM authentication descriptor.
struct http_request_auth_basic basic
Basic authentication descriptor.
HTTP request content descriptor.
size_t len
Content length.
const void * data
Content data (if any)
const char * type
Content type (if any)
HTTP request range descriptor.
size_t len
Range length, or zero for no range request.
struct http_request_range range
Range descriptor.
const char * host
Server host name.
struct http_request_auth auth
Authentication descriptor.
struct http_method * method
Method.
const char * uri
Request URI string.
struct http_request_content content
Content descriptor.
HTTP response Basic authorization descriptor.
HTTP response Digest authorization descriptor.
const char * opaque
Opaque.
const char * algorithm
Algorithm.
const char * qop
Quality of protection.
HTTP response NTLM authorization descriptor.
struct ntlm_challenge * challenge
Challenge message.
struct ntlm_challenge_info info
Challenge information.
HTTP response authorization descriptor.
struct http_response_auth_ntlm ntlm
NTLM authorization descriptor.
struct http_response_auth_basic basic
Basic authorization descriptor.
struct http_authentication * auth
Authentication scheme (if any)
struct http_response_auth_digest digest
Digest authorization descriptor.
HTTP response content descriptor.
size_t len
Content length (may be zero)
struct http_content_encoding * encoding
Content encoding.
HTTP response transfer descriptor.
struct http_transfer_encoding * encoding
Transfer encoding.
struct http_response_content content
Content descriptor.
struct http_response_auth auth
Authorization descriptor.
unsigned int retry_after
Retry delay (in seconds)
unsigned int status
Status code.
struct line_buffer headers
Raw response header lines.
int rc
Return status code.
const char * location
Redirection location.
struct http_response_transfer transfer
Transfer descriptor.
unsigned int port
Default port.
int(* filter)(struct http_connection *conn)
Transport-layer filter (if any)
const char * name
Scheme name (e.g.
int(* tx)(struct http_transaction *http)
Transmit data.
void(* close)(struct http_transaction *http, int rc)
Server connection closed.
int(* rx)(struct http_transaction *http, struct io_buffer **iobuf)
Receive data.
struct refcnt refcnt
Reference count.
struct retry_timer watchdog
Idle connection watchdog timer.
size_t remaining
Chunk length remaining.
struct http_response response
Response.
struct process process
Transmit process.
struct retry_timer retry
Reconnection timer.
size_t len
Accumulated transfer-decoded length.
struct uri * uri
Request URI.
struct interface conn
Server connection.
struct line_buffer linebuf
Temporary line buffer.
struct interface transfer
Transfer-decoded interface.
struct interface content
Content-decoded interface.
struct http_request request
Request.
struct interface xfer
Data transfer interface.
struct http_state * state
Transaction state.
An HTTP transfer encoding.
struct http_state state
Receive data state.
int(* init)(struct http_transaction *http)
Initialise transfer encoding.
NTLM challenge information.
A Uniform Resource Identifier.