Method

GLibVariantbyteswap

since: 2.24

Declaration

GVariant*
g_variant_byteswap (
  GVariant* value
)

Description

Performs a byteswapping operation on the contents of value. The result is that all multi-byte numeric data contained in value is byteswapped. That includes 16, 32, and 64bit signed and unsigned integers as well as file handles and double precision floating point values.

This function is an identity mapping on any value that does not contain multi-byte numeric data. That include strings, booleans, bytes and containers containing only these things (recursively).

While this function can safely handle untrusted, non-normal data, it is recommended to check whether the input is in normal form beforehand, using g_variant_is_normal_form(), and to reject non-normal inputs if your application can be strict about what inputs it rejects.

The returned value is always in normal form and is marked as trusted. A full, not floating, reference is returned.

Available since: 2.24

Return value

Type: GVariant

The byteswapped form of value.

The caller of the method takes ownership of the data, and is responsible for freeing it.