Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 07 May 1997 00:41:54 -0700
From:      Amancio Hasty <hasty@rah.star-gate.com>
To:        Michael Smith <msmith@atrad.adelaide.edu.au>
Cc:        hackers@freebsd.org
Subject:   Re: 2.2 Splashkit 
Message-ID:  <199705070741.AAA00297@rah.star-gate.com>
In-Reply-To: Your message of "Wed, 07 May 1997 13:26:01 %2B0930." <199705070356.NAA17891@genesis.atrad.adelaide.edu.au> 

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multipart MIME message.

--===_0_Wed_May__7_00:41:22_PDT_1997
Content-Type: text/plain; charset=us-ascii


Curious , Why do you ask ?

I have no clue if this is correct however I just spent 
1/2 putting it together and tried it on my system -- thats right 
I am brave 8)

Here is the patch for 3.0-current's syscons.c and just get the rest
of the stuff from the 2.2 splaskit which has instructions ..


	Splash away!
	Amancio

>From The Desk Of Michael Smith :
> Amancio Hasty stands accused of saying:
> > Just grab's -current's syscons.c and patch it up we can test it and fix it
> > up.
> 
> What happens if you just apply the patches out of the 2.2 kit?
> 
> > 	Amancio
> 
> -- 
> ]] Mike Smith, Software Engineer        msmith@gsoft.com.au             [[
> ]] Genesis Software                     genesis@gsoft.com.au            [[
> ]] High-speed data acquisition and      (GSM mobile)     0411-222-496   [[
> ]] realtime instrument control.         (ph)          +61-8-8267-3493   [[
> ]] Unix hardware collector.             "Where are your PEZ?" The Tick  [[


--===_0_Wed_May__7_00:41:22_PDT_1997
Content-Type: application/octet-stream
Content-Description: patch
Content-Transfer-Encoding: base64

KioqIHN5c2NvbnMuYwlXZWQgTWF5ICA3IDAwOjM2OjU2IDE5OTcKLS0tIHN5c2NvbnMuYy5u
ZXcJV2VkIE1heSAgNyAwMDozNjoyNyAxOTk3CioqKioqKioqKioqKioqKgoqKiogMTQ3Nywx
NDgzICoqKioKICAgICAgaW50IHM7CiAgICAgIHNjcl9zdGF0ICpzY3AgPSBjb25zb2xlWzBd
OwogICAgICB0ZXJtX3N0YXQgc2F2ZSA9IHNjcC0+dGVybTsKISAKICAgICAgc2NwLT50ZXJt
ID0ga2VybmVsX2NvbnNvbGU7CiAgICAgIGN1cnJlbnRfZGVmYXVsdCA9ICZrZXJuZWxfZGVm
YXVsdDsKICAgICAgaWYgKHNjcCA9PSBjdXJfY29uc29sZSAmJiAhKHNjcC0+c3RhdHVzICYg
VU5LTk9XTl9NT0RFKSkKLS0tIDE0NzcsMTQ4NyAtLS0tCiAgICAgIGludCBzOwogICAgICBz
Y3Jfc3RhdCAqc2NwID0gY29uc29sZVswXTsKICAgICAgdGVybV9zdGF0IHNhdmUgPSBzY3At
PnRlcm07CiEgI2lmZGVmIFNDX1NQTEFTSF9TQ1JFRU4KISAgICAgIC8qIHJ1biB0aHJvdWdo
IHRoZSBpbnB1dCBzaWRlIG9mIHRoaW5ncywgZmxpcCBtb2RlcyBpZiByZXF1aXJlZCAqLwoh
ICAgICAgKHZvaWQpc2NjbmNoZWNrYyhkZXYpOwohICNlbmRpZgohICAKICAgICAgc2NwLT50
ZXJtID0ga2VybmVsX2NvbnNvbGU7CiAgICAgIGN1cnJlbnRfZGVmYXVsdCA9ICZrZXJuZWxf
ZGVmYXVsdDsKICAgICAgaWYgKHNjcCA9PSBjdXJfY29uc29sZSAmJiAhKHNjcC0+c3RhdHVz
ICYgVU5LTk9XTl9NT0RFKSkKKioqKioqKioqKioqKioqCioqKiAyNTA2LDI1MTIgKioqKgog
ICAgICAgKiBOb3cgcHV0IHVwIGEgZ3JhcGhpY3MgaW1hZ2UsIGFuZCBtYXliZSBjeWNsZSBh
CiAgICAgICAqIGNvdWJsZSBvZiBwYWxldHRlIGVudHJpZXMgZm9yIHNpbXBsZSBhbmltYXRp
b24uCiAgICAgICAqLwohICAgICB0b2dnbGVfc3BsYXNoX3NjcmVlbihjdXJfY29uc29sZSk7
CiAgI2VuZGlmCiAgfQogIAotLS0gMjUxMCwyNTE4IC0tLS0KICAgICAgICogTm93IHB1dCB1
cCBhIGdyYXBoaWNzIGltYWdlLCBhbmQgbWF5YmUgY3ljbGUgYQogICAgICAgKiBjb3VibGUg
b2YgcGFsZXR0ZSBlbnRyaWVzIGZvciBzaW1wbGUgYW5pbWF0aW9uLgogICAgICAgKi8KISAg
ICAgaWYgKCFib290dmVyYm9zZSkgewohICAJdG9nZ2xlX3NwbGFzaF9zY3JlZW4oY3VyX2Nv
bnNvbGUpOwohICAgICB9CiAgI2VuZGlmCiAgfQogIAoqKioqKioqKioqKioqKioKKioqIDM5
MDksMzk0MiAqKioqCiAgICAgIH0KICB9CiAgCiAgI2lmZGVmIFNDX1NQTEFTSF9TQ1JFRU4K
ISBzdGF0aWMgdm9pZAohIHRvZ2dsZV9zcGxhc2hfc2NyZWVuKHNjcl9zdGF0ICpzY3ApCiAg
ewohICAgICBzdGF0aWMgaW50IHRvZ2dsZSA9IDA7CiEgICAgIHN0YXRpYyB1X2NoYXIgc2F2
ZV9tb2RlOwohICAgICBpbnQgczsKISAKISAgICAgaWYgKHZpZGVvX21vZGVfcHRyID09IE5V
TEwpCiAgCXJldHVybjsKISAKISAgICAgcyA9IHNwbGhpZ2goKTsKISAgICAgaWYgKHRvZ2ds
ZSkgewohIAlzY3AtPm1vZGUgPSBzYXZlX21vZGU7CiEgCXNjcC0+c3RhdHVzICY9IH5VTktO
T1dOX01PREU7CiEgCXNldF9tb2RlKHNjcCk7CiEgCWxvYWRfcGFsZXR0ZShwYWxldHRlKTsK
ISAJdG9nZ2xlID0gMDsKISAgICAgfQohICAgICBlbHNlIHsKISAJc2F2ZV9tb2RlID0gc2Nw
LT5tb2RlOwohIAlzY3AtPm1vZGUgPSBNX1ZHQV9DRzMyMDsKISAJc2NwLT5zdGF0dXMgfD0g
VU5LTk9XTl9NT0RFOwohIAlzZXRfbW9kZShzY3ApOwohIAkvKiBsb2FkIGltYWdlICovCiEg
CXRvZ2dsZSA9IDE7CiEgICAgIH0KISAgICAgc3BseChzKTsKISB9CiEgI2VuZGlmCiAgI2Vu
ZGlmIC8qIE5TQyAqLwotLS0gMzkxNSw0MzI2IC0tLS0KICAgICAgfQogIH0KICAKKyAKICAj
aWZkZWYgU0NfU1BMQVNIX1NDUkVFTgohICNpbmNsdWRlIDxtYWNoaW5lL3N5c2NvbnNfc3Bs
YXNoLmg+CiEgIAohIHN0YXRpYyBpbnQgYm1wX0luaXQoY29uc3QgY2hhciAqZGF0YSwgaW50
IHN3aWR0aCwgaW50IHNoZWlnaHQsIGludCBzZGVwdGgsIHVfY2hhciAqdmlkbWVtKTsKISBz
dGF0aWMgaW50IGJtcF9EcmF3KHZvaWQpOwohICAKISAgc3RhdGljIHZvaWQKISAgIHRvZ2ds
ZV9zcGxhc2hfc2NyZWVuKHNjcl9zdGF0ICpzY3ApCiEgICB7CiEgICAgICBzdGF0aWMgaW50
CQl0b2dnbGUgPSAwOwohICAgICAgc3RhdGljIGludAkJaW5pdHRlZCA9IDAsIGZhaWxlZCA9
IDA7CiEgICAgICBzdGF0aWMgdV9jaGFyCXNhdmVfbW9kZTsKISAgICAgIGludAkJCXMgPSBz
cGxoaWdoKCk7CiEgIAohICAgICAgaWYgKCFpbml0dGVkKSB7CQkJLyogbG9vayBhdCB0aGUg
aW1hZ2UgZmlyc3QgdGltZSAncm91bmQgKi8KISAJaW5pdHRlZCA9IDE7CiEgIAlpZiAoYm1w
X0luaXQoYm1wLDMyMCwyMDAsOCwodV9jaGFyICopcGFfdG9fdmEoVklERU9NRU0pKSkgewoh
ICAJICAgIGZhaWxlZCA9IDE7CQkJLyogaW5pdCBmYWlsZWQgKi8KISAgCX0KISAgICAgIH0K
ISAgCQohICAgICAgaWYgKGZhaWxlZCkJCQkJLyogbm8gcG9pbnQgdHJ5aW5nIGFnYWluICov
CiEgIAlyZXR1cm47CiEgIAohICAgICAgaWYgKCF0b2dnbGUpIHsJCQkvKiB0cnkgdG8gbG9h
ZCBpbWFnZSAqLwohICAJc2F2ZV9wYWxldHRlKCk7CiEgICAJc2F2ZV9tb2RlID0gc2NwLT5t
b2RlOwohICAgCXNjcC0+bW9kZSA9IE1fVkdBX0NHMzIwOwohICAgCXNjcC0+c3RhdHVzIHw9
IFVOS05PV05fTU9ERTsKISAgIAlzZXRfbW9kZShzY3ApOwohIAlmYWlsZWQgPSBibXBfRHJh
dygpOwohICAgICB9CiEgICAgICAKISAgICAgIGlmICh0b2dnbGUgfHwgZmFpbGVkKSB7CQkv
KiBpbWFnZSBhbHJlYWR5LCBvciBmYWlsZWQgdG8gZHJhdyAqLwohICAJbG9hZF9wYWxldHRl
KHBhbGV0dGUpOwohICAJc2NwLT5tb2RlID0gc2F2ZV9tb2RlOwohIAlzY3AtPnN0YXR1cyAm
PSB+VU5LTk9XTl9NT0RFOwohICAJc2V0X21vZGUoc2NwKTsKISAgCXRvZ2dsZSA9IDA7CiEg
IAlpZiAoZmFpbGVkKQohICAJICAgIHByaW50ZigiU3BsYXNoIHNjcmVlbiBsb2FkIGZhaWxl
ZCFcbiIpOwohICAgICAgfSBlbHNlIHsJCQkJLyogaW1hZ2UgdXAgT0sgKi8KISAgIAl0b2dn
bGUgPSAxOwohICAgICAgIH0KISAgICAgICBzcGx4KHMpOwohICAgfQohICAKISAgLyoKISAg
KiogQ29kZSB0byBoYW5kbGUgTWljcm9zb2Z0IERJQiAoIi5CTVAiKSBmb3JtYXQgaW1hZ2Vz
LgohICAqKgohICAqKiBCbGFtZSBtZSAobXNtaXRoQGZyZWVic2Qub3JnKSBpZiB0aGlzIGlz
IGJyb2tlbiwgbm90IFNvcmVuLgohICovCiEgIAohICB0eXBlZGVmIHN0cnVjdCB0YWdCSVRN
QVBGSUxFSEVBREVSIHsgICAgLyogYm1maCAqLwohICAgICAgdV9zaG9ydAliZlR5cGUJCV9f
YXR0cmlidXRlX18gKChwYWNrZWQpKTsKISAgICAgIGludAkJYmZTaXplCQlfX2F0dHJpYnV0
ZV9fICgocGFja2VkKSk7CiEgICAgIHVfc2hvcnQJYmZSZXNlcnZlZDEJX19hdHRyaWJ1dGVf
XyAoKHBhY2tlZCkpOwohICAgICAgdV9zaG9ydAliZlJlc2VydmVkMglfX2F0dHJpYnV0ZV9f
ICgocGFja2VkKSk7CiEgICAgICBpbnQJCWJmT2ZmQml0cwlfX2F0dHJpYnV0ZV9fICgocGFj
a2VkKSk7CiEgIH0gQklUTUFQRklMRUhFQURFUjsKISAgCiEgIHR5cGVkZWYgc3RydWN0IHRh
Z0JJVE1BUElORk9IRUFERVIgeyAgICAvKiBibWloICovCiEgICAgIGludAkJYmlTaXplCQlf
X2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiEgICAgICBpbnQJCWJpV2lkdGgJCV9fYXR0cmli
dXRlX18gKChwYWNrZWQpKTsKISAgICAgIGludAkJYmlIZWlnaHQJX19hdHRyaWJ1dGVfXyAo
KHBhY2tlZCkpOwohICAgICAgc2hvcnQJYmlQbGFuZXMJX19hdHRyaWJ1dGVfXyAoKHBhY2tl
ZCkpOwohICAgICAgc2hvcnQJYmlCaXRDb3VudAlfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7
CiEgICAgICBpbnQJCWJpQ29tcHJlc3Npb24JX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwoh
ICAgICBpbnQJCWJpU2l6ZUltYWdlCV9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKISAgICAg
IGludAkJYmlYUGVsc1Blck1ldGVyCV9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKISAgICAg
IGludAkJYmlZUGVsc1Blck1ldGVyCV9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKISAgICAg
IGludAkJYmlDbHJVc2VkCV9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKISAgICAgIGludAkJ
YmlDbHJJbXBvcnRhbnQJX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwohICB9IEJJVE1BUElO
Rk9IRUFERVI7CiEgIAohICB0eXBlZGVmIHN0cnVjdCB0YWdSR0JRVUFEIHsgICAgIC8qIHJn
YnEgKi8KISAgICAgIHVfY2hhcglyZ2JCbHVlCQlfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7
CiEgICAgIHVfY2hhcglyZ2JHcmVlbglfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiEgICAg
ICB1X2NoYXIJcmdiUmVkCQlfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiEgICAgICB1X2No
YXIJcmdiUmVzZXJ2ZWQJX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwohICB9IFJHQlFVQUQ7
CiEgIAohICB0eXBlZGVmIHN0cnVjdCB0YWdCSVRNQVBJTkZPIHsgIC8qIGJtaSAqLwohICAg
ICAgQklUTUFQSU5GT0hFQURFUglibWlIZWFkZXIJX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkp
OwohICAgICAgUkdCUVVBRAkJYm1pQ29sb3JzWzI1Nl0JX19hdHRyaWJ1dGVfXyAoKHBhY2tl
ZCkpOwohICB9IEJJVE1BUElORk87CiEgIAohICB0eXBlZGVmIHN0cnVjdCB0YWdCSVRNQVBG
CiEgIHsKISAgICAgIEJJVE1BUEZJTEVIRUFERVIJYm1maAlfX2F0dHJpYnV0ZV9fICgocGFj
a2VkKSk7CiEgICAgICBCSVRNQVBJTkZPCQlibWZpCV9fYXR0cmlidXRlX18gKChwYWNrZWQp
KTsKISAgfSBCSVRNQVBGOwohIAohICNkZWZpbmUgQklfUkdCCQkwCiEgI2RlZmluZSBCSV9S
TEU4CQkxCiEgI2RlZmluZSBCSV9STEU0CQkyCiEgIAohICAvKiAKISAgKiogYWxsIHdlIGFj
dHVhbGx5IGNhcmUgYWJvdXQgdGhlIGltYWdlCiEgICovCiEgIHR5cGVkZWYgc3RydWN0CiAg
ewohICAgICAgaW50CQl3aWR0aCxoZWlnaHQ7CQkvKiBpbWFnZSBkaW1lbnNpb25zICovCiEg
ICAgICBpbnQJCXN3aWR0aCxzaGVpZ2h0OwkJLyogc2NyZWVuIGRpbWVuc2lvbnMgZm9yIHRo
ZSBjdXJyZW50IG1vZGUgKi8KISAgICAgIHVfY2hhcglzZGVwdGg7CQkJLyogc2NyZWVuIGRl
cHRoICgxLCA0LCA4IGJwcCkgKi8KISAgICAgIGludAkJbmNvbHM7CQkJLyogbnVtYmVyIG9m
IGNvbG91cnMgKi8KISAgICAgIHVfY2hhcglwYWxldHRlWzI1Nl1bM107CS8qIHJhdyBwYWxl
dHRlIGRhdGEgKi8KISAgICAgIHVfY2hhcglmb3JtYXQ7CQkJLyogb25lIG9mIHRoZSBCSV8q
IGNvbnN0YW50cyBhYm92ZSAqLwohICAgICAgdV9jaGFyCSpkYXRhOwkJCS8qIHBvaW50ZXIg
dG8gdGhlIHJhdyBkYXRhICovCiEgICAgICB1X2NoYXIJKmluZGV4OwkJCS8qIHJ1bm5pbmcg
cG9pbnRlciB0byB0aGUgZGF0YSB3aGlsZSBkcmF3aW5nICovCiEgICAgICB1X2NoYXIJKnZp
ZG1lbTsJCS8qIHZpZGVvIG1lbW9yeSBhbGxvY2F0ZWQgZm9yIGRyYXdpbmcgKi8KISAgfSBC
TVBfSU5GTzsKISAgCiEgIHN0YXRpYyBCTVBfSU5GTyBibXBfaW5mbzsKISAgCiEgIC8qCiEg
KiogYm1wX1NldFBpeAohICAqKgohICAqKiBHaXZlbiAoaW5mbyksIHNldCB0aGUgcGl4ZWwg
YXQgKHgpLCh5KSB0byAodmFsKSAKISAgKioKISAgKi8KISAgc3RhdGljIHZvaWQKISAgYm1w
X1NldFBpeChCTVBfSU5GTyAqaW5mbywgaW50IHgsIGludCB5LCB1X2NoYXIgdmFsKQohICB7
CiEgICAgICBpbnQJCXNvZnMsIGJvZnM7CiEgICAgICB1X2NoYXIJdHB2LCBtYXNrOwohICAg
ICAgaW50CQlwcGIgPSAoOCAvIGluZm8tPnNkZXB0aCk7CS8qIHBpeGVscyBwZXIgYnl0ZSAq
LwohICAKISAgICAgIC8qCiEgICAgICAgKiByYW5nZSBjaGVjayB0byBhdm9pZCBleHBsb3Np
b25zCiEgICAgICAgKi8KISAgICAgIGlmICgoeCA8IDApIHx8ICh4ID49IGluZm8tPnN3aWR0
aCkgfHwgKHkgPCAwKSB8fCAoeSA+PSBpbmZvLT5zaGVpZ2h0KSkKICAJcmV0dXJuOwohICAg
ICAgCiEgICAgICAvKiAKISAgICAgICAqIGNhbGN1bGF0ZSBvZmZzZXQgaW50byB2aWRlbyBt
ZW1vcnk7CiEgICAgICAgKiBiZWNhdXNlIDAsMCBpcyBib3R0b20tbGVmdCBmb3IgRElCLCB3
ZSBoYXZlIHRvIGNvbnZlcnQuCiEgICAgICAgKi8KISAgICAgIHNvZnMgPSAoKGluZm8tPmhl
aWdodCAtICh5KzEpKSAqIGluZm8tPnN3aWR0aCkgKyB4OwohICAKISAgICAgIHN3aXRjaChp
bmZvLT5zZGVwdGgpIHsKISAgICAgIGNhc2UgMToKISAgCXNvZnMgPSBzb2ZzID4+IDM7CQkJ
LyogY29ycmVjdCBmb3IgZGVwdGggKi8KISAgCWJvZnMgPSB4ICYgMHg3OwkJCQkvKiBvZmZz
ZXQgd2l0aGluIGJ5dGUgKi8KISAgCQohICAJdmFsICY9IDE7CQkJCQkvKiBtYXNrIHBpeGVs
IHZhbHVlICovCiEgCW1hc2sgPSB+KDB4ODAgPj4gYm9mcyk7CQkJCS8qIGNhbGN1bGF0ZSBi
aXQgbWFzayAqLwohICAJdHB2ID0gKihpbmZvLT52aWRtZW0rc29mcykgJiBtYXNrOwkJLyog
Z2V0IHNjcmVlbiBjb250ZW50cywgZXhjbHVkaW5nIG1hc2tlZCBiaXQgKi8KISAgCSooaW5m
by0+dmlkbWVtK3NvZnMpID0gdHB2IHwgKHZhbCA8PCAoOC1ib2ZzKSk7CS8qIHdyaXRlIG5l
dyBiaXQgKi8KISAgCWJyZWFrOwohICAKISAJLyogWFhYIG9ubHkgY29ycmVjdCBmb3Igbm9u
LWludGVybGVhdmVkIG1vZGVzICovCiEgICAgICBjYXNlIDQ6CiEgIAlzb2ZzID0gc29mcyA+
PiAxOwkJCS8qIGNvcnJlY3QgZm9yIGRlcHRoICovCiEgIAlib2ZzID0geCAmIDB4MTsJCQkJ
Lyogb2Zmc2V0IHdpdGhpbiBieXRlICovCiEgIAkKISAgCXZhbCAmPSAweGY7CQkJCQkJLyog
bWFzayBwaXhlbCB2YWx1ZSAqLwohICAJbWFzayA9IGJvZnMgPyAweDBmIDogMHhmMDsJCQkJ
LyogY2FsY3VsYXRlIGJpdCBtYXNrICovCiEgIAl0cHYgPSAqKGluZm8tPnZpZG1lbStzb2Zz
KSAmIG1hc2s7CQkJLyogZ2V0IHNjcmVlbiBjb250ZW50cywgZXhjbHVkaW5nIG1hc2tlZCBi
aXRzICovCiEgIAkqKGluZm8tPnZpZG1lbStzb2ZzKSA9IHRwdiB8ICh2YWwgPDwgKGJvZnMg
PyAwIDogNCkpOwkvKiB3cml0ZSBuZXcgYml0cyAqLwohICAJYnJlYWs7CiEgIAkKISAgICAg
IGNhc2UgODoKISAgCSooaW5mby0+dmlkbWVtK3NvZnMpID0gdmFsOwohICAJYnJlYWs7CiEg
ICAgICB9CiEgIH0KISAgICAgIAohICAvKgohICAqKiBibXBfRGVjb2RlUkxFNAohICAqKgoh
ICAqKiBHaXZlbiAoZGF0YSkgcG9pbnRpbmcgdG8gYSBsaW5lIG9mIFJMRTQtZm9ybWF0IGRh
dGEgYW5kIChsaW5lKSBiZWluZyB0aGUgc3RhcnRpbmcKISAgKiogbGluZSBvbnNjcmVlbiwg
ZGVjb2RlIHRoZSBsaW5lLgohICAqLwohICBzdGF0aWMgdm9pZAohICBibXBfRGVjb2RlUkxF
NChCTVBfSU5GTyAqaW5mbywgaW50IGxpbmUpCiEgIHsKISAgICAgIGludAkJY291bnQ7CQkv
KiBydW4gY291bnQgKi8KISAgICAgIHVfY2hhcgl2YWw7CiEgICAgICBpbnQJCXgseTsJCS8q
IHNjcmVlbiBwb3NpdGlvbiAqLwohICAgICAKISAgICAgIHggPSAwOwkJCS8qIHN0YXJ0aW5n
IHBvc2l0aW9uICovCiEgICAgICB5ID0gbGluZTsKISAgICAgIAohICAgICAgLyogbG9vcCBy
ZWFkaW5nIGRhdGEgKi8KISAgICAgIGZvcig7OykgewohICAJLyoKISAJICogZW5jb2RlZCBt
b2RlIHN0YXJ0cyB3aXRoIGEgcnVuIGxlbmd0aCwgYW5kIHRoZW4gYSBieXRlIHdpdGgKISAg
CSAqIHR3byBjb2xvdXIgaW5kZXhlcyB0byBhbHRlcm5hdGUgYmV0d2VlbiBmb3IgdGhlIHJ1
bgohICAJICovCiEgIAlpZiAoKmluZm8tPmluZGV4KSB7CiEgIAkgICAgZm9yIChjb3VudCA9
IDA7IGNvdW50IDwgKmluZm8tPmluZGV4OyBjb3VudCsrLCB4KyspIHsKISAgCQlpZiAoY291
bnQgJiAxKSB7CQkvKiBvZGQgY291bnQsIGxvdyBueWJibGUgKi8KISAgCQkgICAgYm1wX1Nl
dFBpeChpbmZvLCB4LCB5LCAqKGluZm8tPmluZGV4KzEpICYgMHgwZik7CiEgIAkJfSBlbHNl
IHsJCQkvKiBldmVuIGNvdW50LCBoaWdoIG55YmJsZSAqLwohICAJCSAgICBibXBfU2V0UGl4
KGluZm8sIHgsIHksICgqKGluZm8tPmluZGV4KzEpID4+NCkgJiAweDBmKTsKISAJCX0KISAg
CSAgICB9CiEgIAkgICAgaW5mby0+aW5kZXggKz0gMjsKISAgICAgICAgICAvKiAKISAgCSAq
IEEgbGVhZGluZyB6ZXJvIGlzIGFuIGVzY2FwZTsgaXQgbWF5IHNpZ25hbCB0aGUgZW5kIG9m
IHRoZSAKISAgCSAqIGJpdG1hcCwgYSBjdXJzb3IgbW92ZSwgb3Igc29tZSBhYnNvbHV0ZSBk
YXRhLgohICAJICovCiEgIAl9IGVsc2UgewkvKiB6ZXJvIHRhZyBtYXkgYmUgYWJzb2x1dGUg
bW9kZSBvciBhbiBlc2NhcGUgKi8KISAgCSAgICBzd2l0Y2goKihpbmZvLT5pbmRleCsxKSkg
ewohICAJICAgIGNhc2UgMDoJCQkJLyogZW5kIG9mIGxpbmUgKi8KISAgCQlpbmZvLT5pbmRl
eCArPSAyOwohICAJCXJldHVybjsKISAgCSAgICBjYXNlIDE6CQkJCS8qIGVuZCBvZiBiaXRt
YXAgKi8KISAgCQlpbmZvLT5pbmRleCA9IE5VTEw7CiEgCQlyZXR1cm47CiEgIAkgICAgY2Fz
ZSAyOgkJCQkvKiBtb3ZlICovCiEgIAkJeCArPSAqKGluZm8tPmluZGV4ICsgMik7CS8qIG5l
dyBjb29yZHMgKi8KISAgCQl5ICs9ICooaW5mby0+aW5kZXggKyAzKTsKISAgCQlpbmZvLT5p
bmRleCArPSA0OwohICAJCWJyZWFrOwohICAJICAgIGRlZmF1bHQ6CQkJCS8qIGxpdGVyYWwg
Yml0bWFwIGRhdGEgKi8KISAgCQlmb3IgKGNvdW50ID0gMDsgY291bnQgPCAqKGluZm8tPmlu
ZGV4ICsgMSk7IGNvdW50KyssIHgrKykgewohICAJCSAgICB2YWwgPSAqKGluZm8tPmluZGV4
ICsgMiArIChjb3VudCAvIDIpKTsJLyogYnl0ZSB3aXRoIG55YmJsZXMgKi8KISAgCQkgICAg
aWYgKGNvdW50ICYgMSkgewohICAJCQl2YWwgJj0gMHhmOwkJLyogZ2V0IGxvdyBueWJibGUg
Ki8KISAgCQkgICAgfSBlbHNlIHsKISAgCQkJdmFsID0gKHZhbCA+PiA0KTsJLyogZ2V0IGhp
Z2ggbnliYmxlICovCiEgCQkgICAgfQohICAJCSAgICBibXBfU2V0UGl4KGluZm8sIHgsIHks
IHZhbCk7CiEgIAkJfQohICAJCS8qIHdhcm5pbmcsIHRoaXMgZGVwZW5kcyBvbiBpbnRlZ2Vy
IHRydW5jYXRpb24sIGRvIG5vdCBoYW5kLW9wdGltaXNlISAqLwohICAJCWluZm8tPmluZGV4
ICs9IDIgKyAoKGNvdW50ICsgMykgLyA0KSAqIDI7CiEgIAkJYnJlYWs7CiEgIAkgICAgfQoh
ICAJfQohICAgICAgfQohICB9CiEgIAohICAvKgohICAqKiBibXBfRGVjb2RlUkxFOAohICAq
KiBHaXZlbiAoZGF0YSkgcG9pbnRpbmcgdG8gYSBsaW5lIG9mIFJMRTQtZm9ybWF0IGRhdGEg
YW5kIChsaW5lKSBiZWluZyB0aGUgc3RhcnRpbmcKISAgKiogbGluZSBvbnNjcmVlbiwgZGVj
b2RlIHRoZSBsaW5lLgohICAqLwohICBzdGF0aWMgdm9pZAohICBibXBfRGVjb2RlUkxFOChC
TVBfSU5GTyAqaW5mbywgaW50IGxpbmUpCiEgIHsKISAgICAgIGludAkJY291bnQ7CQkvKiBy
dW4gY291bnQgKi8KISAgICAgIGludAkJeCx5OwkJLyogc2NyZWVuIHBvc2l0aW9uICovCiEg
ICAgICAKISAgICAgIHggPSAwOwkJCS8qIHN0YXJ0aW5nIHBvc2l0aW9uICovCiEgICAgICB5
ID0gbGluZTsKISAgICAgIAohICAgICAgLyogbG9vcCByZWFkaW5nIGRhdGEgKi8KISAgICAg
IGZvcig7OykgewohICAJLyoKISAgCSAqIGVuY29kZWQgbW9kZSBzdGFydHMgd2l0aCBhIHJ1
biBsZW5ndGgsIGFuZCB0aGVuIGEgYnl0ZSB3aXRoCiEgIAkgKiB0d28gY29sb3VyIGluZGV4
ZXMgdG8gYWx0ZXJuYXRlIGJldHdlZW4gZm9yIHRoZSBydW4KISAgCSAqLwohICAJaWYgKCpp
bmZvLT5pbmRleCkgewohICAJICAgIGZvciAoY291bnQgPSAwOyBjb3VudCA8ICppbmZvLT5p
bmRleDsgY291bnQrKywgeCsrKQohICAJCWJtcF9TZXRQaXgoaW5mbywgeCwgeSwgKihpbmZv
LT5pbmRleCsxKSk7CiEgIAkgICAgaW5mby0+aW5kZXggKz0gMjsKISAgICAgICAgICAvKiAK
ISAgCSAqIEEgbGVhZGluZyB6ZXJvIGlzIGFuIGVzY2FwZTsgaXQgbWF5IHNpZ25hbCB0aGUg
ZW5kIG9mIHRoZSAKISAgCSAqIGJpdG1hcCwgYSBjdXJzb3IgbW92ZSwgb3Igc29tZSBhYnNv
bHV0ZSBkYXRhLgohICAJICovCiEgIAl9IGVsc2UgewkvKiB6ZXJvIHRhZyBtYXkgYmUgYWJz
b2x1dGUgbW9kZSBvciBhbiBlc2NhcGUgKi8KISAgCSAgICBzd2l0Y2goKihpbmZvLT5pbmRl
eCsxKSkgewohICAJICAgIGNhc2UgMDoJCQkJLyogZW5kIG9mIGxpbmUgKi8KISAgCQlpbmZv
LT5pbmRleCArPSAyOwohICAJCXJldHVybjsKISAgCSAgICBjYXNlIDE6CQkJCS8qIGVuZCBv
ZiBiaXRtYXAgKi8KISAJCWluZm8tPmluZGV4ID0gTlVMTDsKISAgCQlyZXR1cm47CiEgCSAg
ICBjYXNlIDI6CQkJCS8qIG1vdmUgKi8KISAgCQl4ICs9ICooaW5mby0+aW5kZXggKyAyKTsJ
LyogbmV3IGNvb3JkcyAqLwohICAJCXkgKz0gKihpbmZvLT5pbmRleCArIDMpOwohICAJCWlu
Zm8tPmluZGV4ICs9IDQ7CiEgIAkJYnJlYWs7CiEgIAkgICAgZGVmYXVsdDoJCQkJLyogbGl0
ZXJhbCBiaXRtYXAgZGF0YSAqLwohICAJCWZvciAoY291bnQgPSAwOyBjb3VudCA8ICooaW5m
by0+aW5kZXggKyAxKTsgY291bnQrKywgeCsrKQohICAJCSAgICBibXBfU2V0UGl4KGluZm8s
IHgsIHksICooaW5mby0+aW5kZXggKyAyICsgY291bnQpKTsKISAgCQkvKiBtdXN0IGJlIGFu
IGV2ZW4gY291bnQgKi8KISAgCQlpbmZvLT5pbmRleCArPSAyICsgY291bnQgKyAoY291bnQg
JiAxKTsKISAgCQlicmVhazsKISAgCSAgICB9CiEgIAl9CiEgICAgICB9CiEgIH0KISAgCiEg
IC8qCiEgICoqIGJtcF9EZWNvZGVMaW5lCiEgICoqCiEgICoqIEdpdmVuIChpbmZvKSBwb2lu
dGluZyB0byBhbiBpbWFnZSBiZWluZyBkZWNvZGVkLCAobGluZSkgYmVpbmcgdGhlIGxpbmUg
Y3VycmVudGx5CiEgICoqIGJlaW5nIGRpc3BsYXllZCwgZGVjb2RlIGEgbGluZSBvZiBkYXRh
LgohICovCiEgIHN0YXRpYyB2b2lkCiEgIGJtcF9EZWNvZGVMaW5lKEJNUF9JTkZPICppbmZv
LCBpbnQgbGluZSkKISAgewohICAgICAgaW50CQl4OwohICAKISAgICAgIHN3aXRjaChpbmZv
LT5mb3JtYXQpIHsKISAgICAgIGNhc2UgQklfUkdCOgohICAJZm9yICh4ID0gMDsgeCA8IGlu
Zm8tPndpZHRoOyB4KyssIGluZm8tPmluZGV4KyspCiEgIAkgICAgYm1wX1NldFBpeChpbmZv
LCB4LCBsaW5lLCAqaW5mby0+aW5kZXgpOwohICAJYnJlYWs7CiEgICAgICBjYXNlIEJJX1JM
RTQ6CiEgIAlibXBfRGVjb2RlUkxFNChpbmZvLCBsaW5lKTsKISAgCWJyZWFrOwohICAgICAg
Y2FzZSBCSV9STEU4OgohICAJYm1wX0RlY29kZVJMRTgoaW5mbywgbGluZSk7CiEgIAlicmVh
azsKISAgICAgIH0KISAgfQohICAKISAgLyoKISAgKiogYm1wX0luaXQKISAgKioKISAgKiog
R2l2ZW4gYSBwb2ludGVyIChkYXRhKSB0byB0aGUgaW1hZ2Ugb2YgYSBCTVAgZmlsZSwgZmls
bCBpbiBibXBfaW5mbyB3aXRoIHdoYXQKISAgKiogY2FuIGJlIGxlYXJudCBmcm9tIGl0LiAg
UmV0dXJuIG5vbnplcm8gaWYgdGhlIGZpbGUgaXNuJ3QgdXNhYmxlLgohICAqKgohICAqKiBU
YWtlIHNjcmVlbiBkaW1lbnNpb25zIChzd2lkdGgpLCAoc2hlaWdodCkgYW5kIChzZGVwdGgp
IGFuZCBtYWtlIHN1cmUgd2UKISAgKiogY2FuIHdvcmsgd2l0aCB0aGVzZS4gIFJlbWVtYmVy
IHRoYXQgdGhlIHZpZGVvIG1lbW9yeSBpcyBhdCAodmlkbWVtKQohICAqLwohICBzdGF0aWMg
aW50CiEgYm1wX0luaXQoY29uc3QgY2hhciAqZGF0YSwgaW50IHN3aWR0aCwgaW50IHNoZWln
aHQsIGludCBzZGVwdGgsIHVfY2hhciAqdmlkbWVtKQohICB7CiEgICAgICBCSVRNQVBGCSpi
bWYgPSAoQklUTUFQRiAqKWRhdGE7CiEgICAgICBpbnQJCXBpbmQ7CiEgIAohICAgICAgYm1w
X2luZm8uZGF0YSA9IE5VTEw7CS8qIGFzc3VtZSBzZXR1cCBmYWlsZWQgKi8KISAgICAgIGJt
cF9pbmZvLnZpZG1lbSA9IHZpZG1lbTsJLyogcmVtZW1iZXIgd2hlcmUgKi8KISAgCiEgICAg
ICAvKiBjaGVjayBmaWxlIElEICovCiEgICAgICBpZiAoYm1mLT5ibWZoLmJmVHlwZSAhPSAw
eDRkNDIpIHsKISAgCXJldHVybigxKTsJCS8qIFhYWCBjaGVjayB3b3JkIG9yZGVyaW5nIGZv
ciBiaWctZW5kaWFuIHBvcnRzPyAqLwohICAgICAgfQohICAKISAgICAgIC8qIHNhdmUgd2hh
dCB3ZSBrbm93IGFib3V0IHRoZSBzY3JlZW4gKi8KISAgICAgIGJtcF9pbmZvLnN3aWR0aCA9
IHN3aWR0aDsKISAgICAgIGJtcF9pbmZvLnNoZWlnaHQgPSBzaGVpZ2h0OwohICAgICAgYm1w
X2luZm8uc2RlcHRoID0gc2RlcHRoOwohICAKISAgICAgIC8qIHdoZXJlJ3MgdGhlIGRhdGE/
ICovCiEgICAgICBibXBfaW5mby5kYXRhID0gKHVfY2hhciAqKWRhdGEgKyBibWYtPmJtZmgu
YmZPZmZCaXRzOwohICAKISAgICAgIC8qIGltYWdlIHBhcmFtZXRlcnMgKi8KISAgICAgIGJt
cF9pbmZvLndpZHRoID0gYm1mLT5ibWZpLmJtaUhlYWRlci5iaVdpZHRoOwohICAgICAgYm1w
X2luZm8uaGVpZ2h0ID0gYm1mLT5ibWZpLmJtaUhlYWRlci5iaUhlaWdodDsKISAgICAgIGJt
cF9pbmZvLmZvcm1hdCA9IGJtZi0+Ym1maS5ibWlIZWFkZXIuYmlDb21wcmVzc2lvbjsKISAg
CiEgICAgICBzd2l0Y2goYm1wX2luZm8uZm9ybWF0KSB7CS8qIGNoZWNrIGNvbXByZXNzaW9u
IGZvcm1hdCAqLwohICAgICAgY2FzZSBCSV9SR0I6CiEgICAgICBjYXNlIEJJX1JMRTQ6CiEg
ICAgICBjYXNlIEJJX1JMRTg6CiEgIAlicmVhazsKISAgICAgIGRlZmF1bHQ6CiEgIAlyZXR1
cm4oMSk7CQkvKiB1bnN1cHBvcnRlZCBjb21wcmVzc2lvbiBmb3JtYXQgKi8KISAgICAgIH0K
ISAgICAgIAohICAgICAgLyogcGFsZXR0ZSBkZXRhaWxzICovCiEgICAgICBibXBfaW5mby5u
Y29scyA9IChibWYtPmJtZmkuYm1pSGVhZGVyLmJpQ2xyVXNlZCk7CiEgICAgICBiemVybyhi
bXBfaW5mby5wYWxldHRlLHNpemVvZihibXBfaW5mby5wYWxldHRlKSk7CiEgICAgICBpZiAo
Ym1wX2luZm8ubmNvbHMgPT0gMCkgewkvKiB1c2VzIGFsbCBvZiB0aGVtICovCiEgCWJtcF9p
bmZvLm5jb2xzID0gMiA8PCBibWYtPmJtZmkuYm1pSGVhZGVyLmJpQml0Q291bnQ7CiEgICAg
ICB9CiEgICAgICBpZiAoKGJtcF9pbmZvLmhlaWdodCA+IGJtcF9pbmZvLnNoZWlnaHQpIHx8
CiEgIAkoYm1wX2luZm8ud2lkdGggPiBibXBfaW5mby5zd2lkdGgpIHx8CiEgIAkoYm1wX2lu
Zm8ubmNvbHMgPiAoMSA8PCBzZGVwdGgpKSkgewohICAJICAgIHJldHVybigxKTsJCS8qIGJl
eW9uZCBzY3JlZW4gY2FwYWNpdHkgKi8KISAgICAgIH0KISAgCiEgICAgICAvKiByZWFkIHBh
bGV0dGUgKi8KISAgICAgIGZvciAocGluZCA9IDA7IHBpbmQgPCBibXBfaW5mby5uY29sczsg
cGluZCsrKSB7CiEgIAlibXBfaW5mby5wYWxldHRlW3BpbmRdWzBdID0gKGJtZi0+Ym1maS5i
bWlDb2xvcnNbcGluZF0ucmdiUmVkID4+Mik7CiEgIAlibXBfaW5mby5wYWxldHRlW3BpbmRd
WzFdID0gKGJtZi0+Ym1maS5ibWlDb2xvcnNbcGluZF0ucmdiR3JlZW4gPj4yKTsKISAgCWJt
cF9pbmZvLnBhbGV0dGVbcGluZF1bMl0gPSAoYm1mLT5ibWZpLmJtaUNvbG9yc1twaW5kXS5y
Z2JCbHVlID4+Mik7CiEgICAgICB9CiEgICAgICByZXR1cm4oMCk7CiEgIH0KISAgCiEgIC8q
CiEgICoqIGJtcF9EcmF3CiEgICoqCiEgICoqIFJlbmRlciB0aGUgaW1hZ2UuICBSZXR1cm4g
bm9uemVybyBpZiB0aGF0J3Mgbm90IHBvc3NpYmxlLgohICAqKgohICAqLwohICBzdGF0aWMg
aW50CiEgIGJtcF9EcmF3KHZvaWQpCiEgIHsKISAgICAgIGludAkJbGluZSwgaTsKISAgCiEg
ICAgICBpZiAoYm1wX2luZm8uZGF0YSA9PSBOVUxMKSB7CS8qIGluaXQgZmFpbGVkLCBkbyBu
b3RoaW5nICovCiEgIAlyZXR1cm4oMSk7CiEgICAgICB9CiEgICAgICAKISAgICAgIC8qIGlu
aXRpYWxpc2UgdGhlIGluZm8gc3RydWN0dXJlIGZvciBkcmF3aW5nICovCiEgICAgICBibXBf
aW5mby5pbmRleCA9IGJtcF9pbmZvLmRhdGE7CiEgICAgICAKISAgICAgIC8qIHNldCB0aGUg
cGFsZXR0ZSBmb3Igb3VyIGltYWdlICovCiEgICAgICBsb2FkX3BhbGV0dGUoKHVfY2hhciAq
KSZibXBfaW5mby5wYWxldHRlKTsKISAgCiEgICAgICBmb3IgKGxpbmUgPSAwOyAobGluZSA8
IGJtcF9pbmZvLmhlaWdodCkgJiYgYm1wX2luZm8uaW5kZXg7IGxpbmUrKykgewohICAJYm1w
X0RlY29kZUxpbmUoJmJtcF9pbmZvLCBsaW5lKTsKISAgICAgIH0KISAgICAgIHJldHVybigw
KTsKISAgfQohICAKISAgCiEgI2VuZGlmIC8qIFNDX1NQTEFTSF9TQ1JFRU4gKi8KISAgCiAg
I2VuZGlmIC8qIE5TQyAqLwo=

--===_0_Wed_May__7_00:41:22_PDT_1997--





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705070741.AAA00297>