林底层。豫
yuyan · 1298 行 · 66834 字节 · UTF-8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298
寻观「底层库」之书。
寻观「客体二号」之「布局」之书。
寻观「客体二号」之「林系统」之书。
寻观「客体二号」之「基础」之书。
寻观「客体二号」之「裸机底层状态码」之书。
「:文言:豫言操作系统底层接口之 Linux 后端:四十五函数,径发系统调用。柄即文件描述符;三为根目录。路径以 openat2 之 RESOLVE_BENEATH 守界,旧核则逐段解之;状态块取自 statx。暂存于动态区。汉语:豫言操作系统底层接口的 Linux 后端(45 个函数,直接发系统调用)。句柄是 Linux 文件描述符;3 号是启动时打开的根目录。路径以 openat2 的 RESOLVE_BENEATH 约束,ENOSYS 时逐段解析;越界返回 76。状态块取自 statx(ARM64 与 x86-64 布局相同)。暂存区(路径、statx、open_how、目录项)启动时从动态区分配。进程、等待与网络见 原生进程。豫(与 macOS 共用);待办事项:读写与寻址的偏移只用低 32 位;读目录的游标只支持一次读完整个目录。:」
「状态_林暂存」者「三七五二」也。
「:文言:读目录时输出缓冲之容。汉语:读目录时输出缓冲的容量。:」
「状态_林目录容」者「三七五六」也。
「:文言:自址起寻零字节,返其址。汉语:从地址起找第一个零字节,返回它的地址。:」
「林找零址」乃化「整数」而「整数」也。
「林找零址」者会「址」而
若「等零」于(「读一」于「址」)则
「址」
否则
「林找零址」于(「加」于「址」于「一」)
也。
「林底_暂存」乃化「有」而「整数」也。
「林底_暂存」者会「无」而
「读四」于「状态_林暂存」
也。
「:文言:暂存之布:路径甲、路径乙各四千字节,statx 之缓冲,open_how,杂项,目录项之缓冲。汉语:暂存区布局(相对起址):0 路径甲(4 KiB)、4096 路径乙(4 KiB)、8192 statx 缓冲(256 字节)、8448 open_how(24 字节)、8480 杂项(32 字节)、16384 起 getdents64 缓冲(48 KiB);65536 起给 林进程 用(进程表、poll 数组、杂项、execve 的参数与环境指针表),以及 196608 起 64 KiB 的子进程工作区(原生子进程),共 256 KiB。:」
「林底_路径甲」乃化「有」而「整数」也。
「林底_路径甲」者会「无」而
「林底_暂存」于「元」
也。
「林底_路径乙」乃化「有」而「整数」也。
「林底_路径乙」者会「无」而
「加」于(「林底_暂存」于「元」)于「四零九六」
也。
「林底_状缓」乃化「有」而「整数」也。
「林底_状缓」者会「无」而
「加」于(「林底_暂存」于「元」)于「八一九二」
也。
「林底_开法」乃化「有」而「整数」也。
「林底_开法」者会「无」而
「加」于(「林底_暂存」于「元」)于「八四四八」
也。
「林底_杂」乃化「有」而「整数」也。
「林底_杂」者会「无」而
「加」于(「林底_暂存」于「元」)于「八四八零」
也。
「林底_目录缓」乃化「有」而「整数」也。
「林底_目录缓」者会「无」而
「加」于(「林底_暂存」于「元」)于「一六三八四」
也。
「林底_目录缓长」者「四九一五二」也。
「:文言:供外层(文件原语)所用之状态块(六十四字节)、出槽(十六字节)、游标(八字节)。汉语:给外层文件原语用的状态块(8544 起 64 字节)、出槽(8608 起 16 字节)与目录游标(8624 起 8 字节)。:」
「林底_状块」乃化「有」而「整数」也。
「林底_状块」者会「无」而
「加」于(「林底_暂存」于「元」)于「八五四四」
也。
「林底_出槽」乃化「有」而「整数」也。
「林底_出槽」者会「无」而
「加」于(「林底_暂存」于「元」)于「八六零八」
也。
「林底_游标」乃化「有」而「整数」也。
「林底_游标」者会「无」而
「加」于(「林底_暂存」于「元」)于「八六二四」
也。
「:文言:初始化:取暂存,开根目录而置于三号。汉语:初始化:向动态区取 64 KiB 暂存;打开根目录“/”(O_RDONLY|O_CLOEXEC)并用 dup3 放到 3 号。:」
「林底_初始化」乃化「有」而「有」也。
「林底_初始化」者会「无」而
虑「无」者「写四」于「状态_林暂存」于(「取区域」于「二六二一四四」)而
虑「根」者
「林_开」于(「减」于「零」于「一零零」)于(「静态串」于『/』)于「五二四二八八」于「零」而
若「或者」于(「小于」于「根」于「零」)于(「等」于「根」于「三」)则
「元」
否则
虑「果」者「林_复制柄」于「根」于「三」于「零」而
虑「无」者「林_关」于「根」而
「元」
也。
「:文言:路径复制于暂存而以零终;逾容则返负一。汉语:把(址,长)的路径拷进暂存缓冲并补结尾零;太长返回 -1,否则返回缓冲地址。:」
「林底_零终」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_零终」者会「缓」而会「址」而会「长」而
若「或者」于(「小于」于「长」于「零」)于(「有符号大等」于「长」于「四零九五」)则
(「减」于「零」于「一」)
否则
((「拷贝」于「缓」于「址」于「长」);
(「写一」于(「加」于「缓」于「长」)于「零」);
「缓」)
也。
「:文言:书六十四位于出址:低字、高字。汉语:把 64 位值(低字、高字)写到出址。:」
「林底_写宽」乃化「整数」而化「整数」而化「整数」而「有」也。
「林底_写宽」者会「出」而会「低」而会「高」而
((「写四」于「出」于「低」);
(「写四」于(「加」于「出」于「四」)于「高」))
也。
「:文言:statx 之时刻(秒八字节、纳秒四字节)化为纳秒之数,书于出址。汉语:把 statx 时间戳(8 字节秒、4 字节纳秒)换成自 1970 年起的纳秒数(64 位)写到出址。:」
「林底_时刻纳秒」乃化「整数」而化「整数」而「有」也。
「林底_时刻纳秒」者会「源」而会「出」而
虑「杂」者「林底_杂」于「元」而
虑「无」者
「宽存」于「杂」于(「读四」于「源」)于(「读四」于(「加」于「源」于「四」))而
虑「无」者
「宽存」于(「加」于「杂」于「八」)于「一零零零零零零零零零」于「零」而
虑「无」者「宽乘」于「杂」于「杂」于(「加」于「杂」于「八」)而
虑「无」者
「宽存」于(「加」于「杂」于「八」)于(「读四」于(「加」于「源」于「八」))于「零」而
虑「无」者「宽加」于「杂」于「杂」于(「加」于「杂」于「八」)而
「林底_写宽」于「出」于(「读四」于「杂」)于(「读四」于(「加」于「杂」于「四」))
也。
「:文言:statx 之模式化为底层之类型。汉语:statx 的 stx_mode 换成状态块类型:目录 3、普通文件 4、符号链接 7、字符设备 2、块设备 1、套接字 6,其余 0。:」
「林底_模式类型」乃化「整数」而「整数」也。
「林底_模式类型」者会「模」而
鉴「位与」于「模」于「六一四四零」而
有「一六三八四」则「三」
或有「三二七六八」则「四」
或有「四零九六零」则「七」
或有「八一九二」则「二」
或有「二四五七六」则「一」
或有「四九一五二」则「六」
或有「其他」则「零」
也。
「:文言:statx 之缓冲化为六十四字节之状态块。汉语:把 statx 缓冲换成 64 字节状态块(布局见底层文件规范)。:」
「林底_填状态」乃化「整数」而「有」也。
「林底_填状态」者会「出」而
虑「状」者「林底_状缓」于「元」而
虑「模」者「读二」于(「加」于「状」于「二八」)而
虑「无」者
「林底_写宽」于「出」于(「读四」于(「加」于「状」于「一四零」))
于(「读四」于(「加」于「状」于「一三六」))而
虑「无」者
「林底_写宽」
于(「加」于「出」于「八」)
于(「读四」于(「加」于「状」于「三二」))
于(「读四」于(「加」于「状」于「三六」))
而
虑「无」者
「写四」于(「加」于「出」于「一六」)于(「林底_模式类型」于「模」)而
虑「无」者
「写四」
于(「加」于「出」于「二零」)
于(「位与」于「模」于「四零九五」)而
虑「无」者
「林底_写宽」
于(「加」于「出」于「二四」)
于(「读四」于(「加」于「状」于「一六」))于「零」而
虑「无」者
「林底_写宽」
于(「加」于「出」于「三二」)
于(「读四」于(「加」于「状」于「四零」))
于(「读四」于(「加」于「状」于「四四」))
而
虑「无」者
「林底_时刻纳秒」
于(「加」于「状」于「六四」)
于(「加」于「出」于「四零」)而
虑「无」者
「林底_时刻纳秒」
于(「加」于「状」于「一一二」)
于(「加」于「出」于「四八」)
而
「林底_时刻纳秒」
于(「加」于「状」于「九六」)
于(「加」于「出」于「五六」)
也。
「:文言:statx 取状,成则填状态块。汉语:调用 statx(掩码 STATX_BASIC_STATS),成功就填状态块。:」
「林底_取状」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林底_取状」者会「目录」而会「路径」而会「标志」而会「出」而
虑「果」者
「林_状态」于「目录」于「路径」于「标志」于「二零四七」于(「林底_状缓」于「元」)而
若「小于」于「果」于「零」则
「林误码」于(「减」于「零」于「果」)
否则
((「林底_填状态」于「出」);
「底码_成功」)
也。
「:文言:路径之模式:取其 statx 之 stx_mode,不存在则返负一。汉语:取路径的 stx_mode(不跟随末段链接时加 AT_SYMLINK_NOFOLLOW);出错返回 -1。:」
「林底_路径模式」乃化「整数」而化「整数」而化「爻」而「整数」也。
「林底_路径模式」者会「目录」而会「路径」而会「跟随」而
虑「果」者
「林_状态」
于「目录」于「路径」
于(「选择」于「跟随」于「零」于「二五六」)于「二零四七」
于(「林底_状缓」于「元」)
而
若「小于」于「果」于「零」则(「减」于「零」于「一」)否则「读二」
于(「加」于(「林底_状缓」于「元」)于「二八」)
也。
「:文言:柄之模式:statx 以 AT_EMPTY_PATH 取之,误则负一。汉语:取已打开句柄的 stx_mode(statx 加 AT_EMPTY_PATH);出错返回 -1。:」
「林底_柄模式」乃化「整数」而「整数」也。
「林底_柄模式」者会「柄」而
虑「果」者
「林_状态」于「柄」于(「静态串」于『』)于「四零九六」于「二零四七」
于(「林底_状缓」于「元」)而
若「小于」于「果」于「零」则(「减」于「零」于「一」)否则「读二」
于(「加」于(「林底_状缓」于「元」)于「二八」)
也。
「:文言:基础:时钟、随机、环境、退出、中断、平台、处理器之数。汉语:基础包:时钟、随机、环境(参数块与环境块沿用裸机实现,启动时已从 /proc 写进程序名区与参数区)、退出、中断、平台、处理器数。:」
「林底_读钟」乃化「整数」而化「整数」而「整数」也。
「林底_读钟」者会「钟」而会「出」而
虑「时」者「状态_林时」而
虑「果」者「林_取时」于「钟」于「时」而
若「小于」于「果」于「零」则
「林误码」于(「减」于「零」于「果」)
否则
((「林底_时刻纳秒」于「时」于「出」);
「底码_成功」)
也。
「林底_读单调纳秒」乃化「整数」而「整数」也。
「林底_读单调纳秒」者会「出」而
「林底_读钟」于「一」于「出」
也。
「林底_读墙钟纳秒」乃化「整数」而「整数」也。
「林底_读墙钟纳秒」者会「出」而
「林底_读钟」于「零」于「出」
也。
「林底_取时钟精度」乃化「整数」而化「整数」而「整数」也。
「林底_取时钟精度」者会「钟号」而会「出」而
若「或者」于(「小于」于「钟号」于「零」)于(「大于」于「钟号」于「一」)则
「底码_参数无效」
否则
虑「时」者「状态_林时」而
虑「果」者「林_取时精」于「钟号」于「时」而
若「小于」于「果」于「零」则
「林误码」于(「减」于「零」于「果」)
否则
((「林底_时刻纳秒」于「时」于「出」);
「底码_成功」)
也。
「:文言:时区之偏:待办。汉语:时区偏移:待办事项(需读 /etc/localtime),暂报不支持。:」
「林底_取时区偏移」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_取时区偏移」者会「时低」而会「时高」而会「出」而
((「写四」于「出」于「零」);
「底码_不支持」)
也。
「林底_填随机字节」乃化「整数」而化「整数」而「整数」也。
「林底_填随机字节」者会「址」而会「长」而
若「有符号小等」于「长」于「零」则
「底码_成功」
否则
虑「果」者「林_取随机」于「址」于「长」于「零」而
若「小于」于「果」于「零」则
「林误码」于(「减」于「零」于「果」)
否则若「小于」于「果」于「长」则
「林底_填随机字节」于(「加」于「址」于「果」)于(「减」于「长」于「果」)
否则
「底码_成功」
也。
「林底_退出」乃化「整数」而「有」也。
「林底_退出」者会「码」而
「林_退出组」于「码」
也。
「林底_查询中断」乃化「整数」而「整数」也。
「林底_查询中断」者会「出」而
((「写四」于「出」于「零」);
「底码_成功」)
也。
「林底_取平台」乃化「整数」而「整数」也。
「林底_取平台」者会「出」而
((「写四」于「出」于「二」);
「底码_成功」)
也。
「:文言:数亲和掩码之位。汉语:数 CPU 亲和掩码里置位的个数。:」
「林底_数位」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_数位」者会「址」而会「余」而会「数」而
若「有符号小等」于「余」于「零」则
「数」
否则
虑「字节」者「读一」于「址」而
虑「个」者
「加」
于(「加」于(「位与」于「字节」于「一」)于(「位与」于(「无符号右移」于「字节」于「一」)于「一」))
于(「加」
于(「加」
于(「位与」于(「无符号右移」于「字节」于「二」)于「一」)
于(「位与」于(「无符号右移」于「字节」于「三」)于「一」))
于(「加」
于(「加」
于(「位与」于(「无符号右移」于「字节」于「四」)于「一」)
于(「位与」于(「无符号右移」于「字节」于「五」)于「一」))
于(「加」
于(「位与」于(「无符号右移」于「字节」于「六」)于「一」)
于(「位与」于(「无符号右移」于「字节」于「七」)于「一」))))
而
「林底_数位」于(「加」于「址」于「一」)于(「减」于「余」于「一」)
于(「加」于「数」于「个」)
也。
「林底_取处理器数」乃化「整数」而「整数」也。
「林底_取处理器数」者会「出」而
虑「缓」者「林底_目录缓」于「元」而
虑「果」者「林_亲和」于「零」于「一零二四」于「缓」而
虑「数」者
(若「小于」于「果」于「零」则「一」否则「林底_数位」于「缓」于「果」于「零」)
而
((「写四」于「出」于(「选择」于(「等零」于「数」)于「一」于「数」));
「底码_成功」)
也。
「:文言:句柄:读、写、定位读写、寻址、关闭、同步、设长度、非阻塞、管道、初始授权与类别。汉语:句柄包:读写、定位读写、寻址、关闭、同步、设长度、设非阻塞、建管道、初始句柄与句柄类别。:」
「林底_计数果」乃化「整数」而化「整数」而「整数」也。
「林底_计数果」者会「果」而会「出」而
若「小于」于「果」于「零」则
((「写四」于「出」于「零」);
「林误码」于(「减」于「零」于「果」))
否则
((「写四」于「出」于「果」);
「底码_成功」)
也。
「林底_读」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林底_读」者会「柄」而会「址」而会「长」而会「出」而
「林底_计数果」于(「林_读」于「柄」于「址」于「长」)于「出」
也。
「林底_写」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林底_写」者会「柄」而会「址」而会「长」而会「出」而
「林底_计数果」于(「林_写」于「柄」于「址」于「长」)于「出」
也。
「林底_定位读」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_定位读」者会「柄」而会「址」而会「长」而会「偏低」而会「偏高」而会「出」而
「林底_计数果」于(「林_定读」于「柄」于「址」于「长」于「偏低」)于「出」
也。
「林底_定位写」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_定位写」者会「柄」而会「址」而会「长」而会「偏低」而会「偏高」而会「出」而
「林底_计数果」于(「林_定写」于「柄」于「址」于「长」于「偏低」)于「出」
也。
「林底_寻址」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_寻址」者会「柄」而会「偏低」而会「偏高」而会「起点」而会「出」而
虑「果」者「林_寻」于「柄」于「偏低」于「起点」而
若「小于」于「果」于「零」则
「林误码」于(「减」于「零」于「果」)
否则
((「林底_写宽」于「出」于「果」于「零」);
「底码_成功」)
也。
「:文言:进程之柄:自 2^30 起,第 i 格之柄为 2^30+i;进程表居暂存六五五三六起,六十四格,格十六字节:进程号、态(零空、一行、二毕)、退出码。汉语:进程句柄从 2^30 起编号(第 i 格的句柄是 2^30+i),不与文件描述符相撞;进程表在暂存区 65536 起,64 格,每格 16 字节:进程号、状态(0 空、1 运行中、2 已退出)、退出码。:」
「林进程柄基」者「一零七三七四一八二四」也。
「林进程格数」者「六四」也。
「林底_进程表」乃化「有」而「整数」也。
「林底_进程表」者会「无」而
「加」于(「林底_暂存」于「元」)于「六五五三六」
也。
「林是进程柄」乃化「整数」而「爻」也。
「林是进程柄」者会「柄」而
「且」
于(「有符号大等」于「柄」于「林进程柄基」)
于(「小于」于「柄」于(「加」于「林进程柄基」于「林进程格数」))
也。
「林进程格」乃化「整数」而「整数」也。
「林进程格」者会「柄」而
「加」于(「林底_进程表」于「元」)于(「乘」于(「减」于「柄」于「林进程柄基」)于「一六」)
也。
「:文言:闭柄:进程之柄释其格而不终其进程。汉语:关闭句柄;进程句柄只释放表格,不终止进程(待办事项:未退出就关闭的子进程不再回收,成为僵尸进程)。:」
「林底_关闭」乃化「整数」而「整数」也。
「林底_关闭」者会「柄」而
若「林是进程柄」于「柄」则
((「写四」于(「加」于(「林进程格」于「柄」)于「四」)于「零」);
「底码_成功」)
否则
「林果码」于(「林_关」于「柄」)
也。
「林底_同步」乃化「整数」而化「整数」而「整数」也。
「林底_同步」者会「柄」而会「标志」而
「林果码」于(若「等」于「标志」于「一」则「林_同步数据」于「柄」否则「林_同步」于「柄」)
也。
「林底_设长度」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_设长度」者会「柄」而会「长低」而会「长高」而
「林果码」于(「林_截」于「柄」于「长低」)
也。
「:文言:非阻塞:F_GETFL 取标,加减 O_NONBLOCK 而 F_SETFL。汉语:设非阻塞:F_GETFL(3)取状态标志,按开关加上或去掉 O_NONBLOCK(0x800),再 F_SETFL(4)。:」
「林底_设非阻塞」乃化「整数」而化「整数」而「整数」也。
「林底_设非阻塞」者会「柄」而会「开」而
虑「旧」者「林_控」于「柄」于「三」于「零」而
若「小于」于「旧」于「零」则
「林误码」于(「减」于「零」于「旧」)
否则
虑「新」者
若「底柄_非零」于「开」则「位或」于「旧」于「二零四八」否则「位与」于「旧」
于(「位非」于「二零四八」)
而
「林果码」于(「林_控」于「柄」于「四」于「新」)
也。
「林底_建管道」乃化「整数」而化「整数」而「整数」也。
「林底_建管道」者会「读出」而会「写出」而
虑「对」者「林底_杂」于「元」而
虑「果」者「林_管道」于「对」于「五二四二八八」而
若「小于」于「果」于「零」则
「林误码」于(「减」于「零」于「果」)
否则
((「写四」于「读出」于(「读四」于「对」));
(「写四」于「写出」于(「读四」于(「加」于「对」于「四」)));
「底码_成功」)
也。
「:文言:初始授权唯三号之根目录,名为 /。汉语:初始句柄:只有 3 号根目录(类别 2,名字“/”)。:」
「林底_取初始句柄」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_取初始句柄」者会「序」而会「类出」而会「柄出」而会「名址」而会「名长」而会「长出」而
若「不等于」于「序」于「零」则
「底码_不存在」
否则
虑「无」者「写四」于「长出」于「一」而
若「小于」于「名长」于「一」则
「底码_溢出」
否则
((「写四」于「类出」于「二」);
(「写四」于「柄出」于「三」);
(「写一」于「名址」于「四七」);
「底码_成功」)
也。
「林底_取句柄类别」乃化「整数」而化「整数」而「整数」也。
「林底_取句柄类别」者会「柄」而会「出」而
若「林是进程柄」于「柄」则
((「写四」于「出」于「七」);
「底码_成功」)
否则
虑「果」者
「林_状态」于「柄」于(「静态串」于『』)于「四零九六」于「二零四七」
于(「林底_状缓」于「元」)
而
若「小于」于「果」于「零」则
「林误码」于(「减」于「零」于「果」)
否则
虑「模」者
「读二」于(「加」于(「林底_状缓」于「元」)于「二八」)
而
虑「类」者「林底_模式类型」于「模」
而
虑「接口类」者
(
鉴「类」而
有「三」则「二」
或有「四」则「一」
或有「二」则
(若「等零」于(「林_控设备」于「柄」于「二一五零五」于(「林底_杂」于「元」))则「三」否则「四」)
或有「六」则「六」
或有「其他」则(若「等」于(「位与」于「模」于「六一四四零」)于「四零九六」则「五」否则「零」)
)
而
((「写四」于「出」于「接口类」);
「底码_成功」)
也。
「:文言:文件:打开、状态、目录、建删改名、读链接。汉语:文件包:打开、取状态、取路径状态、读目录、建目录、删文件、删目录、改名、读链接。:」
「:文言:打开之标志化为 Linux 之 O_ 位。兼容六十四以第十七位为 NOFOLLOW,臂六十四以第十五位为之;兼取二位,彼位各为 LARGEFILE。汉语:把打开标志换成 Linux 的 O_ 位。x86-64 的 O_NOFOLLOW 是位 17,ARM64 是位 15;同时设置两位,在另一架构上多出的位只是 O_LARGEFILE。:」
「林底_开标志」乃化「整数」而「整数」也。
「林底_开标志」者会「标」而
虑「读」者「底柄_非零」于(「位与」于「标」于「一」)而
虑「写」者「底柄_非零」于(「位与」于「标」于「二」)而
虑「方式」者(若「写」则(
若「读」则「二」否则「一」)
否则
「零」)
而
「位或」
于「方式」
于(「位或」
于(「选择」于(「底柄_非零」于(「位与」于「标」于「四」))于「一零二四」于「零」)
于(「位或」
于(「选择」于(「底柄_非零」于(「位与」于「标」于「八」))于「六四」于「零」)
于(「位或」
于(「选择」于(「底柄_非零」于(「位与」于「标」于「一六」))于「一二八」于「零」)
于(「位或」
于(「选择」于(「底柄_非零」于(「位与」于「标」于「三二」))于「五一二」于「零」)
于(「位或」
于「五二四二八八」
于(「选择」于(「底柄_非零」于(「位与」于「标」于「一二八」))于「一六三八四零」于「零」))))))
也。
「:文言:寻一段之末,遇斜线或零乃止。汉语:找到路径段末尾的斜线或零字节。:」
「林底_段末」乃化「整数」而化「整数」而「整数」也。
「林底_段末」者会「文」而会「位」而
虑「字」者「读一」于(「加」于「文」于「位」)而
若「或者」于(「等零」于「字」)于(「等」于「字」于「四七」)则
「位」
否则
「林底_段末」于「文」于(「加」于「位」于「一」)
也。
「:文言:链接之暂存与途之柄,皆在底层暂存之空区。汉语:链接目标使用暂存区 8704 起的缓冲;逐段打开的目录句柄随进展立即关闭。:」
「林底_链接缓」乃化「有」而「整数」也。
「林底_链接缓」者会「无」而
「加」于(「林底_暂存」于「元」)于「八七零四」
也。
「林底_关途」乃化「整数」而化「整数」而「有」也。
「林底_关途」者会「根」而会「现」而
若「等」于「根」于「现」则
「元」
否则
虑「无」者「林_关」于「现」而
「元」
也。
「:文言:旧核无 openat2,则各段以 O_PATH、O_NOFOLLOW 开之;遇链接取其目标而复自根寻。上行之段逐步退一层,免先规整而略过链接。汉语:openat2 不可用时逐段用 O_PATH|O_NOFOLLOW 打开;遇符号链接从授权根重新解析目标。逐段处理 `..`,避免提前规格化时跳过符号链接。:」
「林底_安全走」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_安全走」者会「根」而会「文」而会「备用」而会「标」而会「权限」而会「链接数」而会「现」而会「位」而会「深」而
虑「首」者「读一」于(「加」于「文」于「位」)而
若「等零」于「首」则
虑「无」者「写一」于(「加」于「文」于「位」)于「四六」而
虑「无」者
「写一」于(「加」于「文」于(「加」于「位」于「一」))于「零」
而
「林底_安全走」于「根」于「文」于「备用」于「标」于「权限」于「链接数」于「现」于「位」于「深」
否则若「等」于「首」于「四七」则
「林底_安全走」于「根」于「文」于「备用」于「标」于「权限」于「链接数」于「现」
于(「加」于「位」于「一」)于「深」
否则
虑「末」者「林底_段末」于「文」于「位」而
虑「终」者「等零」于(「读一」于(「加」于「文」于「末」))而
虑「段长」者「减」于「末」于「位」而
虑「上」者
「且」
于(「等」于「段长」于「二」)
于(「且」
于(「等」于「首」于「四六」)
于(「等」于(「读一」于(「加」于「文」于(「加」于「位」于「一」)))于「四六」))
而
虑「点」者
「且」于(「等」于「段长」于「一」)于(「等」于「首」于「四六」)
而
虑「无」者「写一」于(「加」于「文」于「末」)于「零」而
虑「候」者
(
若「且」于「上」于(「等零」于「深」)则(「减」于「零」于「一八」)否则
「林_开」
于「现」
于(「加」于「文」于「位」)于「二七八五二八零」于「零」
)
而
若「小于」于「候」于「零」则
虑「果」者
(
若「且」于「终」于(「等」于「候」于(「减」于「零」于「二」))则
「林_开」
于「现」
于(「加」于「文」于「位」)
于(「位或」于「标」于「一六三八四零」)于「权限」
否则
「候」
)
而
虑「无」者「林底_关途」于「根」于「现」而
「果」
否则
虑「模」者「林底_柄模式」于「候」
而
若「等」于(「位与」于「模」于「六一四四零」)于「四零九六零」则
虑「目标」者
「林_读链接」
于「候」
于(「静态串」于『』)
于(「林底_链接缓」于「元」)于「四零九五」
而
虑「不随」者
「底柄_非零」于(「位与」于「标」于「一六三八四零」)
而
虑「路径式」者
「底柄_非零」于(「位与」于「标」于「二零九七一五二」)
而
虑「留柄」者「且」于「终」于(「且」于「不随」于「路径式」)
而
虑「无」者
(
若「留柄」则「元」否则
((「林_关」于「候」);
「元」)
)
而
虑「无」者
「写一」于(「加」于「文」于「末」)于(
若「终」则「零」否则「四七」)
而
若「底柄_非零」于(「位与」于「标」于「一六三八四零」)则(
若「留柄」则
((「林底_关途」于「根」于「现」);
「候」)
否则
((「林底_关途」于「根」于「现」);
(「减」于「零」于「四零」))
)
否则若「有符号大等」于「链接数」于「四零」则
((「林底_关途」于「根」于「现」);
(「减」于「零」于「四零」))
否则若「小于」于「目标」于「零」则
((「林底_关途」于「根」于「现」);
「目标」)
否则若「等」于(「读一」于(「林底_链接缓」于「元」))于「四七」则
((「林底_关途」于「根」于「现」);
(「减」于「零」于「一八」))
否则
虑「尾长」者
(若「终」则「零」否则「减」于(「林找零址」于(「加」于「文」于「末」))于(「加」于「文」于「末」))
而
虑「总长」者「加」于(「加」于「位」于「目标」)于「尾长」
而
若「有符号大等」于「总长」于「四零九五」则
((「林底_关途」于「根」于「现」);
(「减」于「零」于「三六」))
否则
虑「无」者「拷贝」于「备用」于「文」于「位」
而
虑「无」者
「拷贝」
于(「加」于「备用」于「位」)
于(「林底_链接缓」于「元」)于「目标」
而
虑「无」者
「拷贝」
于(「加」于「备用」于(「加」于「位」于「目标」))
于(「加」于「文」于「末」)于「尾长」
而
虑「无」者「写一」于(「加」于「备用」于「总长」)于「零」
而
虑「无」者「林底_关途」于「根」于「现」
而
「林底_安全走」
于「根」
于「备用」
于「文」
于「标」
于「权限」
于(「加」于「链接数」于「一」)于「根」于「零」于「零」
否则若「终」则
虑「无」者「林_关」于「候」
而
虑「果」者
「林_开」
于「现」
于(「加」于「文」于「位」)
于(「位或」于「标」于「一六三八四零」)于「权限」
而
虑「无」者「林底_关途」于「根」于「现」而
「果」
否则若「等」于(「林底_模式类型」于「模」)于「三」则
虑「无」者「林底_关途」于「根」于「现」
而
虑「无」者「写一」于(「加」于「文」于「末」)于「四七」而
「林底_安全走」
于「根」
于「文」
于「备用」
于「标」
于「权限」
于「链接数」
于「候」
于(「加」于「末」于「一」)
于(
若「上」则「减」于「深」于「一」
否则
若「点」则「深」否则「加」于「深」于「一」)
否则
((「林_关」于「候」);
(「林底_关途」于「根」于「现」);
(「减」于「零」于「二零」))
也。
「:文言:旧核或转译层无 openat2,乃以逐段验链接之途开文。汉语:openat2 返回 ENOSYS 时使用逐段校验的回退;绝对路径和越出授权目录的链接返回 -EXDEV。:」
「林底_安全回退」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_安全回退」者会「目录」而会「路径」而会「法」而
若「等」于(「读一」于「路径」)于「四七」则(「减」于「零」于「一八」)否则
「林底_安全走」
于「目录」
于「路径」
于(若「等」于「路径」于(「林底_路径甲」于「元」)则「林底_路径乙」于「元」否则「林底_路径甲」于「元」)
于(「读四」于「法」)
于(「读四」于(「加」于「法」于「八」))于「零」于「目录」于「零」于「零」
也。
「:文言:openat2 严验 O_PATH 之标,故双位不得兼置;先试兼容六十四之 NOFOLLOW,若 EINVAL 则试臂六十四之位。旧核之 openat 容兼置双位。汉语:openat2 对 O_PATH 标志严格校验,先用 x86-64 的 O_NOFOLLOW 位,遇 EINVAL 再试 ARM64 的位;ENOSYS 回退的 openat 可以同时设置两位。:」
「林底_开二或开」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_开二或开」者会「目录」而会「路径」而会「法」而
虑「原标」者「读四」于「法」而
虑「双」者
「等」于(「位与」于「原标」于「一六三八四零」)于「一六三八四零」而
虑「无」者
(若「双」则「写四」于「法」于(「减」于「原标」于「三二七六八」)否则「元」)
而
虑「柄」者「林_开二」于「目录」于「路径」于「法」于「二四」而
虑「果」者
(
若「且」于「双」于(「等」于「柄」于(「减」于「零」于「二二」))则
虑「无」者
「写四」于「法」于(「减」于「原标」于「一三一零七二」)
而
「林_开二」于「目录」于「路径」于「法」于「二四」
否则
「柄」
)
而
虑「无」者(若「双」则「写四」于「法」于「原标」否则「元」)而
若「等」于「果」于(「减」于「零」于「三八」)则
「林底_安全回退」于「目录」于「路径」于「法」
否则
「果」
也。
「林底_打开」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_打开」者会「目录」而会「址」而会「长」而会「标」而会「出」而
若「等零」于「长」则
「底码_不存在」
否则若「大于」于「标」于「二五五」则
「底码_参数无效」
否则
虑「路径」者
「林底_零终」于(「林底_路径甲」于「元」)于「址」于「长」
而
若「小于」于「路径」于「零」则
「底码_名太长」
否则
虑「须目录」者「底柄_非零」于(「位与」于「标」于「六四」)
而
虑「法」者「林底_开法」于「元」
而
虑「无」者
「林底_写宽」于「法」于(「林底_开标志」于「标」)于「零」
而
虑「无」者
「林底_写宽」
于(「加」于「法」于「八」)
于(「选择」于(「底柄_非零」于(「位与」于「标」于「八」))于「四二零」于「零」)
于「零」
而
虑「无」者
「林底_写宽」于(「加」于「法」于「一六」)于「八」于「零」
而
虑「柄」者「林底_开二或开」于「目录」于「路径」于「法」
而
若「小于」于「柄」于「零」则
(若「等」于「柄」于(「减」于「零」于「一八」)则「底码_无能力」否则「林误码」于(「减」于「零」于「柄」))
否则若「且」于「须目录」于(「不等于」于(「林底_模式类型」于(「林底_柄模式」于「柄」))于「三」)则
((「林_关」于「柄」);
「底码_非目录」)
否则
((「写四」于「出」于「柄」);
「底码_成功」)
也。
「林底_取状态」乃化「整数」而化「整数」而「整数」也。
「林底_取状态」者会「柄」而会「出」而
「林底_取状」于「柄」于(「静态串」于『』)于「四零九六」于「出」
也。
「林底_取路径状态」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_取路径状态」者会「目录」而会「址」而会「长」而会「标」而会「出」而
若「等零」于「长」则
「底码_不存在」
否则
虑「路径」者
「林底_零终」于(「林底_路径甲」于「元」)于「址」于「长」
而
若「小于」于「路径」于「零」则
「底码_名太长」
否则
虑「法」者「林底_开法」于「元」
而
虑「无」者
「林底_写宽」
于「法」
于(「位或」
于「二六二一四四零」
于(「选择」于(「底柄_非零」于(「位与」于「标」于「一」))于「零」于「一六三八四零」))
于「零」
而
虑「无」者
「林底_写宽」于(「加」于「法」于「八」)于「零」于「零」
而
虑「无」者
「林底_写宽」于(「加」于「法」于「一六」)于「八」于「零」
而
虑「柄」者「林底_开二或开」于「目录」于「路径」于「法」
而
若「小于」于「柄」于「零」则
(若「等」于「柄」于(「减」于「零」于「一八」)则「底码_无能力」否则「林误码」于(「减」于「零」于「柄」))
否则
虑「果」者
「林底_取状」于「柄」于(「静态串」于『』)于「四零九六」于「出」
而
虑「无」者「林_关」于「柄」而
「果」
也。
「:文言:寻末一斜线,返其位;无则负一。汉语:找到最后一个斜线的位置,没有则返回 -1。:」
「林底_末斜」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_末斜」者会「文」而会「位」而会「旧」而
虑「字」者「读一」于(「加」于「文」于「位」)而
若「等零」于「字」则
「旧」
否则
「林底_末斜」于「文」于(「加」于「位」于「一」)于(
若「等」于「字」于「四七」则「位」否则「旧」)
也。
「:文言:分径而开其父。末名另存,免逐段寻父时覆之;根柄不新开。汉语:拆出末段名称并安全打开父目录;把名称另存,避免解析父路径时覆盖它。无父路径时沿用根句柄。:」
「林底_父柄」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_父柄」者会「根」而会「路径」而会「名称」而
虑「长」者「减」于(「林找零址」于「路径」)于「路径」而
若「等零」于「长」则(「减」于「零」于「二」)否则
若「等」于(「读一」于「路径」)于「四七」则(「减」于「零」于「一八」)否则
虑「斜」者
「林底_末斜」于「路径」于「零」于(「减」于「零」于「一」)
而
若「等」于「斜」于(「减」于「长」于「一」)则(「减」于「零」于「二」)否则
虑「名始」者「加」于「路径」于(「加」于「斜」于「一」)
而
虑「名长」者「减」于「长」于(「加」于「斜」于「一」)
而
虑「无」者
「拷贝」于「名称」于「名始」于(「加」于「名长」于「一」)
而
若「且」
于(「等」于「名长」于「二」)
于(「且」
于(「等」于(「读一」于「名称」)于「四六」)
于(「等」于(「读一」于(「加」于「名称」于「一」))于「四六」))则
(「减」于「零」于「一八」)
否则若「小于」于「斜」于「零」则「根」否则
虑「无」者「写一」于(「加」于「路径」于「斜」)于「零」
而
虑「法」者「林底_开法」于「元」
而
虑「无」者「林底_写宽」于「法」于「二六二一四四零」于「零」
而
虑「无」者
「林底_写宽」于(「加」于「法」于「八」)于「零」于「零」
而
虑「无」者
「林底_写宽」于(「加」于「法」于「一六」)于「八」于「零」
而
虑「父」者「林底_开二或开」于「根」于「路径」于「法」
而
若「小于」于「父」于「零」则
「父」
否则
若「等」于(「林底_模式类型」于(「林底_柄模式」于「父」))于「三」则「父」否则
((「林_关」于「父」);
(「减」于「零」于「二零」))
也。
「林底_建目录」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_建目录」者会「目录」而会「址」而会「长」而
若「等零」于「长」则
「底码_不存在」
否则
虑「路径」者
「林底_零终」于(「林底_路径甲」于「元」)于「址」于「长」
而
若「小于」于「路径」于「零」则
「底码_名太长」
否则
虑「父」者
「林底_父柄」于「目录」于「路径」于(「林底_目录缓」于「元」)
而
若「小于」于「父」于「零」则
(若「等」于「父」于(「减」于「零」于「一八」)则「底码_无能力」否则「林误码」于(「减」于「零」于「父」))
否则
虑「果」者
「林果码」于(「林_建目录」于「父」于(「林底_目录缓」于「元」)于「四九三」)
而
虑「无」者「林底_关途」于「目录」于「父」而
「果」
也。
「林底_删文件」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_删文件」者会「目录」而会「址」而会「长」而
若「等零」于「长」则
「底码_不存在」
否则
虑「路径」者
「林底_零终」于(「林底_路径甲」于「元」)于「址」于「长」
而
若「小于」于「路径」于「零」则
「底码_名太长」
否则
虑「父」者
「林底_父柄」于「目录」于「路径」于(「林底_目录缓」于「元」)
而
若「小于」于「父」于「零」则
(若「等」于「父」于(「减」于「零」于「一八」)则「底码_无能力」否则「林误码」于(「减」于「零」于「父」))
否则
虑「果」者
「林果码」于(「林_删」于「父」于(「林底_目录缓」于「元」)于「零」)
而
虑「无」者「林底_关途」于「目录」于「父」而
「果」
也。
「林底_删目录」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_删目录」者会「目录」而会「址」而会「长」而
若「等零」于「长」则
「底码_不存在」
否则
虑「路径」者
「林底_零终」于(「林底_路径甲」于「元」)于「址」于「长」
而
若「小于」于「路径」于「零」则
「底码_名太长」
否则
虑「父」者
「林底_父柄」于「目录」于「路径」于(「林底_目录缓」于「元」)
而
若「小于」于「父」于「零」则
(若「等」于「父」于(「减」于「零」于「一八」)则「底码_无能力」否则「林误码」于(「减」于「零」于「父」))
否则
虑「果」者
「林果码」于(「林_删」于「父」于(「林底_目录缓」于「元」)于「五一二」)
而
虑「无」者「林底_关途」于「目录」于「父」而
「果」
也。
「林底_改名」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_改名」者会「旧目录」而会「旧址」而会「旧长」而会「新目录」而会「新址」而会「新长」而
若「或者」于(「等零」于「旧长」)于(「等零」于「新长」)则
「底码_不存在」
否则
虑「旧」者
「林底_零终」于(「林底_路径甲」于「元」)于「旧址」于「旧长」
而
虑「新」者
「林底_零终」于(「林底_路径乙」于「元」)于「新址」于「新长」
而
若「或者」于(「小于」于「旧」于「零」)于(「小于」于「新」于「零」)则
「底码_名太长」
否则
虑「无」者
「拷贝」于(「加」于(「林底_目录缓」于「元」)于「八一九二」)于「新」
于(「加」于「新长」于「一」)
而
虑「旧父」者
「林底_父柄」于「旧目录」于「旧」于(「林底_目录缓」于「元」)
而
若「小于」于「旧父」于「零」则(
若「等」于「旧父」于(「减」于「零」于「一八」)则「底码_无能力」否则「林误码」
于(「减」于「零」于「旧父」)
)
否则
虑「无」者
「拷贝」
于(「林底_路径乙」于「元」)
于(「加」于(「林底_目录缓」于「元」)于「八一九二」)
于(「加」于「新长」于「一」)
而
虑「新父」者
「林底_父柄」
于「新目录」
于(「林底_路径乙」于「元」)
于(「加」于(「林底_目录缓」于「元」)于「四零九六」)
而
若「小于」于「新父」于「零」则
虑「无」者「林底_关途」于「旧目录」于「旧父」而
(
若「等」于「新父」于(「减」于「零」于「一八」)则
「底码_无能力」
否则
「林误码」于(「减」于「零」于「新父」)
)
否则
虑「果」者
「林果码」于(「林_改名」
于「旧父」
于(「林底_目录缓」于「元」)
于「新父」
于(「加」于(「林底_目录缓」于「元」)于「四零九六」)于「零」)
而
虑「无」者「林底_关途」于「旧目录」于「旧父」
而
虑「无」者「林底_关途」于「新目录」于「新父」而
「果」
也。
「林底_读链接」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_读链接」者会「目录」而会「址」而会「长」而会「缓址」而会「缓长」而会「出」而
若「等零」于「长」则
「底码_不存在」
否则
虑「路径」者
「林底_零终」于(「林底_路径甲」于「元」)于「址」于「长」
而
若「小于」于「路径」于「零」则
「底码_名太长」
否则
虑「父」者
「林底_父柄」于「目录」于「路径」于(「林底_目录缓」于「元」)
而
若「小于」于「父」于「零」则
(若「等」于「父」于(「减」于「零」于「一八」)则「底码_无能力」否则「林误码」于(「减」于「零」于「父」))
否则
虑「果」者
「林_读链接」于「父」于(「林底_目录缓」于「元」)于「缓址」于「缓长」
而
虑「无」者「林底_关途」于「目录」于「父」
而
若「小于」于「果」于「零」则
「林误码」于(「减」于「零」于「果」)
否则若「有符号大等」于「果」于「缓长」则
((「写四」于「出」于「果」);
「底码_溢出」)
否则
((「写四」于「出」于「果」);
「底码_成功」)
也。
「:文言:Linux 之目录项(ino 八、off 八、reclen 二、type 一、名以零终)化为接口之项(next 八、ino 八、名长四、type 一、填三、名)。d_type:目录四、文件八、链接十、字符二、块六、套接字十二。汉语:把 getdents64 的记录(d_ino 8、d_off 8、d_reclen 2、d_type 1、名字以零结尾)换成接口目录项(下一游标 8、索引节点 8、名长 4、类型 1、填充 3、名字);d_type 换成状态块类型:DT_DIR 4→3、DT_REG 8→4、DT_LNK 10→7、DT_CHR 2→2、DT_BLK 6→1、DT_SOCK 12→6,其余 0。:」
「林底_目录项类型」乃化「整数」而「整数」也。
「林底_目录项类型」者会「型」而
鉴「型」而
有「四」则「三」
或有「八」则「四」
或有「一零」则「七」
或有「二」则「二」
或有「六」则「一」
或有「一二」则「六」
或有「其他」则「零」
也。
「:文言:转一批目录项,返写之总长;逾缓冲则截。汉语:把目录项缓冲 [位, 止) 里的记录逐条转写到输出缓冲(已写 已 字节),写不下就截断在缓冲末尾;返回已写字节数。:」
「林底_转目录项们」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_转目录项们」者会「源」而会「位」而会「止」而会「缓址」而会「已」而
若「有符号大等」于「位」于「止」则
「已」
否则
虑「项」者「加」于「源」于「位」而
虑「记长」者「读二」于(「加」于「项」于「一六」)而
虑「名址」者「加」于「项」于「一九」而
虑「名长」者「减」于(「林找零址」于「名址」)于「名址」而
虑「杂」者「林底_杂」于「元」而
虑「无」者
「林底_写宽」于「杂」于(「读四」于(「加」于「项」于「八」))
于(「读四」于(「加」于「项」于「一二」))
而
虑「无」者
「林底_写宽」于(「加」于「杂」于「八」)于(「读四」于「项」)
于(「读四」于(「加」于「项」于「四」))
而
虑「无」者「写四」于(「加」于「杂」于「一六」)于「名长」而
虑「无」者
「写四」于(「加」于「杂」于「二零」)于(「林底_目录项类型」于(「读一」于(「加」于「项」于「一八」)))
而
虑「全长」者「加」于「二四」于「名长」而
虑「容」者「减」于(「读四」于「状态_林目录容」)于「已」而
虑「头写」者
「选择」于(「大于」于「二四」于「容」)于「容」于「二四」
而
虑「无」者「拷贝」于(「加」于「缓址」于「已」)于「杂」于「头写」而
虑「名写」者
「选择」于(「大于」于「名长」于(「减」于「容」于「头写」))
于(「减」于「容」于「头写」)于「名长」
而
虑「无」者
「拷贝」于(「加」于(「加」于「缓址」于「已」)于「头写」)于「名址」于「名写」
而
虑「新已」者「加」于「已」于(「加」于「头写」于「名写」)而
若「小于」于「全长」于「容」则
「林底_转目录项们」于「源」于(「加」于「位」于「记长」)于「止」于「缓址」于「新已」
否则
「新已」
也。
「:文言:尽读目录:游标为零则回首,否则视为已尽。汉语:读目录:游标为 0 时回到目录开头,循环 getdents64 把全部记录转写进输出缓冲,写满即止;游标非 0 时视为已读完(返回 0 字节)。完成后游标写成 1。:」
「林底_读尽目录」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林底_读尽目录」者会「柄」而会「缓址」而会「已」而
若「有符号大等」于「已」于(「读四」于「状态_林目录容」)则
「已」
否则
虑「源」者「林底_目录缓」于「元」而
虑「数」者「林_读目录项」于「柄」于「源」于「林底_目录缓长」而
若「有符号小等」于「数」于「零」则
「已」
否则
「林底_读尽目录」于「柄」于「缓址」于(「林底_转目录项们」于「源」于「零」于「数」于「缓址」于「已」)
也。
「林底_读目录」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「林底_读目录」者会「柄」而会「缓址」而会「缓长」而会「游标址」而会「出」而
若「底柄_非零」于(「位或」于(「读四」于「游标址」)于(「读四」于(「加」于「游标址」于「四」)))则
((「写四」于「出」于「零」);
「底码_成功」)
否则
虑「寻」者「林_寻」于「柄」于「零」于「零」而
若「小于」于「寻」于「零」则
「林误码」于(「减」于「零」于「寻」)
否则
虑「无」者「写四」于「状态_林目录容」于「缓长」
而
虑「已」者「林底_读尽目录」于「柄」于「缓址」于「零」
而
虑「无」者「林底_写宽」于「游标址」于「一」于「零」而
((「写四」于「出」于「已」);
「底码_成功」)
也。
「:文言:杂项之区(二百五十六字节):进程、候、网络与终端所用;六版地址暂于九十六起。汉语:杂项区(暂存 68608 起,256 字节),供进程、等待、网络与终端模式使用:+0 当前纳秒、+8 起始纳秒、+16 wait4 状态、+20 管道两端、+32 timespec、+48 整数槽、+52 长度槽、+64 套接字地址、+96 解析后的 IPv4 或 IPv6 地址、+80 termios 工作区、+152 execve 误码槽、+160 保存的原始 termios、+232 已保存标志。网络与终端临时槽分时使用。:」
「林底_候杂」乃化「有」而「整数」也。
「林底_候杂」者会「无」而
「加」于(「林底_暂存」于「元」)于「六八六零八」
也。
「:文言:终端:尺寸以 TIOCGWINSZ 取之。终端之模:TCGETS 取之(首取时存其原态);原始之模去 BRKINT、ICRNL、INPCK、ISTRIP、IXON 与 ECHO、ICANON、IEXTEN、ISIG,置 CS8,VMIN 一 VTIME 零(同 libuv 之原始模);行模复其原态;TCSETS 置之。汉语:终端包:取终端尺寸用 ioctl TIOCGWINSZ(0x5413);设终端模式用 TCGETS(0x5401)取 36 字节的内核 termios(第一次取时保存原状态),原始模式去掉 BRKINT、ICRNL、INPCK、ISTRIP、IXON(输入)与 ECHO、ICANON、IEXTEN、ISIG(本地),置 CS8,VMIN=1、VTIME=0(与 libuv 的原始模式相同,输出处理不变);行模式恢复保存的原状态;再用 TCSETS(0x5402)写回。不是终端返回 59。:」
「林底_设终端模式」乃化「整数」而化「整数」而「整数」也。
「林底_设终端模式」者会「柄」而会「模」而
虑「端」者「加」于(「林底_候杂」于「元」)于「八零」而
虑「存」者「加」于(「林底_候杂」于「元」)于「一六零」而
虑「标」者「加」于(「林底_候杂」于「元」)于「二三二」而
若「小于」于(「林_控设备」于「柄」于「二一五零五」于「端」)于「零」则
「底码_非终端」
否则
虑「无」者
(
若「等零」于(「读四」于「标」)则
((「拷贝」于「存」于「端」于「三六」);
「写四」于「标」于「一」)
否则
「元」
)
而
虑「无」者
(
若「等」于「模」于「一」则
((「写四」于「端」于(「位与」于(「读四」于「端」)于(「位非」于「一三三零」)));
(「写四」于(「加」于「端」于「八」)于(「位或」于(「读四」于(「加」于「端」于「八」))于「四八」));
(「写四」
于(「加」于「端」于「一二」)
于(「位与」于(「读四」于(「加」于「端」于「一二」))于(「位非」于「三二七七九」)));
(「写一」于(「加」于「端」于「二三」)于「一」);
「写一」于(「加」于「端」于「二二」)于「零」)
否则
「拷贝」于「端」于「存」于「三六」
)
而
「林果码」于(「林_控设备」于「柄」于「二一五零六」于「端」)
也。
「林底_取终端尺寸」乃化「整数」而化「整数」而「整数」也。
「林底_取终端尺寸」者会「柄」而会「出」而
虑「窗」者「林底_杂」于「元」而
虑「果」者「林_控设备」于「柄」于「二一五二三」于「窗」而
若「小于」于「果」于「零」则
「底码_非终端」
否则
((「写四」于「出」于(「读二」于(「加」于「窗」于「二」)));
(「写四」于(「加」于「出」于「四」)于(「读二」于「窗」));
「底码_成功」)
也。
「:文言:Linux 之读行:自标准入逐字读至换行或文末,不回显(终端自回显之),去行末之回车;文末而无字则返负一。汉语:Linux 读行:从标准输入逐字节读到换行或文件尾,写进行缓冲;不回显(真终端由内核的行规程回显,管道本不该回显);去掉行尾的回车;文件尾且一个字节也没读到时返回 -1。:」
「林读行核」乃化「整数」而化「整数」而「整数」也。
「林读行核」者会「缓」而会「长」而
若「有符号大等」于「长」于(「减」于「行缓冲大小」于「一」)则
「长」
否则
虑「数」者「林_读」于「零」于(「加」于「缓」于「长」)于「一」而
若「有符号小等」于「数」于「零」则
(若「等零」于「长」则(「减」于「零」于「一」)否则「长」)
否则若「等」于(「读一」于(「加」于「缓」于「长」))于「一零」则
「长」
否则
「林读行核」于「缓」于(「加」于「长」于「一」)
也。
「林读行」乃化「有」而「整数」也。
「林读行」者会「无」而
虑「缓」者「读四」于「状态_行缓冲」而
虑「长」者「林读行核」于「缓」于「零」而
若「且」
于(「大于」于「长」于「零」)
于(「等」于(「读一」于(「加」于「缓」于(「减」于「长」于「一」)))于「一三」)则
「减」于「长」于「一」
否则
「长」
也。