From owner-p4-projects@FreeBSD.ORG Wed Oct 25 19:52:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 36ECB16A4C2; Wed, 25 Oct 2006 19:52:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D6C5A16A40F for ; Wed, 25 Oct 2006 19:52:31 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6457943E62 for ; Wed, 25 Oct 2006 19:51:48 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9PJpmS1062430 for ; Wed, 25 Oct 2006 19:51:48 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9PJplNM062426 for perforce@freebsd.org; Wed, 25 Oct 2006 19:51:47 GMT (envelope-from marcel@freebsd.org) Date: Wed, 25 Oct 2006 19:51:47 GMT Message-Id: <200610251951.k9PJplNM062426@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 108421 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Oct 2006 19:52:32 -0000 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 {