{"id":39,"date":"2004-11-12T16:36:01","date_gmt":"2004-11-12T16:36:01","guid":{"rendered":"http:\/\/gaisan.com\/wordp\/?p=39"},"modified":"2004-11-12T16:36:01","modified_gmt":"2004-11-12T16:36:01","slug":"creating-shim-libraries-in-linux","status":"publish","type":"post","link":"http:\/\/gaisan.com\/blogs\/?p=39","title":{"rendered":"Creating shim libraries in Linux"},"content":{"rendered":"<p>Anybody who&#8217;s done a bit of device driver development will know that occasionally system logs just don&#8217;t provide enough information about the various problems you&#8217;ll encounter and you have to hack up a <i>shim library<\/i> which sits between a problem library and it&#8217;s loader\/calling module. Linux Journal has a very <a href=\"http:\/\/new.linuxjournal.com\/node\/7795\">nice article<\/a> this month on creating just such a library for <a href=\"http:\/\/libusb.sourceforge.net\/\">libusb<\/a>. This could be useful for anybody developing an application or driver which needs to communicate with a USB device. Like writing a synch for a PDA, MP3 player or somesuch..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Anybody who&#8217;s done a bit of device driver development will know that occasionally system logs just don&#8217;t provide enough information about the various problems you&#8217;ll encounter and you have to hack up a shim library which sits between a problem library and it&#8217;s loader\/calling module. Linux Journal has a very nice article this month on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=\/wp\/v2\/posts\/39"}],"collection":[{"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=39"}],"version-history":[{"count":0,"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=\/wp\/v2\/posts\/39\/revisions"}],"wp:attachment":[{"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/gaisan.com\/blogs\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}