3 * Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 * COPYRIGHT: See COPYING in the top level directory
22 * PROJECT: ReactOS kernel
23 * FILE: ntoskrnl/dbg/print.c
24 * PURPOSE: Debug output
25 * PROGRAMMER: Eric Kohl (ekohl@abo.rhein-zeitung.de)
26 * PORTABILITY: Unchecked
31 /* INCLUDES *****************************************************************/
33 #include <ddk/ntddk.h>
34 #include <internal/kd.h>
36 #include <glib/gtypes.h> /* for gboolean */
37 #endif /* LIBCAPTIVE */
40 /* FUNCTIONS ****************************************************************/
43 ULONG DbgService (ULONG Service, PVOID Context1, PVOID Context2);
44 __asm__ ("\n\t.global _DbgService\n\t"
46 "mov 4(%esp), %eax\n\t"
47 "mov 8(%esp), %ecx\n\t"
48 "mov 12(%esp), %edx\n\t"
54 * Note: DON'T CHANGE THIS FUNCTION!!!
55 * DON'T CALL HalDisplayString OR SOMETING ELSE!!!
56 * You'll only break the serial/bochs debugging feature!!!
60 extern gboolean captive_get_debug_messages(void);
61 #endif /* LIBCAPTIVE */
64 DbgPrint(PCH Format, ...)
66 ANSI_STRING DebugString;
71 if (!captive_get_debug_messages())
73 #endif /* LIBCAPTIVE */
75 /* init ansi string */
76 DebugString.Buffer = Buffer;
77 DebugString.MaximumLength = sizeof(Buffer);
79 va_start (ap, Format);
80 DebugString.Length = _vsnprintf (Buffer, sizeof( Buffer ), Format, ap);
83 KdpPrintString (&DebugString);
85 return (ULONG)DebugString.Length;
90 DbgPrompt (PCH OutputString,
98 Input.MaximumLength = InputSize;
99 Input.Buffer = InputString;
101 Output.Length = strlen (OutputString);
102 Output.MaximumLength = Output.Length + 1;
103 Output.Buffer = OutputString;
105 /* FIXME: Not implemented yet! */
106 // KdpPromptString (&Output,