Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (C) 2013 Politecnico di Torino, Italy
0004  *                    TORSEC group -- https://security.polito.it
0005  *
0006  * Author: Roberto Sassu <roberto.sassu@polito.it>
0007  *
0008  * File: ima_template_lib.h
0009  *      Header for the library of supported template fields.
0010  */
0011 #ifndef __LINUX_IMA_TEMPLATE_LIB_H
0012 #define __LINUX_IMA_TEMPLATE_LIB_H
0013 
0014 #include <linux/seq_file.h>
0015 #include "ima.h"
0016 
0017 #define ENFORCE_FIELDS 0x00000001
0018 #define ENFORCE_BUFEND 0x00000002
0019 
0020 void ima_show_template_digest(struct seq_file *m, enum ima_show_type show,
0021                   struct ima_field_data *field_data);
0022 void ima_show_template_digest_ng(struct seq_file *m, enum ima_show_type show,
0023                  struct ima_field_data *field_data);
0024 void ima_show_template_digest_ngv2(struct seq_file *m, enum ima_show_type show,
0025                    struct ima_field_data *field_data);
0026 void ima_show_template_string(struct seq_file *m, enum ima_show_type show,
0027                   struct ima_field_data *field_data);
0028 void ima_show_template_sig(struct seq_file *m, enum ima_show_type show,
0029                struct ima_field_data *field_data);
0030 void ima_show_template_buf(struct seq_file *m, enum ima_show_type show,
0031                struct ima_field_data *field_data);
0032 void ima_show_template_uint(struct seq_file *m, enum ima_show_type show,
0033                 struct ima_field_data *field_data);
0034 int ima_parse_buf(void *bufstartp, void *bufendp, void **bufcurp,
0035           int maxfields, struct ima_field_data *fields, int *curfields,
0036           unsigned long *len_mask, int enforce_mask, char *bufname);
0037 int ima_eventdigest_init(struct ima_event_data *event_data,
0038              struct ima_field_data *field_data);
0039 int ima_eventname_init(struct ima_event_data *event_data,
0040                struct ima_field_data *field_data);
0041 int ima_eventdigest_ng_init(struct ima_event_data *event_data,
0042                 struct ima_field_data *field_data);
0043 int ima_eventdigest_ngv2_init(struct ima_event_data *event_data,
0044                   struct ima_field_data *field_data);
0045 int ima_eventdigest_modsig_init(struct ima_event_data *event_data,
0046                 struct ima_field_data *field_data);
0047 int ima_eventname_ng_init(struct ima_event_data *event_data,
0048               struct ima_field_data *field_data);
0049 int ima_eventsig_init(struct ima_event_data *event_data,
0050               struct ima_field_data *field_data);
0051 int ima_eventbuf_init(struct ima_event_data *event_data,
0052               struct ima_field_data *field_data);
0053 int ima_eventmodsig_init(struct ima_event_data *event_data,
0054              struct ima_field_data *field_data);
0055 int ima_eventevmsig_init(struct ima_event_data *event_data,
0056              struct ima_field_data *field_data);
0057 int ima_eventinodeuid_init(struct ima_event_data *event_data,
0058                struct ima_field_data *field_data);
0059 int ima_eventinodegid_init(struct ima_event_data *event_data,
0060                struct ima_field_data *field_data);
0061 int ima_eventinodemode_init(struct ima_event_data *event_data,
0062                 struct ima_field_data *field_data);
0063 int ima_eventinodexattrnames_init(struct ima_event_data *event_data,
0064                   struct ima_field_data *field_data);
0065 int ima_eventinodexattrlengths_init(struct ima_event_data *event_data,
0066                     struct ima_field_data *field_data);
0067 int ima_eventinodexattrvalues_init(struct ima_event_data *event_data,
0068                    struct ima_field_data *field_data);
0069 #endif /* __LINUX_IMA_TEMPLATE_LIB_H */