osmo_ortp: introduce POLL mode for rtp sockets

This bypasses the osmo_fd integration and will allow a RTP socket to be
in pure polling mode, triggered by the consumer of the payload data.
diff --git a/include/osmocom/trau/osmo_ortp.h b/include/osmocom/trau/osmo_ortp.h
index 278423b..fc7bca2 100644
--- a/include/osmocom/trau/osmo_ortp.h
+++ b/include/osmocom/trau/osmo_ortp.h
@@ -15,6 +15,8 @@
 #define RTP_PT_GSM_EFR 97
 #define RTP_PT_AMR 98
 
+#define OSMO_RTP_F_POLL		0x0001
+
 struct osmo_rtp_socket {
 	/*! \biref list header for global list of sockets */
 	struct llist_head list;
@@ -36,17 +38,20 @@
 	/* Tx related */
 	uint32_t tx_timestamp;
 
+	unsigned int flags;
+
 	void *priv;
 };
 
 void osmo_rtp_init(void *ctx);
-struct osmo_rtp_socket *osmo_rtp_socket_create(void *talloc_ctx);
+struct osmo_rtp_socket *osmo_rtp_socket_create(void *talloc_ctx, unsigned int flags);
 int osmo_rtp_socket_bind(struct osmo_rtp_socket *rs, const char *ip, int port);
 int osmo_rtp_socket_connect(struct osmo_rtp_socket *rs, const char *ip, uint16_t port);
 int osmo_rtp_socket_set_pt(struct osmo_rtp_socket *rs, int payload_type);
 int osmo_rtp_socket_free(struct osmo_rtp_socket *rs);
 int osmo_rtp_send_frame(struct osmo_rtp_socket *rs, const uint8_t *payload,
 			unsigned int payload_len, unsigned int duration);
+int osmo_rtp_socket_poll(struct osmo_rtp_socket *rs);
 
 int osmo_rtp_get_bound_ip_port(struct osmo_rtp_socket *rs,
 			       uint32_t *ip, int *port);