/*
 * settextmode — установить ТЕКСТОВЫЙ видеорежим (TEXT_MODE_40x32 /
 * TEXT_MODE_80x32).  Любое другое значение отвергается с EINVAL —
 * иначе случайный GFX_MODE_* мог бы выдернуть экран из-под текстового
 * I/O.  Возвращает 0 или -1 + errno.
 */

#include <conio.h>
#include <stdint.h>
#include <errno.h>

extern int _videomode_raw_set(uint8_t mode);

int settextmode(uint8_t mode)
{
    /* Отвергаем всё, что не известный текстовый режим. */
    if (mode != TEXT_MODE_40x32 && mode != TEXT_MODE_80x32) {
        errno = EINVAL;
        return -1;
    }
    return _videomode_raw_set(mode);
}
