TianoCore EDK2 master
Loading...
Searching...
No Matches
Http.h
Go to the documentation of this file.
1
16#ifndef __EFI_HTTP_PROTOCOL_H__
17#define __EFI_HTTP_PROTOCOL_H__
18
19#define EFI_HTTP_SERVICE_BINDING_PROTOCOL_GUID \
20 { \
21 0xbdc8e6af, 0xd9bc, 0x4379, {0xa7, 0x2a, 0xe0, 0xc4, 0xe7, 0x5d, 0xae, 0x1c } \
22 }
23
24#define EFI_HTTP_PROTOCOL_GUID \
25 { \
26 0x7a59b29b, 0x910b, 0x4171, {0x82, 0x42, 0xa8, 0x5a, 0x0d, 0xf2, 0x5b, 0x5b } \
27 }
28
30
34typedef enum {
35 HttpVersion10,
36 HttpVersion11,
37 HttpVersionUnsupported
39
43typedef enum {
44 HttpMethodGet,
45 HttpMethodPost,
46 HttpMethodPatch,
47 HttpMethodOptions,
48 HttpMethodConnect,
49 HttpMethodHead,
50 HttpMethodPut,
51 HttpMethodDelete,
52 HttpMethodTrace,
53 HttpMethodMax
55
59typedef enum {
60 HTTP_STATUS_UNSUPPORTED_STATUS = 0,
61 HTTP_STATUS_100_CONTINUE,
62 HTTP_STATUS_101_SWITCHING_PROTOCOLS,
63 HTTP_STATUS_200_OK,
64 HTTP_STATUS_201_CREATED,
65 HTTP_STATUS_202_ACCEPTED,
66 HTTP_STATUS_203_NON_AUTHORITATIVE_INFORMATION,
67 HTTP_STATUS_204_NO_CONTENT,
68 HTTP_STATUS_205_RESET_CONTENT,
69 HTTP_STATUS_206_PARTIAL_CONTENT,
70 HTTP_STATUS_300_MULTIPLE_CHOICES,
71 HTTP_STATUS_301_MOVED_PERMANENTLY,
72 HTTP_STATUS_302_FOUND,
73 HTTP_STATUS_303_SEE_OTHER,
74 HTTP_STATUS_304_NOT_MODIFIED,
75 HTTP_STATUS_305_USE_PROXY,
76 HTTP_STATUS_307_TEMPORARY_REDIRECT,
77 HTTP_STATUS_400_BAD_REQUEST,
78 HTTP_STATUS_401_UNAUTHORIZED,
79 HTTP_STATUS_402_PAYMENT_REQUIRED,
80 HTTP_STATUS_403_FORBIDDEN,
81 HTTP_STATUS_404_NOT_FOUND,
82 HTTP_STATUS_405_METHOD_NOT_ALLOWED,
83 HTTP_STATUS_406_NOT_ACCEPTABLE,
84 HTTP_STATUS_407_PROXY_AUTHENTICATION_REQUIRED,
85 HTTP_STATUS_408_REQUEST_TIME_OUT,
86 HTTP_STATUS_409_CONFLICT,
87 HTTP_STATUS_410_GONE,
88 HTTP_STATUS_411_LENGTH_REQUIRED,
89 HTTP_STATUS_412_PRECONDITION_FAILED,
90 HTTP_STATUS_413_REQUEST_ENTITY_TOO_LARGE,
91 HTTP_STATUS_414_REQUEST_URI_TOO_LARGE,
92 HTTP_STATUS_415_UNSUPPORTED_MEDIA_TYPE,
93 HTTP_STATUS_416_REQUESTED_RANGE_NOT_SATISFIED,
94 HTTP_STATUS_417_EXPECTATION_FAILED,
95 HTTP_STATUS_500_INTERNAL_SERVER_ERROR,
96 HTTP_STATUS_501_NOT_IMPLEMENTED,
97 HTTP_STATUS_502_BAD_GATEWAY,
98 HTTP_STATUS_503_SERVICE_UNAVAILABLE,
99 HTTP_STATUS_504_GATEWAY_TIME_OUT,
100 HTTP_STATUS_505_HTTP_VERSION_NOT_SUPPORTED,
101 HTTP_STATUS_308_PERMANENT_REDIRECT,
102 HTTP_STATUS_429_TOO_MANY_REQUESTS
104
108typedef struct {
129 UINT16 LocalPort;
131
135typedef struct {
143 UINT16 LocalPort;
145
149
150typedef struct {
165
166 union {
177 } AccessPoint;
179
183typedef struct {
194 CHAR16 *Url;
196
200typedef struct {
209 CHAR16 *ProxyUrl;
211
215typedef struct {
221
225typedef struct {
230 CHAR8 *FieldName;
237
241typedef struct {
245 union {
256 } Data;
279
283typedef struct {
307
329typedef
331(EFIAPI *EFI_HTTP_GET_MODE_DATA)(
332 IN EFI_HTTP_PROTOCOL *This,
333 OUT EFI_HTTP_CONFIG_DATA *HttpConfigData
334 );
335
367typedef
369(EFIAPI *EFI_HTTP_CONFIGURE)(
370 IN EFI_HTTP_PROTOCOL *This,
371 IN EFI_HTTP_CONFIG_DATA *HttpConfigData OPTIONAL
372 );
373
398typedef
400(EFIAPI *EFI_HTTP_REQUEST)(
401 IN EFI_HTTP_PROTOCOL *This,
402 IN EFI_HTTP_TOKEN *Token
403 );
404
426typedef
428(EFIAPI *EFI_HTTP_CANCEL)(
429 IN EFI_HTTP_PROTOCOL *This,
430 IN EFI_HTTP_TOKEN *Token
431 );
432
480typedef
482(EFIAPI *EFI_HTTP_RESPONSE)(
483 IN EFI_HTTP_PROTOCOL *This,
484 IN EFI_HTTP_TOKEN *Token
485 );
486
506typedef
508(EFIAPI *EFI_HTTP_POLL)(
510 );
511
519 EFI_HTTP_GET_MODE_DATA GetModeData;
520 EFI_HTTP_CONFIGURE Configure;
521 EFI_HTTP_REQUEST Request;
522 EFI_HTTP_CANCEL Cancel;
523 EFI_HTTP_RESPONSE Response;
524 EFI_HTTP_POLL Poll;
525};
526
527extern EFI_GUID gEfiHttpServiceBindingProtocolGuid;
528extern EFI_GUID gEfiHttpProtocolGuid;
529
530#endif
UINT64 UINTN
#define VOID
Definition: Base.h:269
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EFI_HTTP_GET_MODE_DATA)(IN EFI_HTTP_PROTOCOL *This, OUT EFI_HTTP_CONFIG_DATA *HttpConfigData)
Definition: Http.h:331
EFI_HTTP_VERSION
Definition: Http.h:34
EFI_STATUS(EFIAPI * EFI_HTTP_POLL)(IN EFI_HTTP_PROTOCOL *This)
Definition: Http.h:508
EFI_HTTP_METHOD
Definition: Http.h:43
EFI_STATUS(EFIAPI * EFI_HTTP_RESPONSE)(IN EFI_HTTP_PROTOCOL *This, IN EFI_HTTP_TOKEN *Token)
Definition: Http.h:482
EFI_STATUS(EFIAPI * EFI_HTTP_CONFIGURE)(IN EFI_HTTP_PROTOCOL *This, IN EFI_HTTP_CONFIG_DATA *HttpConfigData OPTIONAL)
Definition: Http.h:369
EFI_STATUS(EFIAPI * EFI_HTTP_REQUEST)(IN EFI_HTTP_PROTOCOL *This, IN EFI_HTTP_TOKEN *Token)
Definition: Http.h:400
EFI_STATUS(EFIAPI * EFI_HTTP_CANCEL)(IN EFI_HTTP_PROTOCOL *This, IN EFI_HTTP_TOKEN *Token)
Definition: Http.h:428
EFI_HTTP_STATUS_CODE
Definition: Http.h:59
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
EFI_HTTP_VERSION HttpVersion
Definition: Http.h:154
EFI_HTTPv6_ACCESS_POINT * IPv6Node
Definition: Http.h:176
EFI_HTTPv4_ACCESS_POINT * IPv4Node
Definition: Http.h:171
BOOLEAN LocalAddressIsIPv6
Definition: Http.h:164
UINT32 TimeOutMillisec
Definition: Http.h:158
CHAR8 * FieldValue
Definition: Http.h:235
CHAR8 * FieldName
Definition: Http.h:230
UINTN BodyLength
Definition: Http.h:272
EFI_HTTP_HEADER * Headers
Definition: Http.h:268
UINTN HeaderCount
Definition: Http.h:261
VOID * Body
Definition: Http.h:277
EFI_HTTP_RESPONSE_DATA * Response
Definition: Http.h:255
EFI_HTTP_REQUEST_DATA * Request
Definition: Http.h:250
CHAR16 * Url
Definition: Http.h:194
EFI_HTTP_METHOD Method
Definition: Http.h:187
EFI_HTTP_STATUS_CODE StatusCode
Definition: Http.h:219
EFI_EVENT Event
Definition: Http.h:289
EFI_HTTP_MESSAGE * Message
Definition: Http.h:305
EFI_STATUS Status
Definition: Http.h:301
EFI_IPv4_ADDRESS LocalSubnet
Definition: Http.h:124
EFI_IPv4_ADDRESS LocalAddress
Definition: Http.h:119
BOOLEAN UseDefaultAddress
Definition: Http.h:114
EFI_IPv6_ADDRESS LocalAddress
Definition: Http.h:139
Definition: Base.h:213