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>
37 /* FUNCTIONS ****************************************************************/
40 ULONG DbgService (ULONG Service, PVOID Context1, PVOID Context2);
41 __asm__ ("\n\t.global _DbgService\n\t"
43 "mov 4(%esp), %eax\n\t"
44 "mov 8(%esp), %ecx\n\t"
45 "mov 12(%esp), %edx\n\t"
51 * Note: DON'T CHANGE THIS FUNCTION!!!
52 * DON'T CALL HalDisplayString OR SOMETING ELSE!!!
53 * You'll only break the serial/bochs debugging feature!!!
60 DbgPrint(PCH Format, ...)
62 ANSI_STRING DebugString;
66 /* init ansi string */
67 DebugString.Buffer = Buffer;
68 DebugString.MaximumLength = sizeof(Buffer);
70 va_start (ap, Format);
71 DebugString.Length = _vsnprintf (Buffer, sizeof( Buffer ), Format, ap);
74 KdpPrintString (&DebugString);
76 return (ULONG)DebugString.Length;
84 DbgPrompt (PCH OutputString,
92 Input.MaximumLength = InputSize;
93 Input.Buffer = InputString;
95 Output.Length = strlen (OutputString);
96 Output.MaximumLength = Output.Length + 1;
97 Output.Buffer = OutputString;
99 /* FIXME: Not implemented yet! */
100 // KdpPromptString (&Output,