strongswan/src/libimcv/ietf/ietf_attr_attr_request.h

72 lines
2.0 KiB
C
Raw Normal View History

/*
* Copyright (C) 2012-2014 Andreas Steffen
* HSR Hochschule fuer Technik Rapperswil
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*/
/**
Spelling fixes * accumulating * acquire * alignment * appropriate * argument * assign * attribute * authenticate * authentication * authenticator * authority * auxiliary * brackets * callback * camellia * can't * cancelability * certificate * choinyambuu * chunk * collector * collision * communicating * compares * compatibility * compressed * confidentiality * configuration * connection * consistency * constraint * construction * constructor * database * decapsulated * declaration * decrypt * derivative * destination * destroyed * details * devised * dynamic * ecapsulation * encoded * encoding * encrypted * enforcing * enumerator * establishment * excluded * exclusively * exited * expecting * expire * extension * filter * firewall * foundation * fulfillment * gateways * hashing * hashtable * heartbeats * identifier * identifiers * identities * identity * implementers * indicating * initialize * initiate * initiation * initiator * inner * instantiate * legitimate * libraries * libstrongswan * logger * malloc * manager * manually * measurement * mechanism * message * network * nonexistent * object * occurrence * optional * outgoing * packages * packets * padding * particular * passphrase * payload * periodically * policies * possible * previously * priority * proposal * protocol * provide * provider * pseudo * pseudonym * public * qualifier * quantum * quintuplets * reached * reading * recommendation to * recommendation * recursive * reestablish * referencing * registered * rekeying * reliable * replacing * representing * represents * request * request * resolver * result * resulting * resynchronization * retriable * revocation * right * rollback * rule * rules * runtime * scenario * scheduled * security * segment * service * setting * signature * specific * specified * speed * started * steffen * strongswan * subjectaltname * supported * threadsafe * traffic * tremendously * treshold * unique * uniqueness * unknown * until * upper * using * validator * verification * version * version * warrior Closes strongswan/strongswan#164.
2020-02-05 04:30:52 +00:00
* @defgroup ietf_attr_attr_request ietf_attr_attr_request
* @{ @ingroup ietf_attr
*/
#ifndef IETF_ATTR_ATTR_REQUEST_H_
#define IETF_ATTR_ATTR_REQUEST_H_
typedef struct ietf_attr_attr_request_t ietf_attr_attr_request_t;
#include "ietf_attr.h"
#include "pa_tnc/pa_tnc_attr.h"
/**
* Class implementing the IETF PA-TNC Attribute Request attribute.
*
*/
struct ietf_attr_attr_request_t {
/**
* Public PA-TNC attribute interface
*/
pa_tnc_attr_t pa_tnc_attribute;
/**
* Adds another attribute type to the attribute request
*
* @param vendor_id Attribute Vendor ID
* @param type Attribute Type
*/
2016-03-22 12:22:01 +00:00
void (*add)(ietf_attr_attr_request_t *this, pen_t vendor_id, uint32_t type);
/**
* Creates an enumerator over all attribute types contained
* in the attribute request
*
2012-10-09 18:06:55 +00:00
* @return Attribute Type enumerator returns { vendor ID, type }
*/
enumerator_t* (*create_enumerator)(ietf_attr_attr_request_t *this);
};
/**
* Creates an ietf_attr_attr_request_t object
*
*/
2016-03-22 12:22:01 +00:00
pa_tnc_attr_t* ietf_attr_attr_request_create(pen_t vendor_id, uint32_t type);
/**
* @param length Total length of attribute value
* @param value Unparsed attribute value (might be a segment)
*/
pa_tnc_attr_t* ietf_attr_attr_request_create_from_data(size_t length,
chunk_t value);
#endif /** IETF_ATTR_ATTR_REQUEST_H_ @}*/