# dkim_set_signature_tagvalues()

[back to index]

SYNOPSIS

    #include <dkim.h>
    DKIM_STAT dkim_set_signature_tagvalues(
    	DKIM_LIB *libopendkim,
            void (*func)(void *user,
    	             dkim_param_t pcode,
    	             const unsigned char *param,
    	             const unsigned char *value);
    );

Defines a callback function to be used for providing signature tag/value pairs to the calling program for local processing.

From within `dkim_eoh()`, each discovered signature is assigned a `DKIM_SIGINFO` handle. Using a callback, the caller can arrange to allocate caller-side storage that might be desired by the caller for processing signatures; the return value from that callback is assumed to be a pointer to such storage. The callback defined here will be invoked once for each tag-value pair found in each signature, thus providing that data to the caller for any desirable local processing. The data thus provided are read-only.

DESCRIPTION

Called When | `dkim_set_signature_tagvalues()` must be called before `dkim_eoh()` has been called.

ARGUMENTS

Argument | Description
--- | ---
libopendkim | Library-specific handle, returned by `dkim_init()`.

func

A pointer to a function which takes four parameters:

- `user` is the caller-side handle pointer generated by the earlier callback; this will be the same pointer each time a tag-value pair is passed in for the same signature
- `pcode` is an integer code indicating which parameter is being provided (useful for C "switch" statements)
- `param` is a pointer to the name of the tag being provided
- `value` is a pointer to the value of the tag being provided

If NULL, no callback will be used.

NOTES

- None.

Copyright (c) 2007 Sendmail, Inc. and its suppliers. All rights reserved.
Copyright (c) 2009, 2010, The Trusted Domain Project. All rights reserved.
By using this file, you agree to the terms and conditions set forth in the respective licenses.