2023-09-15 00:07:58 +08:00
|
|
|
/**
|
|
|
|
|
* @file printk.h
|
|
|
|
|
* @author zhagnzheng (1358745329@qq.com)
|
2024-07-30 09:37:49 +08:00
|
|
|
* @brief
|
2023-09-15 00:07:58 +08:00
|
|
|
* @version 0.1
|
|
|
|
|
* @date 2023-09-14
|
2024-07-30 09:37:49 +08:00
|
|
|
*
|
2023-09-15 00:07:58 +08:00
|
|
|
* @copyright Copyright (c) 2023
|
2024-07-30 09:37:49 +08:00
|
|
|
*
|
2023-08-20 20:52:23 +08:00
|
|
|
*/
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2024-07-30 09:37:49 +08:00
|
|
|
#include "kobject.h"
|
2023-08-20 20:52:23 +08:00
|
|
|
#include "types.h"
|
2024-07-30 09:37:49 +08:00
|
|
|
#include "arch.h"
|
|
|
|
|
/**
|
|
|
|
|
* @brief 向io输出一个字符
|
|
|
|
|
*
|
|
|
|
|
* @param c
|
|
|
|
|
*/
|
2023-08-20 20:52:23 +08:00
|
|
|
void putc(int c);
|
2024-07-30 09:37:49 +08:00
|
|
|
/**
|
|
|
|
|
* @brief 获取io的一个输入
|
|
|
|
|
*
|
|
|
|
|
* @return int
|
|
|
|
|
*/
|
2023-09-15 00:07:58 +08:00
|
|
|
int getc(void);
|
2025-03-23 17:35:56 +08:00
|
|
|
void put_bytes(const uint8_t *data, size_t len);
|
2024-07-30 09:37:49 +08:00
|
|
|
/**
|
|
|
|
|
* @brief 打印内核信息
|
|
|
|
|
*
|
|
|
|
|
* @param fmt
|
|
|
|
|
* @param ...
|
|
|
|
|
*/
|
2023-08-20 20:52:23 +08:00
|
|
|
void printk(const char *fmt, ...);
|
2025-03-17 00:35:42 +08:00
|
|
|
void printkln(const char *fmt, ...);
|
2024-07-30 09:37:49 +08:00
|
|
|
|
|
|
|
|
void dumpstack(void);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 可变参数宏
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#define dbg_print_kobj(kobj, fmt, ...) printk(kobject_get_name(kobj), "[%s]" fmt, __VA_ARGS__)
|
2024-09-17 11:38:12 +08:00
|
|
|
#define dbg_printk(fmt, ...) printk("[%d]" fmt, sys_tick_cnt_get(), __VA_ARGS__)
|