TianoCore EDK2 master
Loading...
Searching...
No Matches
PrmExportDescriptor.h File Reference
#include <Prm.h>

Go to the source code of this file.

Data Structures

struct  PRM_HANDLER_EXPORT_DESCRIPTOR_STRUCT
 
struct  PRM_MODULE_EXPORT_DESCRIPTOR_STRUCT_HEADER
 
struct  PRM_MODULE_EXPORT_DESCRIPTOR_STRUCT
 

Macros

#define PRM_MODULE_EXPORT_DESCRIPTOR_NAME   PrmModuleExportDescriptor
 
#define PRM_MODULE_EXPORT_DESCRIPTOR_SIGNATURE   SIGNATURE_64 ('P', 'R', 'M', '_', 'M', 'E', 'D', 'T')
 
#define PRM_MODULE_EXPORT_REVISION   0x0
 
#define PRM_HANDLER_EXPORT_ENTRY(Guid, Name)
 
#define VA_ARG_COUNT(...)   (sizeof((PRM_HANDLER_EXPORT_DESCRIPTOR_STRUCT[]){__VA_ARGS__})/sizeof(PRM_HANDLER_EXPORT_DESCRIPTOR_STRUCT))
 
#define PRM_MODULE_EXPORT(...)
 

Detailed Description

Definitions for the Platform Runtime Mechanism (PRM) export descriptor structures.

Copyright (c) Microsoft Corporation SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file PrmExportDescriptor.h.

Macro Definition Documentation

◆ PRM_HANDLER_EXPORT_ENTRY

#define PRM_HANDLER_EXPORT_ENTRY (   Guid,
  Name 
)
Value:
{ \
Guid, \
PRM_STRING_(Name) \
} \

A macro that declares a PRM Handler Export Descriptor for a PRM Handler.

This macro is intended to be used once per PRM Handler to describe the handler when the module description is defined. It should be provided as an argument to PRM_MODULE_EXPORT.

Parameters
GuidThe GUID of the PRM Handler being exported.
NameThe name of the PRM Handler being exported. This string should exactly match the function name.

Definition at line 64 of file PrmExportDescriptor.h.

◆ PRM_MODULE_EXPORT

#define PRM_MODULE_EXPORT (   ...)
Value:
PRM_PACKED_STRUCT( \
{ \
PRM_HANDLER_EXPORT_DESCRIPTOR_STRUCT PrmHandlerExportDescriptors[VA_ARG_COUNT(__VA_ARGS__)]; \
} PRM_MODULE_EXPORT_DESCRIPTOR_STRUCT_ \
); \
\
PRM_EXPORT_API PRM_MODULE_EXPORT_DESCRIPTOR_STRUCT_ PRM_MODULE_EXPORT_DESCRIPTOR_NAME = { \
{ \
PRM_MODULE_EXPORT_DESCRIPTOR_SIGNATURE, \
PRM_MODULE_EXPORT_REVISION, \
VA_ARG_COUNT(__VA_ARGS__), \
EDKII_DSC_PLATFORM_GUID, \
EFI_CALLER_ID_GUID \
}, \
{ __VA_ARGS__ } \
} \
#define VA_ARG_COUNT(...)

A macro that declares the PRM Module Export Descriptor for a PRM Module.

This macro is intended to be used once in a PRM Module after all of the PRM Handler definitions to describe the PRM Handlers being exported in the module.

Parameters
PrmHandlerExportEntriesA variable argument list of PRM_HANDLER_EXPORT_ENTRY values. This list should include all PRM Handlers being exported by this module.

Definition at line 90 of file PrmExportDescriptor.h.

◆ PRM_MODULE_EXPORT_DESCRIPTOR_NAME

#define PRM_MODULE_EXPORT_DESCRIPTOR_NAME   PrmModuleExportDescriptor

Definition at line 15 of file PrmExportDescriptor.h.

◆ PRM_MODULE_EXPORT_DESCRIPTOR_SIGNATURE

#define PRM_MODULE_EXPORT_DESCRIPTOR_SIGNATURE   SIGNATURE_64 ('P', 'R', 'M', '_', 'M', 'E', 'D', 'T')

Definition at line 16 of file PrmExportDescriptor.h.

◆ PRM_MODULE_EXPORT_REVISION

#define PRM_MODULE_EXPORT_REVISION   0x0

Definition at line 17 of file PrmExportDescriptor.h.

◆ VA_ARG_COUNT

#define VA_ARG_COUNT (   ...)    (sizeof((PRM_HANDLER_EXPORT_DESCRIPTOR_STRUCT[]){__VA_ARGS__})/sizeof(PRM_HANDLER_EXPORT_DESCRIPTOR_STRUCT))

A macro that returns the count of the number of variable-length arguments given.

Parameters
VariableArgumentListA variable argument list of elements that will be included in the return value of the list count.

Definition at line 77 of file PrmExportDescriptor.h.