mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-11-03 21:17:23 +01:00 
			
		
		
		
	* Fix #include filename case for building under Linux MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c: MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c: * Fix warning of 'unhandled' cases in switch statement generated by GCC. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7071 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			162 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  The header file of IScsiImpl.c.
 | 
						|
 | 
						|
Copyright (c) 2004 - 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 _ISCSI_IMPL_H_
 | 
						|
#define _ISCSI_IMPL_H_
 | 
						|
 | 
						|
#include <Uefi.h>
 | 
						|
 | 
						|
#include <Library/NetLib.h>
 | 
						|
#include <Library/PrintLib.h>
 | 
						|
#include <Library/UefiRuntimeServicesTableLib.h>
 | 
						|
#include "IScsiCommon.h"
 | 
						|
#include "IScsiDriver.h"
 | 
						|
#include "IScsiInitiatorName.h"
 | 
						|
#include "ComponentName.h"
 | 
						|
#include "IScsiConfigNVDataStruc.h"
 | 
						|
#include "IScsiExtScsiPassThru.h"
 | 
						|
#include "IScsiProto.h"
 | 
						|
#include "IScsiMisc.h"
 | 
						|
#include "IScsiCHAP.h"
 | 
						|
#include "IScsiConfig.h"
 | 
						|
#include "IScsiDhcp.h"
 | 
						|
#include "IScsiTcp4Io.h"
 | 
						|
#include "IScsiIbft.h"
 | 
						|
 | 
						|
 | 
						|
#define ISCSI_SESSION_SIGNATURE SIGNATURE_32 ('I', 'S', 'S', 'N')
 | 
						|
 | 
						|
struct _ISCSI_SESSION {
 | 
						|
  UINT32                    Signature;
 | 
						|
 | 
						|
  ISCSI_SESSION_CONFIG_DATA ConfigData;
 | 
						|
  ISCSI_CHAP_AUTH_DATA      AuthData;
 | 
						|
 | 
						|
  CHAR8                     InitiatorName[ISCSI_NAME_MAX_SIZE];
 | 
						|
  UINTN                     InitiatorNameLength;
 | 
						|
  UINT8                     State;
 | 
						|
 | 
						|
  UINT8                     ISID[6];
 | 
						|
  UINT16                    TSIH;
 | 
						|
 | 
						|
  UINT32                    CmdSN;
 | 
						|
  UINT32                    ExpCmdSN;
 | 
						|
  UINT32                    MaxCmdSN;
 | 
						|
 | 
						|
  UINT32                    InitiatorTaskTag;
 | 
						|
  UINT16                    NextCID;
 | 
						|
 | 
						|
  LIST_ENTRY                Conns;
 | 
						|
  UINT32                    NumConns;
 | 
						|
 | 
						|
  LIST_ENTRY                TcbList;
 | 
						|
 | 
						|
  //
 | 
						|
  // session-wide parameters
 | 
						|
  //
 | 
						|
  UINT16                    TargetPortalGroupTag;
 | 
						|
  UINT32                    MaxConnections;
 | 
						|
  BOOLEAN                   InitialR2T;
 | 
						|
  BOOLEAN                   ImmediateData;
 | 
						|
  UINT32                    MaxBurstLength;
 | 
						|
  UINT32                    FirstBurstLength;
 | 
						|
  UINT32                    DefaultTime2Wait;
 | 
						|
  UINT32                    DefaultTime2Retain;
 | 
						|
  UINT16                    MaxOutstandingR2T;
 | 
						|
  BOOLEAN                   DataPDUInOrder;
 | 
						|
  BOOLEAN                   DataSequenceInOrder;
 | 
						|
  UINT8                     ErrorRecoveryLevel;
 | 
						|
};
 | 
						|
 | 
						|
#define ISCSI_CONNECTION_SIGNATURE  SIGNATURE_32 ('I', 'S', 'C', 'N')
 | 
						|
 | 
						|
struct _ISCSI_CONNECTION {
 | 
						|
  UINT32            Signature;
 | 
						|
  LIST_ENTRY        Link;
 | 
						|
 | 
						|
  EFI_EVENT         TimeoutEvent;
 | 
						|
 | 
						|
  ISCSI_SESSION     *Session;
 | 
						|
 | 
						|
  UINT8             State;
 | 
						|
  UINT8             CurrentStage;
 | 
						|
  UINT8             NextStage;
 | 
						|
 | 
						|
  UINT8             CHAPStep;
 | 
						|
 | 
						|
  BOOLEAN           PartialReqSent;
 | 
						|
  BOOLEAN           PartialRspRcvd;
 | 
						|
 | 
						|
  BOOLEAN           TransitInitiated;
 | 
						|
 | 
						|
  UINT16            CID;
 | 
						|
  UINT32            ExpStatSN;
 | 
						|
 | 
						|
  //
 | 
						|
  // queues...
 | 
						|
  //
 | 
						|
  NET_BUF_QUEUE     RspQue;
 | 
						|
 | 
						|
  TCP4_IO           Tcp4Io;
 | 
						|
 | 
						|
  //
 | 
						|
  // connection-only parameters
 | 
						|
  //
 | 
						|
  UINT32            MaxRecvDataSegmentLength;
 | 
						|
  ISCSI_DIGEST_TYPE HeaderDigest;
 | 
						|
  ISCSI_DIGEST_TYPE DataDigest;
 | 
						|
};
 | 
						|
 | 
						|
#define ISCSI_DRIVER_DATA_SIGNATURE SIGNATURE_32 ('I', 'S', 'D', 'A')
 | 
						|
 | 
						|
#define ISCSI_DRIVER_DATA_FROM_EXT_SCSI_PASS_THRU(PassThru) \
 | 
						|
  CR ( \
 | 
						|
  PassThru, \
 | 
						|
  ISCSI_DRIVER_DATA, \
 | 
						|
  IScsiExtScsiPassThru, \
 | 
						|
  ISCSI_DRIVER_DATA_SIGNATURE \
 | 
						|
  )
 | 
						|
#define ISCSI_DRIVER_DATA_FROM_IDENTIFIER(Identifier) \
 | 
						|
  CR ( \
 | 
						|
  Identifier, \
 | 
						|
  ISCSI_DRIVER_DATA, \
 | 
						|
  IScsiIdentifier, \
 | 
						|
  ISCSI_DRIVER_DATA_SIGNATURE \
 | 
						|
  )
 | 
						|
#define ISCSI_DRIVER_DATA_FROM_SESSION(s) \
 | 
						|
  CR ( \
 | 
						|
  s, \
 | 
						|
  ISCSI_DRIVER_DATA, \
 | 
						|
  Session, \
 | 
						|
  ISCSI_DRIVER_DATA_SIGNATURE \
 | 
						|
  )
 | 
						|
 | 
						|
struct _ISCSI_DRIVER_DATA {
 | 
						|
  UINT32                          Signature;
 | 
						|
  EFI_HANDLE                      Image;
 | 
						|
  EFI_HANDLE                      Controller;
 | 
						|
  ISCSI_PRIVATE_PROTOCOL          IScsiIdentifier;
 | 
						|
 | 
						|
  EFI_EVENT                       ExitBootServiceEvent;
 | 
						|
 | 
						|
  EFI_EXT_SCSI_PASS_THRU_PROTOCOL IScsiExtScsiPassThru;
 | 
						|
  EFI_EXT_SCSI_PASS_THRU_MODE     ExtScsiPassThruMode;
 | 
						|
  EFI_HANDLE                      ExtScsiPassThruHandle;
 | 
						|
  EFI_DEVICE_PATH_PROTOCOL        *DevicePath;
 | 
						|
 | 
						|
  ISCSI_SESSION                   Session;
 | 
						|
};
 | 
						|
 | 
						|
#endif
 |