summaryrefslogtreecommitdiff
path: root/include/hybbx/crdop.h
diff options
context:
space:
mode:
authorinfo@mode42.com <info@mode42.com>2026-08-08 03:54:55 +0000
committerinfo@mode42.com <info@mode42.com>2026-08-08 03:54:55 +0000
commit20cb29c2f8c5c87bc590896854a20b1473ceb358 (patch)
tree2857f41513a56ad41af97b57362639298aa7f033 /include/hybbx/crdop.h
#2
Diffstat (limited to 'include/hybbx/crdop.h')
-rw-r--r--include/hybbx/crdop.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/hybbx/crdop.h b/include/hybbx/crdop.h
new file mode 100644
index 0000000..be98200
--- /dev/null
+++ b/include/hybbx/crdop.h
@@ -0,0 +1,44 @@
+#ifndef HYBBX_CRDOP_H
+#define HYBBX_CRDOP_H
+
+/**
+ * CRDOP — CB Radio Digital Open Protocol (Level 2, experimental).
+ *
+ * HyBBX `crdop` plugin: CB host-client bridge to external CRDOPC.
+ * ARDOP uses the `ardop` plugin with ARDOPC/ardopcf.
+ * Modem DSP stays outside HyBBX. Profile helpers shared with `ardop`.
+ */
+
+#include "hybbx/types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum hybbx_crdop_radio_profile {
+ HYBBX_CRDOP_PROFILE_AMATEUR = 0,
+ HYBBX_CRDOP_PROFILE_CB = 1
+} hybbx_crdop_radio_profile_t;
+
+/** Parse radio_profile INI value (cb, amateur). */
+hybbx_crdop_radio_profile_t hybbx_crdop_profile_parse(const char *value);
+
+const char *hybbx_crdop_profile_name(hybbx_crdop_radio_profile_t profile);
+
+/** Default ARQ bandwidth string for profile when INI omits arq_bandwidth. */
+const char *hybbx_crdop_default_arq_bandwidth(hybbx_crdop_radio_profile_t profile);
+
+/** Non-zero when bandwidth string is above CB-safe ceiling (1000MAX). */
+int hybbx_crdop_bandwidth_exceeds_cb(const char *arq_bandwidth);
+
+struct hybbx_ardop_config;
+
+/** Parse `[transport.crdop]` config (CB defaults). */
+hybbx_result_t hybbx_crdop_config_parse(const char *config,
+ struct hybbx_ardop_config *out);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* HYBBX_CRDOP_H */
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com