This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
=============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research address@hidden WWW: http://www.unidata.ucar.edu/ =============================================================================== ---------- Forwarded message ---------- Date: Tue, 31 Aug 1999 14:57:38 -0600 From: Unidata Support <address@hidden> To: address@hidden Subject: 19990831: NULLPROC >To: address@hidden >From: address@hidden >Subject: NULLPROC >Organization: . >Keywords: 199908312055.OAA21272 --MailNet.MIME.668f4ac TO: address@hidden Hello, I am trying to port make an NT service that will request data from an LDM (something like feedme) to after dispach the data I will be receiving on multiple output sockets for further processing. But before making it a service, I want to make it work as a simple application. For the moment, I am able to connect to an ldm as a client, sign on, issue a feedme request and reverse the connection (become a server), but all I am receiving are NULLPROCs. What am I doing wrong. I have included the main source if you want to have a look. I am using a library I have got from the Internet for RPC. --MailNet.MIME.668f4ac Content-type: application/octet-stream; name="do_ldm.c" Content-transfer-encoding: base64 I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8cnBjL3JwYy5oPg0KI2luY2x1ZGUgImxkbS5o Ig0KDQpzdHJ1Y3QgY3VfZGF0YSB7DQoJaW50CQkgICBjdV9zb2NrOw0KCWJvb2xfdAkJICAgY3Vf Y2xvc2VpdDsNCglzdHJ1Y3Qgc29ja2FkZHJfaW4gY3VfcmFkZHI7DQoJaW50CQkgICBjdV9ybGVu Ow0KCXN0cnVjdCB0aW1ldmFsCSAgIGN1X3dhaXQ7DQoJc3RydWN0IHRpbWV2YWwgICAgIGN1X3Rv dGFsOw0KCXN0cnVjdCBycGNfZXJyCSAgIGN1X2Vycm9yOw0KCVhEUgkJICAgY3Vfb3V0eGRyczsN Cgl1X2ludAkJICAgY3VfeGRycG9zOw0KCXVfaW50CQkgICBjdV9zZW5kc3o7DQoJY2hhcgkJICAg KmN1X291dGJ1ZjsNCgl1X2ludAkJICAgY3VfcmVjdnN6Ow0KCWNoYXIJCSAgIGN1X2luYnVmWzFd Ow0KfTsNCg0KcHJvZF9jbGFzcyBwYzsNCmNoYXIgKnJlbW90ZTsNCnN0YXRpYyBsZG1fcmVwbHl0 IHJlcGx5Ow0KDQpzdGF0aWMgc3RydWN0IHRpbWV2YWwgdGltZW8gPSB7MjUsIDB9OyAvKiB1c3Vh bCBSUEMgZGVmYXVsdCAqLw0Kc3RhdGljIENMSUVOVCAqIG15X2NsbnRfY3JlYXRlX3ZlcnMoIGNv bnN0IGNoYXIgKnJlbW90ZSwgdV9sb25nIHByb2dudW0sIHVfbG9uZyAqdmVyc19vdXQsDQogICAg ICAgICAgICAgICAgICAgICB1X2xvbmcgdmVyc19sb3csIHVfbG9uZyB2ZXJzX2hpZ2gsIGNvbnN0 IGNoYXIgKnByb3RvY29sKTsNCnN0YXRpYyBpbnQgc2lnbl9vbiggQ0xJRU5UICpjbG50LCBwcm9k X2NsYXNzICoqY2xzc3BwICk7DQplbnVtIGNsbnRfc3RhdCBoaXlhKENMSUVOVCAqY2xudCwgcHJv ZF9jbGFzcyAqY2xhc3NwLCBsZG1fcmVwbHl0ICpyZXBseXApOw0KDQoNCiNkZWZpbmUgREVGQVVM VF9GRUVEVFlQRSBFWFANCg0KDQovKg0KICogR2VuZXJpYyBjbGllbnQgY3JlYXRpb24gd2l0aCB2 ZXJzaW9uIGNoZWNraW5nLg0KICogUmV0dXJucyBDTElFTlQgaGFuZGxlIGFuZCAqdmVyc19vdXQg aXMgc2V0IHRvIHRoZSBoaWdoZXN0IHNlcnZlciBzdXBwb3J0ZWQNCiAqIHZhbHVlIHMudC4gdmVy c19sb3cgPD0gKnZlcnNfb3V0IDw9IHZlcnNfaGlnaC4NCiAqIFJldHVybnMgTlVMTCBvbiBlcnJv ciBvciBpZiBubyBzdWNoIHZlcnNpb24sIHNldHRpbmcgcnBjX2NyZWF0ZWVyci4NCiAqIFRoaXMg aXMgbW9kZWxlZCBhZnRlciBjbG50X2NyZWF0ZV92ZXJzKCkgaW4gcmVjZW50IHZlcnNpb25zIG9m IE9OQyBSUEMuDQogKi8NCnN0YXRpYyBDTElFTlQgKm15X2NsbnRfY3JlYXRlX3ZlcnMoY29uc3Qg Y2hhciAqcmVtb3RlLCB1X2xvbmcgcHJvZ251bSwgdV9sb25nICp2ZXJzX291dCwNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdV9sb25nIHZlcnNfbG93LCB1X2xvbmcgdmVyc19o aWdoLCBjb25zdCBjaGFyICpwcm90b2NvbCkNCnsNCnVfbG9uZyB2ZXJzaW9uID0gdmVyc19oaWdo Ow0KQ0xJRU5UICpjbG50ID0gTlVMTDsNCmVudW0gY2xudF9zdGF0IHJwY19zdGF0Ow0Kc3RydWN0 IHJwY19lcnIgcnBjZXJyOw0KDQogIGRvDQogICAgew0KICAgICAgY2xudCA9IGNsbnRfY3JlYXRl IChyZW1vdGUsIHByb2dudW0sIHZlcnNpb24sIHByb3RvY29sKTsNCiAgICAgIGlmIChjbG50ID09 IE5VTEwpDQogICAgICAgIHsNCiAgICAgICAgICBwcmludGYoImNsbnRfY3JlYXRlKCVzLCAlZCwg JWQsIFwiJXNcIik6ICVzXG4iLCByZW1vdGUsIChpbnQpcHJvZ251bSwgKGludCl2ZXJzaW9uLCBw cm90b2NvbCwgY2xudF9zcGNyZWF0ZWVycm9yKHJlbW90ZSkpOw0KICAgICAgICAgIHJldHVybiBO VUxMOw0KICAgICAgICB9DQoNCiAgICAgIHJwY19zdGF0ID0gY2xudF9jYWxsKGNsbnQsIE5VTExQ Uk9DLCB4ZHJfdm9pZCwgKGNoYXIgKikgTlVMTCwgeGRyX3ZvaWQsIChjaGFyICopIE5VTEwsIHRp bWVvKTsNCiAgICAgIHByaW50ZigibnVsbHByb2MgJXM6ICAlc1xuIiwgcmVtb3RlLCBjbG50X3Nw ZXJybm8ocnBjX3N0YXQpKTsNCiAgICAgIGlmIChycGNfc3RhdCA9PSBSUENfU1VDQ0VTUykNCiAg ICAgICAgICBicmVhazsgLyogbm9ybWFsIHJldHVybiAqLw0KDQogICAgICAvKiBlbHNlICovDQog ICAgICBjbG50X2dldGVycihjbG50LCAmcnBjZXJyKTsNCiAgICAgIHJwY19jcmVhdGVlcnIuY2Zf c3RhdCA9IHJwY19zdGF0Ow0KICAgICAgcnBjX2NyZWF0ZWVyci5jZl9lcnJvciA9IHJwY2VycjsN CiAgICAgIGNsbnRfZGVzdHJveShjbG50KTsNCiAgICAgIGNsbnQgPSBOVUxMOw0KDQogICAgICBz d2l0Y2ggKHJwY19zdGF0KQ0KCSAgICB7DQogICAgICAgICAgY2FzZSBSUENfUFJPR1VOQVZBSUwg ICAgIDogLyogV2h5IGlzIHRoaXMgbmVjZXNzYXJ5ID8/ICovDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLS12ZXJzaW9uOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgUlBDX1BST0dWRVJTTUlTTUFUQ0g6IHsN CgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVfbG9uZyBtaW52ZXJzLCBtYXh2ZXJz Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWludmVycyA9IHJwY2Vy ci5yZV92ZXJzLmxvdzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h eHZlcnMgPSBycGNlcnIucmVfdmVycy5oaWdoOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaWYgKG1heHZlcnMgPCB2ZXJzX2hpZ2gpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHZlcnNfaGlnaCA9IG1heHZlcnM7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWludmVycyA+IHZlcnNfbG93KQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzX2xvdyA9IG1pbnZlcnM7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uID0gdmVyc19oaWdo Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICB9IHdoaWxl KGNsbnQgPT0gTlVMTCAmJiB2ZXJzaW9uID49IHZlcnNfbG93ICYmIHZlcnNpb24gPD0gdmVyc19o aWdoKTsNCg0KICBpZiAoY2xudCAhPSBOVUxMKQ0KICAgICAgKnZlcnNfb3V0ID0gdmVyc2lvbjsN Cg0KICByZXR1cm4gY2xudDsNCn0NCg0Kc3RhdGljIGludCBmZWVkKENMSUVOVCAqY2xudCwgcHJv ZF9jbGFzcyAqKmNsc3NwcCkNCnsNCmVudW0gY2xudF9zdGF0IHJwY19zdGF0Ow0KDQogIHJwY19z dGF0ID0gZmVlZG1lKGNsbnQsICpjbHNzcHAsICZyZXBseSk7DQogIGlmIChycGNfc3RhdCAhPSBS UENfU1VDQ0VTUykNCiAgICB7DQogICAgICBwcmludGYoImZlZWRtZSAlczogICVzXG4iLCByZW1v dGUsIGNsbnRfc3BlcnJubyhycGNfc3RhdCkpOw0KICAgICAgcmV0dXJuIC0xOyAvLyBFQ09OTkFC T1JURUQ7IC8qIFBlcmhhcHMgY291bGQgYmUgbW9yZSBkZXNjcmlwdGl2ZSAqLw0KICAgIH0NCiAg c3dpdGNoIChyZXBseS5jb2RlKQ0KICAgIHsNCiAgICAgIGNhc2UgT0sgICAgICAgICAgIDogYnJl YWs7DQogICAgICBjYXNlIFNIVVRUSU5HX0RPV046IHByaW50ZigiJXMgaXMgc2h1dHRpbmcgZG93 blxuIiwgcmVtb3RlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOyAvL0VD T05OQUJPUlRFRDsNCiAgICAgIGNhc2UgRE9OVF9TRU5EICAgIDoNCiAgICAgIGNhc2UgUkVTVEFS VCAgICAgIDoNCiAgICAgIGNhc2UgUkVESVJFQ1QgICAgIDogLyogVE9ETyAqLw0KICAgICAgZGVm YXVsdCAgICAgICAgICAgOiBwcmludGYoIiVzOiB1bmV4cGVjdGVkIHJlcGx5IHR5cGUgJWRcbiIs IHJlbW90ZSwgcmVwbHkuY29kZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAt MTsgLy9FQ09OTkFCT1JURUQ7DQogICAgICBjYXNlIFJFQ0xBU1MgICAgICA6ICpjbHNzcHAgPSBy ZXBseS5sZG1fcmVwbHl0X3UubmV3Y2xzc3A7DQovLyAgICAgICAgICAgICAgICAgICAgICAgICAg Y2xzc19yZWdjb21wKCpjbHNzcHApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBOLkIu IHdlIHVzZSB0aGUgZG93bnN0cmVhbSBwYXR0ZXJucyAqLw0KICAgICAgICAgICAgICAgICAgICAg ICAgICBwcmludGYoIiVzOiByZWNsYXNzXG4iLCByZW1vdGUpOw0KICAgICAgICAgICAgICAgICAg ICAgICAgICBicmVhazsNCiAgICB9DQogIHJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50IHNpZ25f b24oQ0xJRU5UICpjbG50LCBwcm9kX2NsYXNzICoqY2xzc3BwKQ0Kew0KZW51bSBjbG50X3N0YXQg cnBjX3N0YXQ7DQoNCiAgcnBjX3N0YXQgPSBoaXlhKGNsbnQsICpjbHNzcHAsICZyZXBseSk7DQog IGlmIChycGNfc3RhdCAhPSBSUENfU1VDQ0VTUykNCiAgICB7DQogICAgICBwcmludGYoImhpeWEg JXM6ICAlc1xuIiwgcmVtb3RlLCBjbG50X3NwZXJybm8ocnBjX3N0YXQpKTsNCiAgICAgIHJldHVy biAtMTsgLy8gRUNPTk5BQk9SVEVEOyAvKiBQZXJoYXBzIGNvdWxkIGJlIG1vcmUgZGVzY3JpcHRp dmUgKi8NCiAgICB9DQogIHN3aXRjaCAocmVwbHkuY29kZSkNCiAgICB7DQogICAgICBjYXNlIE9L ICAgICAgICAgICA6IGJyZWFrOw0KICAgICAgY2FzZSBTSFVUVElOR19ET1dOOiBwcmludGYoIiVz IGlzIHNodXR0aW5nIGRvd25cbiIsIHJlbW90ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAg IHJldHVybiAtMTsgLy9FQ09OTkFCT1JURUQ7DQogICAgICBjYXNlIERPTlRfU0VORCAgICA6DQog ICAgICBjYXNlIFJFU1RBUlQgICAgICA6DQogICAgICBjYXNlIFJFRElSRUNUICAgICA6IC8qIFRP RE8gKi8NCiAgICAgIGRlZmF1bHQgICAgICAgICAgIDogcHJpbnRmKCIlczogdW5leHBlY3RlZCBy ZXBseSB0eXBlICVkXG4iLCByZW1vdGUsIHJlcGx5LmNvZGUpOw0KICAgICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm4gLTE7IC8vRUNPTk5BQk9SVEVEOw0KICAgICAgY2FzZSBSRUNMQVNTICAg ICAgOiAqY2xzc3BwID0gcmVwbHkubGRtX3JlcGx5dF91Lm5ld2Nsc3NwOw0KLy8gICAgICAgICAg ICAgICAgICAgICAgICAgIGNsc3NfcmVnY29tcCgqY2xzc3BwKTsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgLyogTi5CLiB3ZSB1c2UgdGhlIGRvd25zdHJlYW0gcGF0dGVybnMgKi8NCiAgICAg ICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlczogcmVjbGFzc1xuIiwgcmVtb3RlKTsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgfQ0KICByZXR1cm4gMDsNCn0NCg0K ZW51bSBjbG50X3N0YXQgaGl5YShDTElFTlQgKmNsbnQsIHByb2RfY2xhc3MgKmNsYXNzcCwgbGRt X3JlcGx5dCAqcmVwbHlwKQ0Kew0KICBtZW1zZXQocmVwbHlwLCAwLCBzaXplb2YobGRtX3JlcGx5 dCkpOw0KICByZXR1cm4gY2xudF9jYWxsKGNsbnQsIEhJWUEsIHhkcl9wcm9kX2NsYXNzLCAoY2Fk ZHJfdCljbGFzc3AsIHhkcl9sZG1fcmVwbHl0LCAoY2FkZHJfdClyZXBseXAsIHRpbWVvKTsNCn0N Cg0KZW51bSBjbG50X3N0YXQgZmVlZG1lKENMSUVOVCAqY2xudCwgcHJvZF9jbGFzcyAqY2xhc3Nw LCBsZG1fcmVwbHl0ICpyZXBseXApDQp7DQogIG1lbXNldChyZXBseXAsIDAsIHNpemVvZihsZG1f cmVwbHl0KSk7DQogIHJldHVybiBjbG50X2NhbGwoY2xudCwgRkVFRE1FLCB4ZHJfcHJvZF9jbGFz cywgKGNhZGRyX3QpY2xhc3NwLCB4ZHJfbGRtX3JlcGx5dCwgKGNhZGRyX3QpcmVwbHlwLCB0aW1l byk7DQp9DQoNCg0KQ0xJRU5UICpDb25uZWN0KGhvc3QsIHZlcnNpb24pDQpjaGFyICpob3N0Ow0K dV9sb25nICp2ZXJzaW9uOw0Kew0KQ0xJRU5UICpjbDsNCg0KICBjbCA9IG15X2NsbnRfY3JlYXRl X3ZlcnMgKGhvc3QsIExETVBST0csIHZlcnNpb24sIExETVZFUlMgLTEsIExETVZFUlMsICJ0Y3Ai KTsNCiAgaWYgKGNsID09IE5VTEwpDQogICAgew0KICAgICAgcHJpbnRmKCJjbG50X2NyZWF0ZVxu Iik7DQogICAgICBjbG50X3BjcmVhdGVlcnJvcihob3N0KTsNCiAgICAgIGV4aXQgKDEpOw0KICAg IH0NCiAgcmV0dXJuIGNsOw0KfQ0KDQpzdGF0aWMgdm9pZA0KbGRtcHJvZ181KHN0cnVjdCBzdmNf cmVxICpycXN0cCwgU1ZDWFBSVCAqdHJhbnNwKQ0Kew0KdW5pb24gew0KICBwcm9kdWN0IGhlcmVp c181X2FyZzsNCiAgcHJvZF9jbGFzcyBmZWVkbWVfNV9hcmc7DQogIHByb2RfY2xhc3MgaGl5YV81 X2FyZzsNCiAgcHJvZF9pbmZvIG5vdGlmaWNhdGlvbl81X2FyZzsNCiAgcHJvZF9jbGFzcyBub3Rp ZnltZV81X2FyZzsNCiAgY29taW5nc29vbl9hcmdzIGNvbWluZ3Nvb25fNV9hcmc7DQogIGRhdGFw a3QgYmxrZGF0YV81X2FyZzsNCn0gYXJndW1lbnQ7DQpjaGFyICpyZXN1bHQ7DQpib29sX3QgKCp4 ZHJfYXJndW1lbnQpKCksICgqeGRyX3Jlc3VsdCkoKTsNCmNoYXIgKigqbG9jYWwpKCk7DQoNCiAg cHJpbnRmKCJsZG1wcm9nXzUgIik7DQojaWZkZWYgTVVMVElUSFJFQUQNCiAgRFdPUkQgVElEID0g MDsNCiAgSEFORExFIHRocmVhZEhhbmRsZSA9IE5VTEw7DQogIHN0cnVjdCBjYWxsX3BhcmFtcyAg ICAgICpwYXJhbXM7DQojZW5kaWYNCiAgc3dpdGNoIChycXN0cC0+cnFfcHJvYykNCiAgICB7DQog ICAgICBjYXNlIE5VTExQUk9DOiAgICAgKHZvaWQpc3ZjX3NlbmRyZXBseSh0cmFuc3AsIHhkcl92 b2lkLCAoY2hhciAqKU5VTEwpOw0KCQkJCQkJIHByaW50ZigiTlVMTFBST0NcbiIpOw0KICAgICAg ICAgICAgICAgICAgICAgICAgIHJldHVybjsNCg0KICAgICAgY2FzZSBIRVJFSVM6ICAgICAgIHhk cl9hcmd1bWVudCA9IHhkcl9wcm9kdWN0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgIHhkcl9y ZXN1bHQgPSB4ZHJfbGRtX3JlcGx5dDsNCiAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbCA9 IChjaGFyICooKikoKSkgaGVyZWlzXzU7DQoJCQkJCQkgcHJpbnRmKCJIRVJFSVNcbiIpOw0KICAg ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KDQogICAgICBjYXNlIEZFRURNRTogICAgICAg eGRyX2FyZ3VtZW50ID0geGRyX3Byb2RfY2xhc3M7DQogICAgICAgICAgICAgICAgICAgICAgICAg eGRyX3Jlc3VsdCA9IHhkcl9sZG1fcmVwbHl0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgIGxv Y2FsID0gKGNoYXIgKigqKSgpKSBmZWVkbWVfNTsNCgkJCQkJCSBwcmludGYoIkZFRURNRVxuIik7 DQogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQoNCiAgICAgIGNhc2UgSElZQTogICAg ICAgICB4ZHJfYXJndW1lbnQgPSB4ZHJfcHJvZF9jbGFzczsNCiAgICAgICAgICAgICAgICAgICAg ICAgICB4ZHJfcmVzdWx0ID0geGRyX2xkbV9yZXBseXQ7DQogICAgICAgICAgICAgICAgICAgICAg ICAgbG9jYWwgPSAoY2hhciAqKCopKCkpIGhpeWFfNTsNCgkJCQkJCSBwcmludGYoIkhZSUFcbiIp Ow0KICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KDQogICAgICBjYXNlIE5PVElGSUNB VElPTjogeGRyX2FyZ3VtZW50ID0geGRyX3Byb2RfaW5mbzsNCiAgICAgICAgICAgICAgICAgICAg ICAgICB4ZHJfcmVzdWx0ID0geGRyX2xkbV9yZXBseXQ7DQogICAgICAgICAgICAgICAgICAgICAg ICAgbG9jYWwgPSAoY2hhciAqKCopKCkpIG5vdGlmaWNhdGlvbl81Ow0KCQkJCQkJIHByaW50Zigi Tk9USUZJQ0FUSU9OXG4iKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCg0KICAg ICAgY2FzZSBOT1RJRllNRTogICAgIHhkcl9hcmd1bWVudCA9IHhkcl9wcm9kX2NsYXNzOw0KICAg ICAgICAgICAgICAgICAgICAgICAgIHhkcl9yZXN1bHQgPSB4ZHJfbGRtX3JlcGx5dDsNCiAgICAg ICAgICAgICAgICAgICAgICAgICBsb2NhbCA9IChjaGFyICooKikoKSkgbm90aWZ5bWVfNTsNCgkJ CQkJCSBwcmludGYoIk5PVElGWU1FXG4iKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVh azsNCg0KICAgICAgY2FzZSBDT01JTkdTT09OOiAgIHhkcl9hcmd1bWVudCA9IHhkcl9jb21pbmdz b29uX2FyZ3M7DQogICAgICAgICAgICAgICAgICAgICAgICAgeGRyX3Jlc3VsdCA9IHhkcl9sZG1f cmVwbHl0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsID0gKGNoYXIgKigqKSgpKSBj b21pbmdzb29uXzU7DQoJCQkJCQkgcHJpbnRmKCJDT01JTkdTT09OXG4iKTsNCiAgICAgICAgICAg ICAgICAgICAgICAgICBicmVhazsNCg0KICAgICAgY2FzZSBCTEtEQVRBOiAgICAgIHhkcl9hcmd1 bWVudCA9IHhkcl9kYXRhcGt0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgIHhkcl9yZXN1bHQg PSB4ZHJfbGRtX3JlcGx5dDsNCiAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbCA9IChjaGFy ICooKikoKSkgYmxrZGF0YV81Ow0KCQkJCQkJIHByaW50ZigiQkxLREFUQVxuIik7DQogICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7DQoNCiAgICAgIGRlZmF1bHQ6ICAgICAgICAgICBzdmNl cnJfbm9wcm9jKHRyYW5zcCk7DQoJCQkJCQkgcHJpbnRmKCJOT1BST0NcbiIpOw0KICAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICB9DQogIGJ6ZXJvKChjaGFyICopJmFyZ3VtZW50 LCBzaXplb2YoYXJndW1lbnQpKTsNCiAgaWYgKCFzdmNfZ2V0YXJncyh0cmFuc3AsIHhkcl9hcmd1 bWVudCwgJmFyZ3VtZW50KSkNCiAgICB7DQoJICBwcmludGYoIlVuYWJsZSB0byBnZXQgYXJndW1l bnRzXG4iKTsNCiAgICAgIHN2Y2Vycl9kZWNvZGUodHJhbnNwKTsNCiAgICAgIHJldHVybjsNCiAg ICB9DQoNCiNpZmRlZiBNVUxUSVRIUkVBRA0KICBwcmludGYoIk11bHRpVGhyZWFkXG4iKToNCiAg cGFyYW1zID0gKHN0cnVjdCBjYWxsX3BhcmFtcyopIG1hbGxvYyAoc2l6ZW9mKHN0cnVjdCBjYWxs X3BhcmFtcykpOw0KDQogIHBhcmFtcy0+cnFzdHAgPSAoc3RydWN0IHN2Y19yZXEqKSBtYWxsb2Mg KHNpemVvZihzdHJ1Y3Qgc3ZjX3JlcSkpOw0KICBiY29weShycXN0cCwgcGFyYW1zLT5ycXN0cCwg c2l6ZW9mKHN0cnVjdCBzdmNfcmVxKSk7DQoNCiAgcGFyYW1zLT50cmFuc3AgPSB0cmFuc3A7DQoN CiAgcGFyYW1zLT5hcmcgPSBtYWxsb2MgKHNpemVvZihhcmd1bWVudCkpOw0KICBiY29weSgmYXJn dW1lbnQsIHBhcmFtcy0+YXJnLCBzaXplb2YoYXJndW1lbnQpKTsNCg0KICBwYXJhbXMtPmxvY2Fs ID0gbG9jYWw7DQoNCiAgcGFyYW1zLT54ZHJfYXJndW1lbnQgPSB4ZHJfYXJndW1lbnQ7DQogIHBh cmFtcy0+eGRyX3Jlc3VsdCA9IHhkcl9yZXN1bHQ7DQoNCiAgdGhyZWFkSGFuZGxlID0gQ3JlYXRl VGhyZWFkKE5VTEwsIDAsIChMUFRIUkVBRF9TVEFSVF9ST1VUSU5FKWxkbXByb2dfNV9hLCBwYXJh bXMsIDAsICZUSUQpOw0KICBpZiAoIXRocmVhZEhhbmRsZSkNCiAgICBsZG1wcm9nXzVfYSgmcGFy YW1zKTsNCn0NCg0Kc3RhdGljIHZvaWQgbGRtcHJvZ181X2Eoc3RydWN0IGNhbGxfcGFyYW1zICpw YXJhbXMpDQp7DQpzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHA7DQpTVkNYUFJUICp0cmFuc3A7DQp2b2lk ICphcmd1bWVudDsNCnZvaWQgKCpkZXN0cm95X3Byb2MpKCk7DQoNCmNoYXIgKnJlc3VsdDsNCmJv b2xfdCAoKnhkcl9hcmd1bWVudCkoKSwgKCp4ZHJfcmVzdWx0KSgpOw0KY2hhciAqKCpsb2NhbCko KTsNCg0KDQogIGFyZ3VtZW50ID0gcGFyYW1zLT5hcmc7DQogIHJxc3RwID0gcGFyYW1zLT5ycXN0 cDsNCiAgdHJhbnNwID0gcGFyYW1zLT50cmFuc3A7DQogIHhkcl9hcmd1bWVudCA9IHBhcmFtcy0+ eGRyX2FyZ3VtZW50Ow0KICB4ZHJfcmVzdWx0ID0gcGFyYW1zLT54ZHJfcmVzdWx0Ow0KICBsb2Nh bCA9IHBhcmFtcy0+bG9jYWw7DQogIGRlc3Ryb3lfcHJvYyA9IHRyYW5zcC0+eHBfb3BzLT54cF9k ZXN0cm95Ow0KICB0cmFuc3AtPnhwX29wcy0+eHBfZGVzdHJveSA9IHhwcnRfdW5yZWdpc3RlcjsN CiNlbmRpZg0KDQogIHJlc3VsdCA9ICgqbG9jYWwpKCZhcmd1bWVudCwgcnFzdHApOw0KICBpZiAo cmVzdWx0ICE9IE5VTEwgJiYgIXN2Y19zZW5kcmVwbHkodHJhbnNwLCB4ZHJfcmVzdWx0LCByZXN1 bHQpKQ0KICAgICAgc3ZjZXJyX3N5c3RlbWVycih0cmFuc3ApOw0KDQojaWZkZWYgTVVMVElUSFJF QUQNCiAgZnJlZShwYXJhbXMtPnJxc3RwKTsNCiAgZnJlZShwYXJhbXMpOw0KI2VuZGlmDQoNCiAg aWYgKCFzdmNfZnJlZWFyZ3ModHJhbnNwLCB4ZHJfYXJndW1lbnQsICZhcmd1bWVudCkpDQogICAg ew0KICAgICAgKHZvaWQpZnByaW50ZihzdGRlcnIsICJ1bmFibGUgdG8gZnJlZSBhcmd1bWVudHNc biIpOw0KI2lmZGVmIFdJTjMyDQogICAgICBycGNfbnRfZXhpdCgpOw0KI2VuZGlmDQogICAgICBl eGl0KDEpOw0KICAgIH0NCg0KI2lmZGVmIE1VTFRJVEhSRUFEDQogIGZyZWUoYXJndW1lbnQpOw0K ICB0cmFuc3AtPnhwX29wcy0+eHBfZGVzdHJveSA9IGRlc3Ryb3lfcHJvYzsNCiNlbmRpZg0KfQ0K DQoNCg0KbWFpbihhcmdjLCBhcmd2KQ0KaW50IGFyZ2M7DQpjaGFyICphcmd2W107DQp7DQpDTElF TlQgKmNsOw0KdV9sb25nIHZlcnNpb247DQppbnQgc3RhdHVzID0gMDsNCnByb2RfY2xhc3MgY2xz czsNCnByb2Rfc3BlYyBzcGVjOw0KcHJvZF9jbGFzcyAqY2xzc3AgPSAmY2xzczsNCnN0cnVjdCBj dV9kYXRhICpjdTsNClNWQ1hQUlQgKnN2YzsNCg0KICBycGNfbnRfaW5pdCgpOw0KDQogIGNsc3Mu ZnJvbSA9IFRTX1pFUk87DQogIGNsc3MudG8gPSBUU19FTkRUOw0KICBjbHNzLnBzYS5wc2FfbGVu ID0gMTsNCiAgY2xzcy5wc2EucHNhX3ZhbCA9ICZzcGVjOw0KICBzcGVjLmZlZWR0eXBlID0gREVG QVVMVF9GRUVEVFlQRTsNCiAgc3BlYy5wYXR0ZXJuID0gIi4qIjsNCg0KICByZW1vdGUgPSBhcmd2 WzFdOw0KICBpZiAoYXJnYyAhPSAyKQ0KICAgIHsNCiAgICAgIGZwcmludGYoc3RkZXJyLCAidXNh Z2U6ICVzIGhvc3RcbiIsIGFyZ3ZbMF0pOw0KICAgICAgZXhpdCAoMSk7DQogICAgfQ0KDQogIHdo aWxlICgxKQ0KICAgIHsNCiAgICAgIGNsID0gQ29ubmVjdChyZW1vdGUsICZ2ZXJzaW9uKTsNCiAg ICAgIGlmIChjbCAhPSBOVUxMKQ0KICAgICAgICB7DQogICAgICAgICAgaWYgKHNpZ25fb24oY2ws ICZjbHNzcCkgPT0gMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgcHJpbnRmKCJzaWdu X29uIHN0YXR1cz0weCVkXG4iLCBzdGF0dXMpOw0KICAgICAgICAgICAgICBpZiAoZmVlZChjbCwg JmNsc3NwKSA9PSAwKQ0KICAgICAgICAgICAgICAgIHsNCgkJCQkgIGN1ID0gKHN0cnVjdCBjdV9k YXRhICopY2wtPmNsX3ByaXZhdGU7DQogICAgICAgICAgICAgICAgICBwcmludGYoImZlZWQgc3Rh dHVzPTB4JWQgc29jayA9ICVkXG4iLCBzdGF0dXMsIGN1LT5jdV9zb2NrKTsNCgkJCQkgIHN2YyA9 IHN2Y2ZkX2NyZWF0ZShjdS0+Y3Vfc29jaywgc2l6ZW9mKGxkbV9yZXBseXQpLCBzaXplb2YocHJv ZF9jbGFzcykpOw0KCQkJCSAgcHJpbnRmKCIlcyBTVkNcbiIsIChzdmMgPT0gTlVMTCkgPyAiISIg OiAiIik7DQoJCSAgICAgICAgICBpZiAoIXN2Y19yZWdpc3RlcihzdmMsIExETVBST0csIEZJVkUs IGxkbXByb2dfNSwgSVBQUk9UT19UQ1ApKQ0KCQkJCSAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgKHZvaWQpZnByaW50ZihzdGRlcnIsICJ1bmFibGUgdG8gcmVnaXN0ZXIgKExETVBST0csIEZJ VkUsIHRjcCkuXG4iKTsNCiNpZmRlZiBXSU4zMg0KICAgICAgICAgICAgICAgICAgICAgIHJwY19u dF9leGl0KCk7DQojZW5kaWYNCiAgICAgICAgICAgICAgICAgICAgICBleGl0KDEpOw0KICAgICAg ICAgICAgICAgICAgICB9DQoJCQkJICAgcHJpbnRmKCJzdmNfcnVuIGluXG4iKTsNCgkJCQkgICBz dmNfcnVuKCk7DQoJCQkJICAgcHJpbnRmKCJzdmNfcnVuIG91dFxuIik7DQogICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIHByaW50ZigiY2xudF9kZXN0cm95XG4iKTsN CiAgICAgICAgICBjbG50X2Rlc3Ryb3koY2wpOw0KICAgICAgICB9DQoNCiAgICAgIGJyZWFrOw0K ICAgIH0NCg0KICBycGNfbnRfZXhpdCgpOw0KDQogIGV4aXQoMCk7DQogIHJldHVybiAwOw0KfQ0K --MailNet.MIME.668f4ac Claude Lamy e-mail: clamy qc.pelmorex.com --MailNet.MIME.668f4ac--