summaryrefslogtreecommitdiff
path: root/src/dev/termdev/serialtermdev/loginserialtermdev.cil
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/termdev/serialtermdev/loginserialtermdev.cil')
-rw-r--r--src/dev/termdev/serialtermdev/loginserialtermdev.cil55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/dev/termdev/serialtermdev/loginserialtermdev.cil b/src/dev/termdev/serialtermdev/loginserialtermdev.cil
new file mode 100644
index 0000000..2580dbe
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/loginserialtermdev.cil
@@ -0,0 +1,55 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(block loginserialtermdev
+
+ (macro all_type_change ((type ARG1)(type ARG2))
+ (typechange ARG1 typeattr chr_file ARG2))
+
+ (macro appendinherited_all_chr_files ((type ARG1))
+ (allow ARG1 typeattr appendinherited_chr_file)
+ (allowx ARG1 typeattr FIOCLEX_FIONCLEX_CHRFILE)
+ (allowx ARG1 typeattr IOCTLCONSOLE)
+ (allowx ARG1 typeattr IOCTLTTY_NOT_TIOCSTI)
+ (allowx ARG1 typeattr IOCTLVT))
+
+ (macro readwriteinherited_all_chr_files ((type ARG1))
+ (allow ARG1 typeattr readwriteinherited_chr_file)
+ (allowx ARG1 typeattr FIOCLEX_FIONCLEX_CHRFILE)
+ (allowx ARG1 typeattr IOCTLCONSOLE)
+ (allowx ARG1 typeattr IOCTLTTY_NOT_TIOCSTI)
+ (allowx ARG1 typeattr IOCTLVT))
+
+ (macro type ((type ARG1))
+ (typeattributeset typeattr ARG1))
+
+ (macro writeinherited_all_chr_files ((type ARG1))
+ (allow ARG1 typeattr writeinherited_chr_file)
+ (allowx ARG1 typeattr FIOCLEX_FIONCLEX_CHRFILE)
+ (allowx ARG1 typeattr IOCTLCONSOLE)
+ (allowx ARG1 typeattr IOCTLTTY_NOT_TIOCSTI)
+ (allowx ARG1 typeattr IOCTLVT))
+
+ (typeattribute typeattr)
+
+ (blockinherit .file.all_macro_template_chr_files)
+
+ (call .serialtermdev.type (typeattr))
+
+ (block base_template
+
+ (blockabstract base_template)
+
+ (blockinherit .serialtermdev.base_template)
+
+ (call .loginserialtermdev.type (serialtermdev)))
+
+ (block template
+
+ (blockabstract template)
+
+ (macro serialtermdev_type_change ((type ARG1)(type ARG2))
+ (typechange ARG1 serialtermdev chr_file ARG2))
+
+ (blockinherit .loginserialtermdev.base_template)
+ (blockinherit .serialtermdev.macro_template_chr_files)))