aboutsummaryrefslogtreecommitdiffstats
path: root/com32/include
diff options
context:
space:
mode:
authorhpa <hpa>2004-11-17 05:52:45 +0000
committerhpa <hpa>2004-11-17 05:52:45 +0000
commit8aada67545460566c9be6a3e021260509e8edaee (patch)
tree443a4442dc20031c8d42229a7c5b9e2ba2f33aae /com32/include
parent17f967640cef484f83d755c9dd016a946711236f (diff)
downloadsyslinux-8aada67545460566c9be6a3e021260509e8edaee.tar.gz
syslinux-8aada67545460566c9be6a3e021260509e8edaee.tar.xz
syslinux-8aada67545460566c9be6a3e021260509e8edaee.zip
Very basic operations now work; need to handle line-oriented
versus character-oriented input
Diffstat (limited to 'com32/include')
-rw-r--r--com32/include/console.h46
-rw-r--r--com32/include/fcntl.h24
-rw-r--r--com32/include/stdio.h2
-rw-r--r--com32/include/sys/stat.h43
-rw-r--r--com32/include/unistd.h31
5 files changed, 146 insertions, 0 deletions
diff --git a/com32/include/console.h b/com32/include/console.h
new file mode 100644
index 00000000..78025fb8
--- /dev/null
+++ b/com32/include/console.h
@@ -0,0 +1,46 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2004 H. Peter Anvin - All Rights Reserved
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall
+ * be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * console.h
+ *
+ * Alternative consoles
+ */
+
+#ifndef _CONSOLE_H
+#define _CONSOLE_H
+
+#include <klibc/extern.h>
+
+struct dev_info;
+__extern int openconsole(const struct dev_info *);
+
+extern const struct dev_info dev_stdcon;
+
+#endif /* _CONSOLE_H */
+
diff --git a/com32/include/fcntl.h b/com32/include/fcntl.h
new file mode 100644
index 00000000..b691b5cd
--- /dev/null
+++ b/com32/include/fcntl.h
@@ -0,0 +1,24 @@
+/*
+ * fcntl.h
+ */
+
+#ifndef _FCNTL_H
+#define _FCNTL_H
+
+#include <klibc/extern.h>
+#include <klibc/compiler.h>
+#include <sys/types.h>
+
+/* None of these are actually supported, although O_RDONLY works */
+/* Note this is different from the classical Unix way of doing it */
+#define O_RDONLY 1
+#define O_WRONLY 2
+#define O_RDWR 3
+#define O_CREAT 0100
+#define O_EXCL 0200
+#define O_TRUNC 01000
+#define O_APPEND 02000
+
+__extern int open(const char *, int, ...);
+
+#endif /* _FCNTL_H */
diff --git a/com32/include/stdio.h b/com32/include/stdio.h
index e40a3af8..0ebe922d 100644
--- a/com32/include/stdio.h
+++ b/com32/include/stdio.h
@@ -47,6 +47,8 @@ static __inline__ int fileno(FILE *__f)
#define stderr __create_file(2)
__extern FILE *fopen(const char *, const char *);
+struct dev_info;
+__extern FILE *fopendev(const struct dev_info *, const char *);
static __inline__ FILE *fdopen(int __fd, const char *__m)
{
diff --git a/com32/include/sys/stat.h b/com32/include/sys/stat.h
new file mode 100644
index 00000000..c0afb914
--- /dev/null
+++ b/com32/include/sys/stat.h
@@ -0,0 +1,43 @@
+/*
+ * sys/stat.h
+ */
+
+#ifndef _SYS_STAT_H
+#define _SYS_STAT_H
+
+#include <sys/types.h>
+
+/* We don't use this, but it's there for compatibility */
+
+#define S_IFMT 00170000
+#define S_IFSOCK 0140000
+#define S_IFLNK 0120000
+#define S_IFREG 0100000
+#define S_IFBLK 0060000
+#define S_IFDIR 0040000
+#define S_IFCHR 0020000
+#define S_IFIFO 0010000
+#define S_ISUID 0004000
+#define S_ISGID 0002000
+#define S_ISVTX 0001000
+#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
+#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
+#define S_IRWXU 00700
+#define S_IRUSR 00400
+#define S_IWUSR 00200
+#define S_IXUSR 00100
+#define S_IRWXG 00070
+#define S_IRGRP 00040
+#define S_IWGRP 00020
+#define S_IXGRP 00010
+#define S_IRWXO 00007
+#define S_IROTH 00004
+#define S_IWOTH 00002
+#define S_IXOTH 00001
+
+#endif /* _SYS_STAT_H */
diff --git a/com32/include/unistd.h b/com32/include/unistd.h
new file mode 100644
index 00000000..76ce33ae
--- /dev/null
+++ b/com32/include/unistd.h
@@ -0,0 +1,31 @@
+/*
+ * unistd.h
+ */
+
+#ifndef _UNISTD_H
+#define _UNISTD_H
+
+#include <klibc/extern.h>
+#include <klibc/compiler.h>
+#include <stddef.h>
+#include <sys/types.h>
+
+__extern __noreturn _exit(int);
+
+__extern int open(const char *, int, ...);
+struct dev_info;
+__extern int opendev(const struct dev_info *, int);
+__extern int close(int);
+
+__extern ssize_t read(int, void *, size_t);
+__extern ssize_t write(int, const void *, size_t);
+
+__extern int isatty(int);
+
+
+/* Standard file descriptor numbers. */
+#define STDIN_FILENO 0
+#define STDOUT_FILENO 1
+#define STDERR_FILENO 2
+
+#endif /* _UNISTD_H */