From 7f4f07fc4039353ee499d76bb53b6c742adb6428 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 21 Apr 2026 13:39:29 +0100 Subject: use old nvmutil for now, in lbmk i'm trying to make nvmutil work on openbsd. the new code in lbutils is a bit buggy, likely somewhere in mkhtemp. i'm still debugging it. Signed-off-by: Leah Rowe --- util/nvmutil/nvmutil.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 util/nvmutil/nvmutil.c (limited to 'util/nvmutil/nvmutil.c') diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c new file mode 100644 index 00000000..670b7110 --- /dev/null +++ b/util/nvmutil/nvmutil.c @@ -0,0 +1,50 @@ +/* SPDX-License-Identifier: MIT + * Copyright (c) 2022-2026 Leah Rowe + * + * This tool lets you modify Intel GbE NVM (Gigabit Ethernet + * Non-Volatile Memory) images, e.g. change the MAC address. + * These images configure your Intel Gigabit Ethernet adapter. + */ + +#include +#include + +#include +#include +#include +#include +#include + +#include "include/common.h" + +int +main(int argc, char *argv[]) +{ + struct xstate *x = xstatus(argc, argv); + struct commands *cmd = &x->cmd[x->i]; + struct xfile *f = &x->f; + + unsigned long c; + + if (cmd->run == NULL) + err(errno, "Command not set"); + + cmd->run(); + + for (c = 0; c < items(x->cmd); c++) + x->cmd[c].run = cmd_helper_err; + + if ((cmd->flags & O_ACCMODE) == O_RDWR) + write_to_gbe_bin(); + + if (exit_cleanup() == -1) + err(EIO, "%s: close", f->fname); + + if (f->io_err_gbe_bin) + err(EIO, "%s: error writing final file"); + + if (f->tname != NULL) + free(f->tname); + + return EXIT_SUCCESS; +} -- cgit v1.2.1