diff --git a/openbsc/src/gprs/oap.c b/openbsc/src/gprs/oap.c
index 1426702..f5d7a95 100644
--- a/openbsc/src/gprs/oap.c
+++ b/openbsc/src/gprs/oap.c
@@ -20,10 +20,10 @@
  *
  */
 
+#include <osmocom/core/utils.h>
 #include <osmocom/crypt/auth.h>
 
 #include <openbsc/oap.h>
-#include <openbsc/utils.h>
 #include <openbsc/debug.h>
 #include <openbsc/oap_messages.h>
 
@@ -103,7 +103,7 @@
 		return -3;
 	}
 
-	if (constant_time_cmp(vec.autn, rx_autn, sizeof(vec.autn)) != 0) {
+	if (osmo_constant_time_cmp(vec.autn, rx_autn, sizeof(vec.autn)) != 0) {
 		LOGP(DGPRS, LOGL_ERROR, "OAP: AUTN mismatch!\n");
 		LOGP(DGPRS, LOGL_INFO, "OAP: AUTN from server: %s\n",
 		     osmo_hexdump_nospc(rx_autn, sizeof(vec.autn)));
diff --git a/openbsc/src/gprs/oap_messages.c b/openbsc/src/gprs/oap_messages.c
index 49b54e4..d5750a6 100644
--- a/openbsc/src/gprs/oap_messages.c
+++ b/openbsc/src/gprs/oap_messages.c
@@ -20,11 +20,11 @@
  *
  */
 
+#include <osmocom/core/utils.h>
 #include <openbsc/oap_messages.h>
 
 #include <openbsc/debug.h>
 #include <openbsc/gprs_utils.h>
-#include <openbsc/utils.h>
 
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/msgb.h>
@@ -51,7 +51,7 @@
 	rc = osmo_shift_v_fixed(&data, &data_len, 1, &value);
 	if (rc < 0)
 		return -GMM_CAUSE_INV_MAND_INFO;
-	oap_msg->message_type = decode_big_endian(value, 1);
+	oap_msg->message_type = osmo_decode_big_endian(value, 1);
 
 	/* specific parts */
 	while (data_len > 0) {
@@ -72,7 +72,7 @@
 				return -GMM_CAUSE_PROTO_ERR_UNSPEC;
 			}
 
-			oap_msg->client_id = decode_big_endian(value, value_len);
+			oap_msg->client_id = osmo_decode_big_endian(value, value_len);
 
 			if (oap_msg->client_id == 0) {
 				LOGP(DGPRS, LOGL_NOTICE,
@@ -159,7 +159,8 @@
 
 	if (oap_msg->client_id > 0)
 		msgb_tlv_put(msg, OAP_CLIENT_ID_IE, sizeof(oap_msg->client_id),
-			     encode_big_endian(oap_msg->client_id, sizeof(oap_msg->client_id)));
+			     osmo_encode_big_endian(oap_msg->client_id,
+						    sizeof(oap_msg->client_id)));
 
 	if (oap_msg->rand_present)
 		msgb_tlv_put(msg, OAP_RAND_IE, sizeof(oap_msg->rand), oap_msg->rand);
