annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/krb5/locate_plugin.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
jpayne@69 2 /*
jpayne@69 3 * Copyright 2006 Massachusetts Institute of Technology.
jpayne@69 4 * All Rights Reserved.
jpayne@69 5 *
jpayne@69 6 * Export of this software from the United States of America may
jpayne@69 7 * require a specific license from the United States Government.
jpayne@69 8 * It is the responsibility of any person or organization contemplating
jpayne@69 9 * export to obtain such a license before exporting.
jpayne@69 10 *
jpayne@69 11 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
jpayne@69 12 * distribute this software and its documentation for any purpose and
jpayne@69 13 * without fee is hereby granted, provided that the above copyright
jpayne@69 14 * notice appear in all copies and that both that copyright notice and
jpayne@69 15 * this permission notice appear in supporting documentation, and that
jpayne@69 16 * the name of M.I.T. not be used in advertising or publicity pertaining
jpayne@69 17 * to distribution of the software without specific, written prior
jpayne@69 18 * permission. Furthermore if you modify this software you must label
jpayne@69 19 * your software as modified software and not distribute it in such a
jpayne@69 20 * fashion that it might be confused with the original M.I.T. software.
jpayne@69 21 * M.I.T. makes no representations about the suitability of
jpayne@69 22 * this software for any purpose. It is provided "as is" without express
jpayne@69 23 * or implied warranty.
jpayne@69 24 */
jpayne@69 25
jpayne@69 26 /*
jpayne@69 27 *
jpayne@69 28 * Service location plugin definitions for Kerberos 5.
jpayne@69 29 */
jpayne@69 30
jpayne@69 31 #ifndef KRB5_LOCATE_PLUGIN_H_INCLUDED
jpayne@69 32 #define KRB5_LOCATE_PLUGIN_H_INCLUDED
jpayne@69 33 #include <krb5/krb5.h>
jpayne@69 34
jpayne@69 35 enum locate_service_type {
jpayne@69 36 locate_service_kdc = 1,
jpayne@69 37 locate_service_primary_kdc,
jpayne@69 38 locate_service_kadmin,
jpayne@69 39 locate_service_krb524,
jpayne@69 40 locate_service_kpasswd
jpayne@69 41 };
jpayne@69 42 #define locate_service_master_kdc locate_service_primary_kdc
jpayne@69 43
jpayne@69 44 typedef struct krb5plugin_service_locate_ftable {
jpayne@69 45 int minor_version; /* currently 0 */
jpayne@69 46 /* Per-context setup and teardown. Returned void* blob is
jpayne@69 47 private to the plugin. */
jpayne@69 48 krb5_error_code (*init)(krb5_context, void **);
jpayne@69 49 void (*fini)(void *);
jpayne@69 50 /* Callback function returns non-zero if the plugin function
jpayne@69 51 should quit and return; this may be because of an error, or may
jpayne@69 52 indicate we've already contacted the service, whatever. The
jpayne@69 53 lookup function should only return an error if it detects a
jpayne@69 54 problem, not if the callback function tells it to quit. */
jpayne@69 55 krb5_error_code (*lookup)(void *,
jpayne@69 56 enum locate_service_type svc, const char *realm,
jpayne@69 57 int socktype, int family,
jpayne@69 58 int (*cbfunc)(void *,int,struct sockaddr *),
jpayne@69 59 void *cbdata);
jpayne@69 60 } krb5plugin_service_locate_ftable;
jpayne@69 61 /* extern krb5plugin_service_locate_ftable service_locator; */
jpayne@69 62 #endif