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>