| SYNOPSIS | 
#include <dkim.h>
DKIM_LIB *dkim_init(
	void *(*mallocf)(void *closure, size_t nbytes),
	void (*freef)(void *closure, void *p)
);
Create a new instantiation of the DKIM service, for signing or
verifying Internet messages. | 
|---|
| DESCRIPTION | 
| Called When | dkim_init() is called when setting up the application.  The
    handle it returns is used when generating per-message handles for signing
    and verifying, and is used to declare optional alternate memory allocate
    and free functions. |  | 
|---|
| ARGUMENTS | 
    | Argument | Description | 
|---|
 | mallocf | Optional alternate memory allocation function.  It must take
        two parameters: a void pointer which is the memory closure
        specified in calls to dkim_sign()
        or dkim_verify(), and the
        number of bytes to be allocated.  This allows memory allocations for
        a specific message to be made within the same closure. |  | freef | Optional alternate memory release function.  It must take
        two parameters: a void pointer which is the memory closure
        specified in calls to dkim_sign()
        or dkim_verify(), and the
        pointer to memory to be released.  This allows memory allocations for
        a specific message to be made within the same closure. |  | 
|---|
| NOTES |  | 
| RETURN VALUES | 
On success, a pointer to the created
    DKIM_LIB handle is returned.
On failure, NULL is returned.  Generally this means a memory allocation
    failure.
 |