xref: /openbsd-src/sys/lib/libsa/softraid.h (revision 27bea9a3c7fdba43cfa7c5fb6f268efe98f7720b)
1*27bea9a3Sjsing /*	$OpenBSD: softraid.h,v 1.2 2018/08/10 16:41:35 jsing Exp $	*/
294e1d415Sjsing 
394e1d415Sjsing /*
494e1d415Sjsing  * Copyright (c) 2012 Joel Sing <jsing@openbsd.org>
594e1d415Sjsing  *
694e1d415Sjsing  * Permission to use, copy, modify, and distribute this software for any
794e1d415Sjsing  * purpose with or without fee is hereby granted, provided that the above
894e1d415Sjsing  * copyright notice and this permission notice appear in all copies.
994e1d415Sjsing  *
1094e1d415Sjsing  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1194e1d415Sjsing  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1294e1d415Sjsing  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1394e1d415Sjsing  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1494e1d415Sjsing  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1594e1d415Sjsing  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1694e1d415Sjsing  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1794e1d415Sjsing  */
1894e1d415Sjsing 
1994e1d415Sjsing #ifndef _SOFTRAID_H_
2094e1d415Sjsing #define _SOFTRAID_H_
2194e1d415Sjsing 
2294e1d415Sjsing /* Metadata from keydisks. */
2394e1d415Sjsing struct sr_boot_keydisk {
2494e1d415Sjsing 	struct sr_uuid	kd_uuid;
2594e1d415Sjsing 	u_int8_t	kd_key[SR_CRYPTO_MAXKEYBYTES];
2694e1d415Sjsing 	SLIST_ENTRY(sr_boot_keydisk) kd_link;
2794e1d415Sjsing };
2894e1d415Sjsing SLIST_HEAD(sr_boot_keydisk_head, sr_boot_keydisk);
2994e1d415Sjsing 
3094e1d415Sjsing /* List of softraid volumes. */
3194e1d415Sjsing extern struct sr_boot_volume_head sr_volumes;
3294e1d415Sjsing 
3394e1d415Sjsing /* List of softraid keydisks. */
3494e1d415Sjsing extern struct sr_boot_keydisk_head sr_keydisks;
3594e1d415Sjsing 
3694e1d415Sjsing void	sr_clear_keys(void);
37*27bea9a3Sjsing int	sr_crypto_unlock_volume(struct sr_boot_volume *);
3894e1d415Sjsing 
3994e1d415Sjsing #endif /* _SOFTRAID_H */
40