summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhpa <hpa>2002-06-12 23:18:40 +0000
committerhpa <hpa>2002-06-12 23:18:40 +0000
commit2076ae80b6e59960cd15b6fb4ace19e5b8fcad3d (patch)
tree1378410d10f6af25aa81e2b6cd0737b22568f9dd
parent55ddbef3b32a149c2ee1b37d3600ea5c4a1bf57c (diff)
downloadsyslinux-2076ae80b6e59960cd15b6fb4ace19e5b8fcad3d.tar.gz
Move com32.h to a subdirectory; we expect to have more stuff here...
-rw-r--r--com32/include/com32.h (renamed from com32.h)39
1 files changed, 23 insertions, 16 deletions
diff --git a/com32.h b/com32/include/com32.h
index 21415afe..4b7266fd 100644
--- a/com32.h
+++ b/com32/include/com32.h
@@ -12,6 +12,7 @@
#ifndef _COM32_H
#define _COM32_H
+#include <stdint.h>
/*
* This structure defines the register frame used by the
@@ -21,28 +22,34 @@
*
* __syscall(<interrupt #>, <source regs>, <return regs>)
*/
+typedef union {
+ uint32_t l;
+ uint16_t w[2];
+ uint8_t b[4];
+} reg32_t;
+
typedef struct {
- unsigned short gs; /* Offset 0 */
- unsigned short fs; /* Offset 2 */
- unsigned short es; /* Offset 4 */
- unsigned short ds; /* Offset 6 */
-
- unsigned int edi; /* Offset 8 */
- unsigned int esi; /* Offset 12 */
- unsigned int ebp; /* Offset 16 */
- unsigned int _unused; /* Offset 20 */
- unsigned int ebx; /* Offset 24 */
- unsigned int edx; /* Offset 28 */
- unsigned int ecx; /* Offset 32 */
- unsigned int eax; /* Offset 36 */
-
- unsigned int eflags; /* Offset 40 */
+ uint16_t gs; /* Offset 0 */
+ uint16_t fs; /* Offset 2 */
+ uint16_t es; /* Offset 4 */
+ uint16_t ds; /* Offset 6 */
+
+ reg32_t edi; /* Offset 8 */
+ reg32_t esi; /* Offset 12 */
+ reg32_t ebp; /* Offset 16 */
+ reg32_t _unused; /* Offset 20 */
+ reg32_t ebx; /* Offset 24 */
+ reg32_t edx; /* Offset 28 */
+ reg32_t ecx; /* Offset 32 */
+ reg32_t eax; /* Offset 36 */
+
+ reg32_t eflags; /* Offset 40 */
} com32sys_t;
/* The standard prototype for _start() */
int _start(unsigned int __nargs,
char *__cmdline,
- void (*__syscall)(unsigned char, com32sys_t *, com32sys_t *),
+ void (*__syscall)(uint8_t, com32sys_t *, com32sys_t *),
void *__bounce_ptr,
unsigned int __bounce_len);