Ms Uicc Low Level Access service

Ms Uicc Low Level Access service — Support for the Ms Uicc Low Level Access service.

Functions

void mbim_terminal_capability_info_array_free ()
void mbim_uicc_application_array_free ()
MbimMessage * mbim_message_ms_uicc_low_level_access_atr_query_new ()
gboolean mbim_message_ms_uicc_low_level_access_atr_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_open_channel_set_new ()
gboolean mbim_message_ms_uicc_low_level_access_open_channel_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_close_channel_set_new ()
gboolean mbim_message_ms_uicc_low_level_access_close_channel_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_apdu_set_new ()
gboolean mbim_message_ms_uicc_low_level_access_apdu_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_terminal_capability_query_new ()
MbimMessage * mbim_message_ms_uicc_low_level_access_terminal_capability_set_new ()
gboolean mbim_message_ms_uicc_low_level_access_terminal_capability_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_reset_query_new ()
MbimMessage * mbim_message_ms_uicc_low_level_access_reset_set_new ()
gboolean mbim_message_ms_uicc_low_level_access_reset_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_application_list_query_new ()
gboolean mbim_message_ms_uicc_low_level_access_application_list_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_file_status_query_new ()
gboolean mbim_message_ms_uicc_low_level_access_file_status_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_read_binary_query_new ()
gboolean mbim_message_ms_uicc_low_level_access_read_binary_response_parse ()
MbimMessage * mbim_message_ms_uicc_low_level_access_read_record_query_new ()
gboolean mbim_message_ms_uicc_low_level_access_read_record_response_parse ()

Types and Values

Description

This section implements support for requests, responses and notifications in the Ms Uicc Low Level Access service.

Functions

mbim_terminal_capability_info_array_free ()

void
mbim_terminal_capability_info_array_free
                               (MbimTerminalCapabilityInfoArray *array);

Frees the memory allocated for the array of MbimTerminalCapabilityInfo structs.

Parameters

array

a NULL terminated array of MbimTerminalCapabilityInfo structs.

 

Since: 1.26


mbim_uicc_application_array_free ()

void
mbim_uicc_application_array_free (MbimUiccApplicationArray *array);

Frees the memory allocated for the array of MbimUiccApplication structs.

Parameters

array

a NULL terminated array of MbimUiccApplication structs.

 

Since: 1.28


mbim_message_ms_uicc_low_level_access_atr_query_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_atr_query_new
                               (GError **error);

Create a new request for the 'ATR' query command in the 'MS UICC Low Level Access' service.

Parameters

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.26


mbim_message_ms_uicc_low_level_access_atr_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_atr_response_parse
                               (const MbimMessage *message,
                                guint32 *out_atr_size,
                                const guint8 **out_atr,
                                GError **error);

Parses and returns parameters of the 'ATR' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_atr_size

return location for the size of the atr array.

[out][optional]

out_atr

return location for an array of guint8 values. Do not free the returned value, it is owned by message .

[out][optional][transfer none][element-type guint8][array length=out_atr_size]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.26


mbim_message_ms_uicc_low_level_access_open_channel_set_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_open_channel_set_new
                               (const guint32 app_id_size,
                                const guint8 *app_id,
                                guint32 select_p2_arg,
                                guint32 channel_group,
                                GError **error);

Create a new request for the 'Open Channel' set command in the 'MS UICC Low Level Access' service.

Parameters

app_id_size

size of the app_id array.

[in]

app_id

the 'AppId' field, given as an array of guint8 values.

[in][element-type guint8][array length=app_id_size]

select_p2_arg

the 'SelectP2Arg' field, given as a guint32.

[in]

channel_group

the 'ChannelGroup' field, given as a guint32.

[in]

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.26


mbim_message_ms_uicc_low_level_access_open_channel_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_open_channel_response_parse
                               (const MbimMessage *message,
                                guint32 *out_status,
                                guint32 *out_channel,
                                guint32 *out_response_size,
                                const guint8 **out_response,
                                GError **error);

Parses and returns parameters of the 'Open Channel' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_status

return location for a guint32, or NULL if the 'Status' field is not needed.

[out][optional][transfer none]

out_channel

return location for a guint32, or NULL if the 'Channel' field is not needed.

[out][optional][transfer none]

out_response_size

return location for the size of the response array.

[out][optional]

out_response

return location for an array of guint8 values. Do not free the returned value, it is owned by message .

[out][optional][transfer none][element-type guint8][array length=out_response_size]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.26


mbim_message_ms_uicc_low_level_access_close_channel_set_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_close_channel_set_new
                               (guint32 channel,
                                guint32 channel_group,
                                GError **error);

Create a new request for the 'Close Channel' set command in the 'MS UICC Low Level Access' service.

Parameters

channel

the 'Channel' field, given as a guint32.

[in]

channel_group

the 'ChannelGroup' field, given as a guint32.

[in]

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.26


mbim_message_ms_uicc_low_level_access_close_channel_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_close_channel_response_parse
                               (const MbimMessage *message,
                                guint32 *out_status,
                                GError **error);

Parses and returns parameters of the 'Close Channel' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_status

return location for a guint32, or NULL if the 'Status' field is not needed.

[out][optional][transfer none]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.26


mbim_message_ms_uicc_low_level_access_apdu_set_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_apdu_set_new
                               (guint32 channel,
                                MbimUiccSecureMessaging secure_messaging,
                                MbimUiccClassByteType class_byte_type,
                                const guint32 command_size,
                                const guint8 *command,
                                GError **error);

Create a new request for the 'APDU' set command in the 'MS UICC Low Level Access' service.

Parameters

channel

the 'Channel' field, given as a guint32.

[in]

secure_messaging

the 'SecureMessaging' field, given as a MbimUiccSecureMessaging.

[in]

class_byte_type

the 'ClassByteType' field, given as a MbimUiccClassByteType.

[in]

command_size

size of the command array.

[in]

command

the 'Command' field, given as an array of guint8 values.

[in][element-type guint8][array length=command_size]

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.26


mbim_message_ms_uicc_low_level_access_apdu_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_apdu_response_parse
                               (const MbimMessage *message,
                                guint32 *out_status,
                                guint32 *out_response_size,
                                const guint8 **out_response,
                                GError **error);

Parses and returns parameters of the 'APDU' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_status

return location for a guint32, or NULL if the 'Status' field is not needed.

[out][optional][transfer none]

out_response_size

return location for the size of the response array.

[out][optional]

out_response

return location for an array of guint8 values. Do not free the returned value, it is owned by message .

[out][optional][transfer none][element-type guint8][array length=out_response_size]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.26


mbim_message_ms_uicc_low_level_access_terminal_capability_query_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_terminal_capability_query_new
                               (GError **error);

Create a new request for the 'Terminal Capability' query command in the 'MS UICC Low Level Access' service.

Parameters

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.26


mbim_message_ms_uicc_low_level_access_terminal_capability_set_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_terminal_capability_set_new
                               (guint32 terminal_capability_count,
                                const MbimTerminalCapabilityInfo *const *terminal_capability,
                                GError **error);

Create a new request for the 'Terminal Capability' set command in the 'MS UICC Low Level Access' service.

Parameters

terminal_capability_count

the 'TerminalCapabilityCount' field, given as a guint32.

[in]

terminal_capability

the 'TerminalCapability' field, given as an array of MbimTerminalCapabilityInfo items.

[in][array zero-terminated=1][element-type MbimTerminalCapabilityInfo]

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.26


mbim_message_ms_uicc_low_level_access_terminal_capability_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_terminal_capability_response_parse
                               (const MbimMessage *message,
                                guint32 *out_terminal_capability_count,
                                MbimTerminalCapabilityInfoArray **out_terminal_capability,
                                GError **error);

Parses and returns parameters of the 'Terminal Capability' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_terminal_capability_count

return location for a guint32, or NULL if the 'TerminalCapabilityCount' field is not needed.

[out][optional][transfer none]

out_terminal_capability

return location for a newly allocated array of MbimTerminalCapabilityInfo items, or NULL if the 'TerminalCapability' field is not needed. Free the returned value with mbim_terminal_capability_info_array_free().

[out][optional][transfer full][array zero-terminated=1][element-type MbimTerminalCapabilityInfo]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.26


mbim_message_ms_uicc_low_level_access_reset_query_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_reset_query_new
                               (GError **error);

Create a new request for the 'Reset' query command in the 'MS UICC Low Level Access' service.

Parameters

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.26


mbim_message_ms_uicc_low_level_access_reset_set_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_reset_set_new
                               (MbimUiccPassThroughAction pass_through_action,
                                GError **error);

Create a new request for the 'Reset' set command in the 'MS UICC Low Level Access' service.

Parameters

pass_through_action

the 'PassThroughAction' field, given as a MbimUiccPassThroughAction.

[in]

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.26


mbim_message_ms_uicc_low_level_access_reset_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_reset_response_parse
                               (const MbimMessage *message,
                                MbimUiccPassThroughStatus *out_pass_through_status,
                                GError **error);

Parses and returns parameters of the 'Reset' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_pass_through_status

return location for a MbimUiccPassThroughStatus, or NULL if the 'PassThroughStatus' field is not needed.

[out][optional][transfer none]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.26


mbim_message_ms_uicc_low_level_access_application_list_query_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_application_list_query_new
                               (GError **error);

Create a new request for the 'Application List' query command in the 'MS UICC Low Level Access' service.

Parameters

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.28


mbim_message_ms_uicc_low_level_access_application_list_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_application_list_response_parse
                               (const MbimMessage *message,
                                guint32 *out_version,
                                guint32 *out_application_count,
                                guint32 *out_active_application_index,
                                guint32 *out_application_list_size_bytes,
                                MbimUiccApplicationArray **out_applications,
                                GError **error);

Parses and returns parameters of the 'Application List' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_version

return location for a guint32, or NULL if the 'Version' field is not needed.

[out][optional][transfer none]

out_application_count

return location for a guint32, or NULL if the 'ApplicationCount' field is not needed.

[out][optional][transfer none]

out_active_application_index

return location for a guint32, or NULL if the 'ActiveApplicationIndex' field is not needed.

[out][optional][transfer none]

out_application_list_size_bytes

return location for a guint32, or NULL if the 'ApplicationListSizeBytes' field is not needed.

[out][optional][transfer none]

out_applications

return location for a newly allocated array of MbimUiccApplication items, or NULL if the 'Applications' field is not needed. Free the returned value with mbim_uicc_application_array_free().

[out][optional][transfer full][array zero-terminated=1][element-type MbimUiccApplication]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.28


mbim_message_ms_uicc_low_level_access_file_status_query_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_file_status_query_new
                               (guint32 version,
                                const guint32 application_id_size,
                                const guint8 *application_id,
                                const guint32 file_path_size,
                                const guint8 *file_path,
                                GError **error);

Create a new request for the 'File Status' query command in the 'MS UICC Low Level Access' service.

Parameters

version

the 'Version' field, given as a guint32.

[in]

application_id_size

size of the application_id array.

[in]

application_id

the 'ApplicationId' field, given as an array of guint8 values.

[in][element-type guint8][array length=application_id_size]

file_path_size

size of the file_path array.

[in]

file_path

the 'FilePath' field, given as an array of guint8 values.

[in][element-type guint8][array length=file_path_size]

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.28


mbim_message_ms_uicc_low_level_access_file_status_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_file_status_response_parse
                               (const MbimMessage *message,
                                guint32 *out_version,
                                guint32 *out_status_word1,
                                guint32 *out_status_word2,
                                MbimUiccFileAccessibility *out_file_accessibility,
                                MbimUiccFileType *out_file_type,
                                MbimUiccFileStructure *out_file_structure,
                                guint32 *out_file_item_count,
                                guint32 *out_file_item_size,
                                MbimPinType *out_access_condition_read,
                                MbimPinType *out_access_condition_update,
                                MbimPinType *out_access_condition_activate,
                                MbimPinType *out_access_condition_deactivate,
                                GError **error);

Parses and returns parameters of the 'File Status' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_version

return location for a guint32, or NULL if the 'Version' field is not needed.

[out][optional][transfer none]

out_status_word1

return location for a guint32, or NULL if the 'StatusWord1' field is not needed.

[out][optional][transfer none]

out_status_word2

return location for a guint32, or NULL if the 'StatusWord2' field is not needed.

[out][optional][transfer none]

out_file_accessibility

return location for a MbimUiccFileAccessibility, or NULL if the 'FileAccessibility' field is not needed.

[out][optional][transfer none]

out_file_type

return location for a MbimUiccFileType, or NULL if the 'FileType' field is not needed.

[out][optional][transfer none]

out_file_structure

return location for a MbimUiccFileStructure, or NULL if the 'FileStructure' field is not needed.

[out][optional][transfer none]

out_file_item_count

return location for a guint32, or NULL if the 'FileItemCount' field is not needed.

[out][optional][transfer none]

out_file_item_size

return location for a guint32, or NULL if the 'FileItemSize' field is not needed.

[out][optional][transfer none]

out_access_condition_read

return location for a MbimPinType, or NULL if the 'AccessConditionRead' field is not needed.

[out][optional][transfer none]

out_access_condition_update

return location for a MbimPinType, or NULL if the 'AccessConditionUpdate' field is not needed.

[out][optional][transfer none]

out_access_condition_activate

return location for a MbimPinType, or NULL if the 'AccessConditionActivate' field is not needed.

[out][optional][transfer none]

out_access_condition_deactivate

return location for a MbimPinType, or NULL if the 'AccessConditionDeactivate' field is not needed.

[out][optional][transfer none]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.28


mbim_message_ms_uicc_low_level_access_read_binary_query_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_read_binary_query_new
                               (guint32 version,
                                const guint32 application_id_size,
                                const guint8 *application_id,
                                const guint32 file_path_size,
                                const guint8 *file_path,
                                guint32 read_offset,
                                guint32 read_size,
                                const gchar *local_pin,
                                const guint32 data_size,
                                const guint8 *data,
                                GError **error);

Create a new request for the 'Read Binary' query command in the 'MS UICC Low Level Access' service.

Parameters

version

the 'Version' field, given as a guint32.

[in]

application_id_size

size of the application_id array.

[in]

application_id

the 'ApplicationId' field, given as an array of guint8 values.

[in][element-type guint8][array length=application_id_size]

file_path_size

size of the file_path array.

[in]

file_path

the 'FilePath' field, given as an array of guint8 values.

[in][element-type guint8][array length=file_path_size]

read_offset

the 'ReadOffset' field, given as a guint32.

[in]

read_size

the 'ReadSize' field, given as a guint32.

[in]

local_pin

the 'LocalPin' field, given as a string.

[in]

data_size

size of the data array.

[in]

data

the 'Data' field, given as an array of guint8 values.

[in][element-type guint8][array length=data_size]

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.28


mbim_message_ms_uicc_low_level_access_read_binary_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_read_binary_response_parse
                               (const MbimMessage *message,
                                guint32 *out_version,
                                guint32 *out_status_word1,
                                guint32 *out_status_word2,
                                guint32 *out_data_size,
                                const guint8 **out_data,
                                GError **error);

Parses and returns parameters of the 'Read Binary' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_version

return location for a guint32, or NULL if the 'Version' field is not needed.

[out][optional][transfer none]

out_status_word1

return location for a guint32, or NULL if the 'StatusWord1' field is not needed.

[out][optional][transfer none]

out_status_word2

return location for a guint32, or NULL if the 'StatusWord2' field is not needed.

[out][optional][transfer none]

out_data_size

return location for the size of the data array.

[out][optional]

out_data

return location for an array of guint8 values. Do not free the returned value, it is owned by message .

[out][optional][transfer none][element-type guint8][array length=out_data_size]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.28


mbim_message_ms_uicc_low_level_access_read_record_query_new ()

MbimMessage *
mbim_message_ms_uicc_low_level_access_read_record_query_new
                               (guint32 version,
                                const guint32 application_id_size,
                                const guint8 *application_id,
                                const guint32 file_path_size,
                                const guint8 *file_path,
                                guint32 record_number,
                                const gchar *local_pin,
                                const guint32 data_size,
                                const guint8 *data,
                                GError **error);

Create a new request for the 'Read Record' query command in the 'MS UICC Low Level Access' service.

Parameters

version

the 'Version' field, given as a guint32.

[in]

application_id_size

size of the application_id array.

[in]

application_id

the 'ApplicationId' field, given as an array of guint8 values.

[in][element-type guint8][array length=application_id_size]

file_path_size

size of the file_path array.

[in]

file_path

the 'FilePath' field, given as an array of guint8 values.

[in][element-type guint8][array length=file_path_size]

record_number

the 'RecordNumber' field, given as a guint32.

[in]

local_pin

the 'LocalPin' field, given as a string.

[in]

data_size

size of the data array.

[in]

data

the 'Data' field, given as an array of guint8 values.

[in][element-type guint8][array length=data_size]

error

return location for error or NULL.

 

Returns

a newly allocated MbimMessage, which should be freed with mbim_message_unref().

Since: 1.28


mbim_message_ms_uicc_low_level_access_read_record_response_parse ()

gboolean
mbim_message_ms_uicc_low_level_access_read_record_response_parse
                               (const MbimMessage *message,
                                guint32 *out_version,
                                guint32 *out_status_word1,
                                guint32 *out_status_word2,
                                guint32 *out_data_size,
                                const guint8 **out_data,
                                GError **error);

Parses and returns parameters of the 'Read Record' response command in the 'MS UICC Low Level Access' service.

Parameters

message

the MbimMessage.

 

out_version

return location for a guint32, or NULL if the 'Version' field is not needed.

[out][optional][transfer none]

out_status_word1

return location for a guint32, or NULL if the 'StatusWord1' field is not needed.

[out][optional][transfer none]

out_status_word2

return location for a guint32, or NULL if the 'StatusWord2' field is not needed.

[out][optional][transfer none]

out_data_size

return location for the size of the data array.

[out][optional]

out_data

return location for an array of guint8 values. Do not free the returned value, it is owned by message .

[out][optional][transfer none][element-type guint8][array length=out_data_size]

error

return location for error or NULL.

 

Returns

TRUE if the message was correctly parsed, FALSE if error is set.

Since: 1.28

Types and Values

MbimTerminalCapabilityInfo

typedef struct {
    guint32 terminal_capability_data_size;
    guint8 *terminal_capability_data;
} MbimTerminalCapabilityInfo;

A MbimTerminalCapabilityInfo element.

Members

guint32 terminal_capability_data_size;

size of the terminal_capability_data array.

 

guint8 *terminal_capability_data;

an array of guint8 values.

 

Since: 1.26


MbimTerminalCapabilityInfoArray

typedef MbimTerminalCapabilityInfo *MbimTerminalCapabilityInfoArray;

A NULL-terminated array of MbimTerminalCapabilityInfo elements.

Since: 1.26


MbimUiccApplication

typedef struct {
    guint32 application_type;
    guint32 application_id_size;
    guint8 *application_id;
    gchar *application_name;
    guint32 pin_key_reference_count;
    guint32 pin_key_references_size;
    guint8 *pin_key_references;
} MbimUiccApplication;

A MbimUiccApplication element.

Members

guint32 application_type;

a MbimUiccApplicationType given as a guint32.

 

guint32 application_id_size;

size of the application_id array.

 

guint8 *application_id;

an array of guint8 values.

 

gchar *application_name;

a string.

 

guint32 pin_key_reference_count;

a guint32.

 

guint32 pin_key_references_size;

size of the pin_key_references array.

 

guint8 *pin_key_references;

an array of guint8 values.

 

Since: 1.28


MbimUiccApplicationArray

typedef MbimUiccApplication *MbimUiccApplicationArray;

A NULL-terminated array of MbimUiccApplication elements.

Since: 1.28