/* * Write a string of characters to the screen at current cursor * position using current attribute. */ void Put_String(const char *s) { bool iflag = Begin_Int_Atomic(); while (*s != '\0') Put_Char_Imp(*s++); Update_Cursor(); End_Int_Atomic(iflag); }
/* * Write a single character to the screen at current position * using current attribute, handling scrolling, special characters, etc. */ void Put_Char(int c) { bool iflag = Begin_Int_Atomic(); Put_Char_Imp(c); Update_Cursor(); End_Int_Atomic(iflag); }
/* * Write a buffer of characters at current cursor position * using current attribute. */ void Put_Buf(const char *buf, ulong_t length) { bool iflag = Begin_Int_Atomic(); while (length > 0) { Put_Char_Imp(*buf++); --length; } Update_Cursor(); End_Int_Atomic(iflag); }
/* Support for Print(). */ static void Print_Emit(struct Output_Sink *o, int ch) { Put_Char_Imp(ch); }