]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Option.h
1. Enable Network stack to pass SCT, currently MNP, ARP, IP4, TCP4 and DHCP4 have...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Mtftp4Dxe / Mtftp4Option.h
1 /** @file
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 Mtftp4Option.h
15
16 Abstract:
17
18 Mtftp4 option process routines.
19
20
21 **/
22
23 #ifndef __EFI_MTFTP4_OPTION_H__
24 #define __EFI_MTFTP4_OPTION_H__
25
26 enum {
27 MTFTP4_SUPPORTED_OPTIONS = 4,
28 MTFTP4_OPCODE_LEN = 2,
29 MTFTP4_ERRCODE_LEN = 2,
30 MTFTP4_BLKNO_LEN = 2,
31 MTFTP4_DATA_HEAD_LEN = 4,
32
33 MTFTP4_BLKSIZE_EXIST = 0x01,
34 MTFTP4_TIMEOUT_EXIST = 0x02,
35 MTFTP4_TSIZE_EXIST = 0x04,
36 MTFTP4_MCAST_EXIST = 0x08
37 };
38
39 typedef struct {
40 UINT16 BlkSize;
41 UINT8 Timeout;
42 UINT32 Tsize;
43 IP4_ADDR McastIp;
44 UINT16 McastPort;
45 BOOLEAN Master;
46 UINT32 Exist;
47 } MTFTP4_OPTION;
48
49 EFI_STATUS
50 Mtftp4ExtractOptions (
51 IN EFI_MTFTP4_PACKET *Packet,
52 IN UINT32 PacketLen,
53 IN OUT UINT32 *OptionCount,
54 OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL
55 );
56
57 EFI_STATUS
58 Mtftp4ParseOption (
59 IN EFI_MTFTP4_OPTION *OptionList,
60 IN UINT32 Count,
61 IN BOOLEAN Request,
62 OUT MTFTP4_OPTION *Option
63 );
64
65 EFI_STATUS
66 Mtftp4ParseOptionOack (
67 IN EFI_MTFTP4_PACKET *Packet,
68 IN UINT32 PacketLen,
69 OUT MTFTP4_OPTION *Option
70 );
71
72 extern UINT8 *mMtftp4SupportedOptions[MTFTP4_SUPPORTED_OPTIONS];
73 #endif