xref: /linux/drivers/nvdimm/btt.h (revision 8c2f7e8658df1d3b7cbfa62706941d14c715823a)
1*8c2f7e86SDan Williams /*
2*8c2f7e86SDan Williams  * Block Translation Table library
3*8c2f7e86SDan Williams  * Copyright (c) 2014-2015, Intel Corporation.
4*8c2f7e86SDan Williams  *
5*8c2f7e86SDan Williams  * This program is free software; you can redistribute it and/or modify it
6*8c2f7e86SDan Williams  * under the terms and conditions of the GNU General Public License,
7*8c2f7e86SDan Williams  * version 2, as published by the Free Software Foundation.
8*8c2f7e86SDan Williams  *
9*8c2f7e86SDan Williams  * This program is distributed in the hope it will be useful, but WITHOUT
10*8c2f7e86SDan Williams  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11*8c2f7e86SDan Williams  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12*8c2f7e86SDan Williams  * more details.
13*8c2f7e86SDan Williams  */
14*8c2f7e86SDan Williams 
15*8c2f7e86SDan Williams #ifndef _LINUX_BTT_H
16*8c2f7e86SDan Williams #define _LINUX_BTT_H
17*8c2f7e86SDan Williams 
18*8c2f7e86SDan Williams #include <linux/types.h>
19*8c2f7e86SDan Williams 
20*8c2f7e86SDan Williams #define BTT_SIG_LEN 16
21*8c2f7e86SDan Williams #define BTT_SIG "BTT_ARENA_INFO\0"
22*8c2f7e86SDan Williams 
23*8c2f7e86SDan Williams struct btt_sb {
24*8c2f7e86SDan Williams 	u8 signature[BTT_SIG_LEN];
25*8c2f7e86SDan Williams 	u8 uuid[16];
26*8c2f7e86SDan Williams 	u8 parent_uuid[16];
27*8c2f7e86SDan Williams 	__le32 flags;
28*8c2f7e86SDan Williams 	__le16 version_major;
29*8c2f7e86SDan Williams 	__le16 version_minor;
30*8c2f7e86SDan Williams 	__le32 external_lbasize;
31*8c2f7e86SDan Williams 	__le32 external_nlba;
32*8c2f7e86SDan Williams 	__le32 internal_lbasize;
33*8c2f7e86SDan Williams 	__le32 internal_nlba;
34*8c2f7e86SDan Williams 	__le32 nfree;
35*8c2f7e86SDan Williams 	__le32 infosize;
36*8c2f7e86SDan Williams 	__le64 nextoff;
37*8c2f7e86SDan Williams 	__le64 dataoff;
38*8c2f7e86SDan Williams 	__le64 mapoff;
39*8c2f7e86SDan Williams 	__le64 logoff;
40*8c2f7e86SDan Williams 	__le64 info2off;
41*8c2f7e86SDan Williams 	u8 padding[3968];
42*8c2f7e86SDan Williams 	__le64 checksum;
43*8c2f7e86SDan Williams };
44*8c2f7e86SDan Williams 
45*8c2f7e86SDan Williams #endif
46