|
mxAusgabe.c |
/* mxAusgabe.c */
#include "mxAusgabe.h"
#include "mxSeriell.h"
#include "mxStrukturen.h"
#include "mxLib.h"
#include "mxKontrolle.h"
/* -------------------------------------------------------------------------------------------------------------------- */
/***************
** Funktionen **
***************/
void Schreibe(char *Was, int Wieviel)
/*
* Gibt die ersten `Wieviel' Zeichen aus dem Feld `Was' aus
*/
{
int i;
for (i = 0; i < Wieviel; i++) {
SchreibSeriell(Was[i]);
}
} /* Schreibe */
/* -------------------------------------------------------------------------------------------------------------------- */
void printk(char *format, ...)
/*
* Syslog-Ausgabe fuer den Kern (in Zusammenarbeit mit mxBoot)
*/
{
int len;
char buffer[512];
buffer[0] = 1; /* Kennung fuer Syslog-Zeile */
len = vsnprintf(buffer + 1, sizeof(buffer) - 2, format,
((int *) &format) + 1);
buffer[len+1] = 0; /* Kennung fuer Ende der Syslog-Zeile */
ProzesswechselUnterbinden();
Schreibe(buffer, len + 2);
ProzesswechselZulassen();
} /* printk */
/* -------------------------------------------------------------------------------------------------------------------- */
int kprintf(char *format, ...)
/*
* printf fuer den Kern
*/
{
int len;
char buffer[512];
len = vsnprintf(buffer, sizeof(buffer), format, ((int *) &format) + 1);
Schreibe(buffer, len);
return len;
}
/* -------------------------------------------------------------------------------------------------------------------- */
int InitAusgabe(void)
{
return TRUE;
}
Bei Problemen mit der Seite bitte eine Mail an Marek
Converted with C2HTML V0.669 by Iluvatar
Prozeßdatenverarbeitung