summaryrefslogtreecommitdiffstats
path: root/RedfishPkg/RedfishPkg.dec
blob: 846c19fd5ea70712c5d3373af99f91ddb7406533 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
## @file
# Redfish Package
#
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
##

[Defines]
  DEC_SPECIFICATION = 0x0001001b
  PACKAGE_NAME      = RedfishPkg
  PACKAGE_GUID      = c432b76e-5232-11e7-9010-005056c00008
  PACKAGE_VERSION   = 1.0

[Includes]
  Include

[Includes.Common.Private]
  PrivateInclude                # Private header files for C RTL.
  PrivateInclude/Crt            # Private header files for C RTL.
  Library/JsonLib               # Private header files for jansson
                                # configuration files.
                                #  - jansson_config.h
                                #  - jansson_private_config.h
                                # jansson.h refers to above two configuration
                                # files for building platform jansson library.
  Library/JsonLib/jansson/src   # For referring to jannson.h

[LibraryClasses]
  ##  @libraryclass Platform Redfish Host Interface Library
  #   Platform implementation-specific Redfish Host Interface.
  RedfishPlatformHostInterfaceLib|Include/Library/RedfishHostInterfaceLib.h

  ##  @libraryclass  This library provides UCS2 to UTF8 manipulation
  #   functions.
  #
  Ucs2Utf8Lib|Include/Library/BaseUcs2Utf8Lib.h

  ##  @libraryclass Platform Redfish Credential Library
  #   Platform implementation-specific Redfish Credential Interface.
  RedfishPlatformCredentialLib|Include/Library/RedfishCredentialLib.h

  ##  @libraryclass  The helper routines to access REST EX service.
  #   This library is only intended to be used by UEFI network stack modules.
  RestExLib|Include/Library/RestExLib.h

  ##  @libraryclass  Provides the library functions based on third party
  #  jansson library to manipulate JSON data structure.
  #
  JsonLib|Include/Library/JsonLib.h

  ##  @libraryclass  Provides the library functions to encode/decode
  #   Redfish packet.
  #
  RedfishContentCodingLib|Include/Library/RedfishContentCodingLib.h

[LibraryClasses.Common.Private]
  ##  @libraryclass  Provides the private C runtime library functions.
  #   CRT library is currently used by edk2 JsonLib (open source
  #   jansson project) and edk2 RedfishLib (libredfish open source
  #   project).
  RedfishCrtLib|PrivateInclude/Library/RedfishCrtLib.h

  ##  @libraryclass Redfish Helper Library
  #   Library provides Redfish helper functions.
  RedfishLib|PrivateInclude/Library/RedfishLib.h

[Protocols]
  ## Include/Protocol/EdkIIRedfishCredential.h
  gEdkIIRedfishCredentialProtocolGuid = { 0x8804377, 0xaf7a, 0x4496, { 0x8a, 0x7b, 0x17, 0x59, 0x0, 0xe9, 0xab, 0x46 } }

  ## Include/Protocol/Edk2RedfishConfigHandler.h
  gEdkIIRedfishConfigHandlerProtocolGuid = { 0xbc0fe6bb, 0x2cc9, 0x463e, { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67, 0xde } }

[Guids]
  gEfiRedfishPkgTokenSpaceGuid      = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88, 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }}

[PcdsFixedAtBuild, PcdsPatchableInModule]
  #
  # This PCD is the UEFI device path which is used as the Redfish host interface.
  #
  gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceDevicePath|{0x0}|REST_EX_SERVICE_DEVICE_PATH_DATA|0x00001000 {
  <HeaderFiles>
    Pcd/RestExServiceDevicePath.h
  <Packages>
    MdePkg/MdePkg.dec
    MdeModulePkg/MdeModulePkg.dec
    RedfishPkg/RedfishPkg.dec
  }
  #
  # This PCD indicates the EFI REST EX access mode to Redfish service.
  # Default is set to out of band access.
  #
  gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceAccessModeInBand|FALSE|BOOLEAN|0x00001001
  #
  # This PCD indicates the access mode EFI Discover protocol uses to look for the proper EFI REST EX
  # protocol instance.
  #
  gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDiscoverAccessModeInBand|FALSE|BOOLEAN|0x00001002