ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
mdl_host_credentials.c
Go to the documentation of this file.
1
9#include <sys/stat.h>
10
12#include "ra8_attributes.h"
13
15 const struct stat* after)
16{
17 if ((before == nullptr) || (after == nullptr)) {
18 return false;
19 }
20#ifdef __APPLE__
21 const bool times_unchanged = (before->st_mtimespec.tv_sec == after->st_mtimespec.tv_sec) &&
22 (before->st_mtimespec.tv_nsec == after->st_mtimespec.tv_nsec) &&
23 (before->st_ctimespec.tv_sec == after->st_ctimespec.tv_sec) &&
24 (before->st_ctimespec.tv_nsec == after->st_ctimespec.tv_nsec);
25#else
26 const bool times_unchanged = (before->st_mtim.tv_sec == after->st_mtim.tv_sec) &&
27 (before->st_mtim.tv_nsec == after->st_mtim.tv_nsec) &&
28 (before->st_ctim.tv_sec == after->st_ctim.tv_sec) &&
29 (before->st_ctim.tv_nsec == after->st_ctim.tv_nsec);
30#endif
31 return times_unchanged && (before->st_dev == after->st_dev) &&
32 (before->st_ino == after->st_ino) && (before->st_mode == after->st_mode) &&
33 (before->st_size == after->st_size);
34}
bool priv_mdl_host_credential_stat_unchanged(const struct stat *before, const struct stat *after)
Compare identity, size, mode, and nanosecond mutation metadata.
Private host credential-snapshot hardening helpers.
Annotation-attribute framework macros for ra8-firmware.
#define RA8_PRIV
Module-private helper: shared across TUs but only inside one library.