• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPI_LINUX_FSVERITY_H
8 #define _UAPI_LINUX_FSVERITY_H
9 #include <linux/ioctl.h>
10 #include <linux/types.h>
11 #define FS_VERITY_HASH_ALG_SHA256 1
12 #define FS_VERITY_HASH_ALG_SHA512 2
13 struct fsverity_enable_arg {
14   __u32 version;
15   __u32 hash_algorithm;
16   __u32 block_size;
17   __u32 salt_size;
18   __u64 salt_ptr;
19   __u32 sig_size;
20   __u32 __reserved1;
21   __u64 sig_ptr;
22   __u64 __reserved2[11];
23 };
24 struct fsverity_digest {
25   __u16 digest_algorithm;
26   __u16 digest_size;
27   __u8 digest[];
28 };
29 struct fsverity_descriptor {
30   __u8 version;
31   __u8 hash_algorithm;
32   __u8 log_blocksize;
33   __u8 salt_size;
34   __le32 __reserved_0x04;
35   __le64 data_size;
36   __u8 root_hash[64];
37   __u8 salt[32];
38   __u8 __reserved[144];
39 };
40 struct fsverity_formatted_digest {
41   char magic[8];
42   __le16 digest_algorithm;
43   __le16 digest_size;
44   __u8 digest[];
45 };
46 #define FS_VERITY_METADATA_TYPE_MERKLE_TREE 1
47 #define FS_VERITY_METADATA_TYPE_DESCRIPTOR 2
48 #define FS_VERITY_METADATA_TYPE_SIGNATURE 3
49 struct fsverity_read_metadata_arg {
50   __u64 metadata_type;
51   __u64 offset;
52   __u64 length;
53   __u64 buf_ptr;
54   __u64 __reserved;
55 };
56 #define FS_IOC_ENABLE_VERITY _IOW('f', 133, struct fsverity_enable_arg)
57 #define FS_IOC_MEASURE_VERITY _IOWR('f', 134, struct fsverity_digest)
58 #define FS_IOC_READ_VERITY_METADATA _IOWR('f', 135, struct fsverity_read_metadata_arg)
59 #endif
60