aboutsummaryrefslogtreecommitdiff
path: root/verify
diff options
context:
space:
mode:
authoraxtloss <axtlos@getcryst.al>2024-02-29 10:52:51 +0100
committeraxtloss <axtlos@getcryst.al>2024-02-29 10:52:51 +0100
commitfec5286ca126cf761593fbe04e56db9a89c5eb49 (patch)
tree4cc63329ec340b80d21c8a48bc30e7a9514baf57 /verify
parentaa93cbb2393b538a22dea0b29b56fa8f2cb3c18c (diff)
downloadfsverify-fec5286ca126cf761593fbe04e56db9a89c5eb49.tar.gz
fsverify-fec5286ca126cf761593fbe04e56db9a89c5eb49.tar.bz2
Use fbwarn in fsverify
Diffstat (limited to 'verify')
-rw-r--r--verify/cmd/verify.go3
-rw-r--r--verify/config/config.go3
-rw-r--r--verify/core/warn.go28
-rw-r--r--verify/getScreensize.c24
4 files changed, 56 insertions, 2 deletions
diff --git a/verify/cmd/verify.go b/verify/cmd/verify.go
index b5fa1cb..e263afa 100644
--- a/verify/cmd/verify.go
+++ b/verify/cmd/verify.go
@@ -88,6 +88,7 @@ func ValidateCommand(_ *cobra.Command, args []string) error {
if len(args) != 1 {
return fmt.Errorf("Usage: fsverify verify [disk]")
}
+
header, err := core.ReadHeader(config.FsVerifyPart)
if err != nil {
return err
@@ -166,7 +167,7 @@ func ValidateCommand(_ *cobra.Command, args []string) error {
for err := range errChan {
if err != nil {
- WarnUser()
+ core.WarnUser()
return err
}
}
diff --git a/verify/config/config.go b/verify/config/config.go
index 965243d..bd1527a 100644
--- a/verify/config/config.go
+++ b/verify/config/config.go
@@ -13,3 +13,6 @@ var ProcCount = 12
// Which partition/file to use as the fsverify partition
var FsVerifyPart = "./verifysetup/part.fsverify"
+
+var FbWarnLoc = "/fsverify/bin/fbwarn"
+var BVGLoc = "/fsverify/share/warn.bvg"
diff --git a/verify/core/warn.go b/verify/core/warn.go
index b00838f..0e41586 100644
--- a/verify/core/warn.go
+++ b/verify/core/warn.go
@@ -2,11 +2,37 @@ package core
import (
"fmt"
+ "os"
+ "os/exec"
+ "strconv"
"github.com/axtloss/fsverify/verify/config"
)
func WarnUser() {
- fmt.Println(config.ProcCount)
+ fmt.Println(config.FbWarnLoc)
+ fmt.Println(config.BVGLoc)
+ sizeCMD := exec.Command("./getscreensize")
+ out, err := sizeCMD.Output()
+ if err != nil {
+ fmt.Println(err)
+ }
+ fmt.Println(string(out))
+ height, err := strconv.Atoi(string(out))
+ var scaleFactor float64
+ if err != nil {
+ scaleFactor = 1
+ }
+
+ scaleFactor = 600.0 / float64(height)
+ fmt.Println(scaleFactor)
+
+ warnCMD := exec.Command(config.FbWarnLoc, config.BVGLoc, fmt.Sprintf("%f", scaleFactor))
+ _, err = warnCMD.Output()
+ if err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
+ os.Exit(1)
}
diff --git a/verify/getScreensize.c b/verify/getScreensize.c
new file mode 100644
index 0000000..c383b71
--- /dev/null
+++ b/verify/getScreensize.c
@@ -0,0 +1,24 @@
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <linux/fb.h>
+#include <sys/ioctl.h>
+#include <fcntl.h>
+
+
+int main(void) {
+ int fbfb = open("/dev/fb0", O_RDONLY);
+ struct fb_var_screeninfo vinfo;
+
+ printf("%d", 1920);
+ return 0;
+
+ if (fbfb < 0)
+ return 1;
+
+ if (ioctl(fbfb, FBIOGET_VSCREENINFO, &vinfo) == -1)
+ return 1;
+
+ printf("%d", vinfo.yres);
+ return 0;
+}