view common/listutil.h @ 25:92108a2120f1

Move certificatelist to common. Add cinst directory
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 10 Mar 2014 14:15:15 +0000
parents bc302bbceaf5
children e783fd99a9eb
line wrap: on
line source
#ifndef LISTUTIL_H
#define LISTUTIL_H

#ifdef __cplusplus
extern "C" {
#endif

#include <stddef.h>

/**
 * @file listutil.h
 * @brief Functions to work with the certificate list.
 */

/**
 * @brief Status of the List Operations
 */
typedef enum {
    UnknownValidity = 0, // Not yet parsed
    UnknownError = 1, // The expected unexpected
    TooLarge = 2, // Failed because the file exeeds the limit
    InvalidFormat = 3, // File does not appear to be in list format
    InvalidSignature = 4, // Signature was invalid
    StatFailed = 5, // Could not stat the file
    ReadFailed = 6, // Could not read the file
    IncompatibleVersion = 7, // The Format Version does not match
    Valid = 8 // List is valid
} list_status_t;

/**
 * @brief Obtain the complete and verified Certificate list.
 *
 * This checks if the file fileName is a valid certificate
 * list signed by the key specified in pubkey.h
 *
 * The caller has to free data.
 *
 * @param[in] fileName Name of the file (UTF-8 encoded).
 * @param[out] data Newly allocated pointer to the file content.
 * @param[out] size Size in Bytes of the file content.
 *
 * @return status of the operation.
 */
list_status_t readAndVerifyList(const char *fileName, char **data, size_t *size);
#ifdef __cplusplus
}
#endif
#endif

http://wald.intevation.org/projects/trustbridge/