1 /* $NetBSD: compat.h,v 1.1.1.1 2014/04/24 12:45:29 pettai Exp $ */ 2 3 /* 4 * Copyright (c) 2010, PADL Software Pty Ltd. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 18 * 3. Neither the name of PADL Software nor the names of its contributors 19 * may be used to endorse or promote products derived from this software 20 * without specific prior written permission. 21 * 22 * THIS SOFTWARE IS PROVIDED BY PADL SOFTWARE AND CONTRIBUTORS ``AS IS'' AND 23 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 * ARE DISCLAIMED. IN NO EVENT SHALL PADL SOFTWARE OR CONTRIBUTORS BE LIABLE 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32 * SUCH DAMAGE. 33 */ 34 35 typedef OM_uint32 GSSAPI_CALLCONV _gss_inquire_saslname_for_mech_t ( 36 OM_uint32 *, /* minor_status */ 37 const gss_OID, /* desired_mech */ 38 gss_buffer_t, /* sasl_mech_name */ 39 gss_buffer_t, /* mech_name */ 40 gss_buffer_t /* mech_description */ 41 ); 42 43 typedef OM_uint32 GSSAPI_CALLCONV _gss_inquire_mech_for_saslname_t ( 44 OM_uint32 *, /* minor_status */ 45 const gss_buffer_t, /* sasl_mech_name */ 46 gss_OID * /* mech_type */ 47 ); 48 49 typedef OM_uint32 GSSAPI_CALLCONV _gss_inquire_attrs_for_mech_t ( 50 OM_uint32 *, /* minor_status */ 51 gss_const_OID, /* mech */ 52 gss_OID_set *, /* mech_attrs */ 53 gss_OID_set * /* known_mech_attrs */ 54 ); 55 56 typedef OM_uint32 GSSAPI_CALLCONV _gss_acquire_cred_with_password_t 57 (OM_uint32 *, /* minor_status */ 58 const gss_name_t, /* desired_name */ 59 const gss_buffer_t, /* password */ 60 OM_uint32, /* time_req */ 61 const gss_OID_set, /* desired_mechs */ 62 gss_cred_usage_t, /* cred_usage */ 63 gss_cred_id_t *, /* output_cred_handle */ 64 gss_OID_set *, /* actual_mechs */ 65 OM_uint32 * /* time_rec */ 66 ); 67 68 typedef OM_uint32 GSSAPI_CALLCONV _gss_add_cred_with_password_t ( 69 OM_uint32 *, /* minor_status */ 70 const gss_cred_id_t, /* input_cred_handle */ 71 const gss_name_t, /* desired_name */ 72 const gss_OID, /* desired_mech */ 73 const gss_buffer_t, /* password */ 74 gss_cred_usage_t, /* cred_usage */ 75 OM_uint32, /* initiator_time_req */ 76 OM_uint32, /* acceptor_time_req */ 77 gss_cred_id_t *, /* output_cred_handle */ 78 gss_OID_set *, /* actual_mechs */ 79 OM_uint32 *, /* initiator_time_rec */ 80 OM_uint32 * /* acceptor_time_rec */ 81 ); 82 83 /* 84 * API-as-SPI compatibility for compatibility with MIT mechanisms; 85 * native Heimdal mechanisms should not use these. 86 */ 87 struct gss_mech_compat_desc_struct { 88 _gss_inquire_saslname_for_mech_t *gmc_inquire_saslname_for_mech; 89 _gss_inquire_mech_for_saslname_t *gmc_inquire_mech_for_saslname; 90 _gss_inquire_attrs_for_mech_t *gmc_inquire_attrs_for_mech; 91 _gss_acquire_cred_with_password_t *gmc_acquire_cred_with_password; 92 #if 0 93 _gss_add_cred_with_password_t *gmc_add_cred_with_password; 94 #endif 95 }; 96 97