# opendmarc_policy_library_init()

[back to index]

SYNOPSIS |
    #include <dmarc.h>
    OPENDMARC_STATUS_T opendmarc_policy_library_init(
    	OPENDMARC_LIB_T *lib
    );
One time initialization of the library for use at program startup.
DESCRIPTION |
Called When | `opendmarc_policy_library_init()` is called after the program starts and before multi-threading operation begins.
ARGUMENTS |
Argument | Description
--- | ---
lib | The address of a structure of type `OPENDMARC_LIB_T` that your code has filled out with appropriate values.
RETURN VALUES | `DMARC_PARSE_OKAY` -- Success. `DMARC_PARSE_ERROR_NULL_CTX` -- If you passed in a `lib` value that was NULL. `DMARC_TLD_ERROR_UNKNOWN` -- If the `tld_type` specified is not one that the library knows about. Other possible return values various `errno` values set by failure to read the TLD file.
NOTES | This function is not thread safe and must only be called once and only once when the program starts and before multi-threading begins. If you fail to use a TLD file, the library will not be able to perform a second lookup for a DMARC record by converting a subdomain into an organizational domain. So will only perform the first lookup of the subdomain, possibly missing a valid DMARC record.

Copyright (c) 2012, The Trusted Domain Project. All rights reserved.
By using this file, you agree to the terms and conditions set forth in the license.