Skip to main content

Imsi

Struct Imsi 

pub struct Imsi(Digits<15>);
Expand description

IMSI of a SIM application.

The IMSI has at most 15 decimal digits.

Tuple Fields§

§0: Digits<15>

Implementations§

§

impl Imsi

const EF_MAX_LEN: u8 = 8

Longest value of the length byte.

pub fn from_ef(ef: &[u8]) -> Result<Self, EfError>

Decodes the content of EF 6F07 (EF IMSI, TS 31.102 and TS 51.011).

The first byte is the number of bytes that follow. The high nibble of the second byte is the first digit. Its low nibble contains the identity type and the parity. Every further byte contains two digits with the low nibble first. For an even number of digits the last high nibble is the filler F. Bytes after the IMSI are ignored.

§Errors

Returns an error if the length byte is invalid, the file is shorter than the length byte says, the identity nibble is wrong or a nibble is not a decimal digit.

pub fn as_str(&self) -> &str

Returns the digits.

Trait Implementations§

§

impl Clone for Imsi

§

fn clone(&self) -> Imsi

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Copy for Imsi

§

impl Debug for Imsi

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
§

impl Display for Imsi

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
§

impl Eq for Imsi

§

impl Hash for Imsi

§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl PartialEq for Imsi

§

fn eq(&self, other: &Imsi) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
§

impl StructuralPartialEq for Imsi

§

impl TryFrom<&[u8]> for Imsi

Decodes the content of EF 6F07 like Imsi::from_ef.

§

type Error = EfError

The type returned in the event of a conversion error.
§

fn try_from(ef: &[u8]) -> Result<Self, EfError>

Performs the conversion.

Auto Trait Implementations§

§

impl Freeze for Imsi

§

impl RefUnwindSafe for Imsi

§

impl Send for Imsi

§

impl Sync for Imsi

§

impl Unpin for Imsi

§

impl UnsafeUnpin for Imsi

§

impl UnwindSafe for Imsi

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more