[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

19990831: NULLPROC (fwd)




===============================================================================
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--