From mboxrd@z Thu Jan 1 00:00:00 1970 From: Euan Harris Subject: [PATCH v2 2/3] python: Extract registered watch search logic from xspy_read_watch() Date: Thu, 21 Sep 2017 17:47:07 +0100 Message-ID: <1506012428-59769-3-git-send-email-euan.harris@citrix.com> References: <1506012428-59769-1-git-send-email-euan.harris@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dv4dG-0001hJ-OF for xen-devel@lists.xenproject.org; Thu, 21 Sep 2017 16:47:22 +0000 In-Reply-To: <1506012428-59769-1-git-send-email-euan.harris@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Euan Harris , marmarek@invisiblethingslab.com List-Id: xen-devel@lists.xenproject.org V2hlbiBhIHdhdGNoIGZpcmVzLCB4c3B5X3JlYWRfd2F0Y2goKSBjaGVja3Mgd2hldGhlciB0aGUg Y2xpZW50IGhhcwpyZWdpc3RlcmVkIGludGVyZXN0IGluIHRoZSBwYXRoIHdoaWNoIGNoYW5nZWQg YW5kLCBpZiBzbywgcmV0dXJucyB0aGUKcGF0aCBhbmQgYSBjbGllbnQtc3VwcGxpZWQgdG9rZW4u ICAgVGhlIGJpbmRpbmcgZm9yIHhzX2NoZWNrX3dhdGNoKCkKbmVlZHMgdG8gZG8gdGhlIHNhbWUs IHNvIHRoaXMgcGF0Y2ggZXh0cmFjdHMgdGhlIHNlYXJjaCBjb2RlIGludG8gYQpzZXBhcmF0ZSBm dW5jdGlvbi4KClNpZ25lZC1vZmYtYnk6IEV1YW4gSGFycmlzIDxldWFuLmhhcnJpc0BjaXRyaXgu Y29tPgpSZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCkNoYW5n ZWQgc2luY2UgdjE6CiAqIFJlbW92ZSBzdHJheSBuZXdsaW5lCiAqIEZpeCBpbmRlbnRhdGlvbgoK IHRvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveHMveHMuYyB8IDYwICsrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyks IDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwv eHMveHMuYyBiL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveHMveHMuYwppbmRleCA5ZjFiOTE2 Li4yYWY1ZTA3IDEwMDY0NAotLS0gYS90b29scy9weXRob24veGVuL2xvd2xldmVsL3hzL3hzLmMK KysrIGIvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94cy94cy5jCkBAIC03Nyw2ICs3Nyw4IEBA IHN0YXRpYyBpbmxpbmUgc3RydWN0IHhzX2hhbmRsZSAqeHNoYW5kbGUoWHNIYW5kbGUgKnNlbGYp CiAKIHN0YXRpYyB2b2lkIHJlbW92ZV93YXRjaChYc0hhbmRsZSAqeHNoLCBQeU9iamVjdCAqdG9r ZW4pOwogCitzdGF0aWMgUHlPYmplY3QgKm1hdGNoX3dhdGNoX2J5X3Rva2VuKFhzSGFuZGxlICpz ZWxmLCBjaGFyICoqeHN2YWwpOworCiBzdGF0aWMgUHlPYmplY3QgKm5vbmUoYm9vbCByZXN1bHQp OwogCiBzdGF0aWMgaW50IHBhcnNlX3RyYW5zYWN0aW9uX3BhdGgoWHNIYW5kbGUgKnNlbGYsIFB5 T2JqZWN0ICphcmdzLApAQCAtNDg0LDggKzQ4Niw2IEBAIHN0YXRpYyBQeU9iamVjdCAqeHNweV9y ZWFkX3dhdGNoKFhzSGFuZGxlICpzZWxmLCBQeU9iamVjdCAqYXJncykKICAgICBzdHJ1Y3QgeHNf aGFuZGxlICp4aCA9IHhzaGFuZGxlKHNlbGYpOwogICAgIFB5T2JqZWN0ICp2YWwgPSBOVUxMOwog ICAgIGNoYXIgKip4c3ZhbDsKLSAgICBQeU9iamVjdCAqdG9rZW47Ci0gICAgaW50IGk7CiAgICAg dW5zaWduZWQgaW50IG51bTsKIAogICAgIGlmICgheGgpCkBAIC00OTcsMjkgKzQ5NywxNiBAQCBh Z2FpbjoKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmICgheHN2YWwpIHsKICAgICAg ICAgUHlFcnJfU2V0RnJvbUVycm5vKHhzX2Vycm9yKTsKLSAgICAgICAgZ290byBleGl0OwotICAg IH0KLSAgICBpZiAoc3NjYW5mKHhzdmFsW1hTX1dBVENIX1RPS0VOXSwgIiVsaSIsICh1bnNpZ25l ZCBsb25nICopJnRva2VuKSAhPSAxKSB7Ci0JeHNfc2V0X2Vycm9yKEVJTlZBTCk7Ci0gICAgICAg IGdvdG8gZXhpdDsKLSAgICB9Ci0gICAgZm9yIChpID0gMDsgaSA8IFB5TGlzdF9TaXplKHNlbGYt PndhdGNoZXMpOyBpKyspIHsKLSAgICAgICAgaWYgKHRva2VuID09IFB5TGlzdF9HZXRJdGVtKHNl bGYtPndhdGNoZXMsIGkpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChpID09 IFB5TGlzdF9TaXplKHNlbGYtPndhdGNoZXMpKSB7Ci0gICAgICAvKiBXZSBkbyBub3QgaGF2ZSBh IHJlZ2lzdGVyZWQgd2F0Y2ggZm9yIHRoZSBvbmUgdGhhdCBoYXMganVzdCBmaXJlZC4KLSAgICAg ICAgIElnbm9yZSB0aGlzIC0tIGEgd2F0Y2ggdGhhdCBoYXMgYmVlbiByZWNlbnRseSBkZXJlZ2lz dGVyZWQgY2FuIHN0aWxsCi0gICAgICAgICBoYXZlIHdhdGNoZXMgaW4gdHJhbnNpdC4gIFRoaXMg aXMgYSBibG9ja2luZyBtZXRob2QsIHNvIGdvIGJhY2sgdG8KLSAgICAgICAgIHJlYWQgYWdhaW4u Ci0gICAgICAqLwotICAgICAgZnJlZSh4c3ZhbCk7Ci0gICAgICBnb3RvIGFnYWluOworICAgICAg ICByZXR1cm4gdmFsOwogICAgIH0KLSAgICAvKiBDcmVhdGUgdHVwbGUgKHBhdGgsIHRva2VuKS4g Ki8KLSAgICB2YWwgPSBQeV9CdWlsZFZhbHVlKCIoc08pIiwgeHN2YWxbWFNfV0FUQ0hfUEFUSF0s IHRva2VuKTsKLSBleGl0OgorCisgICAgdmFsID0gbWF0Y2hfd2F0Y2hfYnlfdG9rZW4oc2VsZiwg eHN2YWwpOwogICAgIGZyZWUoeHN2YWwpOworCisgICAgaWYgKCF2YWwgJiYgZXJybm8gPT0gRUFH QUlOKSB7CisgICAgICAgIGdvdG8gYWdhaW47CisgICAgfQorCiAgICAgcmV0dXJuIHZhbDsKIH0K IApAQCAtODY4LDYgKzg1NSwzMyBAQCBzdGF0aWMgaW50IHBhcnNlX3RyYW5zYWN0aW9uX3BhdGgo WHNIYW5kbGUgKnNlbGYsIFB5T2JqZWN0ICphcmdzLAogfQogCiAKK3N0YXRpYyBQeU9iamVjdCAq bWF0Y2hfd2F0Y2hfYnlfdG9rZW4oWHNIYW5kbGUgKnNlbGYsIGNoYXIgKip4c3ZhbCkKK3sKKyAg ICBQeU9iamVjdCAqdG9rZW47CisgICAgaW50IGk7CisKKyAgICBpZiAoc3NjYW5mKHhzdmFsW1hT X1dBVENIX1RPS0VOXSwgIiVsaSIsICh1bnNpZ25lZCBsb25nICopJnRva2VuKSAhPSAxKSB7Cisg ICAgICAgIHhzX3NldF9lcnJvcihFSU5WQUwpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9 CisgICAgZm9yIChpID0gMDsgaSA8IFB5TGlzdF9TaXplKHNlbGYtPndhdGNoZXMpOyBpKyspIHsK KyAgICAgICAgaWYgKHRva2VuID09IFB5TGlzdF9HZXRJdGVtKHNlbGYtPndhdGNoZXMsIGkpKQor ICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChpID09IFB5TGlzdF9TaXplKHNlbGYt PndhdGNoZXMpKSB7CisgICAgICAgIC8qIFdlIGRvIG5vdCBoYXZlIGEgcmVnaXN0ZXJlZCB3YXRj aCBmb3IgdGhlIG9uZSB0aGF0IGhhcyBqdXN0IGZpcmVkLgorICAgICAgICAgICBJZ25vcmUgdGhp cyAtLSBhIHdhdGNoIHRoYXQgaGFzIGJlZW4gcmVjZW50bHkgZGVyZWdpc3RlcmVkIGNhbiBzdGls bAorICAgICAgICAgICBoYXZlIHdhdGNoZXMgaW4gdHJhbnNpdC4KKyAgICAgICAgKi8KKyAgICAg ICAgeHNfc2V0X2Vycm9yKEVBR0FJTik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKwor ICAgIC8qIENyZWF0ZSB0dXBsZSAocGF0aCwgdG9rZW4pLiAqLworICAgIHJldHVybiBQeV9CdWls ZFZhbHVlKCIoc08pIiwgeHN2YWxbWFNfV0FUQ0hfUEFUSF0sIHRva2VuKTsKK30KKworCiBzdGF0 aWMgUHlPYmplY3QgKm5vbmUoYm9vbCByZXN1bHQpCiB7CiAgICAgaWYgKHJlc3VsdCkgewotLSAK MS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=