豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 339 行 · 16521 字节 · UTF-8
§
寻观「底层库」之书。
寻观「客体二号」之「布局」之书。

「:文言:Linux 之系统调用:执行器以一份模块行于诸平台,此模块诸导入唯 Linux 之目标真绑之,余目标绑为陷阱。平台号者目标之内建,裸机一、Linux 二、苹果三,执行器以之择途。汉语:Linux 系统调用包装。执行器是同一份整数 Wasm 模块,在裸机与 Linux 上都用:这里的“Linux”导入只在 Linux 目标下绑定为真正的系统调用,其他目标下绑定为陷阱桩(运行时不会走到)。平台号 是降级目标的内建导入(裸机 1、Linux 2、macOS 3),执行器据此在运行时选择平台实现。参数类别见降级目标的 Linux 入口表:地址参数是线性内存偏移,进入系统前由桩加上线性基址。:」
「平台号」乃化「有」而「整数」也。
「平台号」者会「无」而
  《《外调》》名『导入:目标:平台号:0:1』传「无」
也。

「是林」乃化「有」而「爻」也。
「是林」者会「无」而
  「等」于(「平台号」于「元」)于「二」
也。

「:文言:线性内存之基址,低高各三十二位:以造系统所需之绝对指针。汉语:线性内存基址的低、高 32 位(目标内建导入),用来拼出操作系统要求的绝对指针(如 execve 的参数指针表)。:」
「内存基址低」乃化「有」而「整数」也。
「内存基址低」者会「无」而
  《《外调》》名『导入:目标:内存基址低:0:1』传「无」
也。

「内存基址高」乃化「有」而「整数」也。
「内存基址高」者会「无」而
  《《外调》》名『导入:目标:内存基址高:0:1』传「无」
也。

「:文言:进程、信号与套接字之系统调用。汉语:进程、信号与套接字的系统调用包装:clone(只用 SIGCHLD,如 fork)、execve、fchdir、rt_sigaction、kill、wait4、socket、bind、listen、accept4、connect、shutdown、getsockname、setsockopt、getsockopt。:」
「林_克隆」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「林_克隆」者会「标志」而会「栈」而会「甲」而会「乙」而会「丙」而
  《《外调》》名『导入:Linux:clone:5:1』传「标志」与「栈」与「甲」与「乙」与「丙」
也。

「林_执行」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_执行」者会「路径」而会「参表」而会「境表」而
  《《外调》》名『导入:Linux:execve:3:1』传「路径」与「参表」与「境表」
也。

「林_改目录」乃化「整数」而「整数」也。
「林_改目录」者会「路径」而
  《《外调》》名『导入:Linux:chdir:1:1』传「路径」
也。

「林_改目录柄」乃化「整数」而「整数」也。
「林_改目录柄」者会「柄」而
  《《外调》》名『导入:Linux:fchdir:1:1』传「柄」
也。

「林_信号动作」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_信号动作」者会「号」而会「新」而会「旧」而会「长」而
  《《外调》》名『导入:Linux:rt_sigaction:4:1』传「号」与「新」与「旧」与「长」
也。

「林_杀」乃化「整数」而化「整数」而「整数」也。
「林_杀」者会「号」而会「信号」而
  《《外调》》名『导入:Linux:kill:2:1』传「号」与「信号」
也。

「林_等子」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_等子」者会「号」而会「态址」而会「选项」而会「用址」而
  《《外调》》名『导入:Linux:wait4:4:1』传「号」与「态址」与「选项」与「用址」
也。

「林_套接字」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_套接字」者会「族」而会「类」而会「协议」而
  《《外调》》名『导入:Linux:socket:3:1』传「族」与「类」与「协议」
也。

「林_绑定」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_绑定」者会「柄」而会「址」而会「长」而
  《《外调》》名『导入:Linux:bind:3:1』传「柄」与「址」与「长」
也。

「林_听」乃化「整数」而化「整数」而「整数」也。
「林_听」者会「柄」而会「队列」而
  《《外调》》名『导入:Linux:listen:2:1』传「柄」与「队列」
也。

「林_接」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_接」者会「柄」而会「址」而会「长址」而会「标志」而
  《《外调》》名『导入:Linux:accept4:4:1』传「柄」与「址」与「长址」与「标志」
也。

「林_连」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_连」者会「柄」而会「址」而会「长」而
  《《外调》》名『导入:Linux:connect:3:1』传「柄」与「址」与「长」
也。

「林_关半」乃化「整数」而化「整数」而「整数」也。
「林_关半」者会「柄」而会「向」而
  《《外调》》名『导入:Linux:shutdown:2:1』传「柄」与「向」
也。

「林_套名」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_套名」者会「柄」而会「址」而会「长址」而
  《《外调》》名『导入:Linux:getsockname:3:1』传「柄」与「址」与「长址」
也。

「林_设项」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「林_设项」者会「柄」而会「层」而会「名」而会「址」而会「长」而
  《《外调》》名『导入:Linux:setsockopt:5:1』传「柄」与「层」与「名」与「址」与「长」
也。

「林_取项」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「林_取项」者会「柄」而会「层」而会「名」而会「址」而会「长址」而
  《《外调》》名『导入:Linux:getsockopt:5:1』传「柄」与「层」与「名」与「址」与「长址」
也。

「林_读」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_读」者会「柄」而会「址」而会「长」而
  《《外调》》名『导入:Linux:read:3:1』传「柄」与「址」与「长」
也。

「林_写」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_写」者会「柄」而会「址」而会「长」而
  《《外调》》名『导入:Linux:write:3:1』传「柄」与「址」与「长」
也。

「林_退出组」乃化「整数」而「有」也。
「林_退出组」者会「码」而
  《《外调》》名『导入:Linux:exit_group:1:0』传「码」
也。

「林_开」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_开」者会「目录」而会「路径」而会「标志」而会「权限」而
  《《外调》》名『导入:Linux:openat:4:1』传「目录」与「路径」与「标志」与「权限」
也。

「林_开二」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_开二」者会「目录」而会「路径」而会「法」而会「法长」而
  《《外调》》名『导入:Linux:openat2:4:1』传「目录」与「路径」与「法」与「法长」
也。

「林_关」乃化「整数」而「整数」也。
「林_关」者会「柄」而
  《《外调》》名『导入:Linux:close:1:1』传「柄」
也。

「林_复制柄」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_复制柄」者会「旧」而会「新」而会「标志」而
  《《外调》》名『导入:Linux:dup3:3:1』传「旧」与「新」与「标志」
也。

「林_寻」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_寻」者会「柄」而会「偏」而会「起点」而
  《《外调》》名『导入:Linux:lseek:3:1』传「柄」与「偏」与「起点」
也。

「林_定读」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_定读」者会「柄」而会「址」而会「长」而会「偏」而
  《《外调》》名『导入:Linux:pread64:4:1』传「柄」与「址」与「长」与「偏」
也。

「林_定写」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_定写」者会「柄」而会「址」而会「长」而会「偏」而
  《《外调》》名『导入:Linux:pwrite64:4:1』传「柄」与「址」与「长」与「偏」
也。

「林_同步」乃化「整数」而「整数」也。
「林_同步」者会「柄」而
  《《外调》》名『导入:Linux:fsync:1:1』传「柄」
也。

「林_同步数据」乃化「整数」而「整数」也。
「林_同步数据」者会「柄」而
  《《外调》》名『导入:Linux:fdatasync:1:1』传「柄」
也。

「林_截」乃化「整数」而化「整数」而「整数」也。
「林_截」者会「柄」而会「长」而
  《《外调》》名『导入:Linux:ftruncate:2:1』传「柄」与「长」
也。

「林_控」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_控」者会「柄」而会「令」而会「参」而
  《《外调》》名『导入:Linux:fcntl:3:1』传「柄」与「令」与「参」
也。

「林_管道」乃化「整数」而化「整数」而「整数」也。
「林_管道」者会「出」而会「标志」而
  《《外调》》名『导入:Linux:pipe2:2:1』传「出」与「标志」
也。

「林_轮询」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_轮询」者会「柄们」而会「数」而会「时限」而会「屏蔽」而
  《《外调》》名『导入:Linux:ppoll:4:1』传「柄们」与「数」与「时限」与「屏蔽」
也。

「林_取时」乃化「整数」而化「整数」而「整数」也。
「林_取时」者会「钟」而会「出」而
  《《外调》》名『导入:Linux:clock_gettime:2:1』传「钟」与「出」
也。

「林_取时精」乃化「整数」而化「整数」而「整数」也。
「林_取时精」者会「钟」而会「出」而
  《《外调》》名『导入:Linux:clock_getres:2:1』传「钟」与「出」
也。

「林_取随机」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_取随机」者会「址」而会「长」而会「标志」而
  《《外调》》名『导入:Linux:getrandom:3:1』传「址」与「长」与「标志」
也。

「林_状态」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「林_状态」者会「目录」而会「路径」而会「标志」而会「掩码」而会「出」而
  《《外调》》名『导入:Linux:statx:5:1』传「目录」与「路径」与「标志」与「掩码」与「出」
也。

「林_读目录项」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_读目录项」者会「柄」而会「址」而会「长」而
  《《外调》》名『导入:Linux:getdents64:3:1』传「柄」与「址」与「长」
也。

「林_建目录」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_建目录」者会「目录」而会「路径」而会「权限」而
  《《外调》》名『导入:Linux:mkdirat:3:1』传「目录」与「路径」与「权限」
也。

「林_删」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_删」者会「目录」而会「路径」而会「标志」而
  《《外调》》名『导入:Linux:unlinkat:3:1』传「目录」与「路径」与「标志」
也。

「林_改名」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「林_改名」者会「旧目录」而会「旧路径」而会「新目录」而会「新路径」而会「标志」而
  《《外调》》名『导入:Linux:renameat2:5:1』传「旧目录」与「旧路径」与「新目录」与「新路径」与「标志」
也。

「林_读链接」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林_读链接」者会「目录」而会「路径」而会「址」而会「长」而
  《《外调》》名『导入:Linux:readlinkat:4:1』传「目录」与「路径」与「址」与「长」
也。

「林_控设备」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_控设备」者会「柄」而会「令」而会「址」而
  《《外调》》名『导入:Linux:ioctl:3:1』传「柄」与「令」与「址」
也。

「林_亲和」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林_亲和」者会「号」而会「长」而会「址」而
  《《外调》》名『导入:Linux:sched_getaffinity:3:1』传「号」与「长」与「址」
也。

「:文言:Linux 之误码转为底层接口之码(WASI preview1 之号);未列者归输入输出之误。汉语:把 Linux 的 errno(系统调用返回的负数取反)转成底层接口状态码(WASI preview1 编号);表外的一律记为 29(输入输出错误)。:」
「林误码」乃化「整数」而「整数」也。
「林误码」者会「号」而
  鉴「号」而
    有「一」则「六三」
    或有「二」则「四四」
    或有「三」则「七一」
    或有「四」则「二七」
    或有「五」则「二九」
    或有「六」则「六零」
    或有「七」则「一」
    或有「八」则「四五」
    或有「九」则「八」
    或有「一零」则「一二」
    或有「一一」则「六」
    或有「一二」则「四八」
    或有「一三」则「二」
    或有「一四」则「二一」
    或有「一六」则「一零」
    或有「一七」则「二零」
    或有「一八」则「七五」
    或有「一九」则「四三」
    或有「二零」则「五四」
    或有「二一」则「三一」
    或有「二二」则「二八」
    或有「二三」则「四一」
    或有「二四」则「三三」
    或有「二五」则「五九」
    或有「二六」则「七四」
    或有「二七」则「二二」
    或有「二八」则「五一」
    或有「二九」则「七零」
    或有「三零」则「六九」
    或有「三一」则「三四」
    或有「三二」则「六四」
    或有「三三」则「一八」
    或有「三四」则「六八」
    或有「三五」则「一六」
    或有「三六」则「三七」
    或有「三七」则「四六」
    或有「三八」则「五二」
    或有「三九」则「五五」
    或有「四零」则「三二」
    或有「七五」则「六一」
    或有「八八」则「五七」
    或有「九五」则「五八」
    或有「九八」则「三」
    或有「九九」则「四」
    或有「一零四」则「一五」
    或有「一一零」则「七三」
    或有「一一一」则「一四」
    或有「一一五」则「二六」
    或有「其他」则「二九」
也。

「:文言:系统调用之果:负者为误,转其码;非负者为成。汉语:系统调用结果换成状态码:负数是 -errno,转成底层状态码;非负为成功(返回 0)。:」
「林果码」乃化「整数」而「整数」也。
「林果码」者会「果」而
  若「小于」于「果」于「零」则
    「林误码」于(「减」于「零」于「果」)
  否则
    「零」
也。