summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/HttpDxe/HttpProto.h
diff options
context:
space:
mode:
Diffstat (limited to 'NetworkPkg/HttpDxe/HttpProto.h')
-rw-r--r--NetworkPkg/HttpDxe/HttpProto.h334
1 files changed, 166 insertions, 168 deletions
diff --git a/NetworkPkg/HttpDxe/HttpProto.h b/NetworkPkg/HttpDxe/HttpProto.h
index 637d350539..8ed99c7a02 100644
--- a/NetworkPkg/HttpDxe/HttpProto.h
+++ b/NetworkPkg/HttpDxe/HttpProto.h
@@ -10,7 +10,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#ifndef __EFI_HTTP_PROTO_H__
#define __EFI_HTTP_PROTO_H__
-#define DEF_BUF_LEN 2048
+#define DEF_BUF_LEN 2048
#define HTTP_SERVICE_SIGNATURE SIGNATURE_32('H', 't', 't', 'S')
@@ -22,188 +22,186 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
HTTP_SERVICE_SIGNATURE \
)
-
//
// The state of HTTP protocol. It starts from UNCONFIGED.
//
-#define HTTP_STATE_UNCONFIGED 0
-#define HTTP_STATE_HTTP_CONFIGED 1
-#define HTTP_STATE_TCP_CONFIGED 2
-#define HTTP_STATE_TCP_UNCONFIGED 3
-#define HTTP_STATE_TCP_CONNECTED 4
-#define HTTP_STATE_TCP_CLOSED 5
+#define HTTP_STATE_UNCONFIGED 0
+#define HTTP_STATE_HTTP_CONFIGED 1
+#define HTTP_STATE_TCP_CONFIGED 2
+#define HTTP_STATE_TCP_UNCONFIGED 3
+#define HTTP_STATE_TCP_CONNECTED 4
+#define HTTP_STATE_TCP_CLOSED 5
//
// TCP configured data.
//
-#define HTTP_TOS_DEAULT 8
-#define HTTP_TTL_DEAULT 255
-#define HTTP_BUFFER_SIZE_DEAULT 65535
-#define HTTP_MAX_SYN_BACK_LOG 5
-#define HTTP_CONNECTION_TIMEOUT 60
-#define HTTP_DATA_RETRIES 12
-#define HTTP_FIN_TIMEOUT 2
-#define HTTP_KEEP_ALIVE_PROBES 6
-#define HTTP_KEEP_ALIVE_TIME 7200
-#define HTTP_KEEP_ALIVE_INTERVAL 30
-
-#define HTTP_URL_BUFFER_LEN 4096
+#define HTTP_TOS_DEAULT 8
+#define HTTP_TTL_DEAULT 255
+#define HTTP_BUFFER_SIZE_DEAULT 65535
+#define HTTP_MAX_SYN_BACK_LOG 5
+#define HTTP_CONNECTION_TIMEOUT 60
+#define HTTP_DATA_RETRIES 12
+#define HTTP_FIN_TIMEOUT 2
+#define HTTP_KEEP_ALIVE_PROBES 6
+#define HTTP_KEEP_ALIVE_TIME 7200
+#define HTTP_KEEP_ALIVE_INTERVAL 30
+
+#define HTTP_URL_BUFFER_LEN 4096
typedef struct _HTTP_SERVICE {
- UINT32 Signature;
- EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
- EFI_HANDLE Ip4DriverBindingHandle;
- EFI_HANDLE Ip6DriverBindingHandle;
- EFI_HANDLE ControllerHandle;
- EFI_HANDLE Tcp4ChildHandle;
- EFI_HANDLE Tcp6ChildHandle;
- LIST_ENTRY ChildrenList;
- UINTN ChildrenNumber;
- INTN State;
+ UINT32 Signature;
+ EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
+ EFI_HANDLE Ip4DriverBindingHandle;
+ EFI_HANDLE Ip6DriverBindingHandle;
+ EFI_HANDLE ControllerHandle;
+ EFI_HANDLE Tcp4ChildHandle;
+ EFI_HANDLE Tcp6ChildHandle;
+ LIST_ENTRY ChildrenList;
+ UINTN ChildrenNumber;
+ INTN State;
} HTTP_SERVICE;
typedef struct {
- EFI_TCP4_IO_TOKEN Tx4Token;
- EFI_TCP4_TRANSMIT_DATA Tx4Data;
- EFI_TCP6_IO_TOKEN Tx6Token;
- EFI_TCP6_TRANSMIT_DATA Tx6Data;
- EFI_TCP4_IO_TOKEN Rx4Token;
- EFI_TCP4_RECEIVE_DATA Rx4Data;
- EFI_TCP6_IO_TOKEN Rx6Token;
- EFI_TCP6_RECEIVE_DATA Rx6Data;
- BOOLEAN IsTxDone;
- BOOLEAN IsRxDone;
- UINTN BodyLen;
- EFI_HTTP_METHOD Method;
+ EFI_TCP4_IO_TOKEN Tx4Token;
+ EFI_TCP4_TRANSMIT_DATA Tx4Data;
+ EFI_TCP6_IO_TOKEN Tx6Token;
+ EFI_TCP6_TRANSMIT_DATA Tx6Data;
+ EFI_TCP4_IO_TOKEN Rx4Token;
+ EFI_TCP4_RECEIVE_DATA Rx4Data;
+ EFI_TCP6_IO_TOKEN Rx6Token;
+ EFI_TCP6_RECEIVE_DATA Rx6Data;
+ BOOLEAN IsTxDone;
+ BOOLEAN IsRxDone;
+ UINTN BodyLen;
+ EFI_HTTP_METHOD Method;
} HTTP_TCP_TOKEN_WRAP;
typedef struct {
- EFI_TLS_VERSION Version;
- EFI_TLS_CONNECTION_END ConnectionEnd;
- EFI_TLS_VERIFY VerifyMethod;
- EFI_TLS_VERIFY_HOST VerifyHost;
- EFI_TLS_SESSION_STATE SessionState;
+ EFI_TLS_VERSION Version;
+ EFI_TLS_CONNECTION_END ConnectionEnd;
+ EFI_TLS_VERIFY VerifyMethod;
+ EFI_TLS_VERIFY_HOST VerifyHost;
+ EFI_TLS_SESSION_STATE SessionState;
} TLS_CONFIG_DATA;
//
// Callback data for HTTP_PARSER_CALLBACK()
//
typedef struct {
- UINTN ParseDataLength;
- VOID *ParseData;
- VOID *Wrap;
+ UINTN ParseDataLength;
+ VOID *ParseData;
+ VOID *Wrap;
} HTTP_CALLBACK_DATA;
typedef struct _HTTP_PROTOCOL {
- UINT32 Signature;
- EFI_HTTP_PROTOCOL Http;
- EFI_HANDLE Handle;
- HTTP_SERVICE *Service;
- LIST_ENTRY Link; // Link to all HTTP instance from the service.
- BOOLEAN InDestroy;
- INTN State;
- EFI_HTTP_METHOD Method;
-
- UINTN StatusCode;
-
- EFI_EVENT TimeoutEvent;
-
- EFI_HANDLE Tcp4ChildHandle;
- EFI_TCP4_PROTOCOL *Tcp4;
- EFI_TCP4_CONFIG_DATA Tcp4CfgData;
- EFI_TCP4_OPTION Tcp4Option;
-
- EFI_TCP4_CONNECTION_TOKEN Tcp4ConnToken;
- BOOLEAN IsTcp4ConnDone;
- EFI_TCP4_CLOSE_TOKEN Tcp4CloseToken;
- BOOLEAN IsTcp4CloseDone;
- CHAR8 *RemoteHost;
- UINT16 RemotePort;
- EFI_IPv4_ADDRESS RemoteAddr;
-
- EFI_HANDLE Tcp6ChildHandle;
- EFI_TCP6_PROTOCOL *Tcp6;
- EFI_TCP6_CONFIG_DATA Tcp6CfgData;
- EFI_TCP6_OPTION Tcp6Option;
-
- EFI_TCP6_CONNECTION_TOKEN Tcp6ConnToken;
- BOOLEAN IsTcp6ConnDone;
- EFI_TCP6_CLOSE_TOKEN Tcp6CloseToken;
- BOOLEAN IsTcp6CloseDone;
- EFI_IPv6_ADDRESS RemoteIpv6Addr;
+ UINT32 Signature;
+ EFI_HTTP_PROTOCOL Http;
+ EFI_HANDLE Handle;
+ HTTP_SERVICE *Service;
+ LIST_ENTRY Link; // Link to all HTTP instance from the service.
+ BOOLEAN InDestroy;
+ INTN State;
+ EFI_HTTP_METHOD Method;
+
+ UINTN StatusCode;
+
+ EFI_EVENT TimeoutEvent;
+
+ EFI_HANDLE Tcp4ChildHandle;
+ EFI_TCP4_PROTOCOL *Tcp4;
+ EFI_TCP4_CONFIG_DATA Tcp4CfgData;
+ EFI_TCP4_OPTION Tcp4Option;
+
+ EFI_TCP4_CONNECTION_TOKEN Tcp4ConnToken;
+ BOOLEAN IsTcp4ConnDone;
+ EFI_TCP4_CLOSE_TOKEN Tcp4CloseToken;
+ BOOLEAN IsTcp4CloseDone;
+ CHAR8 *RemoteHost;
+ UINT16 RemotePort;
+ EFI_IPv4_ADDRESS RemoteAddr;
+
+ EFI_HANDLE Tcp6ChildHandle;
+ EFI_TCP6_PROTOCOL *Tcp6;
+ EFI_TCP6_CONFIG_DATA Tcp6CfgData;
+ EFI_TCP6_OPTION Tcp6Option;
+
+ EFI_TCP6_CONNECTION_TOKEN Tcp6ConnToken;
+ BOOLEAN IsTcp6ConnDone;
+ EFI_TCP6_CLOSE_TOKEN Tcp6CloseToken;
+ BOOLEAN IsTcp6CloseDone;
+ EFI_IPv6_ADDRESS RemoteIpv6Addr;
//
// Rx4Token or Rx6Token used for receiving HTTP header.
//
- EFI_TCP4_IO_TOKEN Rx4Token;
- EFI_TCP4_RECEIVE_DATA Rx4Data;
- EFI_TCP6_IO_TOKEN Rx6Token;
- EFI_TCP6_RECEIVE_DATA Rx6Data;
- BOOLEAN IsRxDone;
-
- CHAR8 **EndofHeader;
- CHAR8 **HttpHeaders;
- CHAR8 *CacheBody;
- CHAR8 *NextMsg;
- UINTN CacheLen;
- UINTN CacheOffset;
+ EFI_TCP4_IO_TOKEN Rx4Token;
+ EFI_TCP4_RECEIVE_DATA Rx4Data;
+ EFI_TCP6_IO_TOKEN Rx6Token;
+ EFI_TCP6_RECEIVE_DATA Rx6Data;
+ BOOLEAN IsRxDone;
+
+ CHAR8 **EndofHeader;
+ CHAR8 **HttpHeaders;
+ CHAR8 *CacheBody;
+ CHAR8 *NextMsg;
+ UINTN CacheLen;
+ UINTN CacheOffset;
//
// HTTP message-body parser.
//
- VOID *MsgParser;
- HTTP_CALLBACK_DATA CallbackData;
+ VOID *MsgParser;
+ HTTP_CALLBACK_DATA CallbackData;
- EFI_HTTP_VERSION HttpVersion;
- UINT32 TimeOutMillisec;
- BOOLEAN LocalAddressIsIPv6;
+ EFI_HTTP_VERSION HttpVersion;
+ UINT32 TimeOutMillisec;
+ BOOLEAN LocalAddressIsIPv6;
- EFI_HTTPv4_ACCESS_POINT IPv4Node;
- EFI_HTTPv6_ACCESS_POINT Ipv6Node;
+ EFI_HTTPv4_ACCESS_POINT IPv4Node;
+ EFI_HTTPv6_ACCESS_POINT Ipv6Node;
- NET_MAP TxTokens;
- NET_MAP RxTokens;
+ NET_MAP TxTokens;
+ NET_MAP RxTokens;
- CHAR8 *Url;
+ CHAR8 *Url;
//
// Https Support
//
- BOOLEAN UseHttps;
+ BOOLEAN UseHttps;
- EFI_SERVICE_BINDING_PROTOCOL *TlsSb;
- EFI_HANDLE TlsChildHandle; /// Tls ChildHandle
- TLS_CONFIG_DATA TlsConfigData;
- EFI_TLS_PROTOCOL *Tls;
- EFI_TLS_CONFIGURATION_PROTOCOL *TlsConfiguration;
- EFI_TLS_SESSION_STATE TlsSessionState;
+ EFI_SERVICE_BINDING_PROTOCOL *TlsSb;
+ EFI_HANDLE TlsChildHandle; /// Tls ChildHandle
+ TLS_CONFIG_DATA TlsConfigData;
+ EFI_TLS_PROTOCOL *Tls;
+ EFI_TLS_CONFIGURATION_PROTOCOL *TlsConfiguration;
+ EFI_TLS_SESSION_STATE TlsSessionState;
//
// TlsTxData used for transmitting TLS related messages.
//
- EFI_TCP4_IO_TOKEN Tcp4TlsTxToken;
- EFI_TCP4_TRANSMIT_DATA Tcp4TlsTxData;
- EFI_TCP6_IO_TOKEN Tcp6TlsTxToken;
- EFI_TCP6_TRANSMIT_DATA Tcp6TlsTxData;
- BOOLEAN TlsIsTxDone;
+ EFI_TCP4_IO_TOKEN Tcp4TlsTxToken;
+ EFI_TCP4_TRANSMIT_DATA Tcp4TlsTxData;
+ EFI_TCP6_IO_TOKEN Tcp6TlsTxToken;
+ EFI_TCP6_TRANSMIT_DATA Tcp6TlsTxData;
+ BOOLEAN TlsIsTxDone;
//
// TlsRxData used for receiving TLS related messages.
//
- EFI_TCP4_IO_TOKEN Tcp4TlsRxToken;
- EFI_TCP4_RECEIVE_DATA Tcp4TlsRxData;
- EFI_TCP6_IO_TOKEN Tcp6TlsRxToken;
- EFI_TCP6_RECEIVE_DATA Tcp6TlsRxData;
- BOOLEAN TlsIsRxDone;
+ EFI_TCP4_IO_TOKEN Tcp4TlsRxToken;
+ EFI_TCP4_RECEIVE_DATA Tcp4TlsRxData;
+ EFI_TCP6_IO_TOKEN Tcp6TlsRxToken;
+ EFI_TCP6_RECEIVE_DATA Tcp6TlsRxData;
+ BOOLEAN TlsIsRxDone;
} HTTP_PROTOCOL;
typedef struct {
- EFI_HTTP_TOKEN *HttpToken;
- HTTP_PROTOCOL *HttpInstance;
- HTTP_TCP_TOKEN_WRAP TcpWrap;
+ EFI_HTTP_TOKEN *HttpToken;
+ HTTP_PROTOCOL *HttpInstance;
+ HTTP_TCP_TOKEN_WRAP TcpWrap;
} HTTP_TOKEN_WRAP;
-
#define HTTP_PROTOCOL_SIGNATURE SIGNATURE_32('H', 't', 't', 'P')
#define HTTP_INSTANCE_FROM_PROTOCOL(a) \
@@ -239,7 +237,7 @@ HttpCommonNotify (
**/
EFI_STATUS
HttpCreateTcpConnCloseEvent (
- IN HTTP_PROTOCOL *HttpInstance
+ IN HTTP_PROTOCOL *HttpInstance
);
/**
@@ -250,7 +248,7 @@ HttpCreateTcpConnCloseEvent (
**/
VOID
HttpCloseTcpConnCloseEvent (
- IN HTTP_PROTOCOL *HttpInstance
+ IN HTTP_PROTOCOL *HttpInstance
);
/**
@@ -264,7 +262,7 @@ HttpCloseTcpConnCloseEvent (
**/
EFI_STATUS
HttpCreateTcpTxEvent (
- IN HTTP_TOKEN_WRAP *Wrap
+ IN HTTP_TOKEN_WRAP *Wrap
);
/**
@@ -278,7 +276,7 @@ HttpCreateTcpTxEvent (
**/
EFI_STATUS
HttpCreateTcpRxEventForHeader (
- IN HTTP_PROTOCOL *HttpInstance
+ IN HTTP_PROTOCOL *HttpInstance
);
/**
@@ -292,7 +290,7 @@ HttpCreateTcpRxEventForHeader (
**/
EFI_STATUS
HttpCreateTcpRxEvent (
- IN HTTP_TOKEN_WRAP *Wrap
+ IN HTTP_TOKEN_WRAP *Wrap
);
/**
@@ -303,7 +301,7 @@ HttpCreateTcpRxEvent (
**/
VOID
HttpCloseTcpRxEvent (
- IN HTTP_TOKEN_WRAP *Wrap
+ IN HTTP_TOKEN_WRAP *Wrap
);
/**
@@ -318,8 +316,8 @@ HttpCloseTcpRxEvent (
**/
EFI_STATUS
HttpInitProtocol (
- IN OUT HTTP_PROTOCOL *HttpInstance,
- IN BOOLEAN IpVersion
+ IN OUT HTTP_PROTOCOL *HttpInstance,
+ IN BOOLEAN IpVersion
);
/**
@@ -330,7 +328,7 @@ HttpInitProtocol (
**/
VOID
HttpCleanProtocol (
- IN HTTP_PROTOCOL *HttpInstance
+ IN HTTP_PROTOCOL *HttpInstance
);
/**
@@ -344,7 +342,7 @@ HttpCleanProtocol (
**/
EFI_STATUS
HttpCreateConnection (
- IN HTTP_PROTOCOL *HttpInstance
+ IN HTTP_PROTOCOL *HttpInstance
);
/**
@@ -358,7 +356,7 @@ HttpCreateConnection (
**/
EFI_STATUS
HttpCloseConnection (
- IN HTTP_PROTOCOL *HttpInstance
+ IN HTTP_PROTOCOL *HttpInstance
);
/**
@@ -373,8 +371,8 @@ HttpCloseConnection (
**/
EFI_STATUS
HttpConfigureTcp4 (
- IN HTTP_PROTOCOL *HttpInstance,
- IN HTTP_TOKEN_WRAP *Wrap
+ IN HTTP_PROTOCOL *HttpInstance,
+ IN HTTP_TOKEN_WRAP *Wrap
);
/**
@@ -389,8 +387,8 @@ HttpConfigureTcp4 (
**/
EFI_STATUS
HttpConfigureTcp6 (
- IN HTTP_PROTOCOL *HttpInstance,
- IN HTTP_TOKEN_WRAP *Wrap
+ IN HTTP_PROTOCOL *HttpInstance,
+ IN HTTP_TOKEN_WRAP *Wrap
);
/**
@@ -406,7 +404,7 @@ HttpConfigureTcp6 (
**/
EFI_STATUS
HttpConnectTcp4 (
- IN HTTP_PROTOCOL *HttpInstance
+ IN HTTP_PROTOCOL *HttpInstance
);
/**
@@ -422,7 +420,7 @@ HttpConnectTcp4 (
**/
EFI_STATUS
HttpConnectTcp6 (
- IN HTTP_PROTOCOL *HttpInstance
+ IN HTTP_PROTOCOL *HttpInstance
);
/**
@@ -462,9 +460,9 @@ HttpTransmitTcp (
EFI_STATUS
EFIAPI
HttpTokenExist (
- IN NET_MAP *Map,
- IN NET_MAP_ITEM *Item,
- IN VOID *Context
+ IN NET_MAP *Map,
+ IN NET_MAP_ITEM *Item,
+ IN VOID *Context
);
/**
@@ -481,9 +479,9 @@ HttpTokenExist (
EFI_STATUS
EFIAPI
HttpTcpNotReady (
- IN NET_MAP *Map,
- IN NET_MAP_ITEM *Item,
- IN VOID *Context
+ IN NET_MAP *Map,
+ IN NET_MAP_ITEM *Item,
+ IN VOID *Context
);
/**
@@ -521,9 +519,9 @@ HttpInitSession (
EFI_STATUS
EFIAPI
HttpTcpTransmit (
- IN NET_MAP *Map,
- IN NET_MAP_ITEM *Item,
- IN VOID *Context
+ IN NET_MAP *Map,
+ IN NET_MAP_ITEM *Item,
+ IN VOID *Context
);
/**
@@ -541,9 +539,9 @@ HttpTcpTransmit (
EFI_STATUS
EFIAPI
HttpTcpReceive (
- IN NET_MAP *Map,
- IN NET_MAP_ITEM *Item,
- IN VOID *Context
+ IN NET_MAP *Map,
+ IN NET_MAP_ITEM *Item,
+ IN VOID *Context
);
/**
@@ -560,10 +558,10 @@ HttpTcpReceive (
**/
EFI_STATUS
HttpTcpReceiveHeader (
- IN HTTP_PROTOCOL *HttpInstance,
- IN OUT UINTN *SizeofHeaders,
- IN OUT UINTN *BufferSize,
- IN EFI_EVENT Timeout
+ IN HTTP_PROTOCOL *HttpInstance,
+ IN OUT UINTN *SizeofHeaders,
+ IN OUT UINTN *BufferSize,
+ IN EFI_EVENT Timeout
);
/**
@@ -578,8 +576,8 @@ HttpTcpReceiveHeader (
**/
EFI_STATUS
HttpTcpReceiveBody (
- IN HTTP_TOKEN_WRAP *Wrap,
- IN EFI_HTTP_MESSAGE *HttpMsg
+ IN HTTP_TOKEN_WRAP *Wrap,
+ IN EFI_HTTP_MESSAGE *HttpMsg
);
/**
@@ -590,7 +588,7 @@ HttpTcpReceiveBody (
**/
VOID
HttpTcpTokenCleanup (
- IN HTTP_TOKEN_WRAP *Wrap
+ IN HTTP_TOKEN_WRAP *Wrap
);
/**
@@ -605,7 +603,7 @@ HttpTcpTokenCleanup (
**/
EFI_STATUS
HttpResponseWorker (
- IN HTTP_TOKEN_WRAP *Wrap
+ IN HTTP_TOKEN_WRAP *Wrap
);
/**
@@ -617,8 +615,8 @@ HttpResponseWorker (
**/
VOID
HttpNotify (
- IN EDKII_HTTP_CALLBACK_EVENT Event,
- IN EFI_STATUS EventStatus
+ IN EDKII_HTTP_CALLBACK_EVENT Event,
+ IN EFI_STATUS EventStatus
);
#endif