components/krb5/Solaris/rc_mem.h
author Danek Duvall <danek.duvall@oracle.com>
Thu, 08 Sep 2016 17:47:13 -0700
changeset 6910 93182fb9923a
parent 5490 9bf0bc57423a
permissions -rw-r--r--
24589822 deliver httplib2 for Python 3.x

/*
 * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef	_KRB5_RC_MEM_H
#define	_KRB5_RC_MEM_H

#include "k5-int.h"
#include "rc-int.h"

#ifdef __cplusplus
extern "C" {
#endif

/*
 * mech_krb5/krb5/rcache/rc_mem.h
 *
 * This file of the Kerberos V5 software is derived from public-domain code
 * contributed by Daniel J. Bernstein, <[email protected]>.
 */

struct mem_data {
	char *name;
	krb5_deltat lifespan;
	int hsize;
	struct authlist **h;
};

struct global_rcache {
	k5_mutex_t lock;
	struct mem_data *data;
};

extern struct global_rcache grcache;

extern const krb5_rc_ops krb5_rc_mem_ops;

krb5_error_code KRB5_CALLCONV krb5_rc_mem_init
	(krb5_context, krb5_rcache, krb5_deltat);
krb5_error_code KRB5_CALLCONV krb5_rc_mem_recover
	(krb5_context, krb5_rcache);
krb5_error_code KRB5_CALLCONV krb5_rc_mem_recover_or_init
	(krb5_context, krb5_rcache, krb5_deltat);
krb5_error_code KRB5_CALLCONV krb5_rc_mem_destroy
	(krb5_context, krb5_rcache);
krb5_error_code KRB5_CALLCONV krb5_rc_mem_close
	(krb5_context, krb5_rcache);
krb5_error_code KRB5_CALLCONV krb5_rc_mem_store
	(krb5_context, krb5_rcache, krb5_donot_replay *);
krb5_error_code KRB5_CALLCONV krb5_rc_mem_expunge
	(krb5_context, krb5_rcache);
krb5_error_code KRB5_CALLCONV krb5_rc_mem_get_span
	(krb5_context, krb5_rcache, krb5_deltat *);
char *KRB5_CALLCONV krb5_rc_mem_get_name
	(krb5_context, krb5_rcache);
krb5_error_code KRB5_CALLCONV krb5_rc_mem_resolve
	(krb5_context, krb5_rcache, char *);
void krb5_rc_free_entry
	(krb5_context, krb5_donot_replay **);

#ifdef __cplusplus
}
#endif

#endif /* !_KRB5_RC_MEM_H */