|
[ source navigation ] [ diff markup ] [ identifier search ] [ general search ] |
|||
|
001 /* Copyright (C) 2004 David Decotigny 001 /* Copyright (C) 2004 David Decotigny 002 Copyright (C) 1999 Free Software Foundatio << 003 002 004 This program is free software; you can redi 003 This program is free software; you can redistribute it and/or 005 modify it under the terms of the GNU Genera 004 modify it under the terms of the GNU General Public License 006 as published by the Free Software Foundatio 005 as published by the Free Software Foundation; either version 2 007 of the License, or (at your option) any lat 006 of the License, or (at your option) any later version. 008 007 009 This program is distributed in the hope tha 008 This program is distributed in the hope that it will be useful, 010 but WITHOUT ANY WARRANTY; without even the 009 but WITHOUT ANY WARRANTY; without even the implied warranty of 011 MERCHANTABILITY or FITNESS FOR A PARTICULAR 010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 012 GNU General Public License for more details 011 GNU General Public License for more details. 013 012 014 You should have received a copy of the GNU 013 You should have received a copy of the GNU General Public License 015 along with this program; if not, write to t 014 along with this program; if not, write to the Free Software 016 Foundation, Inc., 59 Temple Place - Suite 3 015 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 017 USA. 016 USA. 018 */ 017 */ 019 #ifndef _SOS_BOCHS_H_ 018 #ifndef _SOS_BOCHS_H_ 020 #define _SOS_BOCHS_H_ 019 #define _SOS_BOCHS_H_ 021 020 022 /** 021 /** 023 * @file bochs.h 022 * @file bochs.h 024 * 023 * 025 * If you compiled Bochs with the --enable-e9- 024 * If you compiled Bochs with the --enable-e9-hack, then any character 026 * printed to the 0xE9 I/O port is printed to 025 * printed to the 0xE9 I/O port is printed to the xterm that is 027 * running Bochs. This may appear to be a deta 026 * running Bochs. This may appear to be a detail, but in fact, this 028 * functionnality is *VERY* precious for debug 027 * functionnality is *VERY* precious for debugging purposes. This 029 * """driver""" handles this feature. 028 * """driver""" handles this feature. 030 */ 029 */ 031 030 032 #include <sos/errno.h> 031 #include <sos/errno.h> 033 #include <sos/types.h> 032 #include <sos/types.h> 034 033 035 sos_ret_t sos_bochs_setup(void); 034 sos_ret_t sos_bochs_setup(void); >> 035 >> 036 sos_ret_t sos_bochs_putchar(char c); 036 037 037 sos_ret_t sos_bochs_putstring(const char* str) 038 sos_ret_t sos_bochs_putstring(const char* str); 038 039 039 /** Print the least signficant 32 (nbytes == 4 040 /** Print the least signficant 32 (nbytes == 4), 24 (nbytes == 3), 16 040 (nbytes == 2) or 8 (nbytes == 1) bits of v 041 (nbytes == 2) or 8 (nbytes == 1) bits of val in hexadecimal. */ 041 sos_ret_t sos_bochs_puthex(unsigned val, int n 042 sos_ret_t sos_bochs_puthex(unsigned val, int nbytes); 042 043 043 /** hexdump-style pretty printing */ 044 /** hexdump-style pretty printing */ 044 sos_ret_t sos_bochs_hexdump(const void* addr, 045 sos_ret_t sos_bochs_hexdump(const void* addr, int nbytes); 045 046 046 /** 047 /** 047 * Print the formatted string. Very restricted 048 * Print the formatted string. Very restricted version of printf(3): 048 * 1/ can print max 255 chars, 2/ supports onl 049 * 1/ can print max 255 chars, 2/ supports only %d/%i, %c, %s, %x 049 * without any support for flag charachters (e 050 * without any support for flag charachters (eg %08x). 050 */ 051 */ 051 sos_ret_t sos_bochs_printf(const char *format, 052 sos_ret_t sos_bochs_printf(const char *format, /* args */...) 052 __attribute__ ((format (printf, 1, 2))); 053 __attribute__ ((format (printf, 1, 2))); 053 054 054 #endif 055 #endif
[ source navigation ] | [ diff markup ] | [ identifier search ] | [ general search ] |