REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the NetworkPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
		
			
				
	
	
		
			229 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			229 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Header file of the Driver Binding and Service Binding Protocol for TlsDxe driver.
 | 
						|
 | 
						|
  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
 | 
						|
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef __EFI_TLS_DRIVER_H__
 | 
						|
#define __EFI_TLS_DRIVER_H__
 | 
						|
 | 
						|
#include <Uefi.h>
 | 
						|
 | 
						|
//
 | 
						|
// Driver Protocols
 | 
						|
//
 | 
						|
#include <Protocol/ServiceBinding.h>
 | 
						|
 | 
						|
//
 | 
						|
// Driver Version
 | 
						|
//
 | 
						|
#define TLS_VERSION  0x00000000
 | 
						|
 | 
						|
#define TLS_SERVICE_SIGNATURE  SIGNATURE_32 ('T', 'L', 'S', 'S')
 | 
						|
 | 
						|
#define TLS_INSTANCE_SIGNATURE  SIGNATURE_32 ('T', 'L', 'S', 'I')
 | 
						|
 | 
						|
///
 | 
						|
/// TLS Service Data
 | 
						|
///
 | 
						|
typedef struct _TLS_SERVICE TLS_SERVICE;
 | 
						|
 | 
						|
///
 | 
						|
/// TLS Instance Data
 | 
						|
///
 | 
						|
typedef struct _TLS_INSTANCE TLS_INSTANCE;
 | 
						|
 | 
						|
struct _TLS_SERVICE {
 | 
						|
  UINT32                          Signature;
 | 
						|
  EFI_SERVICE_BINDING_PROTOCOL    ServiceBinding;
 | 
						|
 | 
						|
  UINT16                          TlsChildrenNum;
 | 
						|
  LIST_ENTRY                      TlsChildrenList;
 | 
						|
 | 
						|
  //
 | 
						|
  // Handle to install TlsServiceBinding protocol.
 | 
						|
  //
 | 
						|
  EFI_HANDLE                      Handle;
 | 
						|
  EFI_HANDLE                      ImageHandle;
 | 
						|
 | 
						|
  //
 | 
						|
  // Main SSL Context object which is created by a server or client once per program
 | 
						|
  // life-time and which holds mainly default values for the SSL object which are later
 | 
						|
  // created for the connections.
 | 
						|
  //
 | 
						|
  VOID                            *TlsCtx;
 | 
						|
};
 | 
						|
 | 
						|
struct _TLS_INSTANCE {
 | 
						|
  UINT32                            Signature;
 | 
						|
  LIST_ENTRY                        Link;
 | 
						|
 | 
						|
  BOOLEAN                           InDestroy;
 | 
						|
 | 
						|
  TLS_SERVICE                       *Service;
 | 
						|
  EFI_HANDLE                        ChildHandle;
 | 
						|
 | 
						|
  EFI_TLS_PROTOCOL                  Tls;
 | 
						|
  EFI_TLS_CONFIGURATION_PROTOCOL    TlsConfig;
 | 
						|
 | 
						|
  EFI_TLS_SESSION_STATE             TlsSessionState;
 | 
						|
 | 
						|
  //
 | 
						|
  // Main SSL Connection which is created by a server or a client
 | 
						|
  // per established connection.
 | 
						|
  //
 | 
						|
  VOID                              *TlsConn;
 | 
						|
};
 | 
						|
 | 
						|
#define TLS_SERVICE_FROM_THIS(a)   \
 | 
						|
  CR (a, TLS_SERVICE, ServiceBinding, TLS_SERVICE_SIGNATURE)
 | 
						|
 | 
						|
#define TLS_INSTANCE_FROM_PROTOCOL(a)  \
 | 
						|
  CR (a, TLS_INSTANCE, Tls, TLS_INSTANCE_SIGNATURE)
 | 
						|
 | 
						|
#define TLS_INSTANCE_FROM_CONFIGURATION(a)  \
 | 
						|
  CR (a, TLS_INSTANCE, TlsConfig, TLS_INSTANCE_SIGNATURE)
 | 
						|
 | 
						|
/**
 | 
						|
  Release all the resources used by the TLS instance.
 | 
						|
 | 
						|
  @param[in]  Instance        The TLS instance data.
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
TlsCleanInstance (
 | 
						|
  IN TLS_INSTANCE  *Instance
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Create the TLS instance and initialize it.
 | 
						|
 | 
						|
  @param[in]  Service              The pointer to the TLS service.
 | 
						|
  @param[out] Instance             The pointer to the TLS instance.
 | 
						|
 | 
						|
  @retval EFI_OUT_OF_RESOURCES   Failed to allocate resources.
 | 
						|
  @retval EFI_SUCCESS            The TLS instance is created.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
TlsCreateInstance (
 | 
						|
  IN  TLS_SERVICE   *Service,
 | 
						|
  OUT TLS_INSTANCE  **Instance
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Release all the resources used by the TLS service binding instance.
 | 
						|
 | 
						|
  @param[in]  Service        The TLS service data.
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
TlsCleanService (
 | 
						|
  IN TLS_SERVICE  *Service
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Create then initialize a TLS service.
 | 
						|
 | 
						|
  @param[in]  Image                  ImageHandle of the TLS driver
 | 
						|
  @param[out] Service                The service for TLS driver
 | 
						|
 | 
						|
  @retval EFI_OUT_OF_RESOURCES   Failed to allocate resource to create the service.
 | 
						|
  @retval EFI_SUCCESS            The service is created for the driver.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
TlsCreateService (
 | 
						|
  IN  EFI_HANDLE   Image,
 | 
						|
  OUT TLS_SERVICE  **Service
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Unloads an image.
 | 
						|
 | 
						|
  @param[in]  ImageHandle       Handle that identifies the image to be unloaded.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS           The image has been unloaded.
 | 
						|
  @retval EFI_INVALID_PARAMETER ImageHandle is not a valid image handle.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
TlsUnload (
 | 
						|
  IN EFI_HANDLE  ImageHandle
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  This is the declaration of an EFI image entry point. This entry point is
 | 
						|
  the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers including
 | 
						|
  both device drivers and bus drivers.
 | 
						|
 | 
						|
  @param  ImageHandle           The firmware allocated handle for the UEFI image.
 | 
						|
  @param  SystemTable           A pointer to the EFI System Table.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS           The operation completed successfully.
 | 
						|
  @retval Others                An unexpected error occurred.
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
TlsDriverEntryPoint (
 | 
						|
  IN EFI_HANDLE        ImageHandle,
 | 
						|
  IN EFI_SYSTEM_TABLE  *SystemTable
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Creates a child handle and installs a protocol.
 | 
						|
 | 
						|
  The CreateChild() function installs a protocol on ChildHandle.
 | 
						|
  If ChildHandle is a pointer to NULL, then a new handle is created and returned in ChildHandle.
 | 
						|
  If ChildHandle is not a pointer to NULL, then the protocol installs on the existing ChildHandle.
 | 
						|
 | 
						|
  @param[in] This        Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
 | 
						|
  @param[in] ChildHandle Pointer to the handle of the child to create. If it is NULL,
 | 
						|
                         then a new handle is created. If it is a pointer to an existing UEFI handle,
 | 
						|
                         then the protocol is added to the existing UEFI handle.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS           The protocol was added to ChildHandle.
 | 
						|
  @retval EFI_INVALID_PARAMETER ChildHandle is NULL.
 | 
						|
  @retval EFI_OUT_OF_RESOURCES  There are not enough resources available to create
 | 
						|
                                the child.
 | 
						|
  @retval other                 The child handle was not created.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
TlsServiceBindingCreateChild (
 | 
						|
  IN EFI_SERVICE_BINDING_PROTOCOL  *This,
 | 
						|
  IN EFI_HANDLE                    *ChildHandle
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Destroys a child handle with a protocol installed on it.
 | 
						|
 | 
						|
  The DestroyChild() function does the opposite of CreateChild(). It removes a protocol
 | 
						|
  that was installed by CreateChild() from ChildHandle. If the removed protocol is the
 | 
						|
  last protocol on ChildHandle, then ChildHandle is destroyed.
 | 
						|
 | 
						|
  @param  This        Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
 | 
						|
  @param  ChildHandle Handle of the child to destroy.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS           The protocol was removed from ChildHandle.
 | 
						|
  @retval EFI_UNSUPPORTED       ChildHandle does not support the protocol that is being removed.
 | 
						|
  @retval EFI_INVALID_PARAMETER Child handle is NULL.
 | 
						|
  @retval EFI_ACCESS_DENIED     The protocol could not be removed from the ChildHandle
 | 
						|
                                because its services are being used.
 | 
						|
  @retval other                 The child handle was not destroyed.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
TlsServiceBindingDestroyChild (
 | 
						|
  IN EFI_SERVICE_BINDING_PROTOCOL  *This,
 | 
						|
  IN EFI_HANDLE                    ChildHandle
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 |