restructuring: Introduce _transceive_ functions for Tx-then-Rx
diff --git a/src/diag_io.h b/src/diag_io.h
index c02ce82..953a089 100644
--- a/src/diag_io.h
+++ b/src/diag_io.h
@@ -8,13 +8,18 @@
 	int fd;
 	struct {
 		struct msgb *msg;
-		void (*rcvmsg)(struct diag_instance *di, struct msgb *msg);
 	} rx;
 	struct {
 	} tx;
 	struct gsmtap_inst *gsmtap;
 };
 
+struct msgb *msgb_alloc_diag(void);
 int diag_transmit_msgb(struct diag_instance *di, struct msgb *msg);
 int diag_transmit_buf(struct diag_instance *di, const uint8_t *data, size_t data_len);
-int diag_read(struct diag_instance *di);
+struct msgb *diag_read_msg(struct diag_instance *di);
+int diag_process_msg(struct diag_instance *di, struct msgb *msg);
+struct msgb *diag_transceive_msg(struct diag_instance *di, struct msgb *tx);
+void diag_transceive_msg_ign(struct diag_instance *di, struct msgb *tx);
+struct msgb *diag_transceive_buf(struct diag_instance *di, const uint8_t *data, size_t data_len);
+void diag_transceive_buf_ign(struct diag_instance *di, const uint8_t *data, size_t data_len);