werror: replace WERR_NO_SUCH_SERVICE with WERR_SERVICE_DOES_NOT_EXIST in source3...
[samba.git] / source3 / libnet / libnet_keytab.h
index 4d311a48e0ee1d98a9f197eb98661d5cf2cc508d..43071ce3f876b45e7b3053eeeaa546b5c0c2de49 100644 (file)
@@ -27,11 +27,13 @@ struct libnet_keytab_entry {
        krb5_enctype enctype;
 };
 
+struct ads_struct;
+
 struct libnet_keytab_context {
        krb5_context context;
        krb5_keytab keytab;
        const char *keytab_name;
-       ADS_STRUCT *ads;
+       struct ads_struct *ads;
        const char *dns_domain_name;
        uint8_t zero_buf[16];
        uint32_t count;
@@ -39,4 +41,22 @@ struct libnet_keytab_context {
        bool clean_old_entries;
 };
 
+/* The following definitions come from libnet/libnet_keytab.c  */
+
+krb5_error_code libnet_keytab_init(TALLOC_CTX *mem_ctx,
+                                  const char *keytab_name,
+                                  struct libnet_keytab_context **ctx);
+krb5_error_code libnet_keytab_add(struct libnet_keytab_context *ctx);
+
+struct libnet_keytab_entry *libnet_keytab_search(struct libnet_keytab_context *ctx,
+                                                const char *principal, int kvno,
+                                                const krb5_enctype enctype,
+                                                TALLOC_CTX *mem_ctx);
+NTSTATUS libnet_keytab_add_to_keytab_entries(TALLOC_CTX *mem_ctx,
+                                            struct libnet_keytab_context *ctx,
+                                            uint32_t kvno,
+                                            const char *name,
+                                            const char *prefix,
+                                            const krb5_enctype enctype,
+                                            DATA_BLOB blob);
 #endif /* HAVE_KRB5 */