X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f X-Recipient: djgpp-workers AT delorie DOT com X-Yandex-Fwd: 1 X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1674998136; bh=9bpHC41psCvablcmbOu1ipvtsuFS3EQlplzhCneMtyU=; h=Subject:To:Message-ID:Date:From; b=Ygc8tmgBfmD92xsVEz0MXHPZPBkMtCUfCmZU9b0Sc8/AFGn1VQKNdxy8Z+4PPwC5v Qbm8w+Ok6l3lI4X0c1d6WIFbzSbmooHOUApKLTw7n1wuDOGeShRRmGS0Jw8XbJGhGf 4ikQkhD83cYTG7YdMX6+bXco0w9IqZUbEROOwcKk= Authentication-Results: iva4-a626432a24f0.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru Content-Type: multipart/mixed; boundary="------------T0j1IvHBFF3e8YOJRHiCUZnw" Message-ID: Date: Sun, 29 Jan 2023 18:15:35 +0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: en-US To: djgpp-workers AT delorie DOT com From: "stsp (stsp2 AT yandex DOT ru) [via djgpp-workers AT delorie DOT com]" Subject: [PATCH] process: add _dos_exec5() Reply-To: djgpp-workers AT delorie DOT com This is a multi-part message in MIME format. --------------T0j1IvHBFF3e8YOJRHiCUZnw Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Same as _dos_exec() but with "flags" as 5th arg. The flags are passed to AL when calling int21/4Bh. In addition to an execution mode in AL, freedos defines the loadhigh flag 0x80. --------------T0j1IvHBFF3e8YOJRHiCUZnw Content-Type: text/x-patch; charset=UTF-8; name="0001-process-add-_dos_exec5.patch" Content-Disposition: attachment; filename="0001-process-add-_dos_exec5.patch" Content-Transfer-Encoding: base64 RnJvbSA2Y2E5Yzk0ZGRmMzMxODhkOTNiMGRkZTM0ZDA3OThhMWY3MTBmZWI4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTdGFzIFNlcmdlZXYgPHN0c3BAdXNlcnMuc291cmNl Zm9yZ2UubmV0PgpEYXRlOiBNb24sIDIzIEphbiAyMDIzIDExOjAxOjI5ICswNTAwClN1Ympl Y3Q6IFtQQVRDSF0gcHJvY2VzczogYWRkIF9kb3NfZXhlYzUoKQoKU2FtZSBhcyBfZG9zX2V4 ZWMoKSBidXQgd2l0aCAiZmxhZ3MiIGFzIDV0aCBhcmcuClRoZSBmbGFncyBhcmUgcGFzc2Vk IHRvIEFMIHdoZW4gY2FsbGluZyBpbnQyMS80QmguCkluIGFkZGl0aW9uIHRvIGFuIGV4ZWN1 dGlvbiBtb2RlIGluIEFMLCBmcmVlZG9zIGRlZmluZXMgdGhlIGxvYWRoaWdoCmZsYWcgMHg4 MC4KLS0tCiBpbmNsdWRlL3Byb2Nlc3MuaCAgICAgICAgICAgICAgfCAgMyArKysKIHNyYy9s aWJjL2Rvcy9wcm9jZXNzL2Rvc2V4ZWMuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wcm9jZXNzLmggYi9pbmNsdWRlL3Byb2Nlc3Mu aAppbmRleCBlNTc0NjdkNC4uNmQ0NWQzYjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcHJvY2Vz cy5oCisrKyBiL2luY2x1ZGUvcHJvY2Vzcy5oCkBAIC0yMiw2ICsyMiw5IEBAIGV4dGVybiAi QyIgewogI2lmbmRlZiBfUE9TSVhfU09VUkNFCiAKIGludCBfZG9zX2V4ZWMoY29uc3QgY2hh ciAqcHJvZ3JhbSwgY29uc3QgY2hhciAqYXJncywgY2hhciAqY29uc3QgX2VudnBbXSwgY29u c3QgY2hhciAqX2xjbWQpOworaW50IF9kb3NfZXhlYzUoY29uc3QgY2hhciAqcHJvZ3JhbSwg Y29uc3QgY2hhciAqYXJncywgY2hhciAqY29uc3QgX2VudnBbXSwgY29uc3QgY2hhciAqX2xj bWQsCisgICAgdW5zaWduZWQgY2hhciBmbGFncyk7CisjZGVmaW5lIEhBVkVfRE9TX0VYRUM1 IDEKIAogaW50IGV4ZWNsKGNvbnN0IGNoYXIgKl9wYXRoLCBjb25zdCBjaGFyICpfYXJndjAs IC4uLik7CiBpbnQgZXhlY2xlKGNvbnN0IGNoYXIgKl9wYXRoLCBjb25zdCBjaGFyICpfYXJn djAsIC4uLiAvKiwgY2hhciAqY29uc3QgX2VudnBbXSAqLyk7CmRpZmYgLS1naXQgYS9zcmMv bGliYy9kb3MvcHJvY2Vzcy9kb3NleGVjLmMgYi9zcmMvbGliYy9kb3MvcHJvY2Vzcy9kb3Nl eGVjLmMKaW5kZXggZDU0N2EzMWYuLmRiNDUyNzc4IDEwMDY0NAotLS0gYS9zcmMvbGliYy9k b3MvcHJvY2Vzcy9kb3NleGVjLmMKKysrIGIvc3JjL2xpYmMvZG9zL3Byb2Nlc3MvZG9zZXhl Yy5jCkBAIC0xNzMsNyArMTczLDcgQEAgc2l6ZV90IF9fY21kbGluZV9zdHJfbGVuID0gc2l6 ZW9mKF9fY21kbGluZV9zdHIpIC0gMTsKIHN0YXRpYyBpbnQKIGRpcmVjdF9leGVjX3RhaWxf MShjb25zdCBjaGFyICpwcm9ncmFtLCBjb25zdCBjaGFyICphcmdzLAogICAgICAgICAgICAg ICAgICAgIGNoYXIgKiBjb25zdCBlbnZwW10sIGNvbnN0IGNoYXIgKnByb3h5LCBpbnQgbGZu LAotICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNtZGxpbmVfdmFyKQorICAgICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNtZGxpbmVfdmFyLCB1bnNpZ25lZCBjaGFyIGZs YWdzKQogewogICBfX2RwbWlfcmVncyByOwogICB1bnNpZ25lZCBsb25nIHByb2dyYW1fbGE7 CkBAIC00MjgsNyArNDI4LDcgQEAgZGlyZWN0X2V4ZWNfdGFpbF8xKGNvbnN0IGNoYXIgKnBy b2dyYW0sIGNvbnN0IGNoYXIgKmFyZ3MsCiAgIHBhcm0uZmNiMl9vZmYgPSBmY2IyX2xhICYg MTU7CiAgIGRvc21lbXB1dCgmcGFybSwgc2l6ZW9mKHBhcm0pLCBwYXJtX2xhKTsKIAotICBy LnguYXggPSAweDRCMDA7CisgIHIueC5heCA9IDB4NEIwMCB8IGZsYWdzOwogICByLnguZHMg PSBwcm9ncmFtX2xhIC8gMTY7CiAgIHIueC5keCA9IHByb2dyYW1fbGEgJiAxNTsKICAgci54 LmVzID0gcGFybV9sYSAvIDE2OwpAQCAtNDcwLDcgKzQ3MCw3IEBAIGRpcmVjdF9leGVjX3Rh aWxfMShjb25zdCBjaGFyICpwcm9ncmFtLCBjb25zdCBjaGFyICphcmdzLAogCiBzdGF0aWMg aW50IGRpcmVjdF9leGVjX3RhaWwgKGNvbnN0IGNoYXIgKnByb2dyYW0sIGNvbnN0IGNoYXIg KmFyZ3MsCiAJCSBjaGFyICogY29uc3QgZW52cFtdLCBjb25zdCBjaGFyICpwcm94eSwgaW50 IGxmbiwKLQkJIGNvbnN0IGNoYXIgKmNtZGxpbmVfdmFyKQorCQkgY29uc3QgY2hhciAqY21k bGluZV92YXIsIHVuc2lnbmVkIGNoYXIgZmxhZ3MpCiB7CiAgIGludCBpLCByZXQ7CiAgIGlu dCBzZWwxLCBzZWwyOwpAQCAtNTcxLDcgKzU3MSw4IEBAIHN0YXRpYyBpbnQgZGlyZWN0X2V4 ZWNfdGFpbCAoY29uc3QgY2hhciAqcHJvZ3JhbSwgY29uc3QgY2hhciAqYXJncywKICAgICB9 CiAgIH0KIAotICByZXQgPSBkaXJlY3RfZXhlY190YWlsXzEocHJvZ3JhbSwgYXJncywgZW52 cCwgcHJveHksIGxmbiwgY21kbGluZV92YXIpOworICByZXQgPSBkaXJlY3RfZXhlY190YWls XzEocHJvZ3JhbSwgYXJncywgZW52cCwgcHJveHksIGxmbiwgY21kbGluZV92YXIsCisgICAg ICBmbGFncyk7CiAKICAgaWYgKHdvcmthcm91bmRfZGVzY3JpcHRvcl9sZWFrcykgICAvKiBG cmVlIHRoZSB1bnVzZWQgbWFwICovCiAgIHsKQEAgLTYyMiw3ICs2MjMsMTcgQEAgX2Rvc19l eGVjKGNvbnN0IGNoYXIgKnByb2dyYW0sIGNvbnN0IGNoYXIgKmFyZ3MsIGNoYXIgKiBjb25z dCBlbnZwW10sCiAgIHRidWZfYmVnID0gdGJ1Zl9wdHIgPSBfX3RiOwogICB0YnVmX2xlbiA9 IF9fdGJfc2l6ZTsKICAgdGJ1Zl9lbmQgPSB0YnVmX2JlZyArIHRidWZfbGVuIC0gMTsKLSAg cmV0dXJuIGRpcmVjdF9leGVjX3RhaWwocHJvZ3JhbSwgYXJncywgZW52cCwgMCwgMiwgY21k bGluZV92YXIpOworICByZXR1cm4gZGlyZWN0X2V4ZWNfdGFpbChwcm9ncmFtLCBhcmdzLCBl bnZwLCAwLCAyLCBjbWRsaW5lX3ZhciwgMCk7Cit9CisKK2ludAorX2Rvc19leGVjNShjb25z dCBjaGFyICpwcm9ncmFtLCBjb25zdCBjaGFyICphcmdzLCBjaGFyICogY29uc3QgZW52cFtd LAorCSAgY29uc3QgY2hhciAqY21kbGluZV92YXIsIHVuc2lnbmVkIGNoYXIgZmxhZ3MpCit7 CisgIHRidWZfYmVnID0gdGJ1Zl9wdHIgPSBfX3RiOworICB0YnVmX2xlbiA9IF9fdGJfc2l6 ZTsKKyAgdGJ1Zl9lbmQgPSB0YnVmX2JlZyArIHRidWZfbGVuIC0gMTsKKyAgcmV0dXJuIGRp cmVjdF9leGVjX3RhaWwocHJvZ3JhbSwgYXJncywgZW52cCwgMCwgMiwgY21kbGluZV92YXIs IGZsYWdzKTsKIH0KIAogc3RhdGljIGNoYXIgR08zMl9WMl9TVFJJTkdbXSA9ICJnbzMyLXYy LmV4ZSI7CkBAIC04MjMsNyArODM0LDcgQEAgc3RhdGljIGludCBkaXJlY3RfZXhlYyhjb25z dCBjaGFyICpwcm9ncmFtLCBjaGFyICoqYXJndiwgY2hhciAqKmVudnApCiAgIHRidWZfYmVn ID0gdGJ1Zl9wdHIgPSBfX3RiOwogICB0YnVmX2xlbiA9IF9fdGJfc2l6ZTsKICAgdGJ1Zl9l bmQgPSB0YnVmX2JlZyArIHRidWZfbGVuIC0gMTsKLSAgcmV0dXJuIGRpcmVjdF9leGVjX3Rh aWwocHJvZ3JhbSwgYXJncywgZW52cCwgMCwgMiwgMCk7CisgIHJldHVybiBkaXJlY3RfZXhl Y190YWlsKHByb2dyYW0sIGFyZ3MsIGVudnAsIDAsIDIsIDAsIDApOwogfQogCiBzdGF0aWMg aW50IGRpcmVjdF9wZV9leGVjKGNvbnN0IGNoYXIgKnByb2dyYW0sIGNoYXIgKiphcmd2LCBj aGFyICoqZW52cCkKQEAgLTk0NCw3ICs5NTUsNyBAQCBzdGF0aWMgaW50IGRpcmVjdF9wZV9l eGVjKGNvbnN0IGNoYXIgKnByb2dyYW0sIGNoYXIgKiphcmd2LCBjaGFyICoqZW52cCkKICAg ICAgY29udGVudHMgb2YgdGhlIGNvbW1hbmQgbGluZSBpbnRvIHRoZSBDTURMSU5FIHZhcmlh YmxlLgogICAgICBkaXJlY3RfZXhlY190YWlsIHdpbGwgdGFrZSBjYXJlIG9mIHRoZSBmaW5h bCBkZXRhaWxzLiAqLwogICByZXR1cm4gZGlyZWN0X2V4ZWNfdGFpbChwcm9ncmFtLCBhcmdz LCBlbnZwLCAwLCAyLAotCQkJICBhcmdwIC0gYXJncyA+IENNRExFTl9MSU1JVCA/IHZhcnAg OiAwKTsKKwkJCSAgYXJncCAtIGFyZ3MgPiBDTURMRU5fTElNSVQgPyB2YXJwIDogMCwgMCk7 CiB9CiAKIHN0YXRpYyBpbnQgZ28zMl9leGVjKGNvbnN0IGNoYXIgKnByb2dyYW0sIGNoYXIg Kiphcmd2LCBjaGFyICoqZW52cCkKQEAgLTExMzQsNyArMTE0NSw3IEBAIHN0YXRpYyBpbnQg Z28zMl9leGVjKGNvbnN0IGNoYXIgKnByb2dyYW0sIGNoYXIgKiphcmd2LCBjaGFyICoqZW52 cCkKICAgICBwY21kID0gcHJveHlfY21kbGluZTsKICAgfQogCi0gIHJldHVybiBkaXJlY3Rf ZXhlY190YWlsKHJwYXRoLCBwY21kLCBlbnZwLCBwcHJveHksIGxmbiwgMCk7CisgIHJldHVy biBkaXJlY3RfZXhlY190YWlsKHJwYXRoLCBwY21kLCBlbnZwLCBwcHJveHksIGxmbiwgMCwg MCk7CiB9CiAKIGludApAQCAtMTI4Miw3ICsxMjkzLDcgQEAgX19kb3NleGVjX2NvbW1hbmRf ZXhlYyhjb25zdCBjaGFyICpwcm9ncmFtLCBjaGFyICoqYXJndiwgY2hhciAqKmVudnApCiAg IHRidWZfYmVnID0gdGJ1Zl9wdHIgPSBfX3RiOwogICB0YnVmX2xlbiA9IF9fdGJfc2l6ZTsK ICAgdGJ1Zl9lbmQgPSB0YnVmX3B0ciArIHRidWZfbGVuIC0gMTsKLSAgcmV0dXJuIGRpcmVj dF9leGVjX3RhaWwoY29tc3BlYywgY21kbGluZSwgZW52cCwgMCwgMiwgY21kbGluZV92YXIp OworICByZXR1cm4gZGlyZWN0X2V4ZWNfdGFpbChjb21zcGVjLCBjbWRsaW5lLCBlbnZwLCAw LCAyLCBjbWRsaW5lX3ZhciwgMCk7CiB9CiAKIHN0YXRpYyBpbnQgc2NyaXB0X2V4ZWMoY29u c3QgY2hhciAqcHJvZ3JhbSwgY2hhciAqKmFyZ3YsIGNoYXIgKiplbnZwKQotLSAKMi4zNy4y Cgo= --------------T0j1IvHBFF3e8YOJRHiCUZnw--