library/Osmocom_Types: add f_rnd_bitstring() and f_pad_bit()

Change-Id: I9be55f6979c8ce1cbf5b2ef317c998ae30488e0e
This commit is contained in:
Vadim Yanitskiy 2020-07-20 17:47:18 +07:00 committed by laforge
parent c227ea93ae
commit a01a05531c
1 changed files with 14 additions and 0 deletions

View File

@ -74,6 +74,12 @@ module Osmocom_Types {
return ret;
}
/* return bitstring composed of random bits */
function f_rnd_bitstring(in integer len) return bitstring {
var octetstring oct := f_rnd_octstring(len / 8 + 1);
return substr(oct2bit(oct), 0, len);
}
function f_rnd_imsi(in hexstring prefix) return hexstring {
return prefix & f_rnd_hexstring(15 - lengthof(prefix), 9);
}
@ -175,6 +181,14 @@ function f_pad_oct(octetstring str, integer len, OCT1 pad) return octetstring {
return str;
}
function f_pad_bit(bitstring str, integer len, BIT1 pad) return bitstring {
var integer strlen := lengthof(str);
for (var integer i := 0; i < len-strlen; i := i+1) {
str := str & pad;
}
return str;
}
function f_pad_bcd_number(hexstring number) return hexstring {
if (lengthof(number) mod 2 != 0) {
return number & 'F'H;