Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Sep 2009 09:42:22 -0500
From:      Scot Hetzel <swhetzel@gmail.com>
To:        freebsd-emulation@freebsd.org
Subject:   Fwd: linuxolator: proc/filesystems and sysfs function implementations
Message-ID:  <790a9fff0909160742p1043e643i69febf5a7e88a97e@mail.gmail.com>
In-Reply-To: <790a9fff0701261550n5982c0chea94dbfa208439da@mail.gmail.com>
References:  <790a9fff0701060012x40063f48pc842510b082df5a5@mail.gmail.com> <20070106130830.3c2e6d98@Magellan.Leidinger.net> <790a9fff0701132017g6c081567la4a759cea4618535@mail.gmail.com> <20070114105239.GA6955@stud.fit.vutbr.cz> <790a9fff0701141254s2c92b10ag6b042a019bc283c@mail.gmail.com> <20070115105921.wbv2yrd4bkgokcko@webmail.leidinger.net> <790a9fff0701252321x2c7bea62od928766849e32c68@mail.gmail.com> <790a9fff0701261550n5982c0chea94dbfa208439da@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--0016e64603c82f027f0473b2e8f6
Content-Type: text/plain; charset=ISO-8859-1

I see that Alexander Best had added sysfs to the linux-kernel wiki.

Attached is the sysfs implementation that I had created back in 2007,
and was reviewed on this list.

Could someone commit this implentation to P4 or at least put it up
some where so others can improve on it.

Thanks,

Scot

--0016e64603c82f027f0473b2e8f6
Content-Type: text/x-diff; charset=US-ASCII; name="sysfs4.patch"
Content-Disposition: attachment; filename="sysfs4.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_exewt7ib

SW5kZXg6IGNvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2hvbWUvbmN2cy9zcmMvc3lzL2NvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMTA1CmRpZmYgLXUgLXIxLjEwNSBsaW5wcm9jZnMuYwotLS0gY29tcGF0
L2xpbnByb2Nmcy9saW5wcm9jZnMuYwkyMSBKYW4gMjAwNyAxMzoxODo1MiAtMDAwMAkxLjEwNQor
KysgY29tcGF0L2xpbnByb2Nmcy9saW5wcm9jZnMuYwkyNiBKYW4gMjAwNiAwMTo1NzowOCAtMDAw
MApAQCAtMTA0MSw2ICsxMTMzLDUxIEBACiB9CiAKIC8qCisgKiBGaWxsZXIgZnVuY3Rpb24gZm9y
IHByb2MvZmlsZXN5c3RlbXMKKyAqLworc3RhdGljIGludAorbGlucHJvY2ZzX2RvZmlsZXN5c3Rl
bXMoUEZTX0ZJTExfQVJHUykKK3sKKwlpbnQgaSwgZnNfZmxhZ3M7CisJY2hhciBmc19uYW1lW01G
U05BTUVMRU5dOworCXN0cnVjdCB2ZnNjb25mICp2ZnNwOworCXN0YXRpYyBjaGFyICpsaW51eF9u
b2RldmZzW10gPSB7CisJCS8qIEZpbGVzeXN0ZW1zIGluY2x1ZGVkIHdpdGggRnJlZUJTRCAqLwor
CQkiY29kYSIsICJkZXZmcyIsICJmZGVzY2ZzIiwgIm1mcyIsICJuZnMiLAorCQkibmZzNCIsICJu
dWxsZnMiLCAicG9ydGFsZnMiLCAicHJvY2ZzIiwKKwkJImxpbnByb2NmcyIsICJzbWJmcyIsICJs
aW5zeXNmcyIsICJ1bmlvbmZzIiwKKworCQkvKiBGaWxlc3lzdGVtcyBpbmNsdWRlZCB3aXRoIExp
bnV4ICovCisJCSI5cCIsICJhZnMiLCAiYXV0b2ZzIiwgImNpZnMiLCAiY29uZmlnZnMiLAorCQki
ZGVidWdmcyIsICJkZXZwdHMiLCAiZnVzZSIsICJob3N0ZnMiLAorCQkiaHBwZnMiLCAiaHVnZXRs
YmZzIiwgImpmZnMyIiwgIm5jcGZzIiwKKwkJIm5mc2QiLCAib3BlbnByb21mcyIsICJyYW1mcyIs
ICJyb290ZnMiLAorCisJCU5VTEwKKwl9OworCisJVEFJTFFfRk9SRUFDSCh2ZnNwLCAmdmZzY29u
ZiwgdmZjX2xpc3QpIHsKKworCQkvKiBEb2VzIHRoZSBmaWxlc3lzdGVtIHJlcXVpcmUgYSBkZXYg
ZW50cnk/ICovCisJCWZzX2ZsYWdzID0gMTsJLyogRlNfUkVRVUlSRVNfREVWICovCisJCWZvciAo
aSA9IDA7IGxpbnV4X25vZGV2ZnNbaV0gIT0gTlVMTDsgaSsrKSB7CisJCQlpZiAoc3RyY21wKGxp
bnV4X25vZGV2ZnNbaV0sIHZmc3AtPnZmY19uYW1lKSA9PSAwKSB7CisJCQkgICAgZnNfZmxhZ3Mg
PSAwOworCQkJICAgIGJyZWFrOworCQkJfQorCQl9CisKKwkJc3RybGNweShmc19uYW1lLCB2ZnNw
LT52ZmNfbmFtZSwgc2l6ZW9mKGZzX25hbWUpKTsKKwkJYnNkMmxpbnV4X2ZzbmFtZShmc19uYW1l
LCBzaXplb2YoZnNfbmFtZSkpOworCisJCXNidWZfcHJpbnRmKHNiLCAiJXNcdCVzXG4iLCBcCisJ
CSAgICBmc19mbGFncyA/ICIiIDogIm5vZGV2IiwgZnNfbmFtZSk7CisJfQorCisJcmV0dXJuICgw
KTsKK30KKworLyoKICAqIEZpbGxlciBmdW5jdGlvbiBmb3IgcHJvYy9jbWRsaW5lCiAgKi8KIHN0
YXRpYyBpbnQKQEAgLTEwODYsNiArMTIyMyw4IEBACiAJICAgIE5VTEwsIE5VTEwsIFBGU19SRCk7
CiAJcGZzX2NyZWF0ZV9maWxlKHJvb3QsICJkZXZpY2VzIiwgJmxpbnByb2Nmc19kb2RldmljZXMs
CiAJICAgIE5VTEwsIE5VTEwsIFBGU19SRCk7CisJcGZzX2NyZWF0ZV9maWxlKHJvb3QsICJmaWxl
c3lzdGVtcyIsICZsaW5wcm9jZnNfZG9maWxlc3lzdGVtcywKKwkgICAgTlVMTCwgTlVMTCwgUEZT
X1JEKTsKIAlwZnNfY3JlYXRlX2ZpbGUocm9vdCwgImxvYWRhdmciLCAmbGlucHJvY2ZzX2RvbG9h
ZGF2ZywKIAkgICAgTlVMTCwgTlVMTCwgUEZTX1JEKTsKIAlwZnNfY3JlYXRlX2ZpbGUocm9vdCwg
Im1lbWluZm8iLCAmbGlucHJvY2ZzX2RvbWVtaW5mbywKSW5kZXg6IGNvbXBhdC9saW51eC9saW51
eF9taXNjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lzL2NvbXBhdC9s
aW51eC9saW51eF9taXNjLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMgpkaWZmIC11IC1yMS4y
IGxpbnV4X21pc2MuaAotLS0gY29tcGF0L2xpbnV4L2xpbnV4X21pc2MuaAkzMSBEZWMgMjAwNiAx
MTo1NjoxNiAtMDAwMAkxLjIKKysrIGNvbXBhdC9saW51eC9saW51eF9taXNjLmgJMjYgSmFuIDIw
MDYgMDI6MTI6MzAgLTAwMDAKQEAgLTQyLDQgKzQyLDkgQEAKIAogI2RlZmluZQlMSU5VWF9NQVhf
Q09NTV9MRU4JMTYJLyogTWF4aW11bSBsZW5ndGggb2YgdGhlIHByb2Nlc3MgbmFtZS4gKi8KIAor
LyogZGVmaW5lcyBmb3Igc3lzZnMgKi8KKyNkZWZpbmUgTElOVVhfR0VURlNJTkQJCTEJLyogVHJh
bnNsYXRlIGZpbGVzeXN0ZW0gbmFtZSB0byBpbmRleCAqLworI2RlZmluZSBMSU5VWF9HRVRGU1RZ
UAkJMgkvKiBUcmFuc2xhdGUgaW5kZXggdG8gZmlsZXN5c3RlbSBuYW1lICovCisjZGVmaW5lIExJ
TlVYX0dFVE5GU1RZUAkJMwkvKiBSZXR1cm4gdG90YWwgbnVtYmVyIG9mIGZpbGVzeXN0ZW1zICov
CisKICNlbmRpZgkvKiBfTElOVVhfTUlTQ19IXyAqLwpJbmRleDogY29tcGF0L2xpbnV4L2xpbnV4
X3V0aWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvY29tcGF0L2xp
bnV4L2xpbnV4X3V0aWwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yOApkaWZmIC11IC1yMS4y
OCBsaW51eF91dGlsLmgKLS0tIGNvbXBhdC9saW51eC9saW51eF91dGlsLmgJMjcgSnVuIDIwMDYg
MTg6MzA6NDkgLTAwMDAJMS4yOAorKysgY29tcGF0L2xpbnV4L2xpbnV4X3V0aWwuaAkyNiBKYW4g
MjAwNiAwMjowMTozNCAtMDAwMApAQCAtMTAxLDQgKzEwMyw3IEBACiBjaGFyCSpsaW51eF9nZXRf
Y2hhcl9kZXZpY2VzKHZvaWQpOwogdm9pZAlsaW51eF9mcmVlX2dldF9jaGFyX2RldmljZXMoY2hh
ciAqc3RyaW5nKTsKIAorLyogdXNlZCBieSBzeXNmcyBhbmQgbGlucHJvY2ZzX2RvZmlsZXN5c3Rl
bXMgZnVuY3Rpb25zICovCit2b2lkCWJzZDJsaW51eF9mc25hbWUoY2hhciAqbmFtZSwgaW50IHNp
emUpOworCiAjZW5kaWYgLyogIV9MSU5VWF9VVElMX0hfICovCkluZGV4OiBhbWQ2NC9saW51eDMy
L2xpbnV4MzJfZHVtbXkuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMv
YW1kNjQvbGludXgzMi9saW51eDMyX2R1bW15LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNwpk
aWZmIC11IC1yMS43IGxpbnV4MzJfZHVtbXkuYwotLS0gYW1kNjQvbGludXgzMi9saW51eDMyX2R1
bW15LmMJMzEgRGVjIDIwMDYgMTM6MTY6MDAgLTAwMDAJMS43CisrKyBhbWQ2NC9saW51eDMyL2xp
bnV4MzJfZHVtbXkuYwkxNiBKYW4gMjAwNyAwMjo0MjowMyAtMDAwMApAQCAtNTAsNiArNTAsNSBA
QAogRFVNTVkoZ2V0X2tlcm5lbF9zeW1zKTsKIERVTU1ZKHF1b3RhY3RsKTsKIERVTU1ZKGJkZmx1
c2gpOwotRFVNTVkoc3lzZnMpOwogRFVNTVkocXVlcnlfbW9kdWxlKTsKIERVTU1ZKG5mc3NlcnZj
dGwpOwpJbmRleDogaTM4Ni9saW51eC9saW51eF9kdW1teS5jCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9ob21lL25jdnMvc3JjL3N5cy9pMzg2L2xpbnV4L2xpbnV4X2R1bW15LmMsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuNDUKZGlmZiAtdSAtcjEuNDUgbGludXhfZHVtbXkuYwotLS0gaTM4Ni9saW51
eC9saW51eF9kdW1teS5jCTMxIERlYyAyMDA2IDEzOjE2OjAwIC0wMDAwCTEuNDUKKysrIGkzODYv
bGludXgvbGludXhfZHVtbXkuYwkxNiBKYW4gMjAwNyAwMzowMjo1NiAtMDAwMApAQCAtNTIsNiAr
NTIsNSBAQAogRFVNTVkoZ2V0X2tlcm5lbF9zeW1zKTsKIERVTU1ZKHF1b3RhY3RsKTsKIERVTU1Z
KGJkZmx1c2gpOwotRFVNTVkoc3lzZnMpOwogRFVNTVkodm04Nik7CiBEVU1NWShxdWVyeV9tb2R1
bGUpOwpJbmRleDogY29tcGF0L2xpbnV4L2xpbnV4X21pc2MuYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvaG9tZS9uY3ZzL3NyYy9zeXMvY29tcGF0L2xpbnV4L2xpbnV4X21pc2MuYyx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4yMDUKZGlmZiAtdSAtcjEuMjA1IGxpbnV4X21pc2MuYwotLS0gY29tcGF0
L2xpbnV4L2xpbnV4X21pc2MuYwk3IEphbiAyMDA3IDE5OjMwOjE5IC0wMDAwCTEuMjA1CisrKyBj
b21wYXQvbGludXgvbGludXhfbWlzYy5jCTI2IEphbiAyMDA2IDA0OjU2OjUyIC0wMDAwCkBAIC0x
NzE2LDMgKzE3MjksMTE0IEBACiB7CiAJcmV0dXJuIChjaHJvb3QodGQsIChzdHJ1Y3QgY2hyb290
X2FyZ3MgKilhcmdzKSk7CiB9CisKKy8qIHRhYmxlIHVzZWQgdG8gZGVyaXZlIGxpbnV4IGZpbGVz
eXN0ZW0gbmFtZXMgdG8vZnJvbSBmcmVlYnNkIGZpbGVzeXN0ZW0gbmFtZXMgKi8KK3N0YXRpYyBz
dHJ1Y3Qge2NvbnN0IGNoYXIgKmxfbmFtZTsgY29uc3QgY2hhciAqYl9uYW1lO30gbDJiZnNfdGJs
W10gPSB7CisJeyAiZXh0MiIsICJleHQyZnMiIH0sCisJeyAiZXh0MyIsICJleHQyZnMifSwKKwl7
ICJpc285NjYwIiwgImNkOTY2MCJ9LAorCXsgIm1zZG9zIiwgIm1zZG9zZnMifSwKKwl7ICJic2Rw
cm9jZnMiLCAicHJvY2ZzIn0sCisJeyAicHJvYyIsICJsaW5wcm9jZnMifSwKKwl7ICJzeXNmcyIs
ICJsaW5zeXNmcyJ9LAorCXsgInVmcyIsICJmZnMifSwKKwl7ICJ2ZmF0IiwgIm1zZG9zZnMifSwK
Kwl7IE5VTEwsIE5VTEwgfQorfTsKKworLyogCisgKiBUcmFuc2xhdGUgYnNkIGZpbGVzeXN0ZW0g
bmFtZSB0byBsaW51eCBmaWxlc3lzdGVtIG5hbWUKKyAqIHVzZWQgYnkgbGlucHJvY2ZzX2RvZmls
ZXN5c3RlbXMgYW5kIHN5c2ZzIExJTlVYX0dFVEZTVFlQCisgKi8KK3ZvaWQKK2JzZDJsaW51eF9m
c25hbWUoY2hhciAqbmFtZSwgaW50IHNpemUpCit7CisJaW50IGk7CisKKwlmb3IgKCBpID0gMDsg
bDJiZnNfdGJsW2ldLmJfbmFtZSAhPSBOVUxMOyBpKyspIHsKKwkJaWYgKHN0cmNtcChsMmJmc190
YmxbaV0uYl9uYW1lLCBuYW1lKSA9PSAwKSB7CisJCQlzdHJsY3B5KG5hbWUsIGwyYmZzX3RibFtp
XS5sX25hbWUsIHNpemUpOworCQkJYnJlYWs7CisJCX0KKwl9Cit9CisKK2ludAorbGludXhfc3lz
ZnMoc3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCBsaW51eF9zeXNmc19hcmdzICphcmdzKQorewor
CWludCBpLCBlcnJvcj0wOworCXVuc2lnbmVkIGludCBpbmRleCA9IDA7CisJY2hhciBmc19uYW1l
W01GU05BTUVMRU5dOworCXN0cnVjdCB2ZnNjb25mICp2ZnNwOworCisJc3dpdGNoIChhcmdzLT5v
cHRpb24pIHsKKwkJLyoKKwkJICogVHJhbnNsYXRlIHRoZSBmaWxlc3lzdGVtIGlkZW50aWZpZXIg
c3RyaW5nIGludG8gYQorCQkgKiBmaWxlc3lzdGVtIHR5cGUgaW5kZXguCisJCSAqLworCQljYXNl
IExJTlVYX0dFVEZTSU5EOgorCQkJLyogSXMgYXJncy0+YXJnMSB2YWxpZCwgaWYgbm90IHZhbGlk
IHJldHVybiBFRkFVTFQgKi8KKwkJCWVycm9yID0gY29weWluc3RyKCh2b2lkICopKHJlZ2lzdGVy
X3QpYXJncy0+YXJnMSwgZnNfbmFtZSwKKwkJCQkJICBNRlNOQU1FTEVOLCBOVUxMKTsKKwkJCWlm
IChlcnJvcikgeworCQkJCXJldHVybiAoZXJyb3IpOworIAkJCX0KKworCQkJZm9yICggaSA9IDA7
IGwyYmZzX3RibFtpXS5sX25hbWUgIT0gTlVMTDsgaSsrKSB7CisJCQkJaWYgKHN0cmNtcChsMmJm
c190YmxbaV0ubF9uYW1lLCBmc19uYW1lKSA9PSAwKSB7CisJCQkJCXN0cmxjcHkoZnNfbmFtZSwg
bDJiZnNfdGJsW2ldLmJfbmFtZSwKKwkJCQkJCXNpemVvZihmc19uYW1lKSk7CisJCQkJCWJyZWFr
OworCQkJCX0KKwkJCX0KKworCQkJVEFJTFFfRk9SRUFDSCh2ZnNwLCAmdmZzY29uZiwgdmZjX2xp
c3QpCisJCQkJaWYgKHN0cmNtcCh2ZnNwLT52ZmNfbmFtZSwgZnNfbmFtZSkgPT0gMCkgeworCQkJ
CQl0ZC0+dGRfcmV0dmFsWzBdID0gaW5kZXg7CisJCQkJCWJyZWFrOworCQkJCX0gZWxzZQorCQkJ
CQlpbmRleCsrOworCQkJaWYgKCF2ZnNwKQorCQkJCXJldHVybiAoRUlOVkFMKTsKKwkJCWJyZWFr
OworCisJCS8qCisJCSAqIFRyYW5zbGF0ZSB0aGUgZmlsZS1zeXN0ZW0gdHlwZSBpbmRleCBpbnRv
IGEKKwkJICogbnVsbC10ZXJtaW5hdGVkIGZpbGVzeXN0ZW0gaWRlbnRpZmllciBzdHJpbmcuCisJ
CSAqLworCQljYXNlIExJTlVYX0dFVEZTVFlQOgorCQkJaW5kZXggPSBhcmdzLT5hcmcxOworCisJ
CQlUQUlMUV9GT1JFQUNIKHZmc3AsICZ2ZnNjb25mLCB2ZmNfbGlzdCkKKwkJCQlpZiAoaW5kZXgt
LSA8PSAwKQorCQkJCQlicmVhazsKKwkJCWlmICghdmZzcCkKKwkJCQlyZXR1cm4gKEVJTlZBTCk7
CisKKwkJCXN0cmxjcHkoZnNfbmFtZSwgdmZzcC0+dmZjX25hbWUsIHNpemVvZihmc19uYW1lKSk7
CisJCQlic2QybGludXhfZnNuYW1lKGZzX25hbWUpOworCisJCQkvKgorCQkJICogV2UgYXNzdW1l
IHRoYXQgdGhlIGJ1ZmZlciBwb2ludGVkIHRvIGJ5CisJCQkgKiAodm9pZCAqKShyZWdpc3Rlcl90
KWFyZ3MtPmFyZzIgaXMgZ3JlYXRlciB0aGFuIE1GU05BTUVMRU4KKwkJCSAqLworCQkJZXJyb3Ig
PSBjb3B5b3V0KGZzX25hbWUsICh2b2lkICopKHJlZ2lzdGVyX3QpYXJncy0+YXJnMiwKKwkJCQkJ
TUZTTkFNRUxFTik7CisJCQlicmVhazsKKworCQkvKgorCQkgKiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZiBmaWxlIHN5c3RlbSB0eXBlcworCQkgKiBjdXJyZW50bHkgcHJlc2VudCBpbiB0aGUg
a2VybmVsLgorCQkgKi8KKwkJY2FzZSBMSU5VWF9HRVRORlNUWVA6CisJCQlUQUlMUV9GT1JFQUNI
KHZmc3AsICZ2ZnNjb25mLCB2ZmNfbGlzdCkKKwkJCQlpbmRleCsrOworCQkJdGQtPnRkX3JldHZh
bFswXSA9IGluZGV4OworCQkJYnJlYWs7CisKKwkJLyogSW52YWxpZCBvcHRpb24gcGFzc2VkICov
CisJCWRlZmF1bHQ6CisJCQllcnJvciA9IEVJTlZBTDsKKwl9CisJcmV0dXJuIChlcnJvcik7Cit9
Cg==
--0016e64603c82f027f0473b2e8f6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff0909160742p1043e643i69febf5a7e88a97e>