summaryrefslogtreecommitdiffhomepage
path: root/src/driver
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2022-08-02 10:56:26 +0000
committermidipix <writeonce@midipix.org>2022-09-11 21:04:58 +0000
commitdcb685978a211909b6bdadbfa62b2acfa40cd0ee (patch)
tree44464d5fdf5db4ff15a025013d85ff4d5128e1a4 /src/driver
parent14ffaef5aa4195c598e343a9f9453c1abc21fb12 (diff)
downloadntux-dcb685978a211909b6bdadbfa62b2acfa40cd0ee.tar.bz2
ntux-dcb685978a211909b6bdadbfa62b2acfa40cd0ee.tar.xz
ntux_cmd_aceit(): initial implementation and driver integration.
Diffstat (limited to 'src/driver')
-rw-r--r--src/driver/ntux_amain.c3
-rw-r--r--src/driver/ntux_driver_ctx.c14
2 files changed, 17 insertions, 0 deletions
diff --git a/src/driver/ntux_amain.c b/src/driver/ntux_amain.c
index 80489b3..dbf5039 100644
--- a/src/driver/ntux_amain.c
+++ b/src/driver/ntux_amain.c
@@ -60,6 +60,9 @@ static void ntux_perform_unit_actions(
else if (dctx->cctx->cmd == NTUX_CMD_CHMOD)
ntux_cmd_chmod(dctx,unit);
+
+ else if (dctx->cctx->cmd == NTUX_CMD_ACEIT)
+ ntux_cmd_aceit(dctx,unit);
}
static int ntux_exit(struct ntux_driver_ctx * dctx, int ret)
diff --git a/src/driver/ntux_driver_ctx.c b/src/driver/ntux_driver_ctx.c
index c93852c..3edf1d2 100644
--- a/src/driver/ntux_driver_ctx.c
+++ b/src/driver/ntux_driver_ctx.c
@@ -34,6 +34,7 @@ static const char * const ntux_cmd_name[NTUX_CMD_CAP] = {
[NTUX_CMD_SPAWN] = "spawn",
[NTUX_CMD_STRACE] = "strace",
[NTUX_CMD_CHMOD] = "chmod",
+ [NTUX_CMD_ACEIT] = "aceit",
};
/* ntux command options */
@@ -43,6 +44,7 @@ static const struct argv_option * ntux_cmd_options[NTUX_CMD_CAP] = {
[NTUX_CMD_SPAWN] = ntux_spawn_options,
[NTUX_CMD_STRACE] = ntux_strace_options,
[NTUX_CMD_CHMOD] = ntux_chmod_options,
+ [NTUX_CMD_ACEIT] = ntux_aceit_options,
};
/* package info */
@@ -206,6 +208,9 @@ static int ntux_cctx_update(
else if (!strcmp(entry->arg,"chmod"))
cctx->cmd = NTUX_CMD_CHMOD;
+ else if (!strcmp(entry->arg,"aceit"))
+ cctx->cmd = NTUX_CMD_ACEIT;
+
break;
case TAG_LOADER:
@@ -249,6 +254,10 @@ static int ntux_cctx_update(
cctx->drvflags &= ~(uint64_t)NTUX_DRIVER_ROOTED;
cctx->drvflags |= NTUX_DRIVER_ROOTLESS;
break;
+
+ case TAG_DUMP:
+ cctx->drvflags |= NTUX_DRIVER_DUMP;
+ break;
}
} else {
(*nunits)++;
@@ -288,6 +297,8 @@ static int ntux_cmd_from_program(const char * program)
return NTUX_CMD_STRACE;
else if (!strcmp(mark,"chmod"))
return NTUX_CMD_CHMOD;
+ else if (!strcmp(mark,"aceit"))
+ return NTUX_CMD_ACEIT;
return NTUX_CMD_DEFAULT;
}
@@ -426,6 +437,9 @@ int ntux_get_driver_ctx(
else if (cctx.cmd == NTUX_CMD_CHMOD)
argv_optv_init(ntux_chmod_options,optv);
+ else if (cctx.cmd == NTUX_CMD_ACEIT)
+ argv_optv_init(ntux_aceit_options,optv);
+
/* spawn, strace */
if ((cctx.cmd == NTUX_CMD_SPAWN) || (cctx.cmd == NTUX_CMD_STRACE)) {
argv_scan(argv,optv,&ctx,0);