Date: Wed, 25 Oct 2006 19:51:47 GMT From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 108421 for review Message-ID: <200610251951.k9PJplNM062426@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=108421 Change 108421 by marcel@marcel_cluster on 2006/10/25 19:51:45 Sync with the EFI 1.10.14.62 sample implementation. Affected files ... .. //depot/projects/ia64/sys/boot/efi/include/efinet.h#3 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/include/efinet.h#3 (text+ko) ==== @@ -4,7 +4,14 @@ /*++ -Copyright (c) 1999 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module Name: efinet.h @@ -16,55 +23,78 @@ --*/ +/////////////////////////////////////////////////////////////////////////////// +// +// Simple Network Protocol +// + #define EFI_SIMPLE_NETWORK_PROTOCOL \ { 0xA19832B9, 0xAC25, 0x11D3, 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } + INTERFACE_DECL(_EFI_SIMPLE_NETWORK); +/////////////////////////////////////////////////////////////////////////////// +// + typedef struct { - /* - * Total number of frames received. Includes frames with errors and - * dropped frames. - */ + // + // Total number of frames received. Includes frames with errors and + // dropped frames. + // UINT64 RxTotalFrames; - /* Number of valid frames received and copied into receive buffers. */ + // + // Number of valid frames received and copied into receive buffers. + // UINT64 RxGoodFrames; - /* - * Number of frames below the minimum length for the media. - * This would be <64 for ethernet. - */ + // + // Number of frames below the minimum length for the media. + // This would be <64 for ethernet. + // UINT64 RxUndersizeFrames; - /* - * Number of frames longer than the maxminum length for the - * media. This would be >1500 for ethernet. - */ + // + // Number of frames longer than the maxminum length for the + // media. This would be >1500 for ethernet. + // UINT64 RxOversizeFrames; - /* Valid frames that were dropped because receive buffers were full. */ + // + // Valid frames that were dropped because receive buffers were full. + // UINT64 RxDroppedFrames; - /* Number of valid unicast frames received and not dropped. */ + // + // Number of valid unicast frames received and not dropped. + // UINT64 RxUnicastFrames; - /* Number of valid broadcast frames received and not dropped. */ + // + // Number of valid broadcast frames received and not dropped. + // UINT64 RxBroadcastFrames; - /* Number of valid mutlicast frames received and not dropped. */ + // + // Number of valid mutlicast frames received and not dropped. + // UINT64 RxMulticastFrames; - /* Number of frames w/ CRC or alignment errors. */ + // + // Number of frames w/ CRC or alignment errors. + // UINT64 RxCrcErrorFrames; - /* - * Total number of bytes received. Includes frames with errors - * and dropped frames. - */ + // + // Total number of bytes received. Includes frames with errors + // and dropped frames. + // UINT64 RxTotalBytes; - /* Transmit statistics. */ + // + // Transmit statistics. + // UINT64 TxTotalFrames; UINT64 TxGoodFrames; UINT64 TxUndersizeFrames; @@ -76,14 +106,21 @@ UINT64 TxCrcErrorFrames; UINT64 TxTotalBytes; - /* Number of collisions detection on this subnet. */ + // + // Number of collisions detection on this subnet. + // UINT64 Collisions; - /* Number of frames destined for unsupported protocol. */ + // + // Number of frames destined for unsupported protocol. + // UINT64 UnsupportedProtocol; } EFI_NETWORK_STATISTICS; +/////////////////////////////////////////////////////////////////////////////// +// + typedef enum { EfiSimpleNetworkStopped, EfiSimpleNetworkStarted, @@ -91,17 +128,25 @@ EfiSimpleNetworkMaxState } EFI_SIMPLE_NETWORK_STATE; +/////////////////////////////////////////////////////////////////////////////// +// + #define EFI_SIMPLE_NETWORK_RECEIVE_UNICAST 0x01 #define EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST 0x02 #define EFI_SIMPLE_NETWORK_RECEIVE_BROADCAST 0x04 #define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS 0x08 #define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST 0x10 +/////////////////////////////////////////////////////////////////////////////// +// + #define EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT 0x01 #define EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT 0x02 #define EFI_SIMPLE_NETWORK_COMMAND_INTERRUPT 0x04 #define EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT 0x08 +/////////////////////////////////////////////////////////////////////////////// +// #define MAX_MCAST_FILTER_CNT 16 typedef struct { UINT32 State; @@ -125,18 +170,27 @@ BOOLEAN MediaPresent; } EFI_SIMPLE_NETWORK_MODE; +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_START) ( IN struct _EFI_SIMPLE_NETWORK *This ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_STOP) ( IN struct _EFI_SIMPLE_NETWORK *This ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_INITIALIZE) ( @@ -145,6 +199,9 @@ IN UINTN ExtraTxBufferSize OPTIONAL ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_RESET) ( @@ -152,12 +209,18 @@ IN BOOLEAN ExtendedVerification ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_SHUTDOWN) ( IN struct _EFI_SIMPLE_NETWORK *This ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_RECEIVE_FILTERS) ( @@ -169,6 +232,9 @@ IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_STATION_ADDRESS) ( @@ -177,6 +243,9 @@ IN EFI_MAC_ADDRESS *New OPTIONAL ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_STATISTICS) ( @@ -186,6 +255,9 @@ OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC) ( @@ -195,6 +267,9 @@ OUT EFI_MAC_ADDRESS *MAC ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_NVDATA) ( @@ -205,6 +280,9 @@ IN OUT VOID *Buffer ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_GET_STATUS) ( @@ -213,6 +291,9 @@ OUT VOID **TxBuf OPTIONAL ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_TRANSMIT) ( @@ -225,6 +306,9 @@ IN UINT16 *Protocol OPTIONAL ); +/////////////////////////////////////////////////////////////////////////////// +// + typedef EFI_STATUS (EFIAPI *EFI_SIMPLE_NETWORK_RECEIVE) ( @@ -237,6 +321,9 @@ OUT UINT16 *Protocol OPTIONAL ); +/////////////////////////////////////////////////////////////////////////////// +// + #define EFI_SIMPLE_NETWORK_INTERFACE_REVISION 0x00010000 typedef struct _EFI_SIMPLE_NETWORK {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610251951.k9PJplNM062426>