From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL 2/3] tap-bsd: implement a FreeBSD only version of tap_open Date: Fri, 1 Aug 2014 17:01:12 +0100 Message-ID: <1406908873-17256-2-git-send-email-stefano.stabellini@eu.citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: peter.maydell@linaro.org Cc: Roger Pau Monne , xen-devel@lists.xensource.com, qemu-devel@nongnu.org, Stefano Stabellini List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KClRoZSBjdXJyZW50 IGJlaGF2aW91ciBvZiB0YXBfb3BlbiBmb3IgQlNEIHN5c3RlbXMgZGlmZmVyIGdyZWF0bHkgZnJv bQppdCdzIExpbnV4IGNvdW50ZXJwYXJ0LiBTaW5jZSBGcmVlQlNEIHN1cHBvcnRzIGludGVyZmFj ZSByZW5hbWluZyBhbmQKdGFwIGRldmljZSBjbG9uaW5nIGJ5IG9wZW5pbmcgL2Rldi90YXAsIGlt cGxlbWVudCBhIEZyZWVCU0Qgc3BlY2lmaWMKdmVyc2lvbiBvZiB0YXBfb3BlbiB0aGF0IGJlaGF2 ZXMgbGlrZSBpdCdzIExpbnV4IGNvdW50ZXJwYXJ0LgoKVGhpcyBpcyBzcGVjaWFsbHkgaW1wb3J0 YW50IGZvciB0b29sc3RhY2tzIHRoYXQgdXNlIFFlbXUgKGxpa2UgWGVuCmxpYnhsKSwgaW4gb3Jk ZXIgdG8gaGF2ZSBhIHVuaWZpZWQgYmVoYXZpb3VyIGFjcm9zcyBzdXBvcnRlZApwbGF0Zm9ybXMu CgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K U2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAZXUu Y2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0 LmNvbT4KLS0tCiBuZXQvdGFwLWJzZC5jIHwgICA3MCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA2OSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3RhcC1ic2QuYyBiL25l dC90YXAtYnNkLmMKaW5kZXggOTBmOGEwMi4uYmY5MWJkMCAxMDA2NDQKLS0tIGEvbmV0L3RhcC1i c2QuYworKysgYi9uZXQvdGFwLWJzZC5jCkBAIC0yNywxMiArMjcsMTMgQEAKICNpbmNsdWRlICJz eXNlbXUvc3lzZW11LmgiCiAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKIAotI2lmZGVm IF9fTmV0QlNEX18KKyNpZiBkZWZpbmVkKF9fTmV0QlNEX18pIHx8IGRlZmluZWQoX19GcmVlQlNE X18pCiAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CiAjaW5jbHVkZSA8bmV0L2lmLmg+CiAjaW5jbHVk ZSA8bmV0L2lmX3RhcC5oPgogI2VuZGlmCiAKKyNpZm5kZWYgX19GcmVlQlNEX18KIGludCB0YXBf b3BlbihjaGFyICppZm5hbWUsIGludCBpZm5hbWVfc2l6ZSwgaW50ICp2bmV0X2hkciwKICAgICAg ICAgICAgICBpbnQgdm5ldF9oZHJfcmVxdWlyZWQsIGludCBtcV9yZXF1aXJlZCkKIHsKQEAgLTEw OCw2ICsxMDksNzMgQEAgaW50IHRhcF9vcGVuKGNoYXIgKmlmbmFtZSwgaW50IGlmbmFtZV9zaXpl LCBpbnQgKnZuZXRfaGRyLAogICAgIHJldHVybiBmZDsKIH0KIAorI2Vsc2UgLyogX19GcmVlQlNE X18gKi8KKworI2RlZmluZSBQQVRIX05FVF9UQVAgIi9kZXYvdGFwIgorCitpbnQgdGFwX29wZW4o Y2hhciAqaWZuYW1lLCBpbnQgaWZuYW1lX3NpemUsIGludCAqdm5ldF9oZHIsCisgICAgICAgICAg ICAgaW50IHZuZXRfaGRyX3JlcXVpcmVkLCBpbnQgbXFfcmVxdWlyZWQpCit7CisgICAgaW50IGZk LCBzLCByZXQ7CisgICAgc3RydWN0IGlmcmVxIGlmcjsKKworICAgIFRGUihmZCA9IG9wZW4oUEFU SF9ORVRfVEFQLCBPX1JEV1IpKTsKKyAgICBpZiAoZmQgPCAwKSB7CisgICAgICAgIGVycm9yX3Jl cG9ydCgiY291bGQgbm90IG9wZW4gJXM6ICVzIiwgUEFUSF9ORVRfVEFQLCBzdHJlcnJvcihlcnJu bykpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgbWVtc2V0KCZpZnIsIDAsIHNp emVvZihpZnIpKTsKKworICAgIHJldCA9IGlvY3RsKGZkLCBUQVBHSUZOQU1FLCAodm9pZCAqKSZp ZnIpOworICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIGVycm9yX3JlcG9ydCgiY291bGQgbm90 IGdldCB0YXAgaW50ZXJmYWNlIG5hbWUiKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisK KyAgICBpZiAoaWZuYW1lWzBdICE9ICdcMCcpIHsKKyAgICAgICAgLyogVXNlciByZXF1ZXN0ZWQg dGhlIGludGVyZmFjZSB0byBoYXZlIGEgc3BlY2lmaWMgbmFtZSAqLworICAgICAgICBzID0gc29j a2V0KEFGX0xPQ0FMLCBTT0NLX0RHUkFNLCAwKTsKKyAgICAgICAgaWYgKHMgPCAwKSB7CisgICAg ICAgICAgICBlcnJvcl9yZXBvcnQoImNvdWxkIG5vdCBvcGVuIHNvY2tldCB0byBzZXQgaW50ZXJm YWNlIG5hbWUiKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAg aWZyLmlmcl9kYXRhID0gaWZuYW1lOworICAgICAgICByZXQgPSBpb2N0bChzLCBTSU9DU0lGTkFN RSwgKHZvaWQgKikmaWZyKTsKKyAgICAgICAgY2xvc2Uocyk7CisgICAgICAgIGlmIChyZXQgPCAw KSB7CisgICAgICAgICAgICBlcnJvcl9yZXBvcnQoImNvdWxkIG5vdCBzZXQgdGFwIGludGVyZmFj ZSBuYW1lIik7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgfSBlbHNl IHsKKyAgICAgICAgcHN0cmNweShpZm5hbWUsIGlmbmFtZV9zaXplLCBpZnIuaWZyX25hbWUpOwor ICAgIH0KKworICAgIGlmICgqdm5ldF9oZHIpIHsKKyAgICAgICAgLyogQlNEIGRvZXNuJ3QgaGF2 ZSBJRkZfVk5FVF9IRFIgKi8KKyAgICAgICAgKnZuZXRfaGRyID0gMDsKKworICAgICAgICBpZiAo dm5ldF9oZHJfcmVxdWlyZWQgJiYgISp2bmV0X2hkcikgeworICAgICAgICAgICAgZXJyb3JfcmVw b3J0KCJ2bmV0X2hkcj0xIHJlcXVlc3RlZCwgYnV0IG5vIGtlcm5lbCAiCisgICAgICAgICAgICAg ICAgICAgICAgICAgInN1cHBvcnQgZm9yIElGRl9WTkVUX0hEUiBhdmFpbGFibGUiKTsKKyAgICAg ICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKG1xX3JlcXVpcmVk KSB7CisgICAgICAgIGVycm9yX3JlcG9ydCgibXFfcmVxdWlyZWQgcmVxdWVzdGVkLCBidXQgbm90 IGtlcm5lbCBzdXBwb3J0IgorICAgICAgICAgICAgICAgICAgICAgImZvciBJRkZfTVVMVElfUVVF VUUgYXZhaWxhYmxlIik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgZmNudGwo ZmQsIEZfU0VURkwsIE9fTk9OQkxPQ0spOworICAgIHJldHVybiBmZDsKKworZXJyb3I6CisgICAg Y2xvc2UoZmQpOworICAgIHJldHVybiAtMTsKK30KKyNlbmRpZiAvKiBfX0ZyZWVCU0RfXyAqLwor CiBpbnQgdGFwX3NldF9zbmRidWYoaW50IGZkLCBjb25zdCBOZXRkZXZUYXBPcHRpb25zICp0YXAp CiB7CiAgICAgcmV0dXJuIDA7Ci0tIAoxLjcuMTAuNAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==