gi-glib-2.0.22: GLib bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (inaki@blueleaf.cc)
Safe HaskellNone
LanguageHaskell2010

GI.GLib.Structs.Checksum

Contents

Description

An opaque structure representing a checksumming operation. To create a new GChecksum, use checksumNew. To free a GChecksum, use checksumFree.

Since: 2.16

Synopsis

Exported types

newtype Checksum Source #

Memory-managed wrapper type.

Constructors

Checksum (ManagedPtr Checksum) 
Instances
BoxedObject Checksum Source # 
Instance details

Defined in GI.GLib.Structs.Checksum

Methods

boxedType :: Checksum -> IO GType #

noChecksum :: Maybe Checksum Source #

A convenience alias for Nothing :: Maybe Checksum.

Methods

copy

checksumCopy Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Checksum

checksum: the Checksum to copy

-> m Checksum

Returns: the copy of the passed Checksum. Use checksumFree when finished using it.

Copies a Checksum. If checksum has been closed, by calling checksumGetString or g_checksum_get_digest(), the copied checksum will be closed as well.

Since: 2.16

free

checksumFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Checksum

checksum: a Checksum

-> m () 

Frees the memory allocated for checksum.

Since: 2.16

getString

checksumGetString Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Checksum

checksum: a Checksum

-> m Text

Returns: the hexadecimal representation of the checksum. The returned string is owned by the checksum and should not be modified or freed.

Gets the digest as an hexadecimal string.

Once this function has been called the Checksum can no longer be updated with checksumUpdate.

The hexadecimal characters will be lower case.

Since: 2.16

new

checksumNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> ChecksumType

checksumType: the desired type of checksum

-> m Checksum

Returns: the newly created Checksum, or Nothing. Use checksumFree to free the memory allocated by it.

Creates a new Checksum, using the checksum algorithm checksumType. If the checksumType is not known, Nothing is returned. A Checksum can be used to compute the checksum, or digest, of an arbitrary binary blob, using different hashing algorithms.

A Checksum works by feeding a binary blob through checksumUpdate until there is data to be checked; the digest can then be extracted using checksumGetString, which will return the checksum as a hexadecimal string; or g_checksum_get_digest(), which will return a vector of raw bytes. Once either checksumGetString or g_checksum_get_digest() have been called on a Checksum, the checksum will be closed and it won't be possible to call checksumUpdate on it anymore.

Since: 2.16

reset

checksumReset Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Checksum

checksum: the Checksum to reset

-> m () 

Resets the state of the checksum back to its initial state.

Since: 2.18

typeGetLength

checksumTypeGetLength Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> ChecksumType

checksumType: a ChecksumType

-> m Int64

Returns: the checksum length, or -1 if checksumType is not supported.

Gets the length in bytes of digests of type checksumType

Since: 2.16

update

checksumUpdate Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Checksum

checksum: a Checksum

-> ByteString

data: buffer used to compute the checksum

-> m () 

Feeds data into an existing Checksum. The checksum must still be open, that is checksumGetString or g_checksum_get_digest() must not have been called on checksum.

Since: 2.16