summaryrefslogtreecommitdiff
path: root/NetworkPkg/Ip6Dxe/Ip6Option.h
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2017-08-02 09:54:47 +0800
committerGuo Mang <mang.guo@intel.com>2017-09-05 19:45:08 +0800
commit6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8 (patch)
tree444372d92a0ae8991fe4d15eb3937df43690dfda /NetworkPkg/Ip6Dxe/Ip6Option.h
parentb207c6434d7a5a4502975d322312e07017e8a8cb (diff)
downloadedk2-platforms-6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8.tar.xz
Remove core packages since we can get them from edk2 repository
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'NetworkPkg/Ip6Dxe/Ip6Option.h')
-rw-r--r--NetworkPkg/Ip6Dxe/Ip6Option.h191
1 files changed, 0 insertions, 191 deletions
diff --git a/NetworkPkg/Ip6Dxe/Ip6Option.h b/NetworkPkg/Ip6Dxe/Ip6Option.h
deleted file mode 100644
index b62a04216e..0000000000
--- a/NetworkPkg/Ip6Dxe/Ip6Option.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/** @file
- Definition of IP6 option process routines.
-
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#ifndef __EFI_IP6_OPTION_H__
-#define __EFI_IP6_OPTION_H__
-
-#define IP6_FRAGMENT_OFFSET_MASK (~0x3)
-
-typedef struct _IP6_FRAGMENT_HEADER {
- UINT8 NextHeader;
- UINT8 Reserved;
- UINT16 FragmentOffset;
- UINT32 Identification;
-} IP6_FRAGMENT_HEADER;
-
-typedef struct _IP6_ROUTING_HEADER {
- UINT8 NextHeader;
- UINT8 HeaderLen;
- UINT8 RoutingType;
- UINT8 SegmentsLeft;
-} IP6_ROUTING_HEADER;
-
-typedef enum {
- Ip6OptionPad1 = 0,
- Ip6OptionPadN = 1,
- Ip6OptionRouterAlert = 5,
- Ip6OptionSkip = 0,
- Ip6OptionDiscard = 0x40,
- Ip6OptionParameterProblem = 0x80,
- Ip6OptionMask = 0xc0,
-
- Ip6OptionEtherSource = 1,
- Ip6OptionEtherTarget = 2,
- Ip6OptionPrefixInfo = 3,
- Ip6OptionRedirected = 4,
- Ip6OptionMtu = 5
-} IP6_OPTION_TYPE;
-
-/**
- Validate the IP6 extension header format for both the packets we received
- and that we will transmit. It will compute the ICMPv6 error message fields
- if the option is mal-formated.
-
- @param[in] IpSb The IP6 service instance. This is an optional parameter.
- @param[in] Packet The data of the packet. Ignored if NULL.
- @param[in] NextHeader The next header field in IPv6 basic header.
- @param[in] ExtHdrs The first byte of the option.
- @param[in] ExtHdrsLen The length of the whole option.
- @param[in] Rcvd The option is from the packet we received if TRUE,
- otherwise, the option we want to transmit.
- @param[out] FormerHeader The offset of NextHeader which points to Fragment
- Header when we received, of the ExtHdrs.
- Ignored if we transmit.
- @param[out] LastHeader The pointer of NextHeader of the last extension
- header processed by IP6.
- @param[out] RealExtsLen The length of extension headers processed by IP6 layer.
- This is an optional parameter that may be NULL.
- @param[out] UnFragmentLen The length of unfragmented length of extension headers.
- This is an optional parameter that may be NULL.
- @param[out] Fragmented Indicate whether the packet is fragmented.
- This is an optional parameter that may be NULL.
-
- @retval TRUE The option is properly formated.
- @retval FALSE The option is malformated.
-
-**/
-BOOLEAN
-Ip6IsExtsValid (
- IN IP6_SERVICE *IpSb OPTIONAL,
- IN NET_BUF *Packet OPTIONAL,
- IN UINT8 *NextHeader,
- IN UINT8 *ExtHdrs,
- IN UINT32 ExtHdrsLen,
- IN BOOLEAN Rcvd,
- OUT UINT32 *FormerHeader OPTIONAL,
- OUT UINT8 **LastHeader,
- OUT UINT32 *RealExtsLen OPTIONAL,
- OUT UINT32 *UnFragmentLen OPTIONAL,
- OUT BOOLEAN *Fragmented OPTIONAL
- );
-
-/**
- Generate an IPv6 router alert option in network order and output it through Buffer.
-
- @param[out] Buffer Points to a buffer to record the generated option.
- @param[in, out] BufferLen The length of Buffer, in bytes.
- @param[in] NextHeader The 8-bit selector indicates the type of header
- immediately following the Hop-by-Hop Options header.
-
- @retval EFI_BUFFER_TOO_SMALL The Buffer is too small to contain the generated
- option. BufferLen is updated for the required size.
-
- @retval EFI_SUCCESS The option is generated and filled in to Buffer.
-
-**/
-EFI_STATUS
-Ip6FillHopByHop (
- OUT UINT8 *Buffer,
- IN OUT UINTN *BufferLen,
- IN UINT8 NextHeader
- );
-
-/**
- Insert a Fragment Header to the Extension headers and output it in UpdatedExtHdrs.
-
- @param[in] IpSb The IP6 service instance to transmit the packet.
- @param[in] NextHeader The extension header type of first extension header.
- @param[in] LastHeader The extension header type of last extension header.
- @param[in] ExtHdrs The length of the original extension header.
- @param[in] ExtHdrsLen The length of the extension headers.
- @param[in] FragmentOffset The fragment offset of the data following the header.
- @param[out] UpdatedExtHdrs The updated ExtHdrs with Fragment header inserted.
- It's caller's responsiblity to free this buffer.
-
- @retval EFI_OUT_OF_RESOURCES Failed to finish the operation due to lake of
- resource.
- @retval EFI_UNSUPPORTED The extension header specified in ExtHdrs is not
- supported currently.
- @retval EFI_SUCCESS The operation performed successfully.
-
-**/
-EFI_STATUS
-Ip6FillFragmentHeader (
- IN IP6_SERVICE *IpSb,
- IN UINT8 NextHeader,
- IN UINT8 LastHeader,
- IN UINT8 *ExtHdrs,
- IN UINT32 ExtHdrsLen,
- IN UINT16 FragmentOffset,
- OUT UINT8 **UpdatedExtHdrs
- );
-
-/**
- Copy the extension headers from the original to buffer. A Fragment header is
- appended to the end.
-
- @param[in] NextHeader The 8-bit selector indicates the type of
- the fragment header's next header.
- @param[in] ExtHdrs The length of the original extension header.
- @param[in] LastHeader The pointer of next header of last extension header.
- @param[in] FragmentOffset The fragment offset of the data following the header.
- @param[in] UnFragmentHdrLen The length of unfragmented length of extension headers.
- @param[in, out] Buf The buffer to copy options to.
- @param[in, out] BufLen The length of the buffer.
-
- @retval EFI_SUCCESS The options are copied over.
- @retval EFI_BUFFER_TOO_SMALL The buffer caller provided is too small.
-
-**/
-EFI_STATUS
-Ip6CopyExts (
- IN UINT8 NextHeader,
- IN UINT8 *ExtHdrs,
- IN UINT8 *LastHeader,
- IN UINT16 FragmentOffset,
- IN UINT32 UnFragmentHdrLen,
- IN OUT UINT8 *Buf,
- IN OUT UINT32 *BufLen
- );
-
-/**
- Validate the IP6 option format for both the packets we received
- and that we will transmit. It supports the defined options in Neighbor
- Discovery messages.
-
- @param[in] Option The first byte of the option.
- @param[in] OptionLen The length of the whole option.
-
- @retval TRUE The option is properly formatted.
- @retval FALSE The option is malformated.
-
-**/
-BOOLEAN
-Ip6IsNDOptionValid (
- IN UINT8 *Option,
- IN UINT16 OptionLen
- );
-
-#endif