+typedef enum {
+ MB_OK = 0,
+ MB_ILLEGAL_FUNC = 1,
+ MB_ILLEGAL_ADDR = 2,
+ MB_ILLEGAL_VAL = 3,
+} mb_exception;
+
+#define MB_HOLD_REGS_BASE 1000
+#define MB_N_HOLD_REGS 60
+#define MB_N_HOLD_REGS_EEPROM 20
+extern uint16_t hold_regs[MB_N_HOLD_REGS];
+#define mb_unit_id (hold_regs[0])
+
+uint8_t hold_reg_is_valid(uint16_t reg, uint16_t val);
+