blob: a66920fc9b92858fa11acae1fe08e719880b2a77 [file] [log] [blame]
/* GENERATED CODE... DO NOT EDIT */
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2013 - 2018 Aleksander Morgado <aleksander@aleksander.es>
*/
#include <glib.h>
#include <glib-object.h>
#include <gio/gio.h>
#include "mbim-message.h"
#include "mbim-device.h"
#include "mbim-enums.h"
#include "mbim-tlv.h"
#ifndef __LIBMBIM_GLIB_MBIM_MS_UICC_LOW_LEVEL_ACCESS__
#define __LIBMBIM_GLIB_MBIM_MS_UICC_LOW_LEVEL_ACCESS__
G_BEGIN_DECLS
/**
* SECTION:mbim-ms-uicc-low-level-access
* @title: Ms Uicc Low Level Access service
* @short_description: Support for the Ms Uicc Low Level Access service.
*
* This section implements support for requests, responses and notifications in the
* Ms Uicc Low Level Access service.
*/
/*****************************************************************************/
/* Struct: MbimTerminalCapabilityInfo */
/**
* MbimTerminalCapabilityInfo:
* @terminal_capability_data_size: size of the terminal_capability_data array.
* @terminal_capability_data: an array of #guint8 values.
*
* A MbimTerminalCapabilityInfo element.
*
* Since: 1.26
*/
typedef struct {
guint32 terminal_capability_data_size;
guint8 *terminal_capability_data;
} MbimTerminalCapabilityInfo;
/**
* MbimTerminalCapabilityInfoArray:
*
* A NULL-terminated array of MbimTerminalCapabilityInfo elements.
*
* Since: 1.26
*/
typedef MbimTerminalCapabilityInfo *MbimTerminalCapabilityInfoArray;
/**
* mbim_terminal_capability_info_array_free:
* @array: a #NULL terminated array of #MbimTerminalCapabilityInfo structs.
*
* Frees the memory allocated for the array of #MbimTerminalCapabilityInfo structs.
*
* Since: 1.26
*/
void mbim_terminal_capability_info_array_free (MbimTerminalCapabilityInfoArray *array);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MbimTerminalCapabilityInfoArray, mbim_terminal_capability_info_array_free)
/*****************************************************************************/
/* Struct: MbimUiccApplication */
/**
* MbimUiccApplication:
* @application_type: a #MbimUiccApplicationType given as a #guint32.
* @application_id_size: size of the application_id array.
* @application_id: an array of #guint8 values.
* @application_name: a string.
* @pin_key_reference_count: a #guint32.
* @pin_key_references_size: size of the pin_key_references array.
* @pin_key_references: an array of #guint8 values.
*
* A MbimUiccApplication element.
*
* Since: 1.28
*/
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;
/**
* MbimUiccApplicationArray:
*
* A NULL-terminated array of MbimUiccApplication elements.
*
* Since: 1.28
*/
typedef MbimUiccApplication *MbimUiccApplicationArray;
/**
* mbim_uicc_application_array_free:
* @array: a #NULL terminated array of #MbimUiccApplication structs.
*
* Frees the memory allocated for the array of #MbimUiccApplication structs.
*
* Since: 1.28
*/
void mbim_uicc_application_array_free (MbimUiccApplicationArray *array);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MbimUiccApplicationArray, mbim_uicc_application_array_free)
/*****************************************************************************/
/* Message (Query): MBIM Message MS UICC Low Level Access ATR */
/**
* mbim_message_ms_uicc_low_level_access_atr_query_new:
* @error: return location for error or %NULL.
*
* Create a new request for the 'ATR' query command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.26
*/
MbimMessage *mbim_message_ms_uicc_low_level_access_atr_query_new (
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access ATR */
/**
* mbim_message_ms_uicc_low_level_access_atr_response_parse:
* @message: the #MbimMessage.
* @out_atr_size: (out)(optional): return location for the size of the atr array.
* @out_atr: (out)(optional)(transfer none)(element-type guint8)(array length=out_atr_size): return location for an array of #guint8 values. Do not free the returned value, it is owned by @message.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'ATR' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.26
*/
gboolean mbim_message_ms_uicc_low_level_access_atr_response_parse (
const MbimMessage *message,
guint32 *out_atr_size,
const guint8 **out_atr,
GError **error);
/*****************************************************************************/
/* Message (Set): MBIM Message MS UICC Low Level Access Open Channel */
/**
* mbim_message_ms_uicc_low_level_access_open_channel_set_new:
* @app_id_size: (in): size of the app_id array.
* @app_id: (in)(element-type guint8)(array length=app_id_size): the 'AppId' field, given as an array of #guint8 values.
* @select_p2_arg: (in): the 'SelectP2Arg' field, given as a #guint32.
* @channel_group: (in): the 'ChannelGroup' field, given as a #guint32.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Open Channel' set command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.26
*/
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);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access Open Channel */
/**
* mbim_message_ms_uicc_low_level_access_open_channel_response_parse:
* @message: the #MbimMessage.
* @out_status: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'Status' field is not needed.
* @out_channel: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'Channel' field is not needed.
* @out_response_size: (out)(optional): return location for the size of the response array.
* @out_response: (out)(optional)(transfer none)(element-type guint8)(array length=out_response_size): return location for an array of #guint8 values. Do not free the returned value, it is owned by @message.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Open Channel' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.26
*/
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);
/*****************************************************************************/
/* Message (Set): MBIM Message MS UICC Low Level Access Close Channel */
/**
* mbim_message_ms_uicc_low_level_access_close_channel_set_new:
* @channel: (in): the 'Channel' field, given as a #guint32.
* @channel_group: (in): the 'ChannelGroup' field, given as a #guint32.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Close Channel' set command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.26
*/
MbimMessage *mbim_message_ms_uicc_low_level_access_close_channel_set_new (
guint32 channel,
guint32 channel_group,
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access Close Channel */
/**
* mbim_message_ms_uicc_low_level_access_close_channel_response_parse:
* @message: the #MbimMessage.
* @out_status: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'Status' field is not needed.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Close Channel' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.26
*/
gboolean mbim_message_ms_uicc_low_level_access_close_channel_response_parse (
const MbimMessage *message,
guint32 *out_status,
GError **error);
/*****************************************************************************/
/* Message (Set): MBIM Message MS UICC Low Level Access APDU */
/**
* mbim_message_ms_uicc_low_level_access_apdu_set_new:
* @channel: (in): the 'Channel' field, given as a #guint32.
* @secure_messaging: (in): the 'SecureMessaging' field, given as a #MbimUiccSecureMessaging.
* @class_byte_type: (in): the 'ClassByteType' field, given as a #MbimUiccClassByteType.
* @command_size: (in): size of the command array.
* @command: (in)(element-type guint8)(array length=command_size): the 'Command' field, given as an array of #guint8 values.
* @error: return location for error or %NULL.
*
* Create a new request for the 'APDU' set command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.26
*/
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);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access APDU */
/**
* mbim_message_ms_uicc_low_level_access_apdu_response_parse:
* @message: the #MbimMessage.
* @out_status: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'Status' field is not needed.
* @out_response_size: (out)(optional): return location for the size of the response array.
* @out_response: (out)(optional)(transfer none)(element-type guint8)(array length=out_response_size): return location for an array of #guint8 values. Do not free the returned value, it is owned by @message.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'APDU' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.26
*/
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);
/*****************************************************************************/
/* Message (Query): MBIM Message MS UICC Low Level Access Terminal Capability */
/**
* mbim_message_ms_uicc_low_level_access_terminal_capability_query_new:
* @error: return location for error or %NULL.
*
* Create a new request for the 'Terminal Capability' query command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.26
*/
MbimMessage *mbim_message_ms_uicc_low_level_access_terminal_capability_query_new (
GError **error);
/*****************************************************************************/
/* Message (Set): MBIM Message MS UICC Low Level Access Terminal Capability */
/**
* mbim_message_ms_uicc_low_level_access_terminal_capability_set_new:
* @terminal_capability_count: (in): the 'TerminalCapabilityCount' field, given as a #guint32.
* @terminal_capability: (in)(array zero-terminated=1)(element-type MbimTerminalCapabilityInfo): the 'TerminalCapability' field, given as an array of #MbimTerminalCapabilityInfo items.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Terminal Capability' set command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.26
*/
MbimMessage *mbim_message_ms_uicc_low_level_access_terminal_capability_set_new (
guint32 terminal_capability_count,
const MbimTerminalCapabilityInfo *const *terminal_capability,
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access Terminal Capability */
/**
* mbim_message_ms_uicc_low_level_access_terminal_capability_response_parse:
* @message: the #MbimMessage.
* @out_terminal_capability_count: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'TerminalCapabilityCount' field is not needed.
* @out_terminal_capability: (out)(optional)(transfer full)(array zero-terminated=1)(element-type MbimTerminalCapabilityInfo): 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().
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Terminal Capability' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.26
*/
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);
/*****************************************************************************/
/* Message (Query): MBIM Message MS UICC Low Level Access Reset */
/**
* mbim_message_ms_uicc_low_level_access_reset_query_new:
* @error: return location for error or %NULL.
*
* Create a new request for the 'Reset' query command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.26
*/
MbimMessage *mbim_message_ms_uicc_low_level_access_reset_query_new (
GError **error);
/*****************************************************************************/
/* Message (Set): MBIM Message MS UICC Low Level Access Reset */
/**
* mbim_message_ms_uicc_low_level_access_reset_set_new:
* @pass_through_action: (in): the 'PassThroughAction' field, given as a #MbimUiccPassThroughAction.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Reset' set command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.26
*/
MbimMessage *mbim_message_ms_uicc_low_level_access_reset_set_new (
MbimUiccPassThroughAction pass_through_action,
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access Reset */
/**
* mbim_message_ms_uicc_low_level_access_reset_response_parse:
* @message: the #MbimMessage.
* @out_pass_through_status: (out)(optional)(transfer none): return location for a #MbimUiccPassThroughStatus, or %NULL if the 'PassThroughStatus' field is not needed.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Reset' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.26
*/
gboolean mbim_message_ms_uicc_low_level_access_reset_response_parse (
const MbimMessage *message,
MbimUiccPassThroughStatus *out_pass_through_status,
GError **error);
/*****************************************************************************/
/* Message (Query): MBIM Message MS UICC Low Level Access Application List */
/**
* mbim_message_ms_uicc_low_level_access_application_list_query_new:
* @error: return location for error or %NULL.
*
* Create a new request for the 'Application List' query command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.28
*/
MbimMessage *mbim_message_ms_uicc_low_level_access_application_list_query_new (
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access Application List */
/**
* mbim_message_ms_uicc_low_level_access_application_list_response_parse:
* @message: the #MbimMessage.
* @out_version: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'Version' field is not needed.
* @out_application_count: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'ApplicationCount' field is not needed.
* @out_active_application_index: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'ActiveApplicationIndex' field is not needed.
* @out_application_list_size_bytes: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'ApplicationListSizeBytes' field is not needed.
* @out_applications: (out)(optional)(transfer full)(array zero-terminated=1)(element-type MbimUiccApplication): 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().
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Application List' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.28
*/
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);
/*****************************************************************************/
/* Message (Query): MBIM Message MS UICC Low Level Access File Status */
/**
* mbim_message_ms_uicc_low_level_access_file_status_query_new:
* @version: (in): the 'Version' field, given as a #guint32.
* @application_id_size: (in): size of the application_id array.
* @application_id: (in)(element-type guint8)(array length=application_id_size): the 'ApplicationId' field, given as an array of #guint8 values.
* @file_path_size: (in): size of the file_path array.
* @file_path: (in)(element-type guint8)(array length=file_path_size): the 'FilePath' field, given as an array of #guint8 values.
* @error: return location for error or %NULL.
*
* Create a new request for the 'File Status' query command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.28
*/
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);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access File Status */
/**
* mbim_message_ms_uicc_low_level_access_file_status_response_parse:
* @message: the #MbimMessage.
* @out_version: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'Version' field is not needed.
* @out_status_word1: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'StatusWord1' field is not needed.
* @out_status_word2: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'StatusWord2' field is not needed.
* @out_file_accessibility: (out)(optional)(transfer none): return location for a #MbimUiccFileAccessibility, or %NULL if the 'FileAccessibility' field is not needed.
* @out_file_type: (out)(optional)(transfer none): return location for a #MbimUiccFileType, or %NULL if the 'FileType' field is not needed.
* @out_file_structure: (out)(optional)(transfer none): return location for a #MbimUiccFileStructure, or %NULL if the 'FileStructure' field is not needed.
* @out_file_item_count: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'FileItemCount' field is not needed.
* @out_file_item_size: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'FileItemSize' field is not needed.
* @out_access_condition_read: (out)(optional)(transfer none): return location for a #MbimPinType, or %NULL if the 'AccessConditionRead' field is not needed.
* @out_access_condition_update: (out)(optional)(transfer none): return location for a #MbimPinType, or %NULL if the 'AccessConditionUpdate' field is not needed.
* @out_access_condition_activate: (out)(optional)(transfer none): return location for a #MbimPinType, or %NULL if the 'AccessConditionActivate' field is not needed.
* @out_access_condition_deactivate: (out)(optional)(transfer none): return location for a #MbimPinType, or %NULL if the 'AccessConditionDeactivate' field is not needed.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'File Status' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.28
*/
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);
/*****************************************************************************/
/* Message (Query): MBIM Message MS UICC Low Level Access Read Binary */
/**
* mbim_message_ms_uicc_low_level_access_read_binary_query_new:
* @version: (in): the 'Version' field, given as a #guint32.
* @application_id_size: (in): size of the application_id array.
* @application_id: (in)(element-type guint8)(array length=application_id_size): the 'ApplicationId' field, given as an array of #guint8 values.
* @file_path_size: (in): size of the file_path array.
* @file_path: (in)(element-type guint8)(array length=file_path_size): the 'FilePath' field, given as an array of #guint8 values.
* @read_offset: (in): the 'ReadOffset' field, given as a #guint32.
* @read_size: (in): the 'ReadSize' field, given as a #guint32.
* @local_pin: (in): the 'LocalPin' field, given as a string.
* @data_size: (in): size of the data array.
* @data: (in)(element-type guint8)(array length=data_size): the 'Data' field, given as an array of #guint8 values.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Read Binary' query command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.28
*/
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);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access Read Binary */
/**
* mbim_message_ms_uicc_low_level_access_read_binary_response_parse:
* @message: the #MbimMessage.
* @out_version: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'Version' field is not needed.
* @out_status_word1: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'StatusWord1' field is not needed.
* @out_status_word2: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'StatusWord2' field is not needed.
* @out_data_size: (out)(optional): return location for the size of the data array.
* @out_data: (out)(optional)(transfer none)(element-type guint8)(array length=out_data_size): return location for an array of #guint8 values. Do not free the returned value, it is owned by @message.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Read Binary' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.28
*/
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);
/*****************************************************************************/
/* Message (Query): MBIM Message MS UICC Low Level Access Read Record */
/**
* mbim_message_ms_uicc_low_level_access_read_record_query_new:
* @version: (in): the 'Version' field, given as a #guint32.
* @application_id_size: (in): size of the application_id array.
* @application_id: (in)(element-type guint8)(array length=application_id_size): the 'ApplicationId' field, given as an array of #guint8 values.
* @file_path_size: (in): size of the file_path array.
* @file_path: (in)(element-type guint8)(array length=file_path_size): the 'FilePath' field, given as an array of #guint8 values.
* @record_number: (in): the 'RecordNumber' field, given as a #guint32.
* @local_pin: (in): the 'LocalPin' field, given as a string.
* @data_size: (in): size of the data array.
* @data: (in)(element-type guint8)(array length=data_size): the 'Data' field, given as an array of #guint8 values.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Read Record' query command in the 'MS UICC Low Level Access' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.28
*/
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);
/*****************************************************************************/
/* Message (Response): MBIM Message MS UICC Low Level Access Read Record */
/**
* mbim_message_ms_uicc_low_level_access_read_record_response_parse:
* @message: the #MbimMessage.
* @out_version: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'Version' field is not needed.
* @out_status_word1: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'StatusWord1' field is not needed.
* @out_status_word2: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'StatusWord2' field is not needed.
* @out_data_size: (out)(optional): return location for the size of the data array.
* @out_data: (out)(optional)(transfer none)(element-type guint8)(array length=out_data_size): return location for an array of #guint8 values. Do not free the returned value, it is owned by @message.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Read Record' response command in the 'MS UICC Low Level Access' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.28
*/
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);
/*****************************************************************************/
/* Service helpers for printable fields */
#if defined (LIBMBIM_GLIB_COMPILATION)
G_GNUC_INTERNAL
gchar *
__mbim_message_ms_uicc_low_level_access_get_printable_fields (
const MbimMessage *message,
const gchar *line_prefix,
GError **error);
#endif
G_END_DECLS
#endif /* __LIBMBIM_GLIB_MBIM_MS_UICC_LOW_LEVEL_ACCESS__ */