⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 170

📁 Unix/Linux 网络时间协议版本3 Network Time Protocol Version 3 (NTP) distribution for Unix systems
💻
📖 第 1 页 / 共 2 页
字号:
ICAgICAgZm9yIChpID0gMDsgaSA8PSBDRVZOVF9NQVg7IGkrKykNCiAgCXsNCiEgCSAgdV9sb25nIHN0aW1lOw0KISAJICB1X2xvbmcgcGVyY2VudCwgZGl2ID0gY3VycmVudF90aW1lIC0gcGFyc2UtPmdlbmVyaWMtPnRpbWVzdGFydGVkOw0KICANCiAgCSAgcGVyY2VudCA9IHN0aW1lID0gUEFSU0VfU1RBVEVUSU1FKHBhcnNlLCBpKTsNCiAgDQoqKioqKioqKioqKioqKioNCioqKiAyNTU0LDI1NjIgKioqKg0KICAgKi8NCiAgc3RhdGljIHZvaWQNCiAgY3BhcnNlX3N0YXRpc3RpY3MocGVlcikNCiEgICByZWdpc3RlciBzdHJ1Y3QgcGVlciAqcGVlcjsNCiAgew0KISAgIHJlZ2lzdGVyIHN0cnVjdCBwYXJzZXVuaXQgKnBhcnNlID0gKHN0cnVjdCBwYXJzZXVuaXQgKilwZWVyOw0KICANCiAgICBwYXJzZV9zdGF0aXN0aWNzKHBhcnNlKTsNCiAgICBwYXJzZS0+c3RhdHRpbWVyLmV2ZW50X3RpbWUgICAgPSBjdXJyZW50X3RpbWUgKyBQQVJTRVNUQVRJU1RJQ1M7DQotLS0gMjU1MywyNTYxIC0tLS0NCiAgICovDQogIHN0YXRpYyB2b2lkDQogIGNwYXJzZV9zdGF0aXN0aWNzKHBlZXIpDQohICAgc3RydWN0IHBlZXIgKnBlZXI7DQogIHsNCiEgICBzdHJ1Y3QgcGFyc2V1bml0ICpwYXJzZSA9IChzdHJ1Y3QgcGFyc2V1bml0ICopcGVlcjsNCiAgDQogICAgcGFyc2Vfc3RhdGlzdGljcyhwYXJzZSk7DQogICAgcGFyc2UtPnN0YXR0aW1lci5ldmVudF90aW1lICAgID0gY3VycmVudF90aW1lICsgUEFSU0VTVEFUSVNUSUNTOw0KKioqKioqKioqKioqKioqDQoqKiogMjU4NSwyNTkxICoqKioNCiAgICAgICBpbnQgdW5pdDsNCiAgICAgICBzdHJ1Y3QgcGVlciAqcGVlcjsNCiAgew0KISAgIHJlZ2lzdGVyIHN0cnVjdCBwYXJzZXVuaXQgKnBhcnNlOw0KICANCiAgICB1bml0ID0gQ0xLX1VOSVQocGVlcik7DQogIAkNCi0tLSAyNTg0LDI1OTAgLS0tLQ0KICAgICAgIGludCB1bml0Ow0KICAgICAgIHN0cnVjdCBwZWVyICpwZWVyOw0KICB7DQohICAgc3RydWN0IHBhcnNldW5pdCAqcGFyc2U7DQogIA0KICAgIHVuaXQgPSBDTEtfVU5JVChwZWVyKTsNCiAgCQ0KKioqKioqKioqKioqKioqDQoqKiogMzA1NSwzMDYxICoqKioNCiAgCWludCB1bml0Ow0KICAJc3RydWN0IHBlZXIgKnBlZXI7DQogIHsNCiEgICByZWdpc3RlciBzdHJ1Y3QgcGFyc2V1bml0ICpwYXJzZTsNCiAgDQogICAgdW5pdCA9IENMS19VTklUKHBlZXIpOw0KICANCi0tLSAzMDU0LDMwNjAgLS0tLQ0KICAJaW50IHVuaXQ7DQogIAlzdHJ1Y3QgcGVlciAqcGVlcjsNCiAgew0KISAgIHN0cnVjdCBwYXJzZXVuaXQgKnBhcnNlOw0KICANCiAgICB1bml0ID0gQ0xLX1VOSVQocGVlcik7DQogIA0KKioqKioqKioqKioqKioqDQoqKiogMzEyMSwzMTI2ICoqKioNCi0tLSAzMTIwLDMxMjcgLS0tLQ0KICAgIFBBUlNFX1BPTEwocGFyc2UpOw0KICB9DQogIA0KKyAjZGVmaW5lIExFTl9TVEFURVMgMzAwCQkvKiBsZW5ndGggb2Ygc3RhdGUgc3RyaW5nICovDQorIA0KICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAqIHBhcnNlX2NvbnRyb2wgLSBzZXQgZnVkZ2UgZmFjdG9ycywgcmV0dXJuIHN0YXRpc3RpY3MNCiAgICovDQoqKioqKioqKioqKioqKioNCioqKiAzMTMwLDMxMzkgKioqKg0KICAgIHN0cnVjdCByZWZjbG9ja3N0YXQgKmluOw0KICAgIHN0cnVjdCByZWZjbG9ja3N0YXQgKm91dDsNCiAgew0KISAgIHJlZ2lzdGVyIHN0cnVjdCBwYXJzZXVuaXQgKnBhcnNlOw0KICAgIHBhcnNlY3RsX3QgdG1wY3RsOw0KICAgIHVfbG9uZyB0eXBlOw0KICAgIHN0YXRpYyBjaGFyIG91dHN0YXR1c1s0MDBdOwkvKiBzdGF0dXMgb3V0cHV0IGJ1ZmZlciAqLw0KICANCiAgICBpZiAob3V0KQ0KICAgICAgew0KLS0tIDMxMzEsMzE0MSAtLS0tDQogICAgc3RydWN0IHJlZmNsb2Nrc3RhdCAqaW47DQogICAgc3RydWN0IHJlZmNsb2Nrc3RhdCAqb3V0Ow0KICB7DQohICAgc3RydWN0IHBhcnNldW5pdCAqcGFyc2U7DQogICAgcGFyc2VjdGxfdCB0bXBjdGw7DQogICAgdV9sb25nIHR5cGU7DQogICAgc3RhdGljIGNoYXIgb3V0c3RhdHVzWzQwMF07CS8qIHN0YXR1cyBvdXRwdXQgYnVmZmVyICovDQorICAgY2hhciAqc3RhcnQ7DQogIA0KICAgIGlmIChvdXQpDQogICAgICB7DQoqKioqKioqKioqKioqKioNCioqKiAzMTc2LDMxODcgKioqKg0KICANCiAgICBpZiAob3V0KQ0KICAgICAgew0KISAgICAgICByZWdpc3RlciB1X2xvbmcgc3VtID0gMDsNCiEgICAgICAgcmVnaXN0ZXIgY2hhciAqdCwgKnR0Ow0KISAgICAgICByZWdpc3RlciBzdHJ1Y3QgdG0gKnRtOw0KISAgICAgICByZWdpc3RlciBzaG9ydCB1dGNvZmY7DQohICAgICAgIHJlZ2lzdGVyIGNoYXIgc2lnbjsNCiEgICAgICAgcmVnaXN0ZXIgaW50IGk7DQogICAgICAgIHRpbWVfdCB0aW07DQogIA0KICAgICAgICBvdXRzdGF0dXNbMF0gPSAnXDAnOw0KLS0tIDMxNzgsMzE4OSAtLS0tDQogIA0KICAgIGlmIChvdXQpDQogICAgICB7DQohICAgICAgIHVfbG9uZyBzdW0gPSAwOw0KISAgICAgICBjaGFyICp0LCAqdHQ7DQohICAgICAgIHN0cnVjdCB0bSAqdG07DQohICAgICAgIHNob3J0IHV0Y29mZjsNCiEgICAgICAgY2hhciBzaWduOw0KISAgICAgICBpbnQgaTsNCiAgICAgICAgdGltZV90IHRpbTsNCiAgDQogICAgICAgIG91dHN0YXR1c1swXSA9ICdcMCc7DQoqKioqKioqKioqKioqKioNCioqKiAzMzA0LDMzMTkgKioqKg0KICAgICAgICAgKiBnYXRoZXIgc3RhdGUgc3RhdGlzdGljcw0KICAgICAgICAgKi8NCiAgDQohICAgICAgIHR0ID0gYWRkX3Zhcigmb3V0LT5rdl9saXN0LCAyMDAsIFJPfERFRik7DQogICAgICAgIHN0cmNweSh0dCwgInJlZmNsb2NrX3N0YXRlcz1cIiIpOw0KICAgICAgICB0dCArPSBzdHJsZW4odHQpOw0KICANCiAgICAgICAgZm9yIChpID0gMDsgaSA8PSBDRVZOVF9NQVg7IGkrKykNCiAgCXsNCiEgCSAgcmVnaXN0ZXIgdV9sb25nIHN0aW1lOw0KISAJICByZWdpc3RlciB1X2xvbmcgZGl2ID0gY3VycmVudF90aW1lIC0gcGFyc2UtPmdlbmVyaWMtPnRpbWVzdGFydGVkOw0KISAJICByZWdpc3RlciB1X2xvbmcgcGVyY2VudDsNCiEgCQ0KICAJICBwZXJjZW50ID0gc3RpbWUgPSBQQVJTRV9TVEFURVRJTUUocGFyc2UsIGkpOw0KICANCiAgCSAgd2hpbGUgKCgodV9sb25nKSh+MCkgLyAxMDAwMCkgPCBwZXJjZW50KQ0KLS0tIDMzMDYsMzMyMSAtLS0tDQogICAgICAgICAqIGdhdGhlciBzdGF0ZSBzdGF0aXN0aWNzDQogICAgICAgICAqLw0KICANCiEgICAgICAgc3RhcnQgPSB0dCA9IGFkZF92YXIoJm91dC0+a3ZfbGlzdCwgTEVOX1NUQVRFUywgUk98REVGKTsNCiAgICAgICAgc3RyY3B5KHR0LCAicmVmY2xvY2tfc3RhdGVzPVwiIik7DQogICAgICAgIHR0ICs9IHN0cmxlbih0dCk7DQogIA0KICAgICAgICBmb3IgKGkgPSAwOyBpIDw9IENFVk5UX01BWDsgaSsrKQ0KICAJew0KISAJICB1X2xvbmcgc3RpbWU7DQohIAkgIHVfbG9uZyBkaXYgPSBjdXJyZW50X3RpbWUgLSBwYXJzZS0+Z2VuZXJpYy0+dGltZXN0YXJ0ZWQ7DQohIAkgIHVfbG9uZyBwZXJjZW50Ow0KISANCiAgCSAgcGVyY2VudCA9IHN0aW1lID0gUEFSU0VfU1RBVEVUSU1FKHBhcnNlLCBpKTsNCiAgDQogIAkgIHdoaWxlICgoKHVfbG9uZykofjApIC8gMTAwMDApIDwgcGVyY2VudCkNCioqKioqKioqKioqKioqKg0KKioqIDMzMjksMzM0MiAqKioqDQogIA0KICAJICBpZiAoc3RpbWUpDQogIAkgICAgew0KISAJICAgICAgc3ByaW50Zih0dCwgIiVzJXMlczogJXMgKCVkLiUwMmQlJSkiLA0KICAJCSAgICAgIHN1bSA/ICI7ICIgOiAiIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIChwYXJzZS0+Z2VuZXJpYy0+Y3VycmVudHN0YXR1cyA9PSBpKSA/ICIqIiA6ICIiLA0KICAJCSAgICAgIGNsb2Nrc3RhdHVzKGkpLA0KICAJCSAgICAgIGxfbWt0aW1lKHN0aW1lKSwNCiAgCQkgICAgICAoaW50KShwZXJjZW50IC8gMTAwKSwgKGludCkocGVyY2VudCAlIDEwMCkpOw0KICAJICAgICAgc3VtICs9IHN0aW1lOw0KLSAJICAgICAgdHQgICs9IHN0cmxlbih0dCk7DQogIAkgICAgfQ0KICAJfQ0KICANCi0tLSAzMzMxLDMzNTEgLS0tLQ0KICANCiAgCSAgaWYgKHN0aW1lKQ0KICAJICAgIHsNCiEgCSAgICAgIGNoYXIgaXRlbVs4MF07DQohIAkgICAgICBpbnQgY291bnQ7DQohIAkgICAgICANCiEgCSAgICAgIHNwcmludGYoaXRlbSwgIiVzJXMlczogJXMgKCVkLiUwMmQlJSkiLA0KICAJCSAgICAgIHN1bSA/ICI7ICIgOiAiIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIChwYXJzZS0+Z2VuZXJpYy0+Y3VycmVudHN0YXR1cyA9PSBpKSA/ICIqIiA6ICIiLA0KICAJCSAgICAgIGNsb2Nrc3RhdHVzKGkpLA0KICAJCSAgICAgIGxfbWt0aW1lKHN0aW1lKSwNCiAgCQkgICAgICAoaW50KShwZXJjZW50IC8gMTAwKSwgKGludCkocGVyY2VudCAlIDEwMCkpOw0KKyAJICAgICAgaWYgKChjb3VudCA9IHN0cmxlbihpdGVtKSkgPCAoTEVOX1NUQVRFUyAtIDQwIC0gKHR0IC0gc3RhcnQpKSkNCisgCQl7DQorIAkJICBzdHJjcHkodHQsIGl0ZW0pOw0KKyAJCSAgdHQgICs9IGNvdW50Ow0KKyAJCX0NCiAgCSAgICAgIHN1bSArPSBzdGltZTsNCiAgCSAgICB9DQogIAl9DQogIA0KKioqKioqKioqKioqKioqDQoqKiogMzM0OSwzMzU1ICoqKioNCiAgICAgICAgc3ByaW50Zih0dCwgInJlZmNsb2NrX2lvbW9kZT1cIiVzXCIiLCBwYXJzZS0+YmluZGluZy0+YmRfZGVzY3JpcHRpb24pOw0KICANCiAgICAgICAgdHQgPSBhZGRfdmFyKCZvdXQtPmt2X2xpc3QsIDEyOCwgUk8pOw0KISAgICAgICBzcHJpbnRmKHR0LCAicmVmY2xvY2tfZHJpdmVyX3ZlcnNpb249XCJyZWZjbG9ja19wYXJzZS5jLHYgMy4xMDEgMTk5Ny8wNC8xMyAxMDowNTozNyBrYXJkZWwgRXhwXCIiKTsNCiAgDQogICAgICAgIG91dC0+bGVuY29kZSAgICAgICA9IHN0cmxlbihvdXRzdGF0dXMpOw0KICAgICAgICBvdXQtPmxhc3Rjb2RlICAgICAgPSBvdXRzdGF0dXM7DQotLS0gMzM1OCwzMzY0IC0tLS0NCiAgICAgICAgc3ByaW50Zih0dCwgInJlZmNsb2NrX2lvbW9kZT1cIiVzXCIiLCBwYXJzZS0+YmluZGluZy0+YmRfZGVzY3JpcHRpb24pOw0KICANCiAgICAgICAgdHQgPSBhZGRfdmFyKCZvdXQtPmt2X2xpc3QsIDEyOCwgUk8pOw0KISAgICAgICBzcHJpbnRmKHR0LCAicmVmY2xvY2tfZHJpdmVyX3ZlcnNpb249XCJyZWZjbG9ja19wYXJzZS5jLHYgMy4xMDMgMTk5Ny8wNy8xMiAxNTozNToxNiBrYXJkZWwgRXhwXCIiKTsNCiAgDQogICAgICAgIG91dC0+bGVuY29kZSAgICAgICA9IHN0cmxlbihvdXRzdGF0dXMpOw0KICAgICAgICBvdXQtPmxhc3Rjb2RlICAgICAgPSBvdXRzdGF0dXM7DQoqKioqKioqKioqKioqKioNCioqKiAzMzgwLDMzODYgKioqKg0KICAgICAgICANCiAgICAgICAgaWYgKGV2ZW50ICE9IENFVk5UX05PTUlOQUwpDQogIAl7DQohIAkgIHBhcnNlLT5sYXN0ZXZlbnQgPSBwYXJzZS0+Z2VuZXJpYy0+Y3VycmVudHN0YXR1czsNCiAgCX0NCiAgICAgICAgZWxzZQ0KICAJew0KLS0tIDMzODksMzM5NSAtLS0tDQogICAgICAgIA0KICAgICAgICBpZiAoZXZlbnQgIT0gQ0VWTlRfTk9NSU5BTCkNCiAgCXsNCiEgCSAgcGFyc2UtPmdlbmVyaWMtPmxhc3RldmVudCA9IHBhcnNlLT5nZW5lcmljLT5jdXJyZW50c3RhdHVzOw0KICAJfQ0KICAgICAgICBlbHNlDQogIAl7DQoqKioqKioqKioqKioqKioNCioqKiAzNDI4LDM0MzQgKioqKg0KICAgICAqLw0KICAgIGlmIChwYXJzZS0+bGFzdHN0YXR1cyAhPSBwYXJzZXRpbWUtPnBhcnNlX3N0YXR1cykNCiAgICAgIHsNCiEgICAgICAgY2hhciBidWZmZXJbMjAwXTsNCiAgDQogICAgICAgIE5MT0coTkxPR19DTE9DS0lORk8pIC8qIGNvbmRpdGlvbmFsIGlmIGNsYXVzZSBmb3IgY29uZGl0aW9uYWwgc3lzbG9nICovDQogIAltc3lzbG9nKExPR19XQVJOSU5HLCAiUEFSU0UgcmVjZWl2ZXIgIyVkOiBjb252ZXJzaW9uIHN0YXR1cyBcIiVzXCIiLA0KLS0tIDM0MzcsMzQ0MyAtLS0tDQogICAgICovDQogICAgaWYgKHBhcnNlLT5sYXN0c3RhdHVzICE9IHBhcnNldGltZS0+cGFyc2Vfc3RhdHVzKQ0KICAgICAgew0KISAgICAgICBjaGFyIGJ1ZmZlcls0MDBdOw0KICANCiAgICAgICAgTkxPRyhOTE9HX0NMT0NLSU5GTykgLyogY29uZGl0aW9uYWwgaWYgY2xhdXNlIGZvciBjb25kaXRpb25hbCBzeXNsb2cgKi8NCiAgCW1zeXNsb2coTE9HX1dBUk5JTkcsICJQQVJTRSByZWNlaXZlciAjJWQ6IGNvbnZlcnNpb24gc3RhdHVzIFwiJXNcIiIsDQoqKioqKioqKioqKioqKioNCioqKiAzODE5LDM4MjcgKioqKg0KICBwb2xsX2Rwb2xsKHBhcnNlKQ0KICAgIHN0cnVjdCBwYXJzZXVuaXQgKnBhcnNlOw0KICB7DQohICAgcmVnaXN0ZXIgaW50IHJ0YzsNCiEgICByZWdpc3RlciBjaGFyICpwcyA9ICgocG9sbF9pbmZvX3QgKilwYXJzZS0+cGFyc2VfdHlwZS0+Y2xfZGF0YSktPnN0cmluZzsNCiEgICByZWdpc3RlciBpbnQgICBjdCA9ICgocG9sbF9pbmZvX3QgKilwYXJzZS0+cGFyc2VfdHlwZS0+Y2xfZGF0YSktPmNvdW50Ow0KICANCiAgICBydGMgPSB3cml0ZShwYXJzZS0+Z2VuZXJpYy0+aW8uZmQsIHBzLCBjdCk7DQogICAgaWYgKHJ0YyA8IDApDQotLS0gMzgyOCwzODM2IC0tLS0NCiAgcG9sbF9kcG9sbChwYXJzZSkNCiAgICBzdHJ1Y3QgcGFyc2V1bml0ICpwYXJzZTsNCiAgew0KISAgIGludCBydGM7DQohICAgY2hhciAqcHMgPSAoKHBvbGxfaW5mb190ICopcGFyc2UtPnBhcnNlX3R5cGUtPmNsX2RhdGEpLT5zdHJpbmc7DQohICAgaW50ICAgY3QgPSAoKHBvbGxfaW5mb190ICopcGFyc2UtPnBhcnNlX3R5cGUtPmNsX2RhdGEpLT5jb3VudDsNCiAgDQogICAgcnRjID0gd3JpdGUocGFyc2UtPmdlbmVyaWMtPmlvLmZkLCBwcywgY3QpOw0KICAgIGlmIChydGMgPCAwKQ0KKioqKioqKioqKioqKioqDQoqKiogMzg0NSwzODUxICoqKioNCiAgcG9sbF9wb2xsKHBhcnNlKQ0KICAgIHN0cnVjdCBwYXJzZXVuaXQgKnBhcnNlOw0KICB7DQohICAgcmVnaXN0ZXIgcG9sbF90aW1lcl90ICpwdCA9IChwb2xsX3RpbWVyX3QgKilwYXJzZS0+bG9jYWxkYXRhOw0KICANCiAgICBwb2xsX2Rwb2xsKHBhcnNlKTsNCiAgDQotLS0gMzg1NCwzODYwIC0tLS0NCiAgcG9sbF9wb2xsKHBhcnNlKQ0KICAgIHN0cnVjdCBwYXJzZXVuaXQgKnBhcnNlOw0KICB7DQohICAgcG9sbF90aW1lcl90ICpwdCA9IChwb2xsX3RpbWVyX3QgKilwYXJzZS0+bG9jYWxkYXRhOw0KICANCiAgICBwb2xsX2Rwb2xsKHBhcnNlKTsNCiAgDQoqKioqKioqKioqKioqKioNCioqKiAzODYzLDM4NjkgKioqKg0KICBwb2xsX2luaXQocGFyc2UpDQogICAgc3RydWN0IHBhcnNldW5pdCAqcGFyc2U7DQogIHsNCiEgICByZWdpc3RlciBwb2xsX3RpbWVyX3QgKnB0Ow0KICANCiAgICBpZiAoKChwb2xsX2luZm9fdCAqKXBhcnNlLT5wYXJzZV90eXBlLT5jbF9kYXRhKS0+cmF0ZSkNCiAgICAgIHsNCi0tLSAzODcyLDM4NzggLS0tLQ0KICBwb2xsX2luaXQocGFyc2UpDQogICAgc3RydWN0IHBhcnNldW5pdCAqcGFyc2U7DQogIHsNCiEgICBwb2xsX3RpbWVyX3QgKnB0Ow0KICANCiAgICBpZiAoKChwb2xsX2luZm9fdCAqKXBhcnNlLT5wYXJzZV90eXBlLT5jbF9kYXRhKS0+cmF0ZSkNCiAgICAgIHsNCioqKioqKioqKioqKioqKg0KKioqIDM5NTgsMzk2OSAqKioqDQogICAgICBjYXNlIENFVk5UX0JBRFJFUExZOgkvKiByZXNldCBvbiBnYXJibGVkIGlucHV0ICovDQogICAgICBjYXNlIENFVk5UX1RJTUVPVVQ6CQkvKiByZXNldCBvbiBubyBpbnB1dCAqLw0KICAgICAgICB7DQohIAlyZWdpc3RlciBjaGFyICoqaXY7DQogIA0KICAJaXYgPSB0YWlwaW5pdDsNCiAgCXdoaWxlICgqaXYpDQogIAkgIHsNCiEgCSAgICByZWdpc3RlciBpbnQgcnRjID0gd3JpdGUocGFyc2UtPmdlbmVyaWMtPmlvLmZkLCAqaXYsIHN0cmxlbigqaXYpKTsNCiAgCSAgICBpZiAocnRjIDwgMCkNCiAgCSAgICAgIHsNCiAgCQltc3lzbG9nKExPR19FUlIsICJQQVJTRSByZWNlaXZlciAjJWQ6IHRyaW1ibGV0YWlwX2V2ZW50OiBmYWlsZWQgdG8gc2VuZCBjbWQgdG8gY2xvY2s6ICVtIiwgQ0xLX1VOSVQocGFyc2UtPnBlZXIpKTsNCi0tLSAzOTY3LDM5NzggLS0tLQ0KICAgICAgY2FzZSBDRVZOVF9CQURSRVBMWToJLyogcmVzZXQgb24gZ2FyYmxlZCBpbnB1dCAqLw0KICAgICAgY2FzZSBDRVZOVF9USU1FT1VUOgkJLyogcmVzZXQgb24gbm8gaW5wdXQgKi8NCiAgICAgICAgew0KISAJY2hhciAqKml2Ow0KICANCiAgCWl2ID0gdGFpcGluaXQ7DQogIAl3aGlsZSAoKml2KQ0KICAJICB7DQohIAkgICAgaW50IHJ0YyA9IHdyaXRlKHBhcnNlLT5nZW5lcmljLT5pby5mZCwgKml2LCBzdHJsZW4oKml2KSk7DQogIAkgICAgaWYgKHJ0YyA8IDApDQogIAkgICAgICB7DQogIAkJbXN5c2xvZyhMT0dfRVJSLCAiUEFSU0UgcmVjZWl2ZXIgIyVkOiB0cmltYmxldGFpcF9ldmVudDogZmFpbGVkIHRvIHNlbmQgY21kIHRvIGNsb2NrOiAlbSIsIENMS19VTklUKHBhcnNlLT5wZWVyKSk7DQoqKioqKioqKioqKioqKioNCioqKiA0MjQ4LDQyNTMgKioqKg0KLS0tIDQyNTcsNDI3MCAtLS0tDQogICAqIEhpc3Rvcnk6DQogICAqDQogICAqIHJlZmNsb2NrX3BhcnNlLmMsdg0KKyAgKiBSZXZpc2lvbiAzLjEwMyAgMTk5Ny8wNy8xMiAxNTozNToxNiAga2FyZGVsDQorICAqIGZpeGVkIGFsbG9jYXRpb24gZmFpbHVyZSBmb3IgcmVmY2xvY2tfc3RhdGVzIHN0cmluZw0KKyAgKg0KKyAgKiBSZXZpc2lvbiAzLjEwMiAgMTk5Ny8wNy8wNiAxNDoxMTo1NSAga2FyZGVsDQorICAqIGluY3JlYWQgaW50ZXJuYWwgYnVmZmVycw0KKyAgKiBjaGFuZ2VkIGZpbHRlciBwYXJhbXRlcnMgZm9yIFBaRjUzNSBhbmQgR1BTMTY2IGZvciBtb3JlIGZpbHRlcmluZw0KKyAgKiByZW1vdmVkIG9sZCB1c2VsZXNzIGNvZGUgZnJhZ21lbnRzDQorICAqDQogICAqIFJldmlzaW9uIDMuMTAxICAxOTk3LzA0LzEzIDEwOjA1OjM3ICBrYXJkZWwNCiAgICogMy41LjkwIHJlY29uY2lsYXRpb24NCiAgICoNCg==--759665152-851401618-875257724=:12041Content-Type: TEXT/PLAIN; charset=US-ASCII; name="patch-xntp3-5.90.4"Content-Transfer-Encoding: BASE64Content-ID: <Pine.HPP.3.96.970926090844.12041C@rkdvmhp1.dvm.klinik.uni-regensburg.de>Content-Description: debugging and PPS fix for refclock_atomLS0tIHhudHAzLTUuOTAuNC94bnRwZC9yZWZjbG9ja19hdG9tLmN+CVdlZCBTZXAgMTAgMjA6MjI6MzkgMTk5Nw0KKysrIHhudHAzLTUuOTAuNC94bnRwZC9yZWZjbG9ja19hdG9tLmMJVGh1IFNlcCAyNSAyMTowNzo0OCAxOTk3DQpAQCAtMTcyLDYgKzE3MiwxMCBAQA0KIAlyZWdpc3RlciBzdHJ1Y3QgYXRvbXVuaXQgKnVwOw0KIAlzdHJ1Y3QgcmVmY2xvY2twcm9jICpwcDsNCiANCisjaWZkZWYJREVCVUcNCisJaWYgKGRlYnVnID4gMCkNCisJCXByaW50ZigiYXRvbV9zdGFydDogdW5pdCAlZFxuIiwgdW5pdCk7DQorI2VuZGlmDQogCS8qDQogCSAqIEFsbG9jYXRlIGFuZCBpbml0aWFsaXplIHVuaXQgc3RydWN0dXJlDQogCSAqLw0KQEAgLTIxOCw2ICsyMjIsMTAgQEANCiAJcmVnaXN0ZXIgc3RydWN0IGF0b211bml0ICp1cDsNCiAJc3RydWN0IHJlZmNsb2NrcHJvYyAqcHA7DQogDQorI2lmZGVmCURFQlVHDQorCWlmIChkZWJ1ZyA+IDApDQorCQlwcmludGYoImF0b21fc2h1dGRvd246IHVuaXQgJWRcbiIsIHVuaXQpOw0KKyNlbmRpZg0KIAlwcCA9IHBlZXItPnByb2NwdHI7DQogCXVwID0gKHN0cnVjdCBhdG9tdW5pdCAqKXBwLT51bml0cHRyOw0KIA0KQEAgLTI0NCw2ICsyNTIsMTAgQEANCiAJaW50IGk7DQogCWxfZnAgbGZ0ZW1wOwkJLyogbF9mcCB0ZW1wcyAqLw0KIA0KKyNpZmRlZglERUJVRw0KKwlpZiAoZGVidWcgPiAyKQ0KKwkJcHJpbnRmKCJwcHNfc2FtcGxlOiBwb2xsY250ICVkXG4iLCB1cC0+cG9sbGNudCk7DQorI2VuZGlmDQogCS8qDQogCSAqIFRoaXMgcm91dGluZSBpcyBjYWxsZWQgb25jZSBwZXIgc2Vjb25kIGJ5IGFuIGF1eGlsbGlhcnkNCiAJICogcm91dGluZSBpbiBhbm90aGVyIGRyaXZlci4gSXQgc2F2ZXMgdGhlIHNpZ24tZXh0ZW5kZWQNCkBAIC0yOTYsNiArMzA4LDExIEBADQogCXBwID0gcGVlci0+cHJvY3B0cjsNCiAJdXAgPSAoc3RydWN0IGF0b211bml0ICopcHAtPnVuaXRwdHI7DQogDQorI2lmZGVmCURFQlVHDQorCWlmIChkZWJ1ZyA+IDMpDQorCQlwcmludGYoImF0b21fcHBzOiBwb2xsY250ICVkLCBmZHBwcyA9ICVkLCBzZXJpYWwgPSAlbGRcbiIsDQorCQkgICAgICAgdXAtPnBvbGxjbnQsIGZkcHBzLCB1cC0+ZXYuc2VyaWFsKTsNCisjZW5kaWYNCiAJLyoNCiAJICogQXJtIHRoZSB0aW1lciBmb3IgdGhlIG5leHQgaW50ZXJydXB0DQogCSAqLw0KQEAgLTM1NCw2ICszNzEsMTEgQEANCiAJdXAgPSAoc3RydWN0IGF0b211bml0ICopcHAtPnVuaXRwdHI7DQogCXBwLT5sZW5jb2RlID0gcmVmY2xvY2tfZ3RsaW4ocmJ1ZnAsIHBwLT5hX2xhc3Rjb2RlLCBCTUFYLA0KIAkgICAgJnBwLT5sYXN0cmVjKTsNCisjaWZkZWYJREVCVUcNCisJaWYgKGRlYnVnID4gMikNCisJCXByaW50ZigiYXRvbV9yZWNlaXZlOiBwb2xsY250ICVkLCBsYXN0cmVjICVsZFxuIiwNCisJCSAgICAgICB1cC0+cG9sbGNudCwgcHAtPmxhc3RyZWMpOw0KKyNlbmRpZg0KIA0KIAkvKg0KIAkgKiBTYXZlIHRoZSB0aW1lc3RhbXAgZm9yIGJpbGxib2FyZHMuIFNpZ24tZXh0ZW5kIHRoZSBmcmFjdGlvbg0KQEAgLTQwMyw2ICs0MjUsMTAgQEANCiAJbF9mcCBvZmZbTUFYU1RBR0VdOw0KIAl1X2ZwIGRpc3A7DQogDQorI2lmZGVmCURFQlVHDQorCWlmIChkZWJ1ZyA+IDIpDQorCQlwcmludGYoImF0b21fcG9sbDogdW5pdCAlZFxuIiwgdW5pdCk7DQorI2VuZGlmDQogCS8qDQogCSAqIEF0IGVhY2ggcG9sbCB3ZSBjaGVjayBmb3IgdGltZW91dC4gQXQgdGhlIGZpcnN0IHRpbWVvdXQgd2UNCiAJICogdGVzdCB0byBzZWUgaWYgdGhlIExESVNDX1BQUyBkaXNjaXBsaW5lIGlzIHByZXNlbnQgYW5kLCBpZg0KQEAgLTQzNiw2ICs0NjIsNyBAQA0KIAkJCQlyZWZjbG9ja19yZXBvcnQocGVlciwgQ0VWTlRfRkFVTFQpOw0KIAkJCQlyZXR1cm47DQogCQkJfQ0KKwkJCWZkcHBzID0gZmQ7CS8qIExpbnV4IGhhY2shISEgKi8NCiAJCQlwcC0+aW8uY2xvY2tfcmVjdiA9IGF0b21fcmVjZWl2ZTsNCiAJCQlwcC0+aW8uc3JjY2xvY2sgPSAoY2FkZHJfdClwZWVyOw0KIAkJCXBwLT5pby5kYXRhbGVuID0gMDsNCg==--759665152-851401618-875257724=:12041--

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -