summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2018-06-08 03:44:34 +0000
committermidipix <writeonce@midipix.org>2018-06-08 20:48:12 -0400
commit9682ca0c7b54a8bf6c7e3fd7fdfa9b974d955860 (patch)
tree863b4a7b2f9863d6ffe9b428cf57e97daa1e0287
parent12e96021d0004e053be1e8660009dff79f5bcb04 (diff)
downloadntux-9682ca0c7b54a8bf6c7e3fd7fdfa9b974d955860.tar.bz2
ntux-9682ca0c7b54a8bf6c7e3fd7fdfa9b974d955860.tar.xz
driver: added initial strace-specific support.
-rw-r--r--include/ntux/ntux.h5
-rw-r--r--src/driver/ntux_driver_ctx.c8
-rw-r--r--src/internal/ntux_driver_impl.h2
-rw-r--r--src/skin/ntux_skin_strace.c6
4 files changed, 21 insertions, 0 deletions
diff --git a/include/ntux/ntux.h b/include/ntux/ntux.h
index e5f4ac6..e6bfbd3 100644
--- a/include/ntux/ntux.h
+++ b/include/ntux/ntux.h
@@ -83,6 +83,11 @@ struct ntux_common_ctx {
uint32_t state;
char ** sargv;
char ** senvp;
+ const char * loader;
+ const char * logfile;
+ uint32_t sysmask[16];
+ uint32_t dbgmask[16];
+ uint32_t osmask [32];
};
struct ntux_driver_ctx {
diff --git a/src/driver/ntux_driver_ctx.c b/src/driver/ntux_driver_ctx.c
index 1b0d8f8..f06d085 100644
--- a/src/driver/ntux_driver_ctx.c
+++ b/src/driver/ntux_driver_ctx.c
@@ -162,6 +162,14 @@ static int ntux_cctx_update(
cctx->cmd = NTUX_CMD_STRACE;
break;
+
+ case TAG_LOADER:
+ cctx->loader = entry->arg;
+ break;
+
+ case TAG_LOGFILE:
+ cctx->logfile = entry->arg;
+ break;
}
} else {
(*nunits)++;
diff --git a/src/internal/ntux_driver_impl.h b/src/internal/ntux_driver_impl.h
index 3f7520f..21013a3 100644
--- a/src/internal/ntux_driver_impl.h
+++ b/src/internal/ntux_driver_impl.h
@@ -22,6 +22,8 @@ enum app_tags {
TAG_HELP,
TAG_VERSION,
TAG_CMD,
+ TAG_LOADER,
+ TAG_LOGFILE,
};
struct ntux_driver_ctx_impl {
diff --git a/src/skin/ntux_skin_strace.c b/src/skin/ntux_skin_strace.c
index 643c114..4784d98 100644
--- a/src/skin/ntux_skin_strace.c
+++ b/src/skin/ntux_skin_strace.c
@@ -8,5 +8,11 @@ const struct argv_option ntux_strace_options[] = {
{"help", 'h',TAG_HELP,ARGV_OPTARG_OPTIONAL,0,"short|long",0,
"show usage information [listing %s options only]"},
+ {"loader", 'l',TAG_LOADER,ARGV_OPTARG_REQUIRED,0,0,0,
+ "use an alternate framework loader"},
+
+ {"logfile", 'o',TAG_LOGFILE,ARGV_OPTARG_REQUIRED,0,0,"<FILE>",
+ "write output to %s"},
+
{0,0,0,0,0,0,0,0}
};