/*
* COPYRIGHT (c) International Business Machines Corp. 2013-2017
*
* This program is provided under the terms of the Common Public License,
* version 1.0 (CPL-1.0). Any use, reproduction or distribution for this
* software constitutes recipient's acceptance of CPL-1.0 terms which can be
* found in the file LICENSE file or at
* https://opensource.org/licenses/cpl1.0.php
*/
#ifndef ICSF_CONFIG_H
#define ICSF_CONFIG_H
#include <limits.h>
#include "pkcs11types.h"
#include "icsf.h"
#define ICSF_CFG_MECH_SIMPLE 0
#define ICSF_CFG_MECH_SASL 1
/* ICSF specific slot data */
struct icsf_config {
char name[ICSF_TOKEN_NAME_LEN + 1];
char manuf[ICSF_MANUFACTURER_LEN + 1];
char model[ICSF_MODEL_LEN + 1];
char serial[ICSF_SERIAL_LEN + 1];
char uri[PATH_MAX + 1];
char dn[NAME_MAX + 1];
char ca_file[PATH_MAX + 1];
char cert_file[PATH_MAX + 1];
char key_file[PATH_MAX + 1];
int mech;
};
CK_RV parse_config_file(const char *conf_name, CK_SLOT_ID slot_id,
struct icsf_config *data);
#endif