From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ronald Rojas Subject: [PATCH RFC 47/59] libxl: Reorganize code Date: Wed, 28 Dec 2016 20:14:40 -0500 Message-ID: <1482974092-15891-47-git-send-email-ronladred@gmail.com> References: <1482974092-15891-1-git-send-email-ronladred@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1482974092-15891-1-git-send-email-ronladred@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel , Ian Jackson , Wei Liu , George Dunlap , George Dunlap List-Id: xen-devel@lists.xenproject.org RnJvbTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKUHV0IGFsbCB0 eXBlIGFuZCBlbnVtZXJhdGlvbiBkZWZpbml0aW9ucyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlLApz ZXBhcmF0ZWQgaW50byAiYnVpbHRpbnMiIGFuZCAiaWRsLWdlbmVyYXRlZCIuCgpBbHNvIGRlZmlu ZSBVdWlkIGFzIEMubGlieGxfdXVkLiAgKE5vdCBzdXJlIGlmIHRoaXMgZ2l2ZXMgdXMgdGhlCmZ1 bmN0aW9uYWxpdHkgd2UgbmVlZCB3aXRob3V0IGhhdmluZyB0byBtYW51YWxseSBjb3B5IHRoaW5n cyBpbi4pCgpGaW5hbGx5LCBnZXQgcmlkIG9mIEJpdG1hcC5BbGxvYygpLiAgSXQncyByZWR1bmRh bnQgbm93IHRoYXQKQml0bWFwLlNldCgpIGF1dG9tYXRpY2FsbHkgZXh0ZW5kcyB0aGUgYXJyYXku CgpTaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+ Ci0tLQogbGlieGwuZ28gfCAxODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAyIGluc2VydGlv bnMoKyksIDg3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYnhsLmdvIGIvbGlieGwuZ28K aW5kZXggMTZmNDY0NS4uZTczYzA2YiAxMDA2NDQKLS0tIGEvbGlieGwuZ28KKysrIGIvbGlieGwu Z28KQEAgLTM5LDEwICszOSwxMDIgQEAgaW1wb3J0ICgKIAkidGltZSIKICkKIAorLyoKKyAqIFR5 cGVzOiBCdWlsdGlucworICovCisKK3R5cGUgRG9taWQgdWludDMyCisKK3R5cGUgTWVtS0IgdWlu dDY0CisKKy8vIHR5cGVkZWYgc3RydWN0IHsKKy8vICAgICB1aW50MzJfdCBzaXplOyAgICAgICAg ICAvKiBudW1iZXIgb2YgYnl0ZXMgaW4gbWFwICovCisvLyAgICAgdWludDhfdCAqbWFwOworLy8g fSBsaWJ4bF9iaXRtYXA7CisKKy8vIEltcGxlbWVudCB0aGUgR28gYml0bWFwIHR5cGUgc3VjaCB0 aGF0IHRoZSB1bmRlcmx5aW5nIGRhdGEgY2FuCisvLyBlYXNpbHkgYmUgY29waWVkIGluIGFuZCBv dXQuICBOQiB0aGF0IHdlIHN0aWxsIGhhdmUgdG8gZG8gY29waWVzCisvLyBib3RoIGRpcmVjdGlv bnMsIGJlY2F1c2UgY2dvIHJ1bnRpbWUgcmVzdHJpY3Rpb25zIGZvcmJpZCBwYXNzaW5nIHRvCisv LyBhIEMgZnVuY3Rpb24gYSBwb2ludGVyIHRvIGEgR28tYWxsb2NhdGVkIHN0cnVjdHVyZSB3aGlj aCBjb250YWlucyBhCisvLyBwb2ludGVyLgordHlwZSBCaXRtYXAgc3RydWN0IHsKKwliaXRtYXAg W11DLnVpbnQ4X3QKK30KKwogdHlwZSBDb250ZXh0IHN0cnVjdCB7CiAJY3R4ICpDLmxpYnhsX2N0 eAogfQogCit0eXBlIFV1aWQgQy5saWJ4bF91dWlkCisKKy8qCisgKiBUeXBlczogSURMCisgKiAK KyAqIEZJWE1FOiBHZW5lcmF0ZSB0aGVzZSBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIElETAorICov Cit0eXBlIERvbWluZm8gc3RydWN0IHsKKwlVdWlkICAgICAgICAgICAgICBVdWlkCisJRG9taWQg ICAgICAgICAgICAgRG9taWQKKwlSdW5uaW5nICAgICAgICAgICBib29sCisJQmxvY2tlZCAgICAg ICAgICAgYm9vbAorCVBhdXNlZCAgICAgICAgICAgIGJvb2wKKwlTaHV0ZG93biAgICAgICAgICBi b29sCisJRHlpbmcgICAgICAgICAgICAgYm9vbAorCU5ldmVyX3N0b3AgICAgICAgIGJvb2wKKwkK KwlTaHV0ZG93bl9yZWFzb24gICBpbnQzMiAvLyBGSVhNRSBzaHV0ZG93bl9yZWFzb24gZW51bWVy YXRpb24KKwlPdXRzdGFuZGluZ19tZW1rYiBNZW1LQgorCUN1cnJlbnRfbWVta2IgICAgIE1lbUtC CisJU2hhcmVkX21lbWtiICAgICAgTWVtS0IKKwlQYWdlZF9tZW1rYiAgICAgICBNZW1LQgorCU1h eF9tZW1rYiAgICAgICAgIE1lbUtCCisJQ3B1X3RpbWUgICAgICAgICAgdGltZS5EdXJhdGlvbgor CVZjcHVfbWF4X2lkICAgICAgIHVpbnQzMgorCVZjcHVfb25saW5lICAgICAgIHVpbnQzMgorCUNw dXBvb2wgICAgICAgICAgIHVpbnQzMgorCURvbWFpbl90eXBlICAgICAgIGludDMyIC8vRklYTUUg bGlieGxfZG9tYWluX3R5cGUgZW51bWVyYXRpb24KKworfQorCisvLyAjIENvbnNpc3RlbnQgd2l0 aCB2YWx1ZXMgZGVmaW5lZCBpbiBkb21jdGwuaAorLy8gIyBFeGNlcHQgdW5rbm93biB3aGljaCB3 ZSBoYXZlIG1hZGUgdXAKKy8vIGxpYnhsX3NjaGVkdWxlciA9IEVudW1lcmF0aW9uKCJzY2hlZHVs ZXIiLCBbCisvLyAgICAgKDAsICJ1bmtub3duIiksCisvLyAgICAgKDQsICJzZWRmIiksCisvLyAg ICAgKDUsICJjcmVkaXQiKSwKKy8vICAgICAoNiwgImNyZWRpdDIiKSwKKy8vICAgICAoNywgImFy aW5jNjUzIiksCisvLyAgICAgKDgsICJydGRzIiksCisvLyAgICAgXSkKK3R5cGUgU2NoZWR1bGVy IGludAordmFyICgKKwlTY2hlZHVsZXJVbmtub3duICBTY2hlZHVsZXIgPSBDLkxJQlhMX1NDSEVE VUxFUl9VTktOT1dOCisJU2NoZWR1bGVyU2VkZiAgICAgU2NoZWR1bGVyID0gQy5MSUJYTF9TQ0hF RFVMRVJfU0VERgorCVNjaGVkdWxlckNyZWRpdCAgIFNjaGVkdWxlciA9IEMuTElCWExfU0NIRURV TEVSX0NSRURJVAorCVNjaGVkdWxlckNyZWRpdDIgIFNjaGVkdWxlciA9IEMuTElCWExfU0NIRURV TEVSX0NSRURJVDIKKwlTY2hlZHVsZXJBcmluYzY1MyBTY2hlZHVsZXIgPSBDLkxJQlhMX1NDSEVE VUxFUl9BUklOQzY1MworCVNjaGVkdWxlclJURFMgICAgIFNjaGVkdWxlciA9IEMuTElCWExfU0NI RURVTEVSX1JURFMKKykKKworLy8gbGlieGxfY3B1cG9vbGluZm8gPSBTdHJ1Y3QoImNwdXBvb2xp bmZvIiwgWworLy8gICAgICgicG9vbGlkIiwgICAgICB1aW50MzIpLAorLy8gICAgICgicG9vbF9u YW1lIiwgICBzdHJpbmcpLAorLy8gICAgICgic2NoZWQiLCAgICAgICBsaWJ4bF9zY2hlZHVsZXIp LAorLy8gICAgICgibl9kb20iLCAgICAgICB1aW50MzIpLAorLy8gICAgICgiY3B1bWFwIiwgICAg ICBsaWJ4bF9iaXRtYXApCisvLyAgICAgXSwgZGlyPURJUl9PVVQpCisKK3R5cGUgQ3B1cG9vbElu Zm8gc3RydWN0IHsKKwlQb29saWQgdWludDMyCisJUG9vbE5hbWUgc3RyaW5nCisJU2NoZWR1bGVy IFNjaGVkdWxlcgorCURvbWFpbkNvdW50IGludAorCUNwdW1hcCBCaXRtYXAKK30KKworLyoKKyAq IENvbnRleHQKKyAqLwogdmFyIEN0eCBDb250ZXh0CiAKIGZ1bmMgKEN0eCAqQ29udGV4dCkgSXNP cGVuKCkgYm9vbCB7CkBAIC03Miw0MyArMTY0LDEyIEBAIGZ1bmMgKEN0eCAqQ29udGV4dCkgQ2xv c2UoKSAoZXJyIGVycm9yKSB7CiAJcmV0dXJuCiB9CiAKLS8vIEJ1aWx0aW5zCi10eXBlIERvbWlk IHVpbnQzMgotCi10eXBlIE1lbUtCIHVpbnQ2NAotCi0vLyBGSVhNRTogVXNlIHRoZSBpZGwgdG8g Z2VuZXJhdGUgdHlwZXMKLXR5cGUgRG9taW5mbyBzdHJ1Y3QgewotCS8vIEZJWE1FOiB1dWlkCi0J RG9taWQgICAgICAgICAgICAgRG9taWQKLQlSdW5uaW5nICAgICAgICAgICBib29sCi0JQmxvY2tl ZCAgICAgICAgICAgYm9vbAotCVBhdXNlZCAgICAgICAgICAgIGJvb2wKLQlTaHV0ZG93biAgICAg ICAgICBib29sCi0JRHlpbmcgICAgICAgICAgICAgYm9vbAotCU5ldmVyX3N0b3AgICAgICAgIGJv b2wKLQkKLQlTaHV0ZG93bl9yZWFzb24gICBpbnQzMiAvLyBGSVhNRSBzaHV0ZG93bl9yZWFzb24g ZW51bWVyYXRpb24KLQlPdXRzdGFuZGluZ19tZW1rYiBNZW1LQgotCUN1cnJlbnRfbWVta2IgICAg IE1lbUtCCi0JU2hhcmVkX21lbWtiICAgICAgTWVtS0IKLQlQYWdlZF9tZW1rYiAgICAgICBNZW1L QgotCU1heF9tZW1rYiAgICAgICAgIE1lbUtCCi0JQ3B1X3RpbWUgICAgICAgICAgdGltZS5EdXJh dGlvbgotCVZjcHVfbWF4X2lkICAgICAgIHVpbnQzMgotCVZjcHVfb25saW5lICAgICAgIHVpbnQz MgotCUNwdXBvb2wgICAgICAgICAgIHVpbnQzMgotCURvbWFpbl90eXBlICAgICAgIGludDMyIC8v RklYTUUgbGlieGxfZG9tYWluX3R5cGUgZW51bWVyYXRpb24KLQotfQotCiBmdW5jIChDdHggKkNv bnRleHQpIERvbWFpbkluZm8oSWQgRG9taWQpIChkaSAqRG9taW5mbywgZXJyIGVycm9yKSB7CiAJ aWYgQ3R4LmN0eCA9PSBuaWwgewogCQllcnIgPSBmbXQuRXJyb3JmKCJDb250ZXh0IG5vdCBvcGVu ZWQiKQogCQlyZXR1cm4KIAl9CiAKLQkJCiAJdmFyIGNkaSBDLmxpYnhsX2RvbWluZm8KIAogCXJl dCA6PSBDLmxpYnhsX2RvbWFpbl9pbmZvKEN0eC5jdHgsIHVuc2FmZS5Qb2ludGVyKCZjZGkpLCBD LnVpbnQzMl90KElkKSkKQEAgLTExOSw4ICsxODAsMTIgQEAgZnVuYyAoQ3R4ICpDb250ZXh0KSBE b21haW5JbmZvKElkIERvbWlkKSAoZGkgKkRvbWluZm8sIGVyciBlcnJvcikgewogCQlyZXR1cm4K IAl9CiAKLQkvLyBGSVhNRSAtLSB1c2UgaW50cm9zcGVjdGlvbiB0byBtYWtlIHRoaXMgbW9yZSBy b2J1c3QKKwkvLyBXZSBjb3VsZCBjb25zaWRlciBoYXZpbmcgdGhpcyBib2lsZXJwbGF0ZSBnZW5l cmF0ZWQgYnkgdGhlCisJLy8gaWRsLCBpbiBhIGZ1bmN0aW9uIGxpa2UgdGhpczoKKwkvLworCS8v IGRpID0gdHJhbnNsYXRlQ2RvbWFpbmluZm9Ub0dvRG9tYWluaW5mbyhjZGkpCiAJZGkgPSAmRG9t aW5mb3t9CisJZGkuVXVpZCA9IFV1aWQoY2RpLnV1aWQpCiAJZGkuRG9taWQgPSBEb21pZChjZGku ZG9taWQpCiAJZGkuUnVubmluZyA9IGJvb2woY2RpLnJ1bm5pbmcpCiAJZGkuQmxvY2tlZCA9IGJv b2woY2RpLmJsb2NrZWQpCkBAIC0xMzksNiArMjA0LDcgQEAgZnVuYyAoQ3R4ICpDb250ZXh0KSBE b21haW5JbmZvKElkIERvbWlkKSAoZGkgKkRvbWluZm8sIGVyciBlcnJvcikgewogCWRpLlZjcHVf b25saW5lID0gdWludDMyKGNkaS52Y3B1X29ubGluZSkKIAlkaS5DcHVwb29sID0gdWludDMyKGNk aS5jcHVwb29sKQogCWRpLkRvbWFpbl90eXBlID0gaW50MzIoY2RpLmRvbWFpbl90eXBlKQorCiAJ cmV0dXJuCiB9CiAKQEAgLTE1NiwzMCArMjIyLDE1IEBAIGZ1bmMgKEN0eCAqQ29udGV4dCkgRG9t YWluVW5wYXVzZShJZCBEb21pZCkgKGVyciBlcnJvcikgewogCXJldHVybgogfQogCi0KLS8vIHR5 cGVkZWYgc3RydWN0IHsKLS8vICAgICB1aW50MzJfdCBzaXplOyAgICAgICAgICAvKiBudW1iZXIg b2YgYnl0ZXMgaW4gbWFwICovCi0vLyAgICAgdWludDhfdCAqbWFwOwotLy8gfSBsaWJ4bF9iaXRt YXA7Ci0KLS8vIEltcGxlbWVudCB0aGUgR28gYml0bWFwIHR5cGUgc3VjaCB0aGF0IHRoZSB1bmRl cmx5aW5nIGRhdGEgY2FuCi0vLyBlYXNpbHkgYmUgY29waWVkIGluIGFuZCBvdXQuICBOQiB0aGF0 IHdlIHN0aWxsIGhhdmUgdG8gZG8gY29waWVzCi0vLyBib3RoIGRpcmVjdGlvbnMsIGJlY2F1c2Ug Y2dvIHJ1bnRpbWUgcmVzdHJpY3Rpb25zIGZvcmJpZCBwYXNzaW5nIHRvCi0vLyBhIEMgZnVuY3Rp b24gYSBwb2ludGVyIHRvIGEgR28tYWxsb2NhdGVkIHN0cnVjdHVyZSB3aGljaCBjb250YWlucyBh Ci0vLyBwb2ludGVyLgotdHlwZSBCaXRtYXAgc3RydWN0IHsKLQliaXRtYXAgW11DLnVpbnQ4X3QK LX0KLQotZnVuYyAoYm0gKkJpdG1hcCkgQWxsb2MobWF4IGludCkgewotCWJtLmJpdG1hcCA9IG1h a2UoW11DLnVpbnQ4X3QsIChtYXggKyA3KSAvIDgpCi19CisvKgorICogQml0bWFwIG9wZXJhdGlv bnMKKyAqLwogCiAvLyBSZXR1cm4gYSBHbyBiaXRtYXAgd2hpY2ggaXMgYSBjb3B5IG9mIHRoZSBy ZWZlcnJlZCBDIGJpdG1hcC4KIGZ1bmMgYml0bWFwQ1RvR28oY2JtICpDLmxpYnhsX2JpdG1hcCkg KGdibSBCaXRtYXApIHsKIAkvLyBBbGxvYyBhIEdvIHNsaWNlIGZvciB0aGUgYnl0ZXMKIAlzaXpl IDo9IGludChjYm0uc2l6ZSkKLQlnYm0uQWxsb2Moc2l6ZSo4KQorCWdibS5iaXRtYXAgPSBtYWtl KFtdQy51aW50OF90LCBzaXplKQogCiAJLy8gTWFrZSBhIHNsaWNlIHBvaW50aW5nIHRvIHRoZSBD IGFycmF5CiAJbWFwc2xpY2UgOj0gKCpbMSA8PCAzMF1DLnVpbnQ4X3QpKHVuc2FmZS5Qb2ludGVy KGNibS5fbWFwKSlbOnNpemU6c2l6ZV0KQEAgLTI3OSwyNiArMzMwLDYgQEAgZnVuYyAoYSBCaXRt YXApIEFuZChiIEJpdG1hcCkgKGMgQml0bWFwKSB7CiAJcmV0dXJuCiB9CiAKLS8vICMgQ29uc2lz dGVudCB3aXRoIHZhbHVlcyBkZWZpbmVkIGluIGRvbWN0bC5oCi0vLyAjIEV4Y2VwdCB1bmtub3du IHdoaWNoIHdlIGhhdmUgbWFkZSB1cAotLy8gbGlieGxfc2NoZWR1bGVyID0gRW51bWVyYXRpb24o InNjaGVkdWxlciIsIFsKLS8vICAgICAoMCwgInVua25vd24iKSwKLS8vICAgICAoNCwgInNlZGYi KSwKLS8vICAgICAoNSwgImNyZWRpdCIpLAotLy8gICAgICg2LCAiY3JlZGl0MiIpLAotLy8gICAg ICg3LCAiYXJpbmM2NTMiKSwKLS8vICAgICAoOCwgInJ0ZHMiKSwKLS8vICAgICBdKQotdHlwZSBT Y2hlZHVsZXIgaW50Ci12YXIgKAotCVNjaGVkdWxlclVua25vd24gIFNjaGVkdWxlciA9IEMuTElC WExfU0NIRURVTEVSX1VOS05PV04KLQlTY2hlZHVsZXJTZWRmICAgICBTY2hlZHVsZXIgPSBDLkxJ QlhMX1NDSEVEVUxFUl9TRURGCi0JU2NoZWR1bGVyQ3JlZGl0ICAgU2NoZWR1bGVyID0gQy5MSUJY TF9TQ0hFRFVMRVJfQ1JFRElUCi0JU2NoZWR1bGVyQ3JlZGl0MiAgU2NoZWR1bGVyID0gQy5MSUJY TF9TQ0hFRFVMRVJfQ1JFRElUMgotCVNjaGVkdWxlckFyaW5jNjUzIFNjaGVkdWxlciA9IEMuTElC WExfU0NIRURVTEVSX0FSSU5DNjUzCi0JU2NoZWR1bGVyUlREUyAgICAgU2NoZWR1bGVyID0gQy5M SUJYTF9TQ0hFRFVMRVJfUlREUwotKQotCiAvLyBjb25zdCBjaGFyICpsaWJ4bF9zY2hlZHVsZXJf dG9fc3RyaW5nKGxpYnhsX3NjaGVkdWxlciBwKTsKIC8vIGludCBsaWJ4bF9zY2hlZHVsZXJfZnJv bV9zdHJpbmcoY29uc3QgY2hhciAqcywgbGlieGxfc2NoZWR1bGVyICplKTsKIGZ1bmMgKHMgU2No ZWR1bGVyKSBTdHJpbmcoKSAoc3RyaW5nKSB7CkBAIC0zMjUsMjIgKzM1Niw2IEBAIGZ1bmMgU2No ZWR1bGVyRnJvbVN0cmluZyhuYW1lIHN0cmluZykgKHMgU2NoZWR1bGVyLCBlcnIgZXJyb3IpIHsK IAlyZXR1cm4KIH0KIAotLy8gbGlieGxfY3B1cG9vbGluZm8gPSBTdHJ1Y3QoImNwdXBvb2xpbmZv IiwgWwotLy8gICAgICgicG9vbGlkIiwgICAgICB1aW50MzIpLAotLy8gICAgICgicG9vbF9uYW1l IiwgICBzdHJpbmcpLAotLy8gICAgICgic2NoZWQiLCAgICAgICBsaWJ4bF9zY2hlZHVsZXIpLAot Ly8gICAgICgibl9kb20iLCAgICAgICB1aW50MzIpLAotLy8gICAgICgiY3B1bWFwIiwgICAgICBs aWJ4bF9iaXRtYXApCi0vLyAgICAgXSwgZGlyPURJUl9PVVQpCi0KLXR5cGUgQ3B1cG9vbEluZm8g c3RydWN0IHsKLQlQb29saWQgdWludDMyCi0JUG9vbE5hbWUgc3RyaW5nCi0JU2NoZWR1bGVyIFNj aGVkdWxlcgotCURvbWFpbkNvdW50IGludAotCUNwdW1hcCBCaXRtYXAKLX0KLQogLy8gbGlieGxf Y3B1cG9vbGluZm8gKiBsaWJ4bF9saXN0X2NwdXBvb2wobGlieGxfY3R4KiwgaW50ICpuYl9wb29s X291dCk7CiAvLyB2b2lkIGxpYnhsX2NwdXBvb2xpbmZvX2xpc3RfZnJlZShsaWJ4bF9jcHVwb29s aW5mbyAqbGlzdCwgaW50IG5iX3Bvb2wpOwogZnVuYyAoQ3R4ICpDb250ZXh0KSBMaXN0Q3B1cG9v bCgpIChsaXN0IFtdQ3B1cG9vbEluZm8pIHsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==