1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright (C) 2013 Politecnico di Torino, Italy |
4 | * TORSEC group -- https://security.polito.it |
5 | * |
6 | * Author: Roberto Sassu <roberto.sassu@polito.it> |
7 | * |
8 | * File: ima_template_lib.h |
9 | * Header for the library of supported template fields. |
10 | */ |
11 | #ifndef __LINUX_IMA_TEMPLATE_LIB_H |
12 | #define __LINUX_IMA_TEMPLATE_LIB_H |
13 | |
14 | #include <linux/seq_file.h> |
15 | #include "ima.h" |
16 | |
17 | #define ENFORCE_FIELDS 0x00000001 |
18 | #define ENFORCE_BUFEND 0x00000002 |
19 | |
20 | void ima_show_template_digest(struct seq_file *m, enum ima_show_type show, |
21 | struct ima_field_data *field_data); |
22 | void ima_show_template_digest_ng(struct seq_file *m, enum ima_show_type show, |
23 | struct ima_field_data *field_data); |
24 | void ima_show_template_digest_ngv2(struct seq_file *m, enum ima_show_type show, |
25 | struct ima_field_data *field_data); |
26 | void ima_show_template_string(struct seq_file *m, enum ima_show_type show, |
27 | struct ima_field_data *field_data); |
28 | void ima_show_template_sig(struct seq_file *m, enum ima_show_type show, |
29 | struct ima_field_data *field_data); |
30 | void ima_show_template_buf(struct seq_file *m, enum ima_show_type show, |
31 | struct ima_field_data *field_data); |
32 | void ima_show_template_uint(struct seq_file *m, enum ima_show_type show, |
33 | struct ima_field_data *field_data); |
34 | int ima_parse_buf(void *bufstartp, void *bufendp, void **bufcurp, |
35 | int maxfields, struct ima_field_data *fields, int *curfields, |
36 | unsigned long *len_mask, int enforce_mask, char *bufname); |
37 | int ima_eventdigest_init(struct ima_event_data *event_data, |
38 | struct ima_field_data *field_data); |
39 | int ima_eventname_init(struct ima_event_data *event_data, |
40 | struct ima_field_data *field_data); |
41 | int ima_eventdigest_ng_init(struct ima_event_data *event_data, |
42 | struct ima_field_data *field_data); |
43 | int ima_eventdigest_ngv2_init(struct ima_event_data *event_data, |
44 | struct ima_field_data *field_data); |
45 | int ima_eventdigest_modsig_init(struct ima_event_data *event_data, |
46 | struct ima_field_data *field_data); |
47 | int ima_eventname_ng_init(struct ima_event_data *event_data, |
48 | struct ima_field_data *field_data); |
49 | int ima_eventsig_init(struct ima_event_data *event_data, |
50 | struct ima_field_data *field_data); |
51 | int ima_eventbuf_init(struct ima_event_data *event_data, |
52 | struct ima_field_data *field_data); |
53 | int ima_eventmodsig_init(struct ima_event_data *event_data, |
54 | struct ima_field_data *field_data); |
55 | int ima_eventevmsig_init(struct ima_event_data *event_data, |
56 | struct ima_field_data *field_data); |
57 | int ima_eventinodeuid_init(struct ima_event_data *event_data, |
58 | struct ima_field_data *field_data); |
59 | int ima_eventinodegid_init(struct ima_event_data *event_data, |
60 | struct ima_field_data *field_data); |
61 | int ima_eventinodemode_init(struct ima_event_data *event_data, |
62 | struct ima_field_data *field_data); |
63 | int ima_eventinodexattrnames_init(struct ima_event_data *event_data, |
64 | struct ima_field_data *field_data); |
65 | int ima_eventinodexattrlengths_init(struct ima_event_data *event_data, |
66 | struct ima_field_data *field_data); |
67 | int ima_eventinodexattrvalues_init(struct ima_event_data *event_data, |
68 | struct ima_field_data *field_data); |
69 | #endif /* __LINUX_IMA_TEMPLATE_LIB_H */ |
70 | |