Common Platform Runtime Mechanism (PRM) definitions.\r
\r
Copyright (c) Microsoft Corporation\r
+ Copyright (c) 2022, Arm Limited. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
#include <Uefi.h>\r
#include <PrmContextBuffer.h>\r
\r
-#if defined(_MSC_VER)\r
- #define PRM_EXPORT_API __declspec(dllexport)\r
+#if defined (_MSC_VER)\r
+#define PRM_EXPORT_API __declspec(dllexport)\r
+#elif defined (__GNUC__)\r
+#define PRM_EXPORT_API __attribute__ ((visibility ("default")))\r
#else\r
- #define PRM_EXPORT_API\r
+#define PRM_EXPORT_API\r
#endif\r
\r
-#define PRM_HANDLER_NAME_MAXIMUM_LENGTH 128\r
+#define PRM_HANDLER_NAME_MAXIMUM_LENGTH 128\r
\r
-#define PRM_STRING_(x) #x\r
-#define PRM_STRING(x) PRM_STRING_(x)\r
+#define PRM_STRING_(x) #x\r
+#define PRM_STRING(x) PRM_STRING_(x)\r
\r
/**\r
A Platform Runtime Mechanism (PRM) handler function.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI PRM_HANDLER) (\r
+(EFIAPI PRM_HANDLER)(\r
IN VOID *ParameterBuffer OPTIONAL,\r
IN PRM_CONTEXT_BUFFER *ContextBuffer OPTIONAL\r
);\r