From: vaniwaar AT ca DOT metsci DOT com (Ronald Van Iwaarden) Subject: sys V shm with _very_ limited functionality 19 Feb 1998 16:39:35 -0800 Message-ID: Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="1791478163-988259526-887902629=:13851" To: GNU-Win32 mailing list This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime AT docserver DOT cac DOT washington DOT edu for more info. --1791478163-988259526-887902629=:13851 Content-Type: TEXT/PLAIN; charset=US-ASCII Well, As promised, here are the files with _very_ limited functionality. This is my first trip into WIN32 programming (mostly unix and OS/2) so please forgive any poor WIN32 programming practices. --Ron o Work to live; \ vaniwaar AT ca DOT metsci DOT com /\ Live to bike; \ http://www-math.cudenver.edu/~rvan _`\ `_<=== Bike to work! \ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ __(_)/_(_)___.-._ \ Note the new addresses! --1791478163-988259526-887902629=:13851 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="SharedMemoryCalls.C" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: I2luY2x1ZGUgIlNoYXJlZE1lbW9yeUNhbGxzLkgiDQoNCg0KI2lmZGVmIF9f Q1lHV0lOMzJfXw0KDQpzdHJ1Y3QgX1NoYXJlZE1lbW9yeVBvaW50ZXJzew0K ICBIQU5ETEUgaDsNCiAgSEFORExFIFByb2Nlc3NIYW5kbGU7DQogIGNoYXIg KiBwdHI7DQogIHN0cnVjdCBzaG1pZF9kcyBTaG1pZF9EUzsNCn0gU2hhcmVk TWVtb3J5SGFuZGxlOw0KDQoNClNoYXJlZE1lbW9yeUhhbmRsZSAqIFNobWVt SGFuZGxlcyA9IE5VTEw7DQppbnQgdG90U2htZW1IYW5kbGVzID0gMDsNCmlu dCB0b3RBbGxvY2F0ZWRIYW5kbGVzID0gMDsNCg0KSEFORExFIFBhcmVudFBy b2Nlc3NIYW5kbGU7DQoNCiNlbmRpZg0KDQppbnQgU0hNR0VUKGludCBrZXks IGludCBzaXplLCBpbnQgc2htZmxnKQ0Kew0KDQojaWZkZWYgX19DWUdXSU4z Ml9fDQoNCiAgSEFORExFIHJldFZhbDsNCiAgSEFORExFIFByb2NIYW5kbGUg PSBHZXRDdXJyZW50UHJvY2VzcygpOw0KICBTRUNVUklUWV9BVFRSSUJVVEVT IFNlY0F0dDsNCiAgU2VjQXR0Lm5MZW5ndGggPXNpemVvZihTRUNVUklUWV9B VFRSSUJVVEVTKTsNCiAgU2VjQXR0LmxwU2VjdXJpdHlEZXNjcmlwdG9yID0g TlVMTDsNCiAgU2VjQXR0LmJJbmhlcml0SGFuZGxlID0gVFJVRTsNCiAgaW50 IGk7DQogIGludCBwb3MgPSB0b3RTaG1lbUhhbmRsZXM7DQogIGludCBmb3Vu ZCA9IDA7DQogIGludCBOZXdLZXkgPSAxOw0KDQogIGlmIChrZXkgPCB0b3RB bGxvY2F0ZWRIYW5kbGVzKXsNCiAgICBpZiAoU2htZW1IYW5kbGVzW2tleV0g IT0gLTEpew0KICAgICAgTmV3S2V5ID0gMTsNCiAgICB9DQogIH0NCiAgZWxz ZSB7DQogICAgTmV3S2V5ID0gMTsNCiAgfQ0KDQogIGlmICgoc2htZmxnICYg SVBDX1BSSVZBVEUpIHx8ICgoc2htZmxnICYgSVBDX0NSRUFUKSAmJg0KCQkJ CSBOZXdLZXkgJiYgIShzaG1mbGcgJiBJUENfUFJJVkFURSkpKXsNCiAgICBy ZXRWYWwgPSAgQ3JlYXRlRmlsZU1hcHBpbmcoIChIQU5ETEUpIDB4RkZGRkZG RkYsICZTZWNBdHQsIFBBR0VfUkVBRFdSSVRFLA0KCQkJCSAwLCBzaXplLCBO VUxMKTsNCiAgICANCiAgICBpZiAodG90QWxsb2NhdGVkSGFuZGxlcyA9PSB0 b3RTaG1lbUhhbmRsZXMpew0KICAgICAgU2htZW1IYW5kbGVzID0gcmVhbGxv YyhTaG1lbUhhbmRsZXMsDQoJCQkgICAgIHNpemVvZihTaGFyZWRNZW1vcnlI YW5kbGUpKg0KCQkJICAgICAodG90U2htZW1IYW5kbGVzKzEwKSk7DQogICAg ICB0b3RTaG1lbUhhbmRsZXM7DQogICAgICB0b3RGcmVlSGFuZGxlcyArPSAx MDsNCiAgICAgIGZvciAoaT0wOyBpIDwgMTA7ICsraSl7DQoJU2htZW1IYW5k bGVzW2krdG90U2htZW1IYW5kbGVzXS5oID0gLTE7DQogICAgICB9DQogICAg fQ0KICAgIGZvcihpPTA7IGkgPCB0b3RTaG1lbUhhbmRsZXM7ICsraSl7DQog ICAgICBpZiAoU2htZW1IYW5kbGVzW2ldLmggPT0gcmV0VmFsKXsNCglmb3Vu ZCA9IDE7DQoJcG9zID0gaTsNCiAgICAgIH0NCiAgICB9DQogICAgU2htZW1I YW5kbGVzW3Bvc10uaCA9IHJldHZhbDsNCiAgICBTaG1lbUhhbmRsZXNbcG9z XS5Qcm9jZXNzSGFuZGxlID0gUHJvY0hhbmRsZTsNCiAgICBTaG1lbUhhbmRs ZXNbcG9zXS5TaG1pZF9EUy5zaG1fc2Vnc3ogPSBzaXplOw0KICAgIFNobWVt SGFuZGxlc1twb3NdLlNobWlkX0RTLnNobV9jcGlkID0gZ2V0cGlkKCk7DQoN CiAgICArK3RvdFNobWVtSGFuZGxlczsNCiAgICANCiAgICByZXR1cm4gcG9z Ow0KICB9DQogIGVsc2V7DQogICAgcHJpbnRmKCJZb3UgY2Fubm90IHlldCBz cGVjaWZ5IHdoYXQga2V5IHlvdSB3YW50IGluIFdJTjMyIFxuIik7DQogIH0N Cg0KI2Vsc2UNCiAgcmV0dXJuIHNobWdldChrZXksIHNpemUsIHNobWZsZyk7 DQojZW5kaWYNCn0NCg0KDQpjaGFyICogU0hNQVQoaW50IGhhbmRsZSwgY2hh ciAqIHNobWFkZHIsIGludCBzaG1mbGcpDQp7DQojaWZkZWYgX19DWUdXSU4z Ml9fDQogIEhBTkRMRSBDaGlsZE1lbW9yeUhhbmRsZTsNCg0KICBpZiAoaGFu ZGxlID49IHRvdFNobWVtSGFuZGxlcyl7DQogICAgaWYgKFNobWVtSGFuZGxl c1toYW5kbGVdLmggIT0gLTEpew0KICAgICAgRHVwbGljYXRlSGFuZGxlKFNo bWVtSGFuZGxlc1toYW5kbGVdLlByb2Nlc3NIYW5kbGUsDQoJCSAgICAgIFNo bWVtSGFuZGxlc1toYW5kbGVdLmgsDQoJCSAgICAgIEdldEN1cnJlbnRQcm9j ZXNzKCksDQoJCSAgICAgICZDaGlsZE1lbW9yeUhhbmRsZSwNCgkJICAgICAg MCwNCgkJICAgICAgVFJVRSwNCgkJICAgICAgRFVQTElDQVRFX1NBTUVfQUND RVNTKTsNCiAgICAgIFNobWVtSGFuZGxlc1toYW5kbGVdLnB0ciA9IA0KCShj aGFyICopTWFwVmlld09mRmlsZUV4KENoaWxkTWFwcGluZywNCgkJCQlGSUxF X01BUF9BTExfQUNDRVNTLA0KCQkJCTAsDQoJCQkJMCwNCgkJCQlzaG1hZGRy KTsNCiAgICAgICsrU2htZW1IYW5kbGVzW3Bvc10uU2htaWRfRFMuc2htX25h dHRjaDsNCiAgICAgIHJldHVybiBTaG1lbUhhbmRsZXNbaGFuZGxlXS5wdHI7 DQogICAgfQ0KICB9DQojZWxzZQ0KICByZXR1cm4gKGNoYXIgKilzaG1hdCho YW5kbGUsIHNobWFkZHIsIHNobWZsZyk7DQojZW5kaWYNCg0KfQ0KDQoNCmlu dCBTSE1EVChjaGFyICogU2htUHRyKQ0Kew0KI2lmZGVmIF9fQ1lHV0lOMzJf Xw0KICBpbnQgZm91bmQgPSAwOw0KICBpbnQgaTsNCiAgaW50IHBvczsNCg0K ICBpZiAoaGFuZGxlID49IHRvdFNobWVtSGFuZGxlcyl7DQogICAgaWYgKFNo bWVtSGFuZGxlc1toYW5kbGVdLmggIT0gLTEpew0KICAgICAgZm9yKGk9MDsg aSA8IHRvdFNobWVtSGFuZGxlczsgKytpKXsNCglpZiAoU2htZW1IYW5kbGVz W2ldLnB0ciA9PSBTaG1QdHIpew0KCSAgZm91bmQgPSAxOw0KCSAgcG9zID0g aTsNCgl9DQogICAgICB9DQogICAgICBpZiAoZm91bmQpew0KCUNsb3NlSGFu ZGxlKFNobWVtSGFuZGxlc1twb3NdLmgpOw0KICAgICAgfQ0KICAgICAgZWxz ZXsNCglyZXR1cm4gLTE7DQogICAgICB9DQogICAgfQ0KICB9DQogIHJldHVy biAwOw0KDQojZWxzZQ0KICBzaG1kdChTaG1QdHIpOw0KI2VuZGlmDQp9DQoN Cg0KaW50IFNITUNUTChpbnQgaGFuZGxlLCBpbnQgYWN0aW9uLCBzdHJ1Y3Qg c2htaWRfZHMgKiBidWYpDQp7DQojaWZkZWYgX19DWUdXSU4zMl9fDQogIGlu dCBmb3VuZCA9IDA7DQogIGludCBpOw0KICBpbnQgcG9zOw0KDQogIGlmICho YW5kbGUgPj0gdG90U2htZW1IYW5kbGVzKXsNCiAgICBpZiAoU2htZW1IYW5k bGVzW2hhbmRsZV0uaCAhPSAtMSl7DQogICAgICBmb3IoaT0wOyBpIDwgdG90 U2htZW1IYW5kbGVzOyArK2kpew0KCWlmIChTaG1lbUhhbmRsZXNbaV0uaCA9 PSBoYW5kbGUpew0KCSAgZm91bmQgPSAxOw0KCSAgcG9zID0gaTsNCgl9DQog ICAgICB9DQogICAgICBpZiAoZm91bmQpew0KCXN3aXRjaChhY3Rpb24pew0K CWNhc2UgSVBDX1NUQVQ6DQoJICBlcnJubyA9IEVJTlZBTDsNCgkgIHByaW50 ZigiSVBDX1NUQVQgbm90IGltcGxlbWVudGVkIHlldFxuIik7DQoJICBicmVh azsNCgljYXNlIElQQ19TRVQ6DQoJICBlcnJubyA9IEVJTlZBTDsNCgkgIHBy aW50ZigiSVBDX1NFVCBub3QgaW1wbGVtZW50ZWQgeWV0XG4iKTsNCgkgIGJy ZWFrOw0KCWNhc2UgSVBDX1JNSUQ6DQoJICBDbG9zZUhhbmRsZShTaG1lbUhh bmRsZXNbcG9zXS5oKTsNCgkgIFVubWFwVmlld09mRmlsZShTaG1lbUhhbmRs ZXNbcG9zXS5oKTsNCgkgIFNobWVtSGFuZGxlc1twb3NdLmggPSAtMTsNCgkg IGJyZWFrOw0KCX0NCiAgICAgIH0NCiAgICAgIGVsc2V7DQoJZXJybm8gPSBF SU5WQUw7DQogICAgICB9DQogICAgfQ0KICB9DQoNCiNlbHNlDQogIHNobWN0 bChoYW5kbGUsIGFjdGlvbiwgYnVmKTsNCiNlbmRpZg0KfQ0KDQoNCg0KDQo= --1791478163-988259526-887902629=:13851 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="SharedMemoryCalls.H" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: I2lmbmRlZiBTSEFSRURfTUVNT1JZX0NBTExTX0gNCiNkZWZpbmUgU0hBUkVE X01FTU9SWV9DQUxMU19IDQoNCiNpZmRlZiBfX0NZR1dJTjMyX18NCiNpbmNs dWRlIDx3aW5kb3dzLmg+DQoNCnN0cnVjdCBzaG1pZF9kcyB7DQogIHN0cnVj dCAgICBpcGNfcGVybSBzaG1fcGVybTsgIC8qIG9wZXJhdGlvbiBwZXJtcyAq Lw0KICBpbnQgIHNobV9zZWdzejsgICAgICAgICAgICAgICAvKiBzaXplIG9m IHNlZ21lbnQgKGJ5dGVzKSAqLw0KICB0aW1lX3QgICAgc2htX2F0aW1lOyAg ICAgICAgICAvKiBsYXN0IGF0dGFjaCB0aW1lICovDQogIHRpbWVfdCAgICBz aG1fZHRpbWU7ICAgICAgICAgIC8qIGxhc3QgZGV0YWNoIHRpbWUgKi8NCiAg dGltZV90ICAgIHNobV9jdGltZTsgICAgICAgICAgLyogbGFzdCBjaGFuZ2Ug dGltZSAqLw0KICB1bnNpZ25lZCBzaG9ydCBzaG1fY3BpZDsgICAgICAvKiBw aWQgb2YgY3JlYXRvciAqLw0KICB1bnNpZ25lZCBzaG9ydCBzaG1fbHBpZDsg ICAgICAvKiBwaWQgb2YgbGFzdCBvcGVyYXRvciAqLw0KICBzaG9ydCAgICAg c2htX25hdHRjaDsgICAgICAgICAvKiBuby4gb2YgY3VycmVudCBhdHRhY2hl cyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0aGUg Zm9sbG93aW5nIGFyZSBwcml2YXRlICovDQogIHVuc2lnbmVkIHNob3J0ICAg c2htX25wYWdlczsgIC8qIHNpemUgb2Ygc2VnbWVudCAocGFnZXMpICovDQog IHVuc2lnbmVkIGxvbmcgICAqc2htX3BhZ2VzOw0KICBzdHJ1Y3Qgc2htX2Rl c2MgKmF0dGFjaGVzOyAgICAvKiBkZXNjcmlwdG9ycyBmb3IgYXR0YWNoZXMg Ki8NCn07DQoNCi8qIHBlcm1pc3Npb24gZmxhZyBmb3Igc2htZ2V0ICovDQoj ZGVmaW5lIFNITV9SCQkwNDAwCS8qIG9yIFNfSVJVR08gZnJvbSA8bGludXgv c3RhdC5oPiAqLw0KI2RlZmluZSBTSE1fVwkJMDIwMAkvKiBvciBTX0lXVUdP IGZyb20gPGxpbnV4L3N0YXQuaD4gKi8NCg0KLyogbW9kZSBmb3IgYXR0YWNo ICovDQojZGVmaW5lCVNITV9SRE9OTFkJMDEwMDAwCS8qIHJlYWQtb25seSBh Y2Nlc3MgKi8NCiNkZWZpbmUJU0hNX1JORAkJMDIwMDAwCS8qIHJvdW5kIGF0 dGFjaCBhZGRyZXNzIHRvIFNITUxCQSBib3VuZGFyeSAqLw0KI2RlZmluZQlT SE1fUkVNQVAJMDQwMDAwCS8qIHRha2Utb3ZlciByZWdpb24gb24gYXR0YWNo ICovDQoNCi8qIHN1cGVyIHVzZXIgc2htY3RsIGNvbW1hbmRzICovDQojZGVm aW5lIFNITV9MT0NLIAkxMQ0KI2RlZmluZSBTSE1fVU5MT0NLIAkxMg0KDQpz dHJ1Y3QJc2htaW5mbyB7DQogICAgaW50IHNobW1heDsJDQogICAgaW50IHNo bW1pbjsJDQogICAgaW50IHNobW1uaTsJDQogICAgaW50IHNobXNlZzsJDQog ICAgaW50IHNobWFsbDsJDQp9Ow0KDQpzdHJ1Y3QgaXBjX3Blcm0NCnsNCiAg a2V5X3QgIGtleTsNCiAgdXNob3J0IHVpZDsgICAvKiBvd25lciBldWlkIGFu ZCBlZ2lkICovDQogIHVzaG9ydCBnaWQ7DQogIHVzaG9ydCBjdWlkOyAgLyog Y3JlYXRvciBldWlkIGFuZCBlZ2lkICovDQogIHVzaG9ydCBjZ2lkOw0KICB1 c2hvcnQgbW9kZTsgIC8qIGFjY2VzcyBtb2RlcyBzZWUgbW9kZSBmbGFncyBi ZWxvdyAqLw0KICB1c2hvcnQgc2VxOyAgIC8qIHNlcXVlbmNlIG51bWJlciAq Lw0KfTsNCg0KDQovKiByZXNvdXJjZSBnZXQgcmVxdWVzdCBmbGFncyAqLw0K I2RlZmluZSBJUENfQ1JFQVQgIDAwMDAxMDAwICAgLyogY3JlYXRlIGlmIGtl eSBpcyBub25leGlzdGVudCAqLw0KI2RlZmluZSBJUENfRVhDTCAgIDAwMDAy MDAwICAgLyogZmFpbCBpZiBrZXkgZXhpc3RzICovDQojZGVmaW5lIElQQ19O T1dBSVQgMDAwMDQwMDAgICAvKiByZXR1cm4gZXJyb3Igb24gd2FpdCAqLw0K DQoNCi8qIA0KICogQ29udHJvbCBjb21tYW5kcyB1c2VkIHdpdGggc2VtY3Rs LCBtc2djdGwgYW5kIHNobWN0bCANCiAqIHNlZSBhbHNvIHNwZWNpZmljIGNv bW1hbmRzIGluIHNlbS5oLCBtc2cuaCBhbmQgc2htLmgNCiAqLw0KI2RlZmlu ZSBJUENfUk1JRCAwICAgICAvKiByZW1vdmUgcmVzb3VyY2UgKi8NCiNkZWZp bmUgSVBDX1NFVCAgMSAgICAgLyogc2V0IGlwY19wZXJtIG9wdGlvbnMgKi8N CiNkZWZpbmUgSVBDX1NUQVQgMiAgICAgLyogZ2V0IGlwY19wZXJtIG9wdGlv bnMgKi8NCiNkZWZpbmUgSVBDX0lORk8gMyAgICAgLyogc2VlIGlwY3MgKi8N Cg0KDQojZWxzZQ0KI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUg PHN5cy9pcGMuaD4NCiNpbmNsdWRlIDxzeXMvc2htLmg+DQojZW5kaWYNCg0K DQoNCmludCBTSE1HRVQoaW50IGtleSwgaW50IHNpemUsIGludCBzaG1mbGcp Ow0KY2hhciAqIFNITUFUKGludCBoYW5kbGUsIGNoYXIgKiBzaG1hZGRyLCBp bnQgc2htZmxnKTsNCmludCBTSE1DVEwoaW50IGhhbmRsZSwgaW50IGFjdGlv biwgc3RydWN0IHNobWlkX2RzICogYnVmKTsNCmludCBzaG1kdChjaGFyICog c2htYWRkcik7DQoNCg0KDQojZW5kaWYNCg== --1791478163-988259526-887902629=:13851-- - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".