summaryrefslogtreecommitdiff
path: root/util/superiotool/superiotool.h
diff options
context:
space:
mode:
Diffstat (limited to 'util/superiotool/superiotool.h')
-rw-r--r--util/superiotool/superiotool.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/util/superiotool/superiotool.h b/util/superiotool/superiotool.h
index c973b9e118..f7c715eb66 100644
--- a/util/superiotool/superiotool.h
+++ b/util/superiotool/superiotool.h
@@ -1,6 +1,7 @@
/*
* This file is part of the LinuxBIOS project.
*
+ * Copyright (C) 2007 Carl-Daniel Hailfinger
* Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
*
* This program is free software; you can redistribute it and/or modify
@@ -25,6 +26,27 @@
#include <stdlib.h>
#include <sys/io.h>
+#define EOT -1 /* End Of Table */
+#define NOLDN -2 /* NO LDN needed */
+#define NANA -3 /* Not Available */
+#define MAXNAMELEN 20 /* Maximum Name Length */
+#define MAXLDN 0xa /* Biggest LDN */
+#define LDNSIZE (MAXLDN + 3) /* Biggest LDN + 0 + NOLDN + EOT */
+#define MAXNUMIDX 70 /* Maximum number of indexes */
+#define IDXSIZE (MAXNUMIDX + 1)
+
+struct superio_registers {
+ /* Yes, superio_id should be unsigned, but EOT has to be negative. */
+ signed short superio_id;
+ const char name[MAXNAMELEN];
+ struct ite_ldnidx {
+ signed short ldn;
+ signed short idx[IDXSIZE];
+ signed short def[IDXSIZE];
+ } ldn[LDNSIZE];
+};
+
+/* superiotool.c */
unsigned char regval(unsigned short port, unsigned char reg);
void regwrite(unsigned short port, unsigned char reg, unsigned char val);
void probe_superio(unsigned short port);