SayoriOS  0.3.3
Файл ports.c

Средства для работы с портами Подробнее...

#include <stdarg.h>
#include <io/ports.h>
#include <lib/sprintf.h>
#include "io/serial_port.h"
#include "sys/scheduler.h"
#include "mem/vmm.h"

См. исходные тексты.

Функции

void switch_qemu_logging ()
 
void insl (uint16_t port, uint32_t *buffer, int32_t times)
 Чтение длинного слова через порт Подробнее...
 
void outsl (uint16_t port, uint32_t *buffer, int32_t times)
 Запись длинного слова через порт Подробнее...
 
void insw (uint16_t __port, void *__buf, unsigned long __n)
 
void outsw (uint16_t __port, const void *__buf, unsigned long __n)
 
int32_t is_transmit_empty (uint16_t port)
 Проверка занятости порта Подробнее...
 
uint8_t serial_readchar (uint16_t port)
 
int8_t serial_readchar_timeout (uint16_t port, size_t timeout, bool Alert)
 
void io_wait (void)
 Небольшая задержка используя порт 128(0x80)
 
int isprint (char c)
 Проверка, читаем ли символ Подробнее...
 
int is_com_port (int port)
 Проверка на тип порта Подробнее...
 
void qemu_printf (const char *text,...)
 Вывод QEMU через COM1 информации Подробнее...
 
void new_qemu_printf (const char *format,...)
 

Переменные

void(* default_qemu_printf )(const char *text,...) = qemu_printf
 

Подробное описание

Средства для работы с портами

Автор
Пиминов Никита (nikit.nosp@m.a.pi.nosp@m.minof.nosp@m.f@ya.nosp@m.ndex..nosp@m.ru)
Версия
0.3.5
Дата
2022-11-01

См. определение в файле ports.c

Функции

◆ insl()

void insl ( uint16_t  port,
uint32_t *  buffer,
int32_t  times 
)

Чтение длинного слова через порт

Аргументы
port- порт
buffer- данные
times- сколько данных прочесть

См. определение в файле ports.c строка 30

◆ is_com_port()

int is_com_port ( int  port)

Проверка на тип порта

Аргументы
port
Возвращает
Возвращает номер порта или 0 в случае если порт не в списке

См. определение в файле ports.c строка 120

◆ is_transmit_empty()

int32_t is_transmit_empty ( uint16_t  port)

Проверка занятости порта

Возвращает
int32_t - состояние

См. определение в файле ports.c строка 67

◆ isprint()

int isprint ( char  c)

Проверка, читаем ли символ

Аргументы
cСимвол
Возвращает
1 если читаемый, 0 если нет

См. определение в файле ports.c строка 109

◆ outsl()

void outsl ( uint16_t  port,
uint32_t *  buffer,
int32_t  times 
)

Запись длинного слова через порт

Аргументы
port- порт
buffer- данные
times- сколько данных отправить

См. определение в файле ports.c строка 44

◆ qemu_printf()

void qemu_printf ( const char *  text,
  ... 
)

Вывод QEMU через COM1 информации

Аргументы
textФорматная строка
...Дополнительные параметры

См. определение в файле ports.c строка 149