豫言操作系统底层接口之终端(可选能力):终端模式与尺寸;按键序列的解析不在此包。
源码浏览已生成;不能解析的文件以纯文本展示,不表示通过类型检查。
# 豫言操作系统底层终端 0.1.0 状态:草案,可选能力。文言本见[文言版](规范.文言.md)。通用规则见[调用约定](../调用约定.汉语.md),状态码表见[底层基础](../底层基础/规范.汉语.md),读写与类别见[底层句柄](../底层句柄/规范.汉语.md)。 ## 范围 终端句柄(类别 3)的模式与尺寸。读写终端仍用底层句柄的 `读`、`写`;判断标准输入输出是不是终端用 `取句柄类别`。按键序列(方向键、功能键等转义序列)的解析、行编辑、回显策略都在 shim,不在本包。平台没有终端时所有函数返回 58。 ## 函数(`终端。接口。豫`) | 函数 | 参数 | 作用 | | --- | --- | --- | | 设终端模式 | 句柄, 模式 | 模式 0 为行模式(按行送达,由平台行规程回显与编辑),1 为原始模式(按字节送达,不回显、不编辑);句柄不是终端返回 59 | | 取终端尺寸 | 句柄, 出 | (列,行)共 8 字节写入出址;无法得知返回 58 | ## 未决 - **原始模式下 Ctrl-C 的处理**各平台目前不同:裸机内核吞掉它并置中断标志(见[底层基础](../底层基础/规范.汉语.md) 的 `查询中断`);桌面的原始模式通常把它当作字节 3 送达。需要统一:建议原始模式下也置中断标志、不送字节,待与 shim 的行编辑一起定。 - 终端类型(颜色、光标控制的可用性)不在本包;由 shim 读环境变量 `TERM` 判断。
# 豫言操作系统底层终端〇点一点〇 状:草案,可选之能。汉语本见[汉语版](规范.汉语.md)。通用之规,见[调用约定](../调用约定.文言.md);状态之码表,见[底层基础](../底层基础/规范.文言.md);读写与类别,见[底层句柄](../底层句柄/规范.文言.md)。 ## 范围 终端之柄(类别 3)之模与尺寸。读写终端,仍用底层句柄之 `读`、`写`;辨标准入出是否终端,用 `取句柄类别`。按键之序(方向键、功能键等转义之序)之解析、行之编辑、回显之策,皆在垫层,不在本包。平台无终端,则诸函数皆返 58。 ## 函数(`终端。接口。豫`) | 函数 | 参 | 用 | | --- | --- | --- | | 设终端模式 | 句柄, 模式 | 模 0 为行模(按行而达,平台之行规程回显与编辑),1 为原始之模(按字节而达,不回显、不编辑);柄非终端则返 59 | | 取终端尺寸 | 句柄, 出 | (列,行)共八字节书于出址;不得知则返 58 | ## 未决 - **原始模下 Ctrl-C 之处**,诸平台今不同:裸机内核吞之而置中断之标(见[底层基础](../底层基础/规范.文言.md) 之 `查询中断`);桌面原始模,多以字节三送达。须齐一:议原始模下亦置中断之标、不送字节,待与垫层之行编辑并定。 - 终端之类(颜色、光标控制之可用与否)不在本包;由垫层读环境变量 `TERM` 以判。