blob: 3b99f5a0181dd8589f9d0b01dbb995ff9f3351be [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_SMS__
#define __LIBMBIM_GLIB_MBIM_SMS__
G_BEGIN_DECLS
/**
* SECTION:mbim-sms
* @title: Sms service
* @short_description: Support for the Sms service.
*
* This section implements support for requests, responses and notifications in the
* Sms service.
*/
/*****************************************************************************/
/* Struct: MbimSmsPduReadRecord */
/**
* MbimSmsPduReadRecord:
* @message_index: a #guint32.
* @message_status: a #MbimSmsStatus given as a #guint32.
* @pdu_data_size: size of the pdu_data array.
* @pdu_data: an array of #guint8 values.
*
* A MbimSmsPduReadRecord element.
*
* Since: 1.4
*/
typedef struct {
guint32 message_index;
guint32 message_status;
guint32 pdu_data_size;
guint8 *pdu_data;
} MbimSmsPduReadRecord;
/**
* MbimSmsPduReadRecordArray:
*
* A NULL-terminated array of MbimSmsPduReadRecord elements.
*
* Since: 1.24
*/
typedef MbimSmsPduReadRecord *MbimSmsPduReadRecordArray;
/**
* mbim_sms_pdu_read_record_array_free:
* @array: a #NULL terminated array of #MbimSmsPduReadRecord structs.
*
* Frees the memory allocated for the array of #MbimSmsPduReadRecord structs.
*
* Since: 1.4
*/
void mbim_sms_pdu_read_record_array_free (MbimSmsPduReadRecordArray *array);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MbimSmsPduReadRecordArray, mbim_sms_pdu_read_record_array_free)
/*****************************************************************************/
/* Struct: MbimSmsCdmaReadRecord */
/**
* MbimSmsCdmaReadRecord:
* @message_index: a #guint32.
* @message_status: a #MbimSmsStatus given as a #guint32.
* @address: a string.
* @timestamp: a string.
* @encoding: a #MbimSmsCdmaEncoding given as a #guint32.
* @language: a #MbimSmsCdmaLang given as a #guint32.
* @encoded_message_size: size of the encoded_message array.
* @encoded_message: an array of #guint8 values.
* @encoded_message_size_in_characters: a #guint32.
*
* A MbimSmsCdmaReadRecord element.
*
* Since: 1.4
*/
typedef struct {
guint32 message_index;
guint32 message_status;
gchar *address;
gchar *timestamp;
guint32 encoding;
guint32 language;
guint32 encoded_message_size;
guint8 *encoded_message;
guint32 encoded_message_size_in_characters;
} MbimSmsCdmaReadRecord;
/**
* MbimSmsCdmaReadRecordArray:
*
* A NULL-terminated array of MbimSmsCdmaReadRecord elements.
*
* Since: 1.24
*/
typedef MbimSmsCdmaReadRecord *MbimSmsCdmaReadRecordArray;
/**
* mbim_sms_cdma_read_record_array_free:
* @array: a #NULL terminated array of #MbimSmsCdmaReadRecord structs.
*
* Frees the memory allocated for the array of #MbimSmsCdmaReadRecord structs.
*
* Since: 1.4
*/
void mbim_sms_cdma_read_record_array_free (MbimSmsCdmaReadRecordArray *array);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MbimSmsCdmaReadRecordArray, mbim_sms_cdma_read_record_array_free)
/*****************************************************************************/
/* Struct: MbimSmsPduSendRecord */
/**
* MbimSmsPduSendRecord:
* @pdu_data_size: size of the pdu_data array.
* @pdu_data: an array of #guint8 values.
*
* A MbimSmsPduSendRecord element.
*
* Since: 1.4
*/
typedef struct {
guint32 pdu_data_size;
guint8 *pdu_data;
} MbimSmsPduSendRecord;
/**
* mbim_sms_pdu_send_record_free:
* @var: a #MbimSmsPduSendRecord.
*
* Frees the memory allocated for the #MbimSmsPduSendRecord.
*
* Since: 1.4
*/
void mbim_sms_pdu_send_record_free (MbimSmsPduSendRecord *var);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MbimSmsPduSendRecord, mbim_sms_pdu_send_record_free)
/*****************************************************************************/
/* Struct: MbimSmsCdmaSendRecord */
/**
* MbimSmsCdmaSendRecord:
* @encoding: a #MbimSmsCdmaEncoding given as a #guint32.
* @language: a #MbimSmsCdmaLang given as a #guint32.
* @address: a string.
* @encoded_message_size: size of the encoded_message array.
* @encoded_message: an array of #guint8 values.
* @encoded_message_size_in_characters: a #guint32.
*
* A MbimSmsCdmaSendRecord element.
*
* Since: 1.4
*/
typedef struct {
guint32 encoding;
guint32 language;
gchar *address;
guint32 encoded_message_size;
guint8 *encoded_message;
guint32 encoded_message_size_in_characters;
} MbimSmsCdmaSendRecord;
/**
* mbim_sms_cdma_send_record_free:
* @var: a #MbimSmsCdmaSendRecord.
*
* Frees the memory allocated for the #MbimSmsCdmaSendRecord.
*
* Since: 1.4
*/
void mbim_sms_cdma_send_record_free (MbimSmsCdmaSendRecord *var);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MbimSmsCdmaSendRecord, mbim_sms_cdma_send_record_free)
/*****************************************************************************/
/* Message (Query): MBIM Message SMS Configuration */
/**
* mbim_message_sms_configuration_query_new:
* @error: return location for error or %NULL.
*
* Create a new request for the 'Configuration' query command in the 'SMS' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.4
*/
MbimMessage *mbim_message_sms_configuration_query_new (
GError **error);
/*****************************************************************************/
/* Message (Set): MBIM Message SMS Configuration */
/**
* mbim_message_sms_configuration_set_new:
* @format: (in): the 'Format' field, given as a #MbimSmsFormat.
* @sc_address: (in): the 'ScAddress' field, given as a string.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Configuration' set command in the 'SMS' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.4
*/
MbimMessage *mbim_message_sms_configuration_set_new (
MbimSmsFormat format,
const gchar *sc_address,
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message SMS Configuration */
/**
* mbim_message_sms_configuration_response_parse:
* @message: the #MbimMessage.
* @out_sms_storage_state: (out)(optional)(transfer none): return location for a #MbimSmsStorageState, or %NULL if the 'SmsStorageState' field is not needed.
* @out_format: (out)(optional)(transfer none): return location for a #MbimSmsFormat, or %NULL if the 'Format' field is not needed.
* @out_max_messages: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'MaxMessages' field is not needed.
* @out_cdma_short_message_size: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'CdmaShortMessageSize' field is not needed.
* @out_sc_address: (out)(optional)(transfer full): return location for a newly allocated string, or %NULL if the 'ScAddress' field is not needed. Free the returned value with g_free().
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Configuration' response command in the 'SMS' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.4
*/
gboolean mbim_message_sms_configuration_response_parse (
const MbimMessage *message,
MbimSmsStorageState *out_sms_storage_state,
MbimSmsFormat *out_format,
guint32 *out_max_messages,
guint32 *out_cdma_short_message_size,
gchar **out_sc_address,
GError **error);
/*****************************************************************************/
/* Message (Query): MBIM Message SMS Read */
/**
* mbim_message_sms_read_query_new:
* @format: (in): the 'Format' field, given as a #MbimSmsFormat.
* @flag: (in): the 'Flag' field, given as a #MbimSmsFlag.
* @message_index: (in): the 'MessageIndex' field, given as a #guint32.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Read' query command in the 'SMS' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.4
*/
MbimMessage *mbim_message_sms_read_query_new (
MbimSmsFormat format,
MbimSmsFlag flag,
guint32 message_index,
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message SMS Read */
/**
* mbim_message_sms_read_response_parse:
* @message: the #MbimMessage.
* @out_format: (out)(optional)(transfer none): return location for a #MbimSmsFormat, or %NULL if the 'Format' field is not needed.
* @out_messages_count: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'MessagesCount' field is not needed.
* @out_pdu_messages: (out)(optional)(transfer full)(array zero-terminated=1)(element-type MbimSmsPduReadRecord): return location for a newly allocated array of #MbimSmsPduReadRecord items, or %NULL if the 'PduMessages' field is not needed. Free the returned value with mbim_sms_pdu_read_record_array_free().
* @out_cdma_messages: (out)(optional)(transfer full)(array zero-terminated=1)(element-type MbimSmsCdmaReadRecord): return location for a newly allocated array of #MbimSmsCdmaReadRecord items, or %NULL if the 'CdmaMessages' field is not needed. Free the returned value with mbim_sms_cdma_read_record_array_free().
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Read' response command in the 'SMS' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.4
*/
gboolean mbim_message_sms_read_response_parse (
const MbimMessage *message,
MbimSmsFormat *out_format,
guint32 *out_messages_count,
MbimSmsPduReadRecordArray **out_pdu_messages,
MbimSmsCdmaReadRecordArray **out_cdma_messages,
GError **error);
/*****************************************************************************/
/* Message (Notification): MBIM Message SMS Read */
/**
* mbim_message_sms_read_notification_parse:
* @message: the #MbimMessage.
* @out_format: (out)(optional)(transfer none): return location for a #MbimSmsFormat, or %NULL if the 'Format' field is not needed.
* @out_messages_count: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'MessagesCount' field is not needed.
* @out_pdu_messages: (out)(optional)(transfer full)(array zero-terminated=1)(element-type MbimSmsPduReadRecord): return location for a newly allocated array of #MbimSmsPduReadRecord items, or %NULL if the 'PduMessages' field is not needed. Free the returned value with mbim_sms_pdu_read_record_array_free().
* @out_cdma_messages: (out)(optional)(transfer full)(array zero-terminated=1)(element-type MbimSmsCdmaReadRecord): return location for a newly allocated array of #MbimSmsCdmaReadRecord items, or %NULL if the 'CdmaMessages' field is not needed. Free the returned value with mbim_sms_cdma_read_record_array_free().
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Read' notification command in the 'SMS' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.4
*/
gboolean mbim_message_sms_read_notification_parse (
const MbimMessage *message,
MbimSmsFormat *out_format,
guint32 *out_messages_count,
MbimSmsPduReadRecordArray **out_pdu_messages,
MbimSmsCdmaReadRecordArray **out_cdma_messages,
GError **error);
/*****************************************************************************/
/* Message (Set): MBIM Message SMS Send */
/**
* mbim_message_sms_send_set_new:
* @format: (in): the 'Format' field, given as a #MbimSmsFormat.
* @pdu_message: (in): the 'PduMessage' field, given as a #MbimSmsPduSendRecord.
* @cdma_message: (in): the 'CdmaMessage' field, given as a #MbimSmsCdmaSendRecord.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Send' set command in the 'SMS' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.4
*/
MbimMessage *mbim_message_sms_send_set_new (
MbimSmsFormat format,
const MbimSmsPduSendRecord *pdu_message,
const MbimSmsCdmaSendRecord *cdma_message,
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message SMS Send */
/**
* mbim_message_sms_send_response_parse:
* @message: the #MbimMessage.
* @out_message_reference: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'MessageReference' field is not needed.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Send' response command in the 'SMS' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.4
*/
gboolean mbim_message_sms_send_response_parse (
const MbimMessage *message,
guint32 *out_message_reference,
GError **error);
/*****************************************************************************/
/* Message (Set): MBIM Message SMS Delete */
/**
* mbim_message_sms_delete_set_new:
* @flag: (in): the 'Flag' field, given as a #MbimSmsFlag.
* @message_index: (in): the 'MessageIndex' field, given as a #guint32.
* @error: return location for error or %NULL.
*
* Create a new request for the 'Delete' set command in the 'SMS' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.4
*/
MbimMessage *mbim_message_sms_delete_set_new (
MbimSmsFlag flag,
guint32 message_index,
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message SMS Delete */
/**
* mbim_message_sms_delete_response_parse:
* @message: the #MbimMessage.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Delete' response command in the 'SMS' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.4
*/
gboolean mbim_message_sms_delete_response_parse (
const MbimMessage *message,
GError **error);
/*****************************************************************************/
/* Message (Query): MBIM Message SMS Message Store Status */
/**
* mbim_message_sms_message_store_status_query_new:
* @error: return location for error or %NULL.
*
* Create a new request for the 'Message Store Status' query command in the 'SMS' service.
*
* Returns: a newly allocated #MbimMessage, which should be freed with mbim_message_unref().
*
* Since: 1.4
*/
MbimMessage *mbim_message_sms_message_store_status_query_new (
GError **error);
/*****************************************************************************/
/* Message (Response): MBIM Message SMS Message Store Status */
/**
* mbim_message_sms_message_store_status_response_parse:
* @message: the #MbimMessage.
* @out_flag: (out)(optional)(transfer none): return location for a #MbimSmsStatusFlag, or %NULL if the 'Flag' field is not needed.
* @out_message_index: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'MessageIndex' field is not needed.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Message Store Status' response command in the 'SMS' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.4
*/
gboolean mbim_message_sms_message_store_status_response_parse (
const MbimMessage *message,
MbimSmsStatusFlag *out_flag,
guint32 *out_message_index,
GError **error);
/*****************************************************************************/
/* Message (Notification): MBIM Message SMS Message Store Status */
/**
* mbim_message_sms_message_store_status_notification_parse:
* @message: the #MbimMessage.
* @out_flag: (out)(optional)(transfer none): return location for a #MbimSmsStatusFlag, or %NULL if the 'Flag' field is not needed.
* @out_message_index: (out)(optional)(transfer none): return location for a #guint32, or %NULL if the 'MessageIndex' field is not needed.
* @error: return location for error or %NULL.
*
* Parses and returns parameters of the 'Message Store Status' notification command in the 'SMS' service.
*
* Returns: %TRUE if the message was correctly parsed, %FALSE if @error is set.
*
* Since: 1.4
*/
gboolean mbim_message_sms_message_store_status_notification_parse (
const MbimMessage *message,
MbimSmsStatusFlag *out_flag,
guint32 *out_message_index,
GError **error);
/*****************************************************************************/
/* Service helpers for printable fields */
#if defined (LIBMBIM_GLIB_COMPILATION)
G_GNUC_INTERNAL
gchar *
__mbim_message_sms_get_printable_fields (
const MbimMessage *message,
const gchar *line_prefix,
GError **error);
#endif
G_END_DECLS
#endif /* __LIBMBIM_GLIB_MBIM_SMS__ */