Blame src/plugins/preauth/pkinit/pkinit_accessor.h

Packit fd8b60
/*
Packit fd8b60
 * COPYRIGHT (C) 2006,2007
Packit fd8b60
 * THE REGENTS OF THE UNIVERSITY OF MICHIGAN
Packit fd8b60
 * ALL RIGHTS RESERVED
Packit fd8b60
 *
Packit fd8b60
 * Permission is granted to use, copy, create derivative works
Packit fd8b60
 * and redistribute this software and such derivative works
Packit fd8b60
 * for any purpose, so long as the name of The University of
Packit fd8b60
 * Michigan is not used in any advertising or publicity
Packit fd8b60
 * pertaining to the use of distribution of this software
Packit fd8b60
 * without specific, written prior authorization.  If the
Packit fd8b60
 * above copyright notice or any other identification of the
Packit fd8b60
 * University of Michigan is included in any copy of any
Packit fd8b60
 * portion of this software, then the disclaimer below must
Packit fd8b60
 * also be included.
Packit fd8b60
 *
Packit fd8b60
 * THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION
Packit fd8b60
 * FROM THE UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY
Packit fd8b60
 * PURPOSE, AND WITHOUT WARRANTY BY THE UNIVERSITY OF
Packit fd8b60
 * MICHIGAN OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
Packit fd8b60
 * WITHOUT LIMITATION THE IMPLIED WARRANTIES OF
Packit fd8b60
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
Packit fd8b60
 * REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE
Packit fd8b60
 * FOR ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR
Packit fd8b60
 * CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING
Packit fd8b60
 * OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN
Packit fd8b60
 * IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF
Packit fd8b60
 * SUCH DAMAGES.
Packit fd8b60
 */
Packit fd8b60
Packit fd8b60
#ifndef _PKINIT_ACCESSOR_H
Packit fd8b60
#define _PKINIT_ACCESSOR_H
Packit fd8b60
Packit fd8b60
/*
Packit fd8b60
 * Function prototypes
Packit fd8b60
 */
Packit fd8b60
krb5_error_code pkinit_accessor_init(void);
Packit fd8b60
Packit fd8b60
#define DEF_EXT_FUNC_PTRS(type) \
Packit fd8b60
extern krb5_error_code (*k5int_encode_##type)(const type *, krb5_data **); \
Packit fd8b60
extern krb5_error_code (*k5int_decode_##type)(const krb5_data *, type **)
Packit fd8b60
Packit fd8b60
#define DEF_EXT_FUNC_PTRS_ARRAY(type) \
Packit fd8b60
extern krb5_error_code (*k5int_encode_##type)(const type **, krb5_data **); \
Packit fd8b60
extern krb5_error_code (*k5int_decode_##type)(const krb5_data *, type ***)
Packit fd8b60
Packit fd8b60
DEF_EXT_FUNC_PTRS(krb5_auth_pack);
Packit fd8b60
DEF_EXT_FUNC_PTRS(krb5_kdc_dh_key_info);
Packit fd8b60
DEF_EXT_FUNC_PTRS(krb5_pa_pk_as_rep);
Packit fd8b60
DEF_EXT_FUNC_PTRS(krb5_pa_pk_as_req);
Packit fd8b60
DEF_EXT_FUNC_PTRS(krb5_reply_key_pack);
Packit fd8b60
Packit fd8b60
/* special cases... */
Packit fd8b60
extern krb5_error_code (*k5int_decode_krb5_principal_name)
Packit fd8b60
	(const krb5_data *, krb5_principal_data **);
Packit fd8b60
Packit fd8b60
extern krb5_error_code (*k5int_encode_krb5_td_dh_parameters)
Packit fd8b60
	(krb5_algorithm_identifier *const *, krb5_data **code);
Packit fd8b60
extern krb5_error_code (*k5int_decode_krb5_td_dh_parameters)
Packit fd8b60
	(const krb5_data *, krb5_algorithm_identifier ***);
Packit fd8b60
Packit fd8b60
extern krb5_error_code (*k5int_encode_krb5_td_trusted_certifiers)
Packit fd8b60
	(krb5_external_principal_identifier *const *, krb5_data **code);
Packit fd8b60
extern krb5_error_code (*k5int_decode_krb5_td_trusted_certifiers)
Packit fd8b60
	(const krb5_data *, krb5_external_principal_identifier ***);
Packit fd8b60
Packit fd8b60
extern krb5_error_code (*k5int_encode_krb5_kdc_req_body)
Packit fd8b60
	(const krb5_kdc_req *rep, krb5_data **code);
Packit fd8b60
extern void KRB5_CALLCONV (*k5int_krb5_free_kdc_req)
Packit fd8b60
	(krb5_context, krb5_kdc_req * );
Packit fd8b60
extern void (*k5int_set_prompt_types)
Packit fd8b60
	(krb5_context, krb5_prompt_type *);
Packit fd8b60
Packit fd8b60
#endif /* _PKINIT_ACCESSOR_H */