summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/efiauthenticated.h12
-rw-r--r--lib/simple_file.c4
-rw-r--r--lib/variables.c8
-rw-r--r--shim.h2
4 files changed, 12 insertions, 14 deletions
diff --git a/include/efiauthenticated.h b/include/efiauthenticated.h
index a9c395f6..7157ffd2 100644
--- a/include/efiauthenticated.h
+++ b/include/efiauthenticated.h
@@ -119,8 +119,6 @@ typedef struct {
//UINT8 Signature[];
} WIN_CERTIFICATE_EFI_PKCS1_15;
-#define OFFSET_OF(TYPE, Field) ((UINTN) &(((TYPE *)0)->Field))
-
/*
* Attributes of Authenticated Variable
*/
@@ -182,14 +180,14 @@ typedef struct {
/*
* Size of AuthInfo prior to the data payload.
*/
-#define AUTHINFO_SIZE ((OFFSET_OF (EFI_VARIABLE_AUTHENTICATION, AuthInfo)) + \
- (OFFSET_OF (WIN_CERTIFICATE_UEFI_GUID, CertData)) + \
+#define AUTHINFO_SIZE ((offsetof(EFI_VARIABLE_AUTHENTICATION, AuthInfo)) + \
+ (offsetof(WIN_CERTIFICATE_UEFI_GUID, CertData)) + \
sizeof (EFI_CERT_BLOCK_RSA_2048_SHA256))
-#define AUTHINFO2_SIZE(VarAuth2) ((OFFSET_OF (EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)) + \
+#define AUTHINFO2_SIZE(VarAuth2) ((offsetof(EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)) + \
(UINTN) ((EFI_VARIABLE_AUTHENTICATION_2 *) (VarAuth2))->AuthInfo.Hdr.dwLength)
-#define OFFSET_OF_AUTHINFO2_CERT_DATA ((OFFSET_OF (EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)) + \
- (OFFSET_OF (WIN_CERTIFICATE_UEFI_GUID, CertData)))
+#define OFFSET_OF_AUTHINFO2_CERT_DATA ((offsetof(EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)) + \
+ (offsetof(WIN_CERTIFICATE_UEFI_GUID, CertData)))
#endif /* SHIM_EFIAUTHENTICATED_H */
diff --git a/lib/simple_file.c b/lib/simple_file.c
index 2b823138..b9bafd30 100644
--- a/lib/simple_file.c
+++ b/lib/simple_file.c
@@ -314,7 +314,7 @@ simple_dir_filter(EFI_HANDLE image, CHAR16 *name, CHAR16 *filter,
break;
}
}
- ptr += OFFSET_OF(EFI_FILE_INFO, FileName) + (len + 1)*sizeof(CHAR16);
+ ptr += offsetof(EFI_FILE_INFO, FileName) + (len + 1)*sizeof(CHAR16);
next = ptr;
}
if (*count)
@@ -367,7 +367,7 @@ simple_dir_filter(EFI_HANDLE image, CHAR16 *name, CHAR16 *filter,
(*result)[0] = tmp;
}
- ptr += OFFSET_OF(EFI_FILE_INFO, FileName) + (len + 1)*sizeof(CHAR16);
+ ptr += offsetof(EFI_FILE_INFO, FileName) + (len + 1)*sizeof(CHAR16);
next = ptr;
}
if (*count == 0) {
diff --git a/lib/variables.c b/lib/variables.c
index 0abd6a09..044ddae5 100644
--- a/lib/variables.c
+++ b/lib/variables.c
@@ -74,10 +74,8 @@ CreateTimeBasedPayload(IN OUT UINTN * DataSize, IN OUT UINT8 ** Data)
Payload = *Data;
PayloadSize = *DataSize;
- DescriptorSize =
- OFFSET_OF(EFI_VARIABLE_AUTHENTICATION_2,
- AuthInfo) + OFFSET_OF(WIN_CERTIFICATE_UEFI_GUID,
- CertData);
+ DescriptorSize = offsetof(EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)
+ + offsetof(WIN_CERTIFICATE_UEFI_GUID, CertData);
NewData = (UINT8 *) AllocateZeroPool(DescriptorSize + PayloadSize);
if (NewData == NULL) {
return EFI_OUT_OF_RESOURCES;
@@ -103,7 +101,7 @@ CreateTimeBasedPayload(IN OUT UINTN * DataSize, IN OUT UINT8 ** Data)
CopyMem(&DescriptorData->TimeStamp, &Time, sizeof(EFI_TIME));
DescriptorData->AuthInfo.Hdr.dwLength =
- OFFSET_OF(WIN_CERTIFICATE_UEFI_GUID, CertData);
+ offsetof(WIN_CERTIFICATE_UEFI_GUID, CertData);
DescriptorData->AuthInfo.Hdr.wRevision = 0x0200;
DescriptorData->AuthInfo.Hdr.wCertificateType = WIN_CERT_TYPE_EFI_GUID;
DescriptorData->AuthInfo.CertType = EFI_CERT_TYPE_PKCS7_GUID;
diff --git a/shim.h b/shim.h
index 89d24324..70fdf773 100644
--- a/shim.h
+++ b/shim.h
@@ -4,6 +4,8 @@
#include <efi.h>
#include <efilib.h>
+#include <stddef.h>
+
#define min(a, b) ({(a) < (b) ? (a) : (b);})
#ifdef __x86_64__