gsm0480: code dup: introduce and use gsm0480_l3hdr_push()

Add function gsm0480_l3hdr_push() to push a struct gsm48_hdr to the start of a
msgb. Use in gsm0480.c and gsm0411_utils.c. Further callers of the new function
will follow in openbsc as well as another libosmocore patch for ussd.

Change-Id: I54fce6053ab8362015686fe22dbcd38bf1366700
diff --git a/src/gsm/gsm0411_utils.c b/src/gsm/gsm0411_utils.c
index af57963..5d18b12 100644
--- a/src/gsm/gsm0411_utils.c
+++ b/src/gsm/gsm0411_utils.c
@@ -315,12 +315,7 @@
 int gsm411_push_cp_header(struct msgb *msg, uint8_t proto, uint8_t trans,
 			     uint8_t msg_type)
 {
-	struct gsm48_hdr *gh;
-
-	gh = (struct gsm48_hdr *) msgb_push(msg, sizeof(*gh));
-	/* Outgoing needs the highest bit set */
-	gh->proto_discr = proto | (trans << 4);
-	gh->msg_type = msg_type;
-
+	/* Outgoing proto_discr needs the highest bit set */
+	gsm0480_l3hdr_push(msg, proto | (trans << 4), msg_type);
 	return 0;
 }