| /** @file |
| |
| Copyright (c) 2006, 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. |
| |
| Module Name: |
| |
| Mtftp4Option.h |
| |
| Abstract: |
| |
| Mtftp4 option process routines. |
| |
| |
| **/ |
| |
| #ifndef __EFI_MTFTP4_OPTION_H__ |
| #define __EFI_MTFTP4_OPTION_H__ |
| |
| enum { |
| MTFTP4_SUPPORTED_OPTIONS = 4, |
| MTFTP4_OPCODE_LEN = 2, |
| MTFTP4_ERRCODE_LEN = 2, |
| MTFTP4_BLKNO_LEN = 2, |
| MTFTP4_DATA_HEAD_LEN = 4, |
| |
| MTFTP4_BLKSIZE_EXIST = 0x01, |
| MTFTP4_TIMEOUT_EXIST = 0x02, |
| MTFTP4_TSIZE_EXIST = 0x04, |
| MTFTP4_MCAST_EXIST = 0x08 |
| }; |
| |
| typedef struct { |
| UINT16 BlkSize; |
| UINT8 Timeout; |
| UINT32 Tsize; |
| IP4_ADDR McastIp; |
| UINT16 McastPort; |
| BOOLEAN Master; |
| UINT32 Exist; |
| } MTFTP4_OPTION; |
| |
| EFI_STATUS |
| Mtftp4ExtractOptions ( |
| IN EFI_MTFTP4_PACKET *Packet, |
| IN UINT32 PacketLen, |
| IN OUT UINT32 *OptionCount, |
| OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL |
| ); |
| |
| EFI_STATUS |
| Mtftp4ParseOption ( |
| IN EFI_MTFTP4_OPTION *OptionList, |
| IN UINT32 Count, |
| IN BOOLEAN Request, |
| OUT MTFTP4_OPTION *Option |
| ); |
| |
| EFI_STATUS |
| Mtftp4ParseOptionOack ( |
| IN EFI_MTFTP4_PACKET *Packet, |
| IN UINT32 PacketLen, |
| OUT MTFTP4_OPTION *Option |
| ); |
| |
| extern UINT8 *mMtftp4SupportedOptions[MTFTP4_SUPPORTED_OPTIONS]; |
| #endif |