view cinst/listutil.h @ 20:fec1a610d43f

Mark usage of goto with TODOs to remove them
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 20 Feb 2014 10:57:20 +0000
parents f4f957c58e0a
children
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/