VirtualBox

Ignore:
Timestamp:
Apr 14, 2023 3:17:44 PM (20 months ago)
Author:
vboxsync
Message:

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.c

    r85718 r99404  
    1010#include "PxeBcImpl.h"
    1111
    12 CHAR8 *mMtftpOptions[PXE_MTFTP_OPTION_MAXIMUM_INDEX] = {
     12CHAR8  *mMtftpOptions[PXE_MTFTP_OPTION_MAXIMUM_INDEX] = {
    1313  "blksize",
    1414  "timeout",
     
    1818};
    1919
    20 
    2120/**
    2221  This is a callback function when packets are received or transmitted in Mtftp driver.
     
    4039EFIAPI
    4140PxeBcMtftp6CheckPacket (
    42   IN EFI_MTFTP6_PROTOCOL              *This,
    43   IN EFI_MTFTP6_TOKEN                 *Token,
    44   IN UINT16                           PacketLen,
    45   IN EFI_MTFTP6_PACKET                *Packet
    46   )
    47 {
    48   PXEBC_PRIVATE_DATA                  *Private;
    49   EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL *Callback;
    50   EFI_STATUS                          Status;
    51 
    52   Private   = (PXEBC_PRIVATE_DATA *) Token->Context;
    53   Callback  = Private->PxeBcCallback;
    54   Status    = EFI_SUCCESS;
     41  IN EFI_MTFTP6_PROTOCOL  *This,
     42  IN EFI_MTFTP6_TOKEN     *Token,
     43  IN UINT16               PacketLen,
     44  IN EFI_MTFTP6_PACKET    *Packet
     45  )
     46{
     47  PXEBC_PRIVATE_DATA                   *Private;
     48  EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL  *Callback;
     49  EFI_STATUS                           Status;
     50
     51  Private  = (PXEBC_PRIVATE_DATA *)Token->Context;
     52  Callback = Private->PxeBcCallback;
     53  Status   = EFI_SUCCESS;
    5554
    5655  if (Packet->OpCode == EFI_MTFTP6_OPCODE_ERROR) {
     
    5958    //
    6059    Private->Mode.TftpErrorReceived   = TRUE;
    61     Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;
     60    Private->Mode.TftpError.ErrorCode = (UINT8)Packet->Error.ErrorCode;
    6261    AsciiStrnCpyS (
    6362      Private->Mode.TftpError.ErrorString,
    6463      PXE_MTFTP_ERROR_STRING_LENGTH,
    65       (CHAR8 *) Packet->Error.ErrorMessage,
     64      (CHAR8 *)Packet->Error.ErrorMessage,
    6665      PXE_MTFTP_ERROR_STRING_LENGTH - 1
    6766      );
     
    7473    //
    7574    Status = Callback->Callback (
    76                         Callback,
    77                         Private->Function,
    78                         TRUE,
    79                         PacketLen,
    80                         (EFI_PXE_BASE_CODE_PACKET *) Packet
    81                         );
     75                         Callback,
     76                         Private->Function,
     77                         TRUE,
     78                         PacketLen,
     79                         (EFI_PXE_BASE_CODE_PACKET *)Packet
     80                         );
    8281    if (Status != EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE) {
    8382      //
     
    9695}
    9796
    98 
    9997/**
    10098  This function is to get the size of a file using Tftp.
     
    115113EFI_STATUS
    116114PxeBcMtftp6GetFileSize (
    117   IN     PXEBC_PRIVATE_DATA           *Private,
    118   IN     EFI_MTFTP6_CONFIG_DATA       *Config,
    119   IN     UINT8                        *Filename,
    120   IN     UINTN                        *BlockSize,
    121   IN     UINTN                        *WindowSize,
    122   IN OUT UINT64                       *BufferSize
    123   )
    124 {
    125   EFI_MTFTP6_PROTOCOL                 *Mtftp6;
    126   EFI_MTFTP6_OPTION                   ReqOpt[3];
    127   EFI_MTFTP6_PACKET                   *Packet;
    128   EFI_MTFTP6_OPTION                   *Option;
    129   UINT32                              PktLen;
    130   UINT8                               OptBuf[PXE_MTFTP_OPTBUF_MAXNUM_INDEX];
    131   UINTN                               OptBufSize;
    132   UINT32                              OptCnt;
    133   EFI_STATUS                          Status;
     115  IN     PXEBC_PRIVATE_DATA      *Private,
     116  IN     EFI_MTFTP6_CONFIG_DATA  *Config,
     117  IN     UINT8                   *Filename,
     118  IN     UINTN                   *BlockSize,
     119  IN     UINTN                   *WindowSize,
     120  IN OUT UINT64                  *BufferSize
     121  )
     122{
     123  EFI_MTFTP6_PROTOCOL  *Mtftp6;
     124  EFI_MTFTP6_OPTION    ReqOpt[3];
     125  EFI_MTFTP6_PACKET    *Packet;
     126  EFI_MTFTP6_OPTION    *Option;
     127  UINT32               PktLen;
     128  UINT8                OptBuf[PXE_MTFTP_OPTBUF_MAXNUM_INDEX];
     129  UINTN                OptBufSize;
     130  UINT32               OptCnt;
     131  EFI_STATUS           Status;
    134132
    135133  *BufferSize               = 0;
     
    151149  // Build the required options for get info.
    152150  //
    153   ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX];
     151  ReqOpt[0].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX];
    154152  PxeBcUintnToAscDec (0, OptBuf, OptBufSize);
    155   ReqOpt[0].ValueStr  = OptBuf;
     153  ReqOpt[0].ValueStr = OptBuf;
    156154
    157155  if (BlockSize != NULL) {
    158     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    159     ReqOpt[OptCnt].ValueStr  = (UINT8 *) (ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
    160     OptBufSize -= (AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     156    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     157    ReqOpt[OptCnt].ValueStr  = (UINT8 *)(ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *)ReqOpt[OptCnt-1].ValueStr) + 1);
     158    OptBufSize              -= (AsciiStrLen ((CHAR8 *)ReqOpt[OptCnt-1].ValueStr) + 1);
    161159    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, OptBufSize);
    162160    OptCnt++;
     
    164162
    165163  if (WindowSize != NULL) {
    166     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
    167     ReqOpt[OptCnt].ValueStr  = (UINT8 *) (ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
    168     OptBufSize -= (AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     164    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     165    ReqOpt[OptCnt].ValueStr  = (UINT8 *)(ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *)ReqOpt[OptCnt-1].ValueStr) + 1);
     166    OptBufSize              -= (AsciiStrLen ((CHAR8 *)ReqOpt[OptCnt-1].ValueStr) + 1);
    169167    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, OptBufSize);
    170168    OptCnt++;
     
    176174                     Filename,
    177175                     NULL,
    178                      (UINT8) OptCnt,
     176                     (UINT8)OptCnt,
    179177                     ReqOpt,
    180178                     &PktLen,
     
    187185      //
    188186      Private->Mode.TftpErrorReceived   = TRUE;
    189       Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;
     187      Private->Mode.TftpError.ErrorCode = (UINT8)Packet->Error.ErrorCode;
    190188      AsciiStrnCpyS (
    191189        Private->Mode.TftpError.ErrorString,
    192190        PXE_MTFTP_ERROR_STRING_LENGTH,
    193         (CHAR8 *) Packet->Error.ErrorMessage,
     191        (CHAR8 *)Packet->Error.ErrorMessage,
    194192        PXE_MTFTP_ERROR_STRING_LENGTH - 1
    195193        );
    196194      Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0';
    197195    }
     196
    198197    goto ON_ERROR;
    199198  }
     
    207206                     PktLen,
    208207                     Packet,
    209                      (UINT32 *) &OptCnt,
     208                     (UINT32 *)&OptCnt,
    210209                     &Option
    211210                     );
     
    219218  Status = EFI_NOT_FOUND;
    220219  while (OptCnt != 0) {
    221     if (AsciiStrnCmp ((CHAR8 *) Option[OptCnt - 1].OptionStr, "tsize", 5) == 0) {
    222       *BufferSize = AsciiStrDecimalToUint64 ((CHAR8 *) (Option[OptCnt - 1].ValueStr));
     220    if (AsciiStrnCmp ((CHAR8 *)Option[OptCnt - 1].OptionStr, "tsize", 5) == 0) {
     221      *BufferSize = AsciiStrDecimalToUint64 ((CHAR8 *)(Option[OptCnt - 1].ValueStr));
    223222      Status      = EFI_SUCCESS;
    224223    }
     224
    225225    OptCnt--;
    226226  }
     227
    227228  FreePool (Option);
    228229
     
    231232    FreePool (Packet);
    232233  }
     234
    233235  Mtftp6->Configure (Mtftp6, NULL);
    234236
    235237  return Status;
    236238}
    237 
    238239
    239240/**
     
    256257EFI_STATUS
    257258PxeBcMtftp6ReadFile (
    258   IN    PXEBC_PRIVATE_DATA            *Private,
    259   IN     EFI_MTFTP6_CONFIG_DATA       *Config,
    260   IN     UINT8                        *Filename,
    261   IN     UINTN                        *BlockSize,
    262   IN     UINTN                        *WindowSize,
    263   IN     UINT8                        *BufferPtr,
    264   IN OUT UINT64                       *BufferSize,
    265   IN     BOOLEAN                      DontUseBuffer
    266   )
    267 {
    268   EFI_MTFTP6_PROTOCOL                 *Mtftp6;
    269   EFI_MTFTP6_TOKEN                    Token;
    270   EFI_MTFTP6_OPTION                   ReqOpt[2];
    271   UINT32                              OptCnt;
    272   UINT8                               BlksizeBuf[10];
    273   UINT8                               WindowsizeBuf[10];
    274   EFI_STATUS                          Status;
     259  IN    PXEBC_PRIVATE_DATA       *Private,
     260  IN     EFI_MTFTP6_CONFIG_DATA  *Config,
     261  IN     UINT8                   *Filename,
     262  IN     UINTN                   *BlockSize,
     263  IN     UINTN                   *WindowSize,
     264  IN     UINT8                   *BufferPtr,
     265  IN OUT UINT64                  *BufferSize,
     266  IN     BOOLEAN                 DontUseBuffer
     267  )
     268{
     269  EFI_MTFTP6_PROTOCOL  *Mtftp6;
     270  EFI_MTFTP6_TOKEN     Token;
     271  EFI_MTFTP6_OPTION    ReqOpt[2];
     272  UINT32               OptCnt;
     273  UINT8                BlksizeBuf[10];
     274  UINT8                WindowsizeBuf[10];
     275  EFI_STATUS           Status;
    275276
    276277  Status                    = EFI_DEVICE_ERROR;
     
    285286
    286287  if (BlockSize != NULL) {
    287     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     288    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    288289    ReqOpt[OptCnt].ValueStr  = BlksizeBuf;
    289290    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, sizeof (BlksizeBuf));
     
    292293
    293294  if (WindowSize != NULL) {
    294     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     295    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
    295296    ReqOpt[OptCnt].ValueStr  = WindowsizeBuf;
    296297    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, sizeof (WindowsizeBuf));
     
    298299  }
    299300
    300 
    301   Token.Event         = NULL;
    302   Token.OverrideData  = NULL;
    303   Token.Filename      = Filename;
    304   Token.ModeStr       = NULL;
    305   Token.OptionCount   = OptCnt;
    306   Token.OptionList    = ReqOpt;
    307   Token.Context       = Private;
     301  Token.Event        = NULL;
     302  Token.OverrideData = NULL;
     303  Token.Filename     = Filename;
     304  Token.ModeStr      = NULL;
     305  Token.OptionCount  = OptCnt;
     306  Token.OptionList   = ReqOpt;
     307  Token.Context      = Private;
    308308
    309309  if (DontUseBuffer) {
    310     Token.BufferSize  = 0;
    311     Token.Buffer      = NULL;
     310    Token.BufferSize = 0;
     311    Token.Buffer     = NULL;
    312312  } else {
    313     Token.BufferSize  = *BufferSize;
    314     Token.Buffer      = BufferPtr;
     313    Token.BufferSize = *BufferSize;
     314    Token.Buffer     = BufferPtr;
    315315  }
    316316
     
    329329  return Status;
    330330}
    331 
    332331
    333332/**
     
    349348EFI_STATUS
    350349PxeBcMtftp6WriteFile (
    351   IN     PXEBC_PRIVATE_DATA           *Private,
    352   IN     EFI_MTFTP6_CONFIG_DATA       *Config,
    353   IN     UINT8                        *Filename,
    354   IN     BOOLEAN                      Overwrite,
    355   IN     UINTN                        *BlockSize,
    356   IN     UINT8                        *BufferPtr,
    357   IN OUT UINT64                       *BufferSize
    358   )
    359 {
    360   EFI_MTFTP6_PROTOCOL                 *Mtftp6;
    361   EFI_MTFTP6_TOKEN                    Token;
    362   EFI_MTFTP6_OPTION                   ReqOpt[1];
    363   UINT32                              OptCnt;
    364   UINT8                               OptBuf[128];
    365   EFI_STATUS                          Status;
     350  IN     PXEBC_PRIVATE_DATA      *Private,
     351  IN     EFI_MTFTP6_CONFIG_DATA  *Config,
     352  IN     UINT8                   *Filename,
     353  IN     BOOLEAN                 Overwrite,
     354  IN     UINTN                   *BlockSize,
     355  IN     UINT8                   *BufferPtr,
     356  IN OUT UINT64                  *BufferSize
     357  )
     358{
     359  EFI_MTFTP6_PROTOCOL  *Mtftp6;
     360  EFI_MTFTP6_TOKEN     Token;
     361  EFI_MTFTP6_OPTION    ReqOpt[1];
     362  UINT32               OptCnt;
     363  UINT8                OptBuf[128];
     364  EFI_STATUS           Status;
    366365
    367366  Status                    = EFI_DEVICE_ERROR;
     
    376375
    377376  if (BlockSize != NULL) {
    378     ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     377    ReqOpt[0].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    379378    ReqOpt[0].ValueStr  = OptBuf;
    380379    PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);
     
    405404}
    406405
    407 
    408406/**
    409407  This function is to read the data (file) from a directory using Tftp.
     
    425423EFI_STATUS
    426424PxeBcMtftp6ReadDirectory (
    427   IN     PXEBC_PRIVATE_DATA            *Private,
    428   IN     EFI_MTFTP6_CONFIG_DATA        *Config,
    429   IN     UINT8                         *Filename,
    430   IN     UINTN                         *BlockSize,
    431   IN     UINTN                         *WindowSize,
    432   IN     UINT8                         *BufferPtr,
    433   IN OUT UINT64                        *BufferSize,
    434   IN     BOOLEAN                       DontUseBuffer
    435   )
    436 {
    437   EFI_MTFTP6_PROTOCOL                  *Mtftp6;
    438   EFI_MTFTP6_TOKEN                     Token;
    439   EFI_MTFTP6_OPTION                    ReqOpt[2];
    440   UINT32                               OptCnt;
    441   UINT8                                BlksizeBuf[10];
    442   UINT8                                WindowsizeBuf[10];
    443   EFI_STATUS                           Status;
     425  IN     PXEBC_PRIVATE_DATA      *Private,
     426  IN     EFI_MTFTP6_CONFIG_DATA  *Config,
     427  IN     UINT8                   *Filename,
     428  IN     UINTN                   *BlockSize,
     429  IN     UINTN                   *WindowSize,
     430  IN     UINT8                   *BufferPtr,
     431  IN OUT UINT64                  *BufferSize,
     432  IN     BOOLEAN                 DontUseBuffer
     433  )
     434{
     435  EFI_MTFTP6_PROTOCOL  *Mtftp6;
     436  EFI_MTFTP6_TOKEN     Token;
     437  EFI_MTFTP6_OPTION    ReqOpt[2];
     438  UINT32               OptCnt;
     439  UINT8                BlksizeBuf[10];
     440  UINT8                WindowsizeBuf[10];
     441  EFI_STATUS           Status;
    444442
    445443  Status                    = EFI_DEVICE_ERROR;
     
    454452
    455453  if (BlockSize != NULL) {
    456     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     454    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    457455    ReqOpt[OptCnt].ValueStr  = BlksizeBuf;
    458456    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, sizeof (BlksizeBuf));
     
    461459
    462460  if (WindowSize != NULL) {
    463     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     461    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
    464462    ReqOpt[OptCnt].ValueStr  = WindowsizeBuf;
    465463    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, sizeof (WindowsizeBuf));
     
    467465  }
    468466
    469   Token.Event         = NULL;
    470   Token.OverrideData  = NULL;
    471   Token.Filename      = Filename;
    472   Token.ModeStr       = NULL;
    473   Token.OptionCount   = OptCnt;
    474   Token.OptionList    = ReqOpt;
    475   Token.Context       = Private;
     467  Token.Event        = NULL;
     468  Token.OverrideData = NULL;
     469  Token.Filename     = Filename;
     470  Token.ModeStr      = NULL;
     471  Token.OptionCount  = OptCnt;
     472  Token.OptionList   = ReqOpt;
     473  Token.Context      = Private;
    476474
    477475  if (DontUseBuffer) {
    478     Token.BufferSize  = 0;
    479     Token.Buffer      = NULL;
     476    Token.BufferSize = 0;
     477    Token.Buffer     = NULL;
    480478  } else {
    481     Token.BufferSize  = *BufferSize;
    482     Token.Buffer      = BufferPtr;
     479    Token.BufferSize = *BufferSize;
     480    Token.Buffer     = BufferPtr;
    483481  }
    484482
     
    497495  return Status;
    498496}
    499 
    500497
    501498/**
     
    520517EFIAPI
    521518PxeBcMtftp4CheckPacket (
    522   IN EFI_MTFTP4_PROTOCOL        *This,
    523   IN EFI_MTFTP4_TOKEN           *Token,
    524   IN UINT16                     PacketLen,
    525   IN EFI_MTFTP4_PACKET          *Packet
    526   )
    527 {
    528   PXEBC_PRIVATE_DATA                  *Private;
    529   EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL *Callback;
    530   EFI_STATUS                          Status;
    531 
    532   Private   = (PXEBC_PRIVATE_DATA *) Token->Context;
    533   Callback  = Private->PxeBcCallback;
    534   Status    = EFI_SUCCESS;
     519  IN EFI_MTFTP4_PROTOCOL  *This,
     520  IN EFI_MTFTP4_TOKEN     *Token,
     521  IN UINT16               PacketLen,
     522  IN EFI_MTFTP4_PACKET    *Packet
     523  )
     524{
     525  PXEBC_PRIVATE_DATA                   *Private;
     526  EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL  *Callback;
     527  EFI_STATUS                           Status;
     528
     529  Private  = (PXEBC_PRIVATE_DATA *)Token->Context;
     530  Callback = Private->PxeBcCallback;
     531  Status   = EFI_SUCCESS;
    535532
    536533  if (Packet->OpCode == EFI_MTFTP4_OPCODE_ERROR) {
     
    539536    //
    540537    Private->Mode.TftpErrorReceived   = TRUE;
    541     Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;
     538    Private->Mode.TftpError.ErrorCode = (UINT8)Packet->Error.ErrorCode;
    542539    AsciiStrnCpyS (
    543540      Private->Mode.TftpError.ErrorString,
    544541      PXE_MTFTP_ERROR_STRING_LENGTH,
    545       (CHAR8 *) Packet->Error.ErrorMessage,
     542      (CHAR8 *)Packet->Error.ErrorMessage,
    546543      PXE_MTFTP_ERROR_STRING_LENGTH - 1
    547544      );
     
    554551    //
    555552    Status = Callback->Callback (
    556                         Callback,
    557                         Private->Function,
    558                         TRUE,
    559                         PacketLen,
    560                         (EFI_PXE_BASE_CODE_PACKET *) Packet
    561                         );
     553                         Callback,
     554                         Private->Function,
     555                         TRUE,
     556                         PacketLen,
     557                         (EFI_PXE_BASE_CODE_PACKET *)Packet
     558                         );
    562559    if (Status != EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE) {
    563560      //
     
    576573}
    577574
    578 
    579575/**
    580576  This function is to get size of a file using Tftp.
     
    595591EFI_STATUS
    596592PxeBcMtftp4GetFileSize (
    597   IN     PXEBC_PRIVATE_DATA         *Private,
    598   IN     EFI_MTFTP4_CONFIG_DATA     *Config,
    599   IN     UINT8                      *Filename,
    600   IN     UINTN                      *BlockSize,
    601   IN     UINTN                      *WindowSize,
    602   IN OUT UINT64                     *BufferSize
    603   )
    604 {
    605   EFI_MTFTP4_PROTOCOL *Mtftp4;
    606   EFI_MTFTP4_OPTION   ReqOpt[3];
    607   EFI_MTFTP4_PACKET   *Packet;
    608   EFI_MTFTP4_OPTION   *Option;
    609   UINT32              PktLen;
    610   UINT8               OptBuf[PXE_MTFTP_OPTBUF_MAXNUM_INDEX];
    611   UINTN               OptBufSize;
    612   UINT32              OptCnt;
    613   EFI_STATUS          Status;
     593  IN     PXEBC_PRIVATE_DATA      *Private,
     594  IN     EFI_MTFTP4_CONFIG_DATA  *Config,
     595  IN     UINT8                   *Filename,
     596  IN     UINTN                   *BlockSize,
     597  IN     UINTN                   *WindowSize,
     598  IN OUT UINT64                  *BufferSize
     599  )
     600{
     601  EFI_MTFTP4_PROTOCOL  *Mtftp4;
     602  EFI_MTFTP4_OPTION    ReqOpt[3];
     603  EFI_MTFTP4_PACKET    *Packet;
     604  EFI_MTFTP4_OPTION    *Option;
     605  UINT32               PktLen;
     606  UINT8                OptBuf[PXE_MTFTP_OPTBUF_MAXNUM_INDEX];
     607  UINTN                OptBufSize;
     608  UINT32               OptCnt;
     609  EFI_STATUS           Status;
    614610
    615611  *BufferSize               = 0;
     
    631627  // Build the required options for get info.
    632628  //
    633   ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX];
     629  ReqOpt[0].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX];
    634630  PxeBcUintnToAscDec (0, OptBuf, OptBufSize);
    635   ReqOpt[0].ValueStr  = OptBuf;
     631  ReqOpt[0].ValueStr = OptBuf;
    636632
    637633  if (BlockSize != NULL) {
    638     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    639     ReqOpt[OptCnt].ValueStr  = (UINT8 *) (ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
    640     OptBufSize -= (AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     634    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     635    ReqOpt[OptCnt].ValueStr  = (UINT8 *)(ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *)ReqOpt[OptCnt-1].ValueStr) + 1);
     636    OptBufSize              -= (AsciiStrLen ((CHAR8 *)ReqOpt[OptCnt-1].ValueStr) + 1);
    641637    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, OptBufSize);
    642638    OptCnt++;
     
    644640
    645641  if (WindowSize != NULL) {
    646     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
    647     ReqOpt[OptCnt].ValueStr  = (UINT8 *) (ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
    648     OptBufSize -= (AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     642    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     643    ReqOpt[OptCnt].ValueStr  = (UINT8 *)(ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *)ReqOpt[OptCnt-1].ValueStr) + 1);
     644    OptBufSize              -= (AsciiStrLen ((CHAR8 *)ReqOpt[OptCnt-1].ValueStr) + 1);
    649645    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, OptBufSize);
    650646    OptCnt++;
     
    656652                     Filename,
    657653                     NULL,
    658                      (UINT8) OptCnt,
     654                     (UINT8)OptCnt,
    659655                     ReqOpt,
    660656                     &PktLen,
     
    667663      //
    668664      Private->Mode.TftpErrorReceived   = TRUE;
    669       Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;
     665      Private->Mode.TftpError.ErrorCode = (UINT8)Packet->Error.ErrorCode;
    670666      AsciiStrnCpyS (
    671667        Private->Mode.TftpError.ErrorString,
    672668        PXE_MTFTP_ERROR_STRING_LENGTH,
    673         (CHAR8 *) Packet->Error.ErrorMessage,
     669        (CHAR8 *)Packet->Error.ErrorMessage,
    674670        PXE_MTFTP_ERROR_STRING_LENGTH - 1
    675671        );
    676672      Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0';
    677673    }
     674
    678675    goto ON_ERROR;
    679676  }
     
    687684                     PktLen,
    688685                     Packet,
    689                      (UINT32 *) &OptCnt,
     686                     (UINT32 *)&OptCnt,
    690687                     &Option
    691688                     );
     
    699696  Status = EFI_NOT_FOUND;
    700697  while (OptCnt != 0) {
    701     if (AsciiStrnCmp ((CHAR8 *) Option[OptCnt - 1].OptionStr, "tsize", 5) == 0) {
    702       *BufferSize = AsciiStrDecimalToUint64 ((CHAR8 *) (Option[OptCnt - 1].ValueStr));
     698    if (AsciiStrnCmp ((CHAR8 *)Option[OptCnt - 1].OptionStr, "tsize", 5) == 0) {
     699      *BufferSize = AsciiStrDecimalToUint64 ((CHAR8 *)(Option[OptCnt - 1].ValueStr));
    703700      Status      = EFI_SUCCESS;
    704701    }
     702
    705703    OptCnt--;
    706704  }
     705
    707706  FreePool (Option);
    708707
     
    711710    FreePool (Packet);
    712711  }
     712
    713713  Mtftp4->Configure (Mtftp4, NULL);
    714714
    715715  return Status;
    716716}
    717 
    718717
    719718/**
     
    736735EFI_STATUS
    737736PxeBcMtftp4ReadFile (
    738   IN     PXEBC_PRIVATE_DATA         *Private,
    739   IN     EFI_MTFTP4_CONFIG_DATA     *Config,
    740   IN     UINT8                      *Filename,
    741   IN     UINTN                      *BlockSize,
    742   IN     UINTN                      *WindowSize,
    743   IN     UINT8                      *BufferPtr,
    744   IN OUT UINT64                     *BufferSize,
    745   IN     BOOLEAN                    DontUseBuffer
    746   )
    747 {
    748   EFI_MTFTP4_PROTOCOL *Mtftp4;
    749   EFI_MTFTP4_TOKEN    Token;
    750   EFI_MTFTP4_OPTION   ReqOpt[2];
    751   UINT32              OptCnt;
    752   UINT8               BlksizeBuf[10];
    753   UINT8               WindowsizeBuf[10];
    754   EFI_STATUS          Status;
     737  IN     PXEBC_PRIVATE_DATA      *Private,
     738  IN     EFI_MTFTP4_CONFIG_DATA  *Config,
     739  IN     UINT8                   *Filename,
     740  IN     UINTN                   *BlockSize,
     741  IN     UINTN                   *WindowSize,
     742  IN     UINT8                   *BufferPtr,
     743  IN OUT UINT64                  *BufferSize,
     744  IN     BOOLEAN                 DontUseBuffer
     745  )
     746{
     747  EFI_MTFTP4_PROTOCOL  *Mtftp4;
     748  EFI_MTFTP4_TOKEN     Token;
     749  EFI_MTFTP4_OPTION    ReqOpt[2];
     750  UINT32               OptCnt;
     751  UINT8                BlksizeBuf[10];
     752  UINT8                WindowsizeBuf[10];
     753  EFI_STATUS           Status;
    755754
    756755  Status                    = EFI_DEVICE_ERROR;
     
    765764
    766765  if (BlockSize != NULL) {
    767     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     766    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    768767    ReqOpt[OptCnt].ValueStr  = BlksizeBuf;
    769768    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, sizeof (BlksizeBuf));
     
    772771
    773772  if (WindowSize != NULL) {
    774     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     773    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
    775774    ReqOpt[OptCnt].ValueStr  = WindowsizeBuf;
    776775    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, sizeof (WindowsizeBuf));
     
    778777  }
    779778
    780   Token.Event         = NULL;
    781   Token.OverrideData  = NULL;
    782   Token.Filename      = Filename;
    783   Token.ModeStr       = NULL;
    784   Token.OptionCount   = OptCnt;
    785   Token.OptionList    = ReqOpt;
    786   Token.Context       = Private;
     779  Token.Event        = NULL;
     780  Token.OverrideData = NULL;
     781  Token.Filename     = Filename;
     782  Token.ModeStr      = NULL;
     783  Token.OptionCount  = OptCnt;
     784  Token.OptionList   = ReqOpt;
     785  Token.Context      = Private;
    787786
    788787  if (DontUseBuffer) {
    789     Token.BufferSize  = 0;
    790     Token.Buffer      = NULL;
     788    Token.BufferSize = 0;
     789    Token.Buffer     = NULL;
    791790  } else {
    792     Token.BufferSize  = *BufferSize;
    793     Token.Buffer      = BufferPtr;
     791    Token.BufferSize = *BufferSize;
     792    Token.Buffer     = BufferPtr;
    794793  }
    795794
     
    808807  return Status;
    809808}
    810 
    811809
    812810/**
     
    828826EFI_STATUS
    829827PxeBcMtftp4WriteFile (
    830   IN     PXEBC_PRIVATE_DATA         *Private,
    831   IN     EFI_MTFTP4_CONFIG_DATA     *Config,
    832   IN     UINT8                      *Filename,
    833   IN     BOOLEAN                    Overwrite,
    834   IN     UINTN                      *BlockSize,
    835   IN     UINT8                      *BufferPtr,
    836   IN OUT UINT64                     *BufferSize
    837   )
    838 {
    839   EFI_MTFTP4_PROTOCOL *Mtftp4;
    840   EFI_MTFTP4_TOKEN    Token;
    841   EFI_MTFTP4_OPTION   ReqOpt[1];
    842   UINT32              OptCnt;
    843   UINT8               OptBuf[128];
    844   EFI_STATUS          Status;
     828  IN     PXEBC_PRIVATE_DATA      *Private,
     829  IN     EFI_MTFTP4_CONFIG_DATA  *Config,
     830  IN     UINT8                   *Filename,
     831  IN     BOOLEAN                 Overwrite,
     832  IN     UINTN                   *BlockSize,
     833  IN     UINT8                   *BufferPtr,
     834  IN OUT UINT64                  *BufferSize
     835  )
     836{
     837  EFI_MTFTP4_PROTOCOL  *Mtftp4;
     838  EFI_MTFTP4_TOKEN     Token;
     839  EFI_MTFTP4_OPTION    ReqOpt[1];
     840  UINT32               OptCnt;
     841  UINT8                OptBuf[128];
     842  EFI_STATUS           Status;
    845843
    846844  Status                    = EFI_DEVICE_ERROR;
     
    849847  Config->InitialServerPort = PXEBC_BS_DOWNLOAD_PORT;
    850848
    851   Status  = Mtftp4->Configure (Mtftp4, Config);
     849  Status = Mtftp4->Configure (Mtftp4, Config);
    852850  if (EFI_ERROR (Status)) {
    853851    return Status;
     
    855853
    856854  if (BlockSize != NULL) {
    857     ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     855    ReqOpt[0].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    858856    ReqOpt[0].ValueStr  = OptBuf;
    859857    PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);
     
    884882}
    885883
    886 
    887884/**
    888885  This function is to get data (file) from a directory using Tftp.
     
    904901EFI_STATUS
    905902PxeBcMtftp4ReadDirectory (
    906   IN     PXEBC_PRIVATE_DATA            *Private,
    907   IN     EFI_MTFTP4_CONFIG_DATA        *Config,
    908   IN     UINT8                         *Filename,
    909   IN     UINTN                         *BlockSize,
    910   IN     UINTN                         *WindowSize,
    911   IN     UINT8                         *BufferPtr,
    912   IN OUT UINT64                        *BufferSize,
    913   IN     BOOLEAN                       DontUseBuffer
    914   )
    915 {
    916   EFI_MTFTP4_PROTOCOL *Mtftp4;
    917   EFI_MTFTP4_TOKEN    Token;
    918   EFI_MTFTP4_OPTION   ReqOpt[2];
    919   UINT32              OptCnt;
    920   UINT8               BlksizeBuf[10];
    921   UINT8               WindowsizeBuf[10];
    922   EFI_STATUS          Status;
     903  IN     PXEBC_PRIVATE_DATA      *Private,
     904  IN     EFI_MTFTP4_CONFIG_DATA  *Config,
     905  IN     UINT8                   *Filename,
     906  IN     UINTN                   *BlockSize,
     907  IN     UINTN                   *WindowSize,
     908  IN     UINT8                   *BufferPtr,
     909  IN OUT UINT64                  *BufferSize,
     910  IN     BOOLEAN                 DontUseBuffer
     911  )
     912{
     913  EFI_MTFTP4_PROTOCOL  *Mtftp4;
     914  EFI_MTFTP4_TOKEN     Token;
     915  EFI_MTFTP4_OPTION    ReqOpt[2];
     916  UINT32               OptCnt;
     917  UINT8                BlksizeBuf[10];
     918  UINT8                WindowsizeBuf[10];
     919  EFI_STATUS           Status;
    923920
    924921  Status                    = EFI_DEVICE_ERROR;
     
    933930
    934931  if (BlockSize != NULL) {
    935     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     932    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    936933    ReqOpt[OptCnt].ValueStr  = BlksizeBuf;
    937934    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, sizeof (BlksizeBuf));
     
    940937
    941938  if (WindowSize != NULL) {
    942     ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     939    ReqOpt[OptCnt].OptionStr = (UINT8 *)mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
    943940    ReqOpt[OptCnt].ValueStr  = WindowsizeBuf;
    944941    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, sizeof (WindowsizeBuf));
     
    946943  }
    947944
    948   Token.Event         = NULL;
    949   Token.OverrideData  = NULL;
    950   Token.Filename      = Filename;
    951   Token.ModeStr       = NULL;
    952   Token.OptionCount   = OptCnt;
    953   Token.OptionList    = ReqOpt;
    954   Token.Context       = Private;
     945  Token.Event        = NULL;
     946  Token.OverrideData = NULL;
     947  Token.Filename     = Filename;
     948  Token.ModeStr      = NULL;
     949  Token.OptionCount  = OptCnt;
     950  Token.OptionList   = ReqOpt;
     951  Token.Context      = Private;
    955952
    956953  if (DontUseBuffer) {
    957     Token.BufferSize  = 0;
    958     Token.Buffer      = NULL;
     954    Token.BufferSize = 0;
     955    Token.Buffer     = NULL;
    959956  } else {
    960     Token.BufferSize  = *BufferSize;
    961     Token.Buffer      = BufferPtr;
     957    Token.BufferSize = *BufferSize;
     958    Token.Buffer     = BufferPtr;
    962959  }
    963960
     
    976973  return Status;
    977974}
    978 
    979975
    980976/**
     
    996992EFI_STATUS
    997993PxeBcTftpGetFileSize (
    998   IN     PXEBC_PRIVATE_DATA         *Private,
    999   IN     VOID                       *Config,
    1000   IN     UINT8                      *Filename,
    1001   IN     UINTN                      *BlockSize,
    1002   IN     UINTN                      *WindowSize,
    1003   IN OUT UINT64                     *BufferSize
     994  IN     PXEBC_PRIVATE_DATA  *Private,
     995  IN     VOID                *Config,
     996  IN     UINT8               *Filename,
     997  IN     UINTN               *BlockSize,
     998  IN     UINTN               *WindowSize,
     999  IN OUT UINT64              *BufferSize
    10041000  )
    10051001{
     
    10071003    return PxeBcMtftp6GetFileSize (
    10081004             Private,
    1009              (EFI_MTFTP6_CONFIG_DATA *) Config,
     1005             (EFI_MTFTP6_CONFIG_DATA *)Config,
    10101006             Filename,
    10111007             BlockSize,
     
    10161012    return PxeBcMtftp4GetFileSize (
    10171013             Private,
    1018              (EFI_MTFTP4_CONFIG_DATA *) Config,
     1014             (EFI_MTFTP4_CONFIG_DATA *)Config,
    10191015             Filename,
    10201016             BlockSize,
     
    10241020  }
    10251021}
    1026 
    10271022
    10281023/**
     
    10451040EFI_STATUS
    10461041PxeBcTftpReadFile (
    1047   IN     PXEBC_PRIVATE_DATA         *Private,
    1048   IN     VOID                       *Config,
    1049   IN     UINT8                      *Filename,
    1050   IN     UINTN                      *BlockSize,
    1051   IN     UINTN                      *WindowSize,
    1052   IN     UINT8                      *BufferPtr,
    1053   IN OUT UINT64                     *BufferSize,
    1054   IN     BOOLEAN                    DontUseBuffer
     1042  IN     PXEBC_PRIVATE_DATA  *Private,
     1043  IN     VOID                *Config,
     1044  IN     UINT8               *Filename,
     1045  IN     UINTN               *BlockSize,
     1046  IN     UINTN               *WindowSize,
     1047  IN     UINT8               *BufferPtr,
     1048  IN OUT UINT64              *BufferSize,
     1049  IN     BOOLEAN             DontUseBuffer
    10551050  )
    10561051{
     
    10581053    return PxeBcMtftp6ReadFile (
    10591054             Private,
    1060              (EFI_MTFTP6_CONFIG_DATA *) Config,
     1055             (EFI_MTFTP6_CONFIG_DATA *)Config,
    10611056             Filename,
    10621057             BlockSize,
     
    10691064    return PxeBcMtftp4ReadFile (
    10701065             Private,
    1071              (EFI_MTFTP4_CONFIG_DATA *) Config,
     1066             (EFI_MTFTP4_CONFIG_DATA *)Config,
    10721067             Filename,
    10731068             BlockSize,
     
    10801075}
    10811076
    1082 
    10831077/**
    10841078  This function is a wrapper to write file using TFTP.
     
    10991093EFI_STATUS
    11001094PxeBcTftpWriteFile (
    1101   IN     PXEBC_PRIVATE_DATA         *Private,
    1102   IN     VOID                       *Config,
    1103   IN     UINT8                      *Filename,
    1104   IN     BOOLEAN                    Overwrite,
    1105   IN     UINTN                      *BlockSize,
    1106   IN     UINT8                      *BufferPtr,
    1107   IN OUT UINT64                     *BufferSize
     1095  IN     PXEBC_PRIVATE_DATA  *Private,
     1096  IN     VOID                *Config,
     1097  IN     UINT8               *Filename,
     1098  IN     BOOLEAN             Overwrite,
     1099  IN     UINTN               *BlockSize,
     1100  IN     UINT8               *BufferPtr,
     1101  IN OUT UINT64              *BufferSize
    11081102  )
    11091103{
     
    11111105    return PxeBcMtftp6WriteFile (
    11121106             Private,
    1113              (EFI_MTFTP6_CONFIG_DATA *) Config,
     1107             (EFI_MTFTP6_CONFIG_DATA *)Config,
    11141108             Filename,
    11151109             Overwrite,
     
    11211115    return PxeBcMtftp4WriteFile (
    11221116             Private,
    1123              (EFI_MTFTP4_CONFIG_DATA *) Config,
     1117             (EFI_MTFTP4_CONFIG_DATA *)Config,
    11241118             Filename,
    11251119             Overwrite,
     
    11301124  }
    11311125}
    1132 
    11331126
    11341127/**
     
    11511144EFI_STATUS
    11521145PxeBcTftpReadDirectory (
    1153   IN     PXEBC_PRIVATE_DATA            *Private,
    1154   IN     VOID                          *Config,
    1155   IN     UINT8                         *Filename,
    1156   IN     UINTN                         *BlockSize,
    1157   IN     UINTN                         *WindowSize,
    1158   IN     UINT8                         *BufferPtr,
    1159   IN OUT UINT64                        *BufferSize,
    1160   IN     BOOLEAN                       DontUseBuffer
     1146  IN     PXEBC_PRIVATE_DATA  *Private,
     1147  IN     VOID                *Config,
     1148  IN     UINT8               *Filename,
     1149  IN     UINTN               *BlockSize,
     1150  IN     UINTN               *WindowSize,
     1151  IN     UINT8               *BufferPtr,
     1152  IN OUT UINT64              *BufferSize,
     1153  IN     BOOLEAN             DontUseBuffer
    11611154  )
    11621155{
     
    11641157    return PxeBcMtftp6ReadDirectory (
    11651158             Private,
    1166              (EFI_MTFTP6_CONFIG_DATA *) Config,
     1159             (EFI_MTFTP6_CONFIG_DATA *)Config,
    11671160             Filename,
    11681161             BlockSize,
     
    11751168    return PxeBcMtftp4ReadDirectory (
    11761169             Private,
    1177              (EFI_MTFTP4_CONFIG_DATA *) Config,
     1170             (EFI_MTFTP4_CONFIG_DATA *)Config,
    11781171             Filename,
    11791172             BlockSize,
     
    11851178  }
    11861179}
    1187 
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette