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