diff options
author | qhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-31 03:46:40 +0000 |
---|---|---|
committer | qhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-31 03:46:40 +0000 |
commit | 97b38d4e359e1c5cbdadb2af8d4665d76a7068f2 (patch) | |
tree | eb0b86efd81b4107e44ff8cba07aa566052d3712 /MdeModulePkg/Include/Library/UdpIoLib.h | |
parent | e82e1acc55d2357a2db280b97890446a5b0bf0f2 (diff) | |
download | edk2-platforms-97b38d4e359e1c5cbdadb2af8d4665d76a7068f2.tar.xz |
Update to use DOS format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6321 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Include/Library/UdpIoLib.h')
-rw-r--r-- | MdeModulePkg/Include/Library/UdpIoLib.h | 488 |
1 files changed, 244 insertions, 244 deletions
diff --git a/MdeModulePkg/Include/Library/UdpIoLib.h b/MdeModulePkg/Include/Library/UdpIoLib.h index 2111172807..e5006c40fc 100644 --- a/MdeModulePkg/Include/Library/UdpIoLib.h +++ b/MdeModulePkg/Include/Library/UdpIoLib.h @@ -1,244 +1,244 @@ -/** @file - The helper routines to access UDP service. It is used by both - DHCP and MTFTP. - -Copyright (c) 2006 - 2008, Intel Corporation -All rights reserved. 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 _UDP4IO_H_ -#define _UDP4IO_H_ - -#include <Protocol/Udp4.h> - -#include <Library/UdpIoLib.h> -#include <Library/NetLib.h> - -typedef struct _UDP_IO_PORT UDP_IO_PORT; - -typedef enum { - UDP_IO_RX_SIGNATURE = EFI_SIGNATURE_32 ('U', 'D', 'P', 'R'), - UDP_IO_TX_SIGNATURE = EFI_SIGNATURE_32 ('U', 'D', 'P', 'T'), - UDP_IO_SIGNATURE = EFI_SIGNATURE_32 ('U', 'D', 'P', 'I') -} UDP_IO_SIGNATURE_TYPE; - -typedef struct { - IP4_ADDR LocalAddr; - UINT16 LocalPort; - IP4_ADDR RemoteAddr; - UINT16 RemotePort; -} UDP_POINTS; - -// -// This prototype is used by both receive and transmission. -// When receiving Netbuf is allocated by UDP access point, and -// released by user. When transmitting, the NetBuf is from user, -// and provided to the callback as a reference. -// -typedef -VOID -(*UDP_IO_CALLBACK) ( - IN NET_BUF *Packet, - IN UDP_POINTS *Points, - IN EFI_STATUS IoStatus, - IN VOID *Context - ); - -// -// Each receive request is wrapped in an UDP_RX_TOKEN. Upon completion, -// the CallBack will be called. Only one receive request is send to UDP. -// HeadLen gives the length of the application's header. UDP_IO will -// make the application's header continous before delivery up. -// -typedef struct { - UINT32 Signature; - UDP_IO_PORT *UdpIo; - - UDP_IO_CALLBACK CallBack; - VOID *Context; - - UINT32 HeadLen; - EFI_UDP4_COMPLETION_TOKEN UdpToken; -} UDP_RX_TOKEN; - -// -// Each transmit request is wrapped in an UDP_TX_TOKEN. Upon completion, -// the CallBack will be called. There can be several transmit requests. -// -typedef struct { - UINT32 Signature; - LIST_ENTRY Link; - UDP_IO_PORT *UdpIo; - - UDP_IO_CALLBACK CallBack; - NET_BUF *Packet; - VOID *Context; - - EFI_UDP4_SESSION_DATA UdpSession; - EFI_IPv4_ADDRESS Gateway; - - EFI_UDP4_COMPLETION_TOKEN UdpToken; - EFI_UDP4_TRANSMIT_DATA UdpTxData; -} UDP_TX_TOKEN; - -struct _UDP_IO_PORT { - UINT32 Signature; - LIST_ENTRY Link; - INTN RefCnt; - - // - // Handle used to create/destory UDP child - // - EFI_HANDLE Controller; - EFI_HANDLE Image; - EFI_HANDLE UdpHandle; - - EFI_UDP4_PROTOCOL *Udp; - EFI_UDP4_CONFIG_DATA UdpConfig; - EFI_SIMPLE_NETWORK_MODE SnpMode; - - LIST_ENTRY SentDatagram; - UDP_RX_TOKEN *RecvRequest; -}; - -typedef -EFI_STATUS -(*UDP_IO_CONFIG) ( - IN UDP_IO_PORT *UdpIo, - IN VOID *Context - ); - -typedef -BOOLEAN -(*UDP_IO_TO_CANCEL) ( - IN UDP_TX_TOKEN *Token, - IN VOID *Context - ); - -/** - Create a UDP IO port to access the UDP service. It will - create and configure a UDP child. - - @param Controller The controller that has the UDP service binding - protocol installed. - @param ImageHandle The image handle for the driver. - @param Configure The function to configure the created UDP child - @param Context The opaque parameter for the Configure funtion. - - @return A point to just created UDP IO port or NULL if failed. - -**/ -UDP_IO_PORT * -EFIAPI -UdpIoCreatePort ( - IN EFI_HANDLE Controller, - IN EFI_HANDLE ImageHandle, - IN UDP_IO_CONFIG Configure, - IN VOID *Context - ); - -/** - Free the UDP IO port and all its related resources including - all the transmitted packet. - - @param UdpIo The UDP IO port to free. - - @retval EFI_SUCCESS The UDP IO port is freed. - -**/ -EFI_STATUS -EFIAPI -UdpIoFreePort ( - IN UDP_IO_PORT *UdpIo - ); - -/** - Clean up the UDP IO port. It will release all the transmitted - datagrams and receive request. It will also configure NULL the - UDP child. - - @param UdpIo UDP IO port to clean up. - - @return None - -**/ -VOID -EFIAPI -UdpIoCleanPort ( - IN UDP_IO_PORT *UdpIo - ); - -/** - Send a packet through the UDP IO port. - - @param UdpIo The UDP IO Port to send the packet through - @param Packet The packet to send - @param EndPoint The local and remote access point - @param Gateway The gateway to use - @param CallBack The call back function to call when packet is - transmitted or failed. - @param Context The opque parameter to the CallBack - - @retval EFI_OUT_OF_RESOURCES Failed to allocate resource for the packet - @retval EFI_SUCCESS The packet is successfully delivered to UDP for - transmission. - -**/ -EFI_STATUS -EFIAPI -UdpIoSendDatagram ( - IN UDP_IO_PORT *UdpIo, - IN NET_BUF *Packet, - IN UDP_POINTS *EndPoint, OPTIONAL - IN IP4_ADDR Gateway, - IN UDP_IO_CALLBACK CallBack, - IN VOID *Context - ); - -/** - Cancel a single sent datagram. - - @param UdpIo The UDP IO port to cancel the packet from - @param Packet The packet to cancel - - @return None - -**/ -VOID -EFIAPI -UdpIoCancelSentDatagram ( - IN UDP_IO_PORT *UdpIo, - IN NET_BUF *Packet - ); - -/** - Issue a receive request to the UDP IO port. - - @param UdpIo The UDP IO port to recieve the packet from. - @param CallBack The call back function to execute when receive - finished. - @param Context The opque context to the call back - @param HeadLen The lenght of the application's header - - @retval EFI_ALREADY_STARTED There is already a pending receive request. Only - one receive request is supported. - @retval EFI_OUT_OF_RESOURCES Failed to allocate some resource. - @retval EFI_SUCCESS The receive request is issued successfully. - -**/ -EFI_STATUS -EFIAPI -UdpIoRecvDatagram ( - IN UDP_IO_PORT *UdpIo, - IN UDP_IO_CALLBACK CallBack, - IN VOID *Context, - IN UINT32 HeadLen - ); -#endif +/** @file
+ The helper routines to access UDP service. It is used by both
+ DHCP and MTFTP.
+
+Copyright (c) 2006 - 2008, Intel Corporation
+All rights reserved. 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 _UDP4IO_H_
+#define _UDP4IO_H_
+
+#include <Protocol/Udp4.h>
+
+#include <Library/UdpIoLib.h>
+#include <Library/NetLib.h>
+
+typedef struct _UDP_IO_PORT UDP_IO_PORT;
+
+typedef enum {
+ UDP_IO_RX_SIGNATURE = EFI_SIGNATURE_32 ('U', 'D', 'P', 'R'),
+ UDP_IO_TX_SIGNATURE = EFI_SIGNATURE_32 ('U', 'D', 'P', 'T'),
+ UDP_IO_SIGNATURE = EFI_SIGNATURE_32 ('U', 'D', 'P', 'I')
+} UDP_IO_SIGNATURE_TYPE;
+
+typedef struct {
+ IP4_ADDR LocalAddr;
+ UINT16 LocalPort;
+ IP4_ADDR RemoteAddr;
+ UINT16 RemotePort;
+} UDP_POINTS;
+
+//
+// This prototype is used by both receive and transmission.
+// When receiving Netbuf is allocated by UDP access point, and
+// released by user. When transmitting, the NetBuf is from user,
+// and provided to the callback as a reference.
+//
+typedef
+VOID
+(*UDP_IO_CALLBACK) (
+ IN NET_BUF *Packet,
+ IN UDP_POINTS *Points,
+ IN EFI_STATUS IoStatus,
+ IN VOID *Context
+ );
+
+//
+// Each receive request is wrapped in an UDP_RX_TOKEN. Upon completion,
+// the CallBack will be called. Only one receive request is send to UDP.
+// HeadLen gives the length of the application's header. UDP_IO will
+// make the application's header continous before delivery up.
+//
+typedef struct {
+ UINT32 Signature;
+ UDP_IO_PORT *UdpIo;
+
+ UDP_IO_CALLBACK CallBack;
+ VOID *Context;
+
+ UINT32 HeadLen;
+ EFI_UDP4_COMPLETION_TOKEN UdpToken;
+} UDP_RX_TOKEN;
+
+//
+// Each transmit request is wrapped in an UDP_TX_TOKEN. Upon completion,
+// the CallBack will be called. There can be several transmit requests.
+//
+typedef struct {
+ UINT32 Signature;
+ LIST_ENTRY Link;
+ UDP_IO_PORT *UdpIo;
+
+ UDP_IO_CALLBACK CallBack;
+ NET_BUF *Packet;
+ VOID *Context;
+
+ EFI_UDP4_SESSION_DATA UdpSession;
+ EFI_IPv4_ADDRESS Gateway;
+
+ EFI_UDP4_COMPLETION_TOKEN UdpToken;
+ EFI_UDP4_TRANSMIT_DATA UdpTxData;
+} UDP_TX_TOKEN;
+
+struct _UDP_IO_PORT {
+ UINT32 Signature;
+ LIST_ENTRY Link;
+ INTN RefCnt;
+
+ //
+ // Handle used to create/destory UDP child
+ //
+ EFI_HANDLE Controller;
+ EFI_HANDLE Image;
+ EFI_HANDLE UdpHandle;
+
+ EFI_UDP4_PROTOCOL *Udp;
+ EFI_UDP4_CONFIG_DATA UdpConfig;
+ EFI_SIMPLE_NETWORK_MODE SnpMode;
+
+ LIST_ENTRY SentDatagram;
+ UDP_RX_TOKEN *RecvRequest;
+};
+
+typedef
+EFI_STATUS
+(*UDP_IO_CONFIG) (
+ IN UDP_IO_PORT *UdpIo,
+ IN VOID *Context
+ );
+
+typedef
+BOOLEAN
+(*UDP_IO_TO_CANCEL) (
+ IN UDP_TX_TOKEN *Token,
+ IN VOID *Context
+ );
+
+/**
+ Create a UDP IO port to access the UDP service. It will
+ create and configure a UDP child.
+
+ @param Controller The controller that has the UDP service binding
+ protocol installed.
+ @param ImageHandle The image handle for the driver.
+ @param Configure The function to configure the created UDP child
+ @param Context The opaque parameter for the Configure funtion.
+
+ @return A point to just created UDP IO port or NULL if failed.
+
+**/
+UDP_IO_PORT *
+EFIAPI
+UdpIoCreatePort (
+ IN EFI_HANDLE Controller,
+ IN EFI_HANDLE ImageHandle,
+ IN UDP_IO_CONFIG Configure,
+ IN VOID *Context
+ );
+
+/**
+ Free the UDP IO port and all its related resources including
+ all the transmitted packet.
+
+ @param UdpIo The UDP IO port to free.
+
+ @retval EFI_SUCCESS The UDP IO port is freed.
+
+**/
+EFI_STATUS
+EFIAPI
+UdpIoFreePort (
+ IN UDP_IO_PORT *UdpIo
+ );
+
+/**
+ Clean up the UDP IO port. It will release all the transmitted
+ datagrams and receive request. It will also configure NULL the
+ UDP child.
+
+ @param UdpIo UDP IO port to clean up.
+
+ @return None
+
+**/
+VOID
+EFIAPI
+UdpIoCleanPort (
+ IN UDP_IO_PORT *UdpIo
+ );
+
+/**
+ Send a packet through the UDP IO port.
+
+ @param UdpIo The UDP IO Port to send the packet through
+ @param Packet The packet to send
+ @param EndPoint The local and remote access point
+ @param Gateway The gateway to use
+ @param CallBack The call back function to call when packet is
+ transmitted or failed.
+ @param Context The opque parameter to the CallBack
+
+ @retval EFI_OUT_OF_RESOURCES Failed to allocate resource for the packet
+ @retval EFI_SUCCESS The packet is successfully delivered to UDP for
+ transmission.
+
+**/
+EFI_STATUS
+EFIAPI
+UdpIoSendDatagram (
+ IN UDP_IO_PORT *UdpIo,
+ IN NET_BUF *Packet,
+ IN UDP_POINTS *EndPoint, OPTIONAL
+ IN IP4_ADDR Gateway,
+ IN UDP_IO_CALLBACK CallBack,
+ IN VOID *Context
+ );
+
+/**
+ Cancel a single sent datagram.
+
+ @param UdpIo The UDP IO port to cancel the packet from
+ @param Packet The packet to cancel
+
+ @return None
+
+**/
+VOID
+EFIAPI
+UdpIoCancelSentDatagram (
+ IN UDP_IO_PORT *UdpIo,
+ IN NET_BUF *Packet
+ );
+
+/**
+ Issue a receive request to the UDP IO port.
+
+ @param UdpIo The UDP IO port to recieve the packet from.
+ @param CallBack The call back function to execute when receive
+ finished.
+ @param Context The opque context to the call back
+ @param HeadLen The lenght of the application's header
+
+ @retval EFI_ALREADY_STARTED There is already a pending receive request. Only
+ one receive request is supported.
+ @retval EFI_OUT_OF_RESOURCES Failed to allocate some resource.
+ @retval EFI_SUCCESS The receive request is issued successfully.
+
+**/
+EFI_STATUS
+EFIAPI
+UdpIoRecvDatagram (
+ IN UDP_IO_PORT *UdpIo,
+ IN UDP_IO_CALLBACK CallBack,
+ IN VOID *Context,
+ IN UINT32 HeadLen
+ );
+#endif
|