]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.h
BaseTools:Change the path of the file that Binary Cache
[mirror_edk2.git] / MdeModulePkg / Library / DxeHttpLib / DxeHttpLib.h
CommitLineData
558b99a6
GB
1/** @file\r
2Header file for HttpLib.\r
3\r
d3017dd9 4 Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>\r
558b99a6
GB
5 (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
6\r
9d510e61 7 SPDX-License-Identifier: BSD-2-Clause-Patent\r
558b99a6
GB
8\r
9**/\r
10\r
11#ifndef _DXE_HTTP_LIB_H_\r
12#define _DXE_HTTP_LIB_H_\r
13\r
14#include <Uefi.h>\r
15#include <Library/NetLib.h>\r
16#include <Library/HttpLib.h>\r
17#include <Library/BaseLib.h>\r
18#include <Library/DebugLib.h>\r
19#include <Library/MemoryAllocationLib.h>\r
20#include <Library/UefiBootServicesTableLib.h>\r
21#include <IndustryStandard/Http11.h>\r
22#include <Protocol/HttpUtilities.h>\r
23\r
24#define BIT(x) (1 << x)\r
25\r
26#define HTTP_VERSION_CRLF_STR " HTTP/1.1\r\n"\r
27#define EMPTY_SPACE " "\r
28\r
29#define NET_IS_HEX_CHAR(Ch) \\r
30 ((('0' <= (Ch)) && ((Ch) <= '9')) || \\r
31 (('A' <= (Ch)) && ((Ch) <= 'F')) || \\r
32 (('a' <= (Ch)) && ((Ch) <= 'f')))\r
33\r
34//\r
35// Field index of the HTTP URL parse result.\r
36//\r
37#define HTTP_URI_FIELD_SCHEME 0\r
38#define HTTP_URI_FIELD_AUTHORITY 1\r
39#define HTTP_URI_FIELD_PATH 2\r
40#define HTTP_URI_FIELD_QUERY 3\r
41#define HTTP_URI_FIELD_FRAGMENT 4\r
42#define HTTP_URI_FIELD_USERINFO 5\r
43#define HTTP_URI_FIELD_HOST 6\r
44#define HTTP_URI_FIELD_PORT 7\r
45#define HTTP_URI_FIELD_MAX 8\r
46\r
d3017dd9
JW
47#define HTTP_URI_PORT_MAX_NUM 65535\r
48\r
558b99a6
GB
49//\r
50// Structure to store the parse result of a HTTP URL.\r
51//\r
52typedef struct {\r
53 UINT32 Offset;\r
54 UINT32 Length;\r
55} HTTP_URL_FILED_DATA;\r
56\r
57typedef struct {\r
58 UINT16 FieldBitMap;\r
59 HTTP_URL_FILED_DATA FieldData[HTTP_URI_FIELD_MAX];\r
60} HTTP_URL_PARSER;\r
61\r
62typedef enum {\r
63 UrlParserUrlStart,\r
64 UrlParserScheme,\r
65 UrlParserSchemeColon, // ":"\r
66 UrlParserSchemeColonSlash, // ":/"\r
67 UrlParserSchemeColonSlashSlash, // "://"\r
68 UrlParserAuthority,\r
69 UrlParserAtInAuthority,\r
70 UrlParserPath,\r
71 UrlParserQueryStart, // "?"\r
72 UrlParserQuery,\r
73 UrlParserFragmentStart, // "#"\r
74 UrlParserFragment,\r
75 UrlParserUserInfo,\r
76 UrlParserHostStart, // "@"\r
77 UrlParserHost,\r
78 UrlParserHostIpv6, // "["(Ipv6 address) "]"\r
79 UrlParserPortStart, // ":"\r
80 UrlParserPort,\r
81 UrlParserStateMax\r
82} HTTP_URL_PARSE_STATE;\r
83\r
84#endif\r
85\r