summaryrefslogtreecommitdiffstats
path: root/lilo-config/common/lilo.h
diff options
context:
space:
mode:
Diffstat (limited to 'lilo-config/common/lilo.h')
-rw-r--r--lilo-config/common/lilo.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/lilo-config/common/lilo.h b/lilo-config/common/lilo.h
new file mode 100644
index 0000000..c992df0
--- /dev/null
+++ b/lilo-config/common/lilo.h
@@ -0,0 +1,77 @@
+/* lilo.h
+**
+** Copyright (C) 2000,2001 by Bernhard Rosenkraenzer
+**
+** Contributions by A. Seigo and W. Bastian.
+**
+*/
+
+/*
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program in a file called COPYING; if not, write to
+** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+** MA 02110-1301, USA.
+*/
+
+/*
+** Bug reports and questions can be sent to kde-devel@kde.org
+*/
+#ifndef _LILO_H_
+#define _LILO_H_ 1
+#include "Config.h"
+#include <iostream>
+
+class liloimage:public ConfigFile {
+public:
+ bool isLinux() const;
+};
+
+class liloimages:public std::list<liloimage> {
+public:
+ void remove(String const &s);
+ liloimage *find(String const &s) const;
+ liloimage *operator[](String const &s) const { return find(s); }
+};
+
+class liloconf {
+ friend std::ostream &operator <<(std::ostream &os, liloconf const &l);
+ friend std::ostream &operator <<(std::ostream &os, liloconf const *l);
+public:
+ liloconf(String const &filename="/etc/lilo.conf");
+ void set(StringList const &s);
+ void set(String const &s);
+ void writeFile(String const &filename);
+ bool const isOk();
+ String const liloOut();
+ bool install(bool probeonly=false);
+ bool probe();
+ void addLinux(String const &label, String const &kernel, String const &root="", String const &initrd="", bool optional=false, String const &append="", String const &vga="", bool readonly=true, String const &literal="", String const &ramdisk="");
+ void addOther(String const &name, String const &partition, bool const &optional=false, String const &chain="");
+ void remove(String const &label);
+ void removeKernel(String const &kernel);
+ StringList const &entries() const;
+ String const dflt() const;
+ void setDefault(String const &dflt);
+ operator String() const;
+protected:
+ void check() { install(true); }
+ bool ok;
+ String output;
+public:
+ bool checked;
+ ConfigFile defaults;
+ liloimages images;
+};
+std::ostream &operator <<(std::ostream &os, liloconf const &l);
+std::ostream &operator <<(std::ostream &os, liloconf const *l);
+#endif