summaryrefslogtreecommitdiffstats
path: root/src/include/krb5/locate_plugin.h
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2006-05-24 21:19:23 +0000
committerKen Raeburn <raeburn@mit.edu>2006-05-24 21:19:23 +0000
commit064ec564a8a14c5f41bd2bb966f2277728187baf (patch)
tree72ab53c21bb021e667f8574807a2850eae7b5dbb /src/include/krb5/locate_plugin.h
parentb2039aad70e01a64cb8265b053f7b0b98935e81a (diff)
downloadkrb5-064ec564a8a14c5f41bd2bb966f2277728187baf.tar.gz
krb5-064ec564a8a14c5f41bd2bb966f2277728187baf.tar.xz
krb5-064ec564a8a14c5f41bd2bb966f2277728187baf.zip
Rename locate.h to locate_plugin.h. Change references, update dependencies
ticket: 3784 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18037 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include/krb5/locate_plugin.h')
-rw-r--r--src/include/krb5/locate_plugin.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/include/krb5/locate_plugin.h b/src/include/krb5/locate_plugin.h
new file mode 100644
index 000000000..aed22c869
--- /dev/null
+++ b/src/include/krb5/locate_plugin.h
@@ -0,0 +1,31 @@
+#ifndef KRB5_LOCATE_PLUGIN_H_INCLUDED
+#define KRB5_LOCATE_PLUGIN_H_INCLUDED
+#include <krb5/krb5.h>
+
+enum locate_service_type {
+ locate_service_kdc = 1,
+ locate_service_master_kdc,
+ locate_service_kadmin,
+ locate_service_krb524,
+ locate_service_kpasswd
+};
+
+typedef struct krb5plugin_service_locate_ftable {
+ int minor_version; /* currently 0 */
+ /* Per-context setup and teardown. Returned void* blob is
+ private to the plugin. */
+ krb5_error_code (*init)(krb5_context, void **);
+ void (*fini)(void *);
+ /* Callback function returns non-zero if the plugin function
+ should quit and return; this may be because of an error, or may
+ indicate we've already contacted the service, whatever. The
+ lookup function should only return an error if it detects a
+ problem, not if the callback function tells it to quit. */
+ krb5_error_code (*lookup)(void *,
+ enum locate_service_type svc, const char *realm,
+ int socktype, int family,
+ int (*cbfunc)(void *,int,struct sockaddr *),
+ void *cbdata);
+} krb5plugin_service_locate_ftable;
+/* extern krb5plugin_service_locate_ftable service_locator; */
+#endif