[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[COMMITTED 1/7] poked: print PDAP version and define `poked_pdap_version
From: |
Mohammad-Reza Nabipoor |
Subject: |
[COMMITTED 1/7] poked: print PDAP version and define `poked_pdap_version' |
Date: |
Sun, 4 Dec 2022 23:04:56 +0100 |
Pokelets can use `poked_pdap_version' to make sure they're on the
same page as the `poked'.
2022-12-04 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
* poked/poked.c (main): Print PDAP version.
(poked_init): Add new param (`pdap_version').
Update `__poked_pdap_version' Poke variable.
* poked/poked.pk (__poked_pdap_version): New variable.
(poked_pdap_version): New function.
---
ChangeLog | 8 ++++++++
poked/poked.c | 13 +++++++++----
poked/poked.pk | 5 +++++
3 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2fb1909a..d47097b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2022-12-04 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
+
+ * poked/poked.c (main): Print PDAP version.
+ (poked_init): Add new param (`pdap_version').
+ Update `__poked_pdap_version' Poke variable.
+ * poked/poked.pk (__poked_pdap_version): New variable.
+ (poked_pdap_version): New function.
+
2022-11-29 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
* testsuite/lib/poke-pk.exp (tap_execute): Only keep the filename
diff --git a/poked/poked.c b/poked/poked.c
index 34d2107c..90989e86 100644
--- a/poked/poked.c
+++ b/poked/poked.c
@@ -37,7 +37,7 @@ struct usock *srv;
#define OK 0
#define NOK 1
-static int poked_init (void);
+static int poked_init (int pdap_version);
static void poked_free (void);
#define OUTCMD_ITER_BEGIN 1
@@ -459,6 +459,7 @@ main (int argc, char *argv[])
void *ret;
int poked_restart_p;
uint64_t n_iteration;
+ const int pdap_version = 0; /* pdap: poke daemon message protocol */
poked_options_init (argc, argv);
@@ -471,12 +472,13 @@ main (int argc, char *argv[])
if (pthread_create (&th, &thattr, srvthread, srv) != 0)
err (1, "pthread_create() failed");
- printf ("socket_path %s\n\n", poked_options.socket_path);
+ printf ("socket_path %s\npdap_version %d\n\n", poked_options.socket_path,
+ pdap_version);
poked_restart:
poked_restart_p = 0;
n_iteration = 0;
- poked_init ();
+ poked_init (pdap_version);
while (1)
{
struct usock_buf *inbuf;
@@ -765,7 +767,7 @@ static struct pk_iod_if iod = {
//--- poke
static int
-poked_init (void)
+poked_init (int pdap_version)
{
static struct pk_term_if tif = {
.flush_fn = tif_flush,
@@ -864,6 +866,9 @@ poked_init (void)
errx (1, "missing function(s) in init file: %s", FUNCS[i]);
}
+ pk_decl_set_val (pkc, "__poked_pdap_version",
+ pk_make_int (pdap_version, 32));
+
if (pk_defvar (pkc, "poked_libpoke_version", pk_make_string (VERSION))
== PK_NULL)
errx (1, "unable to declare poked_libpoke_version variable");
diff --git a/poked/poked.pk b/poked/poked.pk
index 663331b7..0d746615 100644
--- a/poked/poked.pk
+++ b/poked/poked.pk
@@ -21,6 +21,11 @@ load "pk-dump-minimal.pk";
// FIXME be endian-correct
// FIXME offset<long,N> -> offset<ulong,N>
+// `poked.c' will initialize it to the right value.
+var __poked_pdap_version = -1;
+
+fun poked_pdap_version = int<32>: { return __poked_pdap_version; }
+
var __poked_restart_p = 0;
var __poked_exit_p = 0;
--
2.38.1
- [COMMITTED 1/7] poked: print PDAP version and define `poked_pdap_version',
Mohammad-Reza Nabipoor <=
- [COMMITTED 2/7] poked: move `poked_libpoke_version' def to `poked.pk', Mohammad-Reza Nabipoor, 2022/12/04
- [COMMITTED 3/7] poked: update poked output channel numbers, Mohammad-Reza Nabipoor, 2022/12/04
- [COMMITTED 4/7] poked: add new function `usock_out_printf', Mohammad-Reza Nabipoor, 2022/12/04
- [COMMITTED 5/7] poked: re-organize the OUTCMD_* kinds, Mohammad-Reza Nabipoor, 2022/12/04
- [COMMITTED 7/7] poked: plet_disasm: add assertion for valid arches, Mohammad-Reza Nabipoor, 2022/12/04
- [COMMITTED 6/7] poked: add Poke disasm pokelet, Mohammad-Reza Nabipoor, 2022/12/04