]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Option.h
1. Sync the latest network stack. Add NetLibCreateIPv4DPathNode () in netlib library.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Mtftp4Dxe / Mtftp4Option.h
CommitLineData
772db4bb 1/** @file
2
3Copyright (c) 2006, Intel Corporation
4All rights reserved. This program and the accompanying materials
5are licensed and made available under the terms and conditions of the BSD License
6which accompanies this distribution. The full text of the license may be found at
7http://opensource.org/licenses/bsd-license.php
8
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12Module Name:
13
14 Mtftp4Option.h
15
16Abstract:
17
18 Mtftp4 option process routines.
19
20
21**/
22
23#ifndef __EFI_MTFTP4_OPTION_H__
24#define __EFI_MTFTP4_OPTION_H__
25
26enum {
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,
687a2e5f 36 MTFTP4_MCAST_EXIST = 0x08
772db4bb 37};
38
39typedef 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
49EFI_STATUS
50Mtftp4ExtractOptions (
51 IN EFI_MTFTP4_PACKET *Packet,
52 IN UINT32 PacketLen,
53 IN OUT UINT32 *OptionCount,
54 OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL
55 );
56
57EFI_STATUS
58Mtftp4ParseOption (
59 IN EFI_MTFTP4_OPTION *OptionList,
60 IN UINT32 Count,
61 IN BOOLEAN Request,
62 OUT MTFTP4_OPTION *Option
63 );
64
65EFI_STATUS
66Mtftp4ParseOptionOack (
67 IN EFI_MTFTP4_PACKET *Packet,
68 IN UINT32 PacketLen,
69 OUT MTFTP4_OPTION *Option
70 );
71
72extern UINT8 *mMtftp4SupportedOptions[MTFTP4_SUPPORTED_OPTIONS];
73#endif