Virtual Method

HaslMechanismstep

since: 0.1

Declaration [src]

HaslMechanismResult
step (
  HaslMechanism* mechanism,
  HaslContext* ctx,
  const guint8* server_in,
  gsize server_in_length,
  guint8** client_out,
  gsize* client_out_length,
  GError** error
)

Description [src]

Tells mechanism to perform it’s next step. If mechanism is complete it should return TRUE. If the mechanism was not successfully, it should return TRUE but set error.

If FALSE is returned, ctx will continue passing messages to mechanism until mechanism says it’s done by returning TRUE or another error is encountered.

Available since: 0.1

Parameters

ctx

Type: HaslContext

The HaslContext instance.

The data is owned by the caller of the method.
server_in

Type: const guint8*

Input from the server.

The argument can be NULL.
The data is owned by the caller of the method.
server_in_length

Type: gsize

The length of server_in in bytes.

client_out

Type: guint8**

The data that the client should use.

The instance takes ownership of the data, and is responsible for freeing it.
client_out_length

Type: gsize*

The length of client_out in bytes.

The argument will be set by the function.
The argument can be NULL.
error

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will be left initialized to NULL by the virtual function if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: HaslMechanismResult

A HaslMechanismResult with error possibly set.