ChangeLog 173 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113
  1. commit 09af2a25d7585c481f5e891ddfd1ceb2536ed6c9
  2. Author: Nathan Hjelm <hjelmn@me.com>
  3. Date: Mon May 6 20:55:53 2013 -0600
  4. on to 1.0.16-rc10
  5. commit bcc159ec9156201544c249bb4a87f8f24cc34e0a
  6. Author: Hans de Goede <hdegoede@redhat.com>
  7. Date: Thu Mar 7 11:44:00 2013 +0000
  8. Linux: Consume all events on a fd in one go
  9. * This fixes libusb_handle_events_timeout() only handling one event
  10. * Fixes #123
  11. Conflicts:
  12. libusb/version_nano.h
  13. commit c703ab72d0398c18686c2970730cd580e2d1f46c
  14. Author: Sean McBride <sean@rogue-research.com>
  15. Date: Fri Oct 12 17:34:25 2012 -0400
  16. Core: use C99 flexible array member when possible
  17. fix clang warning by using C99 flexible array member instead of zero
  18. length array gcc extension
  19. Conflicts:
  20. libusb/libusbi.h
  21. commit 21e4c82043caf0d19ae9354e48035a135f3549d3
  22. Author: Nathan Hjelm <hjelmn@me.com>
  23. Date: Fri May 3 08:09:09 2013 -0600
  24. bumb version to 1.0.16-rc9
  25. commit 66553c2e8219d84e3e8857b18341782e1ca82a58
  26. Author: Nathan Hjelm <hjelmn@me.com>
  27. Date: Fri May 3 08:03:37 2013 -0600
  28. darwin: return LIBUSB_ERROR_NOT_FOUND when reading the active config descriptor when the device is not configured.
  29. fixes #172
  30. commit 42bb27b4fdc07e4c74a3ae8fa6ca67b66b591412
  31. Merge: 376a05a 629cefb
  32. Author: hjelmn <hjelmn@cs.unm.edu>
  33. Date: Sun Apr 28 08:04:19 2013 -0700
  34. Merge pull request #1 from LudovicRousseau/fixes
  35. Examples: fix compiler warnings
  36. commit 629cefbd40974c84c326107e3b31869088336753
  37. Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
  38. Date: Sat Apr 27 22:40:03 2013 +0200
  39. Examples: fix compiler warnings
  40. hotplugtest.c:30: warning: no previous prototype for ‘hotplug_callback’
  41. hotplugtest.c:48: warning: no previous prototype for ‘hotplug_callback_detach’
  42. commit 376a05a9efa441b576fb1c58e5d49c90a1295e4a
  43. Author: Nathan Hjelm <hjelmn@me.com>
  44. Date: Thu Apr 25 22:31:01 2013 -0600
  45. update to 1.0.16-rc8
  46. commit 20ec541f26d6d98f26d87cfca82287fe4bf15d30
  47. Author: hjelmn <Nathan Hjelm hjelmn@cs.unm.edu>
  48. Date: Tue Apr 23 16:35:33 2013 -0600
  49. darwin: clean up old code
  50. For some time only one type of completion message has been in use in the darwin
  51. backend. The commit cleans up this code. This commit also removes some code
  52. that has never done anything useful. If a pipe has an error it probably means
  53. the device was closed so there is nothing to do.
  54. commit 9f41a3a780fc14785da2f07d03c119b8024b2452
  55. Author: Nathan Hjelm <hjelmn@me.com>
  56. Date: Thu Apr 25 21:12:45 2013 -0600
  57. darwin: fix memory leaks in the darwin backend.
  58. There were two memory leaks in the darwin backend:
  59. - A CFString allocated by IORegistryEntryCreateCFProperty in darwin_get_interface()
  60. was not released.
  61. - The runloop is retained by darwin_open() but was not release by darwin_close().
  62. commit e63fb62acfe52aecfd12b2a2f87f9a79495b2a0b
  63. Author: Nathan Hjelm <hjelmn@me.com>
  64. Date: Thu Apr 25 21:09:19 2013 -0600
  65. core: release the context device list when the context is deleted.
  66. This commit fixes a memory leak in the context list patch. Devices need
  67. to be unref'd when the context is deleted. This can happen if either 1)
  68. the backend init fails, or 2) the context is destroyed by libusb_exit().
  69. commit 1c1d686151691f894c04519e2a4faec5811a292c
  70. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  71. Date: Mon Apr 22 15:04:20 2013 -0600
  72. Update .gitignore
  73. commit 6714fb46d2d2e74587637b465ceb967f5bf80901
  74. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  75. Date: Fri Dec 7 19:59:39 2012 -0700
  76. core: this is 1.0.16-rc7
  77. Rebasing lost the meaning of previous release candidates. Just set the
  78. version to 1.0.16-rc7.
  79. commit eb2393972a1731571d3ca7f5b20fe3a3448a1675
  80. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  81. Date: Thu Apr 11 10:19:03 2013 -0600
  82. Add support for libusb_strerror()
  83. Fixes #102
  84. commit 34319ac4fd312356ae9488838b675e57e36c5f98
  85. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  86. Date: Tue Apr 9 19:01:02 2013 -0600
  87. Update release notes for 1.0.16 release.
  88. commit c3694edc25e0b63a9aa1c1f29590fb727a430aef
  89. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  90. Date: Sun Apr 7 09:35:29 2013 -0600
  91. darwin: don't need darwin_error_str if ENABLE_LOGGING is not defined
  92. commit eff69edbce89aa0364aba64e9944b83dcac5b080
  93. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  94. Date: Sun Apr 7 09:22:48 2013 -0600
  95. update AUTHORS
  96. commit c5ad994bb918bfbf87f8044197930124d2289d0f
  97. Author: Maya Erez <merez@codeaurora.org>
  98. Date: Sat Apr 6 12:30:22 2013 -0600
  99. Add definitions for Endpoint Companion and BOS descriptors.
  100. Add APIs for parsing the Endpoint Companion and BOS descriptors.
  101. Nathan: Modified the original patch to fit the interface now already
  102. provided by the FreeBSD implementation of libusb 1.0 and fit with
  103. the rest of libusb.h.
  104. Some discussion: The FreeBSD API is not optimal. Further discussion
  105. is needed to determine how to update the API without breaking code
  106. that used the existing API. This discussion should probably involve
  107. the FreeBSD developers and could be handled in a 1.0.x release.
  108. An example has been added to show how to use the new API.
  109. Fixes #110
  110. commit 55221eda77899ae1287a79c71138967029bed3b3
  111. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  112. Date: Wed Apr 3 08:37:21 2013 -0600
  113. Use AM_CPPFLAGS instead of INCLUDES in examples/Makefile.am
  114. commit 4232cd434b1475b09db2b15325840ea54753496b
  115. Author: Hans de Goede <hdegoede@redhat.com>
  116. Date: Wed Aug 22 11:47:00 2012 +0100
  117. Linux: Avoid unnecessary splitting of bulk transfers
  118. * With the latest kernels it is no longer needed to always split large bulk
  119. transfers into multiple urbs. This patch takes advantage of this by not
  120. splitting when not necessary. Note that the non-split code path is in essence
  121. using the old split code path with an urb count which is always 1.
  122. * This leads to more sane handling of large transfers with recent kernels,
  123. although our splitting code is well tested, not splitting at all still is
  124. a lot better :)
  125. * When used with a recent kernel, this also fixes the problems, on XHCI attached
  126. devices, when a large bulk-in transfer ends with a short read in an urb other
  127. then the last urb.
  128. * For more on this see: http://marc.info/?l=linux-usb&m=133797554910355
  129. Conflicts:
  130. libusb/os/linux_usbfs.c
  131. libusb/version_nano.h
  132. commit ca257e3dbbecffe011ed3a5c87000ba634bf161d
  133. Author: Hans de Goede <hdegoede@redhat.com>
  134. Date: Wed Aug 22 11:47:00 2012 +0100
  135. Linux: Add support for the new get_capabilities ioctl
  136. * There were a few (new) usbdevfs capabilities which libusbx could not
  137. discover in any other way then checking the kernel version.
  138. * However, this presents the following problems:
  139. 1) It is just not very pretty
  140. 2) Given the tendency of enterprise distros to backport stuff it is not
  141. reliable
  142. 3) Some of these features turn out to not work with certain host controllers,
  143. making depending on them based on the kernel version not a good idea
  144. * Therefore a new USBDEVFS_GET_CAPABILITIES ioctl has been added to the kernel
  145. to offer a better way to find out a device's capabilities (technically
  146. the capabilities of the host controller to which the device is attached,
  147. but that does not matter).
  148. Conflicts:
  149. libusb/os/linux_usbfs.c
  150. libusb/version_nano.h
  151. commit e922bc672aef38773818d2df41cf603b1eac9382
  152. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  153. Date: Tue Apr 2 22:12:47 2013 -0600
  154. darwin: don't assume an interval of 1 or high/super speed
  155. This patch updates submit_iso_transfer to use the bInterval value of the
  156. endpoint and the speed of the device to determine the last frame of the
  157. transaction.
  158. Fixes: #165
  159. commit 6abf49b40c38a5a911701e439160be8eea34f9f3
  160. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  161. Date: Sun Feb 10 14:46:38 2013 -0700
  162. windows: call usbi_sanitize_device to ensure the device descriptor gets cached
  163. commit 7533aa5ea10280add3d9223db2291089009d6988
  164. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  165. Date: Fri Feb 8 20:41:43 2013 -0700
  166. darwin: add fcntl.h
  167. commit 265ff59780a226100fcd0634e5c9b09dbe826f17
  168. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  169. Date: Fri Feb 8 20:39:46 2013 -0700
  170. Fix usbi_log_v in the case where ctx is NULL (no default context).
  171. Fixes #147.
  172. commit 854f7b63654045f20692f42b97dd6954b0069c74
  173. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  174. Date: Fri Feb 8 17:19:01 2013 -0700
  175. On windows do not set the hotplug pipe as non-blocking. I will leave it up the backend maintainers to figure out.
  176. commit 2fa98198472e54b2ae246fb33bf40130dea1456d
  177. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  178. Date: Fri Feb 8 00:12:13 2013 -0700
  179. darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET transfer flag.
  180. The zero-length packet is sent by the async event thread if all the following
  181. conditions are met:
  182. 1) The packet size is not a multiple of maxPacketSize, and
  183. 2) the transfer completed successfully.
  184. References #6.
  185. commit b8e6b77495dd8e25c0a52443db4fdc204d4f20f0
  186. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  187. Date: Thu Feb 7 23:35:32 2013 -0700
  188. Don't set the USBFS_URB_SHORT_NOT_OK flag on the last URB.
  189. Fixes: #142
  190. commit 1cd10590ae6fbfbd976349abe625e1495f6a1370
  191. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  192. Date: Thu Feb 7 21:56:30 2013 -0700
  193. darwin/libusb_reset: reenumerate device if the device descriptor or any
  194. configuration descriptor has changed
  195. Some background: the Linux kernel causes a device to be reenumeration when
  196. reset if the device's descriptors have changed. Darwin does not provide
  197. this feature but instead provides a call to force the reenumeration of
  198. a device. This behavior is required to support the firmware update
  199. protocol used by some devices.
  200. This patch updates darwin_reset to check if either the device or
  201. configuration descriptors have changed. If they have darwin_reset will
  202. ask the OS to reenumerate the device and return LIBUSB_ERROR_NOT_FOUND
  203. or LIBUSB_SUCCESS accordingly.
  204. Fixes #169
  205. commit 4920971837d569b7afa31f69ed7a92c313362cc3
  206. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  207. Date: Fri Feb 8 17:10:24 2013 -0700
  208. replace removed automake macro AM_CONFIG_HEADER with AC_CONFIG_HEADERS.
  209. Fixes #159. Thanks to cazfi.
  210. commit ed61beaa5ecb1bde41ad04060d980c4bc87d6936
  211. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  212. Date: Fri Dec 7 19:55:21 2012 -0700
  213. darwin: clean up extraneous includes
  214. commit 43ae35e6f482b5893348b75772c0e0866d050374
  215. Author: Nathan Hjelm <hjelmn@cs.unm.edu>
  216. Date: Fri Nov 30 19:17:43 2012 -0700
  217. darwin: dpriv->device will never be NULL for a valid device. remove unnecessary code that handled this case
  218. commit 9300dd929abf077c79cfbb0cb98022e9bedee3bb
  219. Author: Nathan Hjelm <hjelmn@me.com>
  220. Date: Thu Nov 29 16:19:11 2012 -0700
  221. darwin: allow control messages on devices we can not exclusively open
  222. commit 046fae00f8a138f6d0c1ddba609676bc3a44e86c
  223. Author: Nathan Hjelm <hjelmn@me.com>
  224. Date: Thu Nov 29 16:14:03 2012 -0700
  225. Add hotplug support to the Linux backend.
  226. There are two ways to configure hotplug support for Linux: udev, and netlink. It
  227. is strongly recommened that udev support is used on systems that utilize udev.
  228. We reenforce this recommendation by defaulting to --with-udev=yes at configure
  229. time. To enable netlink support run configure with --with-udev=no. If udev
  230. support is enabled all device enumeration is done with udev.
  231. References: #17
  232. commit e3948b8e39668f9242925622cccb0658404b5c32
  233. Author: Nathan Hjelm <hjelmn@me.com>
  234. Date: Thu Nov 29 16:13:00 2012 -0700
  235. Add hotplug support to the Darwin backend.
  236. Hotplug events are handled by the async event thread. This thread listens for
  237. two events: kIOTerminatedNotification, and kIOFirstMatchNotification. If
  238. either of these events fires the thread will iterate through the appropriate
  239. iterator and will either enumerate or call usbi_disconnect_device depending
  240. on the event.
  241. While adding hotplug support it was discovered that when reading from the IO
  242. registry we need to use kCFNumberSInt32Type for the device location. Using
  243. kCFNumberLongType would cause locations to be sign-extended and not match
  244. what is stored for the session id. This is now fixed.
  245. commit c6a7a0ebba3e0ea7e82ec75a8d63ff8604d78d25
  246. Author: Nathan Hjelm <hjelmn@me.com>
  247. Date: Thu Nov 29 14:23:26 2012 -0700
  248. Add hotplug support. Bump the version to 1.0.15 and change the so version to
  249. reflect external API changes.
  250. The internal API is changing as follows:
  251. - Adding two new functions. usbi_connect_device, and usbi_disconnect_device.
  252. Backends must call these functions to add them to the context's device list
  253. at one of two places: initial enumeration (done at init), and on device
  254. attach and removal. These functions need to be called once per context.
  255. - Backends that support hotplug should not provide a get_device_list funtion.
  256. This function is now deprecated and will likely be removed once all backends
  257. support hotplug.
  258. The external API is changing as follows:
  259. - Two new functions have been added to register and deregister callbacks for
  260. hotplug notification: libusb_hotplug_register_callback(),
  261. libusb_hotplug_deregister_callback(). Hotplug callbacks are called by
  262. libusb_handle_events(). Details of the new API can be found in libusb.h.
  263. - A new capability check has been added to check for hotplug support. See
  264. LIBUSB_CAP_HAS_HOTPLUG.
  265. Aa suggested by Xiaofan add new example has been added to show how to use
  266. the new external hotplug API. See examples/hotplugtest.c.
  267. References #17
  268. commit 0350974e585a018827b648b8e4d67c08cb19307f
  269. Author: Nathan Hjelm <hjelmn@me.com>
  270. Date: Thu Nov 29 13:53:41 2012 -0700
  271. core: cache device descriptors in the core
  272. Discussion: It is necessary to cache the device descriptor in the core to
  273. support reading the descriptors after a device is disconnected. We could
  274. either 1) allow each backend to handle this caching (which would most
  275. certainly duplicate code), or 2) cache the descritors when a device
  276. is added. This patch does the later.
  277. Further discussion: It might be beneficial to cache more than just the
  278. device descriptors in the core. It might also be worthwhile caching the
  279. configuration and BOS descriptors as well.
  280. commit 8bf72124ad18461acedecc2d89adebc9b67e5b69
  281. Author: Nathan Hjelm <hjelmn@me.com>
  282. Date: Sun Sep 30 11:49:01 2012 -0600
  283. core: Keep a list of contexts (active_contexts_list) created by libusb_init. The list can be used by backends to determine which contexts need notification of device removal (and in the future device arrival). The active_contexts_list is protected from multiple access by the active_contexts_lock.
  284. commit 2fff52d3f7bee6bae121846bc83cc41bea14e13e
  285. Author: Nathan Hjelm <hjelmn@me.com>
  286. Date: Tue Oct 2 08:07:03 2012 -0600
  287. darwin: add support for detecting superspeed devices (IOUSBFamily 5.0.0 or newer)
  288. commit be5a526f6322c6200611f5495aed6d9fbb523b2e
  289. Author: Nathan Hjelm <hjelmn@me.com>
  290. Date: Sun Sep 30 10:22:30 2012 -0600
  291. clean up tabs
  292. commit f9acbbd1a598213fe7d0bff2d06209d9af003558
  293. Author: Nathan Hjelm <hjelmn@me.com>
  294. Date: Fri Sep 28 22:13:09 2012 -0600
  295. darwin: use Release instead of IODestroyPlugInInterface to avoid stopping
  296. IOServices associated with a device
  297. Some IOService subclasses with actually stop if IODestroyPlugInInterface is
  298. used to release the plugin interface. This is likely what causes the
  299. keyboard and mouse to lock up. Using Release should prevent this from
  300. happening.
  301. Fixes #139
  302. Fixes #150
  303. Fixes #153
  304. commit f28f03b081926fa081cef2fee9a409f7e4dc0240
  305. Author: Nathan Hjelm <hjelmn@me.com>
  306. Date: Fri Sep 28 21:18:36 2012 -0600
  307. darwin: don't bother retrying or unsuspending Apple devices during
  308. enumeration
  309. Some devices appear to cause the keyboard and mouse to lock up
  310. after repeated enumeration. Try to avoid the issue by not attempting
  311. to unsuspend Apple devices.
  312. Fixes #150
  313. commit bd7cd8e5e20d2999a31a11fca5eb32068acbcd2c
  314. Author: Nathan Hjelm <hjelmn@me.com>
  315. Date: Fri Sep 28 21:18:08 2012 -0600
  316. darwin: reduce number of times libusb attempts to retrieve a device
  317. descriptor during enumeration
  318. On failure it doesn't make sense to keep on trying to enumerate a
  319. device more than a couple times. Reduce the number of tries from
  320. 10 down to 3.
  321. Fixes #151
  322. commit 7634714aa696175b08016b6f2185a75a2f55a113
  323. Author: Peter Stuge <peter@stuge.se>
  324. Date: Tue Oct 23 09:46:02 2012 +0200
  325. configure.ac: AC_SEARCH_LIBS(clock_gettime) to be able to add -pthread
  326. commit 2799d70e471c8ab02bfac6d4efe1149e3d5ba37a
  327. Author: Peter Stuge <peter@stuge.se>
  328. Date: Tue Oct 23 09:41:31 2012 +0200
  329. configure.ac: Move VISIBILITY_CFLAGS into AM_CFLAGS
  330. commit 62f9a648cf8a875f7572697321f4059b40ef357c
  331. Author: Peter Stuge <peter@stuge.se>
  332. Date: Tue Oct 23 09:37:47 2012 +0200
  333. configure.ac: Move THREAD_CFLAGS into AM_CFLAGS
  334. commit 29c5786bb26bbe62122b94ae17da6c1b286006be
  335. Author: Peter Stuge <peter@stuge.se>
  336. Date: Tue Oct 23 09:27:25 2012 +0200
  337. configure.ac: Use LIBS instead of PC_LIBS_PRIVATE
  338. commit 2b044abace76ba0095ee5dbc71a7dac75e8c8f05
  339. Author: Pete Batard <pete@akeo.ie>
  340. Date: Wed Aug 22 01:32:10 2012 -0700
  341. io.c: Handle >= 1 second transfer timeout in libusb_wait_for_event()
  342. commit 3b821d0a709c6b5b3094a763bb04e48ed0447050
  343. Author: Peter Stuge <peter@stuge.se>
  344. Date: Wed Aug 22 01:32:10 2012 -0700
  345. io.c: Handle >= 1 second transfer timeout in libusb_submit_transfer()
  346. commit b7ed26c7add5528b71a205b4f04c242d3cbeab54
  347. Author: Peter Stuge <peter@stuge.se>
  348. Date: Sat Aug 4 14:27:55 2012 +0200
  349. INSTALL_WIN.txt: Correct Windows backend webpage URL
  350. commit cf60da545c915905869fa4007fcdc5faa75fdcbb
  351. Author: Peter Stuge <peter@stuge.se>
  352. Date: Sat Aug 4 14:26:43 2012 +0200
  353. Windows: #include <windows.h> in header files
  354. commit 36962a408b07920f2fdd61dda6bef0e9e319e7d2
  355. Author: Peter Stuge <peter@stuge.se>
  356. Date: Sun Jul 29 06:22:45 2012 +0200
  357. Windows: Remove msvc/inttypes.h
  358. This file might have been needed for platform abstraction, except that
  359. all code shared among platforms doesn't need the file. Windows code in
  360. particular does not need to use the file.
  361. The file was used in one single place, where the PRIu64 define has now
  362. been replaced with it's value "I64u".
  363. commit 455b2d98869826db7276ddb69ce7b73f1acc9f94
  364. Author: Peter Stuge <peter@stuge.se>
  365. Date: Sat Jul 28 19:17:15 2012 +0200
  366. libusb.h: Fix #145 libusb_ref_device() and libusb_unref_device() typos
  367. commit 53e526e21b519300aff9c9579f886cfc107b0a30
  368. Author: Simon Haggett <simon.haggett@realvnc.com>
  369. Date: Tue Jul 10 16:07:45 2012 +0100
  370. Windows: Stop leaking event handle when destroying condition variables
  371. usbi_cond_destroy() must close the handle created by usbi_cond_intwait().
  372. commit c5194b408286229ce0d94765f963890057d46ee0
  373. Author: Peter Stuge <peter@stuge.se>
  374. Date: Tue Jul 10 16:54:16 2012 +0200
  375. io.c: Avoid timerfd race condition between completion and new submit
  376. An event handler thread working on transfer completion for the last
  377. flying transfer with a timeout can end up racing with a call to
  378. libusb_submit_transfer() from a second thread, so that the timerfd
  379. gets disarmed even though libusb actually again has a transfer with
  380. a timeout.
  381. By arming or disarming the timerfd during completion strictly
  382. according to remaining flying transfers while also holding the
  383. flying_transfers_lock this change ensures that a new transfer can
  384. not be added to the flying list until the completion code path has
  385. armed/disarmed the timerfd according to the current flying list.
  386. Hans de Goede describes the race condition situation in
  387. http://sourceforge.net/mailarchive/message.php?msg_id=29520709
  388. Signed-off-by: Peter Stuge <peter@stuge.se>
  389. commit 0845ff2aeed9ad009d246ecc2a945f007817ca9a
  390. Author: Peter Stuge <peter@stuge.se>
  391. Date: Tue Jul 10 06:29:48 2012 +0200
  392. .gitattributes: Set INSTALL_WIN.txt eol=crlf attribute
  393. commit cd8e76f0b1f47271c4059cd6c1e67e23f0e247a8
  394. Author: Pete Batard <pete@akeo.ie>
  395. Date: Thu May 10 16:44:30 2012 +0100
  396. Windows: Add INSTALL_WIN.txt
  397. libusbx.git commit 75b1cf81db74357f55cc4d0f596ef19a6a25c5cd
  398. [stuge: Remove trailing whitespace]
  399. commit 3bd6db0b8f60143836f5a933f35b15d764fbc7dc
  400. Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
  401. Date: Wed May 9 09:13:41 2012 +0200
  402. examples/Makefile.am: Use the implicit _SOURCES rule
  403. By default automake looks for a source file foo.c for a foo binary.
  404. libusbx.git commit 7e52e1e7534ead3f66b13bdcb28ac8587ff47ab0
  405. commit 1bd831c4e88857bff2f1670c89eda1d04da1cc54
  406. Author: Peter Stuge <peter@stuge.se>
  407. Date: Tue Jul 10 01:46:38 2012 +0200
  408. io.c: Only disarm timerfd when no flying transfer has a timeout
  409. Commit 4630fc22cff8ad3e1afa9b223378c0aabe282b5c made libusb work
  410. correctly when built to use timerfd but run on a kernel without
  411. timerfd support. The commit unfortunately also broke the logic
  412. during transfer completion which decides if the timerfd will be
  413. disarmed or not, and disarm_timerfd() was called even if the
  414. timerfd had already been armed with the next flying transfer
  415. timeout.
  416. Before the offending commit the timerfd would be disarmed only
  417. when arm_timerfd_for_next_timeout() reported that there was no
  418. flying transfer with a timeout. Let's restore that behavior.
  419. The bug was spotted through code review both by the author and
  420. by Hans de Goede, but was not squashed until Vincent Pellier
  421. experienced transfers never timing out, and helped confirm
  422. the source of the problem. Many thanks!
  423. References #73.
  424. commit ae996af002793005db318689229300ff73549964
  425. Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
  426. Date: Tue May 8 20:34:12 2012 +0200
  427. Darwin: Fix warning: comparison between signed and unsigned
  428. libusbx.git commit c5c6b0e69a13786e48b2b6254c8e5458dc6716cc
  429. commit 0f29541c6728c9c2159080267b43e9b4144e9e56
  430. Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
  431. Date: Tue May 8 15:53:56 2012 +0200
  432. Core: Return LIBUSB_ERROR_IO on sync API TRANSFER_ERROR and _CANCELLED
  433. This is much more appropriate and also fixes gcc -Wswitch-enum warnings.
  434. libusbx.git commit 30ccbd773bc02d5dfd21e02bfba6d58234f59393
  435. commit 133092314d539d4c1a37997bb0c4ccfbcacb4677
  436. Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
  437. Date: Fri May 4 16:56:00 2012 +0100
  438. autogen.sh: Correctly pass arguments containing spaces to configure
  439. libusbx.git commit d20cd4f3573fe74d0ec5a4e1d60c9d291547ace4
  440. commit 8dc8b977d796b227f59eb5a7b247b38e27748d52
  441. Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
  442. Date: Fri May 4 16:56:00 2012 +0100
  443. autogen.sh: Exit script on first error
  444. libusbx.git commit c74fe3ab703a28c6d8c3755213e3736c5d1eb35e
  445. commit d8e35a560dfada578c6f6dea520d7d908b002001
  446. Author: Toby Gray <toby.gray@realvnc.com>
  447. Date: Thu May 3 11:25:11 2012 +0100
  448. Windows: Fix deadlock when submitting transfers
  449. The Windows backend needed to call usbi_fd_notification() from
  450. submit_transfer() because a new event source is added for every WinUSB
  451. transfer. This could cause a deadlock when attempting to lock the event
  452. lock if another thread was processing events on the just-submitted
  453. transfer.
  454. The deadlock comes about as the thread calling libusb_submit_transfer()
  455. acquires the transfer mutex before trying to acquire the event lock; this
  456. is the other order of lock acquisition from an event thread handling
  457. activity on the just submitted transfer. This could lead to one of two
  458. deadlocks:
  459. 1) If the transfer completes while usbi_fd_notification() is waiting for
  460. the event lock and the callback attempts to resubmit the transfer.
  461. 2) If the transfer timeout is hit while usbi_fd_notification() is waiting
  462. for the event lock then the attempt to cancel the transfer will deadlock.
  463. This patch fixes both of these deadlocks by having libusb_submit_transfer()
  464. only call usbi_fd_notification() after having released the transfer mutex.
  465. This deadlock was always present in the Windows code, but temporarily
  466. deleted by mistake in commit 6506013c6d4face34cfec79dd0584e9f528cbc6a
  467. and later restored in commit 325a8416697cf69b9b926ed68720f12b1aedf940.
  468. libusbx.git commit 1ed09c7b2a5fc27c3cfea21740584879781bff67
  469. [stuge: Touch up commit message]
  470. commit b988c3d66e349b4f3c430410a42b6203f4fef80f
  471. Author: Peter Stuge <peter@stuge.se>
  472. Date: Sun Jun 3 21:28:13 2012 +0200
  473. Clean up broken whitespace in list_for_each_entry() macros
  474. Introduced by commit aa77b02da65afb0332b9e6853dae9e4dcda00bfa.
  475. commit f651b2669c6ab0804d572650d79551bc2b70f525
  476. Author: Peter Stuge <peter@stuge.se>
  477. Date: Tue May 8 19:50:17 2012 +0200
  478. examples: Add sam3u_benchmark isochronous example by Harald Welte
  479. Copied with the author's permission under LGPL-2.1 from
  480. usb-benchmark-project/host/benchmark.c in
  481. git://git.gnumonks.org/sam3u-tests.git commit
  482. 74959f7ee88f1597286cd435f312a8ff52c56b7e
  483. http://git.gnumonks.org/cgi-bin/gitweb.cgi?p=sam3u-tests.git;a=blob;f=usb-benchmark-project/host/benchmark.c;h=74959f7ee88f1597286cd435f312a8ff52c56b7e
  484. An Atmel SAM3U test firmware is also available in the above repository.
  485. commit 3a69eff1aaf8e3242937bd7ecc94a60e7aa502cd
  486. Author: Peter Stuge <peter@stuge.se>
  487. Date: Tue May 8 19:22:31 2012 +0200
  488. examples: Only check for HAVE_SIGACTION once in Makefile.am
  489. commit d9dbb433f3f3b9787417e34316604d99cb72b188
  490. Author: Peter Stuge <peter@stuge.se>
  491. Date: Tue May 8 19:19:28 2012 +0200
  492. .gitignore: Add examples/ path to the examples
  493. commit a129732fb45fc424743f26f01c906e4514f11521
  494. Author: Peter Stuge <peter@stuge.se>
  495. Date: Tue May 8 19:14:40 2012 +0200
  496. examples: Use a common LDADD for all examples
  497. commit 325a8416697cf69b9b926ed68720f12b1aedf940
  498. Author: Uri Lublin <uril@redhat.com>
  499. Date: Tue May 1 16:47:34 2012 +0300
  500. Windows: Make new transfers correctly notify the event handling thread
  501. usbi_fd_notification() calls are added back into submit_*_transfer()
  502. so that the event handling thread will be aware of new transfers.
  503. libusb.git commit 6506013c6d4face34cfec79dd0584e9f528cbc6a from
  504. libusbx.git commit 4cccbed825fe1dc138121640a6497d7d05aac159 removed
  505. these calls during the removal of the DYNAMIC_FDS Windows-specific
  506. [stuge: Rewrite commit message]
  507. commit 4674b4d137df2e2e49a1057c947888de8f37d6e8
  508. Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
  509. Date: Fri Apr 20 22:25:38 2012 +0100
  510. Linux: Fix warning: comparison between signed and unsigned
  511. libusbx.git commit 36a7119bf296cecd4e910bef86908fd782224960
  512. commit ab9cd5a7be637f7b793987971a706b1d11c27ded
  513. Author: Peter Stuge <peter@stuge.se>
  514. Date: Fri Apr 20 08:10:11 2012 +0200
  515. libusb-1.0.9
  516. commit 696400ad83531bcf944c71164a46f9ccb6a33df3
  517. Author: Peter Stuge <peter@stuge.se>
  518. Date: Fri Apr 20 08:08:34 2012 +0200
  519. AUTHORS: Update list of contributors
  520. commit 19f94537ea55586dd85f8d627fcfaa6173069ea1
  521. Author: Peter Stuge <peter@stuge.se>
  522. Date: Fri Apr 20 06:41:34 2012 +0200
  523. AUTHORS: Add Martin Pieuchot as copyright holder
  524. commit 1a1c633d7912a2565f6af0c9294e10a759d40e05
  525. Author: Peter Stuge <peter@stuge.se>
  526. Date: Fri Apr 20 06:41:12 2012 +0200
  527. AUTHORS: Add Hans de Goede as copyright holder
  528. commit 9477f793341d59cc861acb283e6cb03b5730ac91
  529. Author: Peter Stuge <peter@stuge.se>
  530. Date: Fri Apr 20 06:40:45 2012 +0200
  531. AUTHORS: Add Peter Stuge as copyright holder
  532. commit 4b0dfe9770356af3c51103a9b3d63c5f8cc63d8b
  533. Author: Pete Batard <pete@akeo.ie>
  534. Date: Mon Apr 2 15:47:53 2012 +0100
  535. AUTHORS: Update Pete Batard's copyright years and email address
  536. libusbx.git commit f98eaca0985364be00fcfde3fd3884075092a4e9
  537. [stuge: Remove unrelated changes]
  538. commit 9f0ea78357b7b1654cb3e7de6ff57f5f378b68f1
  539. Author: Peter Stuge <peter@stuge.se>
  540. Date: Fri Apr 20 08:35:04 2012 +0200
  541. AUTHORS: Update Nathan Hjelm's copyright years
  542. commit 8d38506ebc9fb57a40113e5a7739572a42b826d8
  543. Author: Peter Stuge <peter@stuge.se>
  544. Date: Fri Apr 20 06:36:08 2012 +0200
  545. README: Add the BSDs, punctuation, mailinglist link, and remove Daniel
  546. commit 05cbe2de45806db309343cdf298d8569c55863e5
  547. Author: James Hanko <james.hanko@tridentmicro.com>
  548. Date: Wed Oct 19 17:32:34 2011 -0700
  549. Linux: Search for /dev/usbdev<bus>.<device> USB device special files
  550. If neither the (now deprecated) usbfs filesystem nor udev is available
  551. then libusb searches for device nodes also in /dev where they may be
  552. created if the kernel was built with the option CONFIG_USB_DEVICE_CLASS.
  553. This helps on embedded systems such as Android, and all mdev users.
  554. Fixes #119.
  555. commit a806d169e6b5f675289cb9307fcd6b908edd9219
  556. Author: Peter Stuge <peter@stuge.se>
  557. Date: Fri Apr 20 04:32:47 2012 +0200
  558. Add a timestamp in log messages
  559. Fixes #34.
  560. commit 03f4d40c748506c85f88427dd53afd5c663a2929
  561. Author: Peter Stuge <peter@stuge.se>
  562. Date: Fri Apr 20 02:24:44 2012 +0200
  563. Include library version in the very first libusb_init() debug message
  564. commit 84d5eafd1f24a1c6f77f0c2a2ad40e1fbfdea381
  565. Author: Martin Pieuchot <mpi@openbsd.org>
  566. Date: Thu Apr 19 13:33:36 2012 +0200
  567. OpenBSD: Provide libusb_get_device_speed() data
  568. Because the different speed values used by the libusb and OpenBSD's
  569. usb_device_info structure are compatible, keep the code simple and
  570. just copy the value returned by the USB_GET_DEVICEINFO ioctl() call.
  571. Fixes #45.
  572. commit c145ec09732fac2eef53accc07314040d22b64a5
  573. Author: Peter Stuge <peter@stuge.se>
  574. Date: Fri Apr 20 00:11:01 2012 +0200
  575. doc/Makefile.am: Remove username from SF web rsync upload command
  576. Commit c407a2d97b6f8715d3452257a0adac40a20178e6 did it for tarballs.
  577. libusbx.git commit ca159f15737e9097a4d031c9950f281c42af040a
  578. commit 6506013c6d4face34cfec79dd0584e9f528cbc6a
  579. Author: Pete Batard <pete@akeo.ie>
  580. Date: Tue Apr 10 13:30:24 2012 +0100
  581. Windows: Remove #define compile time options in the backend source code
  582. * The DYNAMIC_FDS, AUTO_CLAIM and FORCE_INSTANT_TIMEOUTS options
  583. were introduced for development/testing and don't appear to be
  584. used by the Windows backend users => remove them.
  585. libusbx.git commit 4cccbed825fe1dc138121640a6497d7d05aac159
  586. commit e291e369b975692dfa1a0f029244af597fa61220
  587. Author: Pete Batard <pete@akeo.ie>
  588. Date: Tue Apr 10 13:05:37 2012 +0100
  589. Windows: Warn on one libusb_get_device_list() memory allocation failure
  590. libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
  591. commit 2f40a03ea0552cd8b5ce3d7667b20dc04da061da
  592. Author: Pete Batard <pete@akeo.ie>
  593. Date: Tue Apr 10 13:05:37 2012 +0100
  594. Windows: Add textual error name to debug message on auto-release errors
  595. libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
  596. commit 3c7f85a49b42ac36c6d41294858518c554ac4694
  597. Author: Pete Batard <pete@akeo.ie>
  598. Date: Tue Apr 10 13:05:37 2012 +0100
  599. Windows: Silence warning about unused function guid_to_string()
  600. Commit 6b1982b1bd321b55698ce537e64648e8aec85f6f removed the #ifdef
  601. around guid_to_string() but this ended up causing a warning when
  602. the function wasn't being called. Add it back with correct _MSC_VER.
  603. libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
  604. [stuge: Rewrite commit message for libusb.git]
  605. commit eb55963a6b33799ea76c34f538f21e86f235ea62
  606. Author: Pete Batard <pete@akeo.ie>
  607. Date: Tue Apr 10 13:05:37 2012 +0100
  608. Windows: Base DUMMY_HANDLE on LONG_PTR instead of LONG
  609. libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
  610. commit d930865987de523061eca259a7fed11aea626831
  611. Author: Pete Batard <pete@akeo.ie>
  612. Date: Tue Apr 10 13:05:37 2012 +0100
  613. Windows: Prefer calloc() over malloc() and cast all allocations
  614. This silences VS2010 intellisense warnings on memory allocation.
  615. libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
  616. commit df35117ce58b74fa530baaaccc30adaf432398ea
  617. Author: Peter Stuge <peter@stuge.se>
  618. Date: Thu Apr 19 22:55:44 2012 +0200
  619. Add libusb_get_version() API function
  620. Let's see how this will be used. Fixes #53.
  621. libusbx.git commit 37dfd16c8c2f36c81c86de303072def0dc405e32
  622. [stuge: Remove unrelated changes]
  623. [stuge: Add struct libusb_version member rc for release candidate suffix]
  624. [stuge: Add struct libusb_version member describe for git describe output]
  625. commit 29d5f63c5765f36ea65b55c4cd5f36e1f10a4dae
  626. Author: Peter Stuge <peter@stuge.se>
  627. Date: Thu Apr 19 22:25:07 2012 +0200
  628. Windows: Rename VS2005 solution and add VS2010 project files
  629. libusbx.git commit fcad0941e52eb2fd6d57d3327f420db14dfabf0b
  630. [stuge: Remove xusb references]
  631. [stuge: Add newlines at end of new files]
  632. [stuge: Rename libusb_20??.sln to libusb_vs20??.sln]
  633. commit b217ec1f904c4382010a3a834a7c58d595b594cf
  634. Author: Pete Batard <pete@akeo.ie>
  635. Date: Sat Mar 31 22:32:56 2012 +0100
  636. libusb/Makefile.am: Fix missing DLL .def file from make dist
  637. libusbx.git commit 10dc1ea9a799b13b7423968130da812aa97289bf
  638. [stuge: Use EXTRA_DIST in libusb/Makefile.am instead]
  639. commit 54cb51d8417e0128eb9088bf628db138c9daa2a0
  640. Author: Pete Batard <pete@akeo.ie>
  641. Date: Sat Mar 31 22:14:47 2012 +0100
  642. Makefile.am: Fix msvc dir not being included in make dist
  643. libusbx.git commit a8a80b60a14e3a8269e42dedf34fda66da8e0e50
  644. commit 38d5ba472c6cb728ec818a0c8d964b632c8a7992
  645. Author: Hans de Goede <hdegoede@redhat.com>
  646. Date: Fri Mar 30 13:40:32 2012 +0100
  647. Linux: Don't spam the console with 'device unconfigured' errors
  648. libusbx.git commit 3c968be61befc47d33562843e5479ff67303b0c4
  649. commit 93f14087b2e79d71ba1e53c0b9c7da655dd1258e
  650. Author: Nathan Hjelm <hjelmn@me.com>
  651. Date: Thu Apr 19 05:52:58 2012 -0600
  652. Darwin: Silence warning: cast from pointer to integer of different size
  653. As per http://marc.info/?m=133483651109899
  654. Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
  655. commit 0efc2086646200d8dee86cbbb1e98136383a05c3
  656. Author: Pete Batard <pete@akeo.ie>
  657. Date: Thu Mar 29 23:21:25 2012 +0100
  658. .gitattributes: Add export-ignore for .gitattributs and .gitignore
  659. This keeps the git files out of archives created by gitweb.
  660. libusbx.git commit 2250152b251243f75c951533ae7b1139a785cfe6
  661. [stuge: Removed unrelated whitespace changes]
  662. commit a7ef55c02f0116b94cb75831e5d90ad258c662f8
  663. Author: Pete Batard <pete@akeo.ie>
  664. Date: Wed Mar 28 01:02:02 2012 +0100
  665. Windows: fix Clang warnings about unused assignations
  666. libusbx.git commit c0e7b289fdb35687b90263b14426319d2b96b132
  667. commit ac8eed67e1595ee5a069623e48362d8a85dcb252
  668. Author: Pete Batard <pete@akeo.ie>
  669. Date: Mon Mar 26 23:34:25 2012 +0100
  670. configure.ac: LT_LANG([Windows Resource]) makes windres check redundant
  671. libusbx.git commit 4f9fd6a29a712b0e3312983e9ff153e6d7ed0822
  672. commit 89ce6f7d05dc8ff4a441a01b192d2e20857f6c48
  673. Author: Pete Batard <pete@akeo.ie>
  674. Date: Tue Mar 27 00:03:07 2012 +0100
  675. Windows: Bring .vcproj x86_64 output directories in line with x86_32
  676. libusbx.git commit abdb4437ea1897226076fa706651e350dba1cfd5
  677. commit 77743c6f5b3cfa2d06dcb32204bc65d8bd4fec80
  678. Author: Hans de Goede <hdegoede@redhat.com>
  679. Date: Fri Mar 9 11:31:11 2012 +0100
  680. Linux: Fix a comment in handle_iso_completion()
  681. Fix the comment at the end of handle_iso_completion, we don't stop on
  682. urbs / isoc packets with less data then requested, which is a good
  683. thing since it is a normal condition for isoc transfers.
  684. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  685. commit 5b87c2c7475a8d68270e19336afec0c5a08579ca
  686. Author: Hans de Goede <hdegoede@redhat.com>
  687. Date: Fri Mar 9 11:31:10 2012 +0100
  688. Linux: Remove bogus status handling from handle_iso_completion()
  689. Remove a useless check+set of status because:
  690. 1. The check is always true; and
  691. 2. The new value is never used
  692. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  693. commit e23d8f67eab947e5d41216e0139f0a50d1342ef8
  694. Author: Hans de Goede <hdegoede@redhat.com>
  695. Date: Fri Mar 9 11:31:09 2012 +0100
  696. Linux: Translate isoc packet status codes to LIBUSB_TRANSFER_ codes
  697. During testing of my usbredir code I hit a scenario where my libusb
  698. app was seeing EXDEV as status in the transfer's iso_packet_desc.
  699. This happened because we didn't translate linux negative errno errors
  700. in each isoc packet's status to LIBUSB_TRANSFER_ status codes! This
  701. patch adds these translations.
  702. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  703. commit 7199bc2c9c351b553b6175a588237ee793719281
  704. Author: Hans de Goede <hdegoede@redhat.com>
  705. Date: Fri Mar 9 11:31:08 2012 +0100
  706. Linux: Fix URB return code handling
  707. During testing of my usbredir code I hit a case where EOVERFLOW was not
  708. handled in handle_control_completion(). Instead of just fixing this one
  709. case I've audited (and fixed where necessary) all handle_foo_completion()
  710. functions to know about all errors documented in
  711. linux/Documentation/usb/error-codes.txt.
  712. Note that for handle_iso_completion() this patch actually removes the
  713. handling of some codes, since these can never occur on an iso urb (they
  714. can only occur on the iso packets included in the urb, see the next patch
  715. in this series). Also, in case an unknown status is encountered on an iso
  716. urb this patch sets the urb's status to ERROR rather then leaving it at
  717. completed.
  718. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  719. commit 98bc7b8d125c2756deadfc889dcefd4e6f2fcd02
  720. Author: Hans de Goede <hdegoede@redhat.com>
  721. Date: Fri Mar 9 11:31:07 2012 +0100
  722. Don't print an error when libusb_cancel_transfer() fails with NOT_FOUND
  723. As stated in the documentation for libusb_cancel_transfer(),
  724. LIBUSB_ERROR_NOT_FOUND is an expected return value for
  725. libusb_cancel_transfer() under certain circumstances, so
  726. printing an error every time this happens is undesirable.
  727. Even more so because under Linux IOCTL_USBFS_DISCARDURB sets errno
  728. to EINVAL when the kernel can't not find the urb in the kernel's
  729. urbs-in-flight list, which means that the urb has already completed
  730. at the host controller level but it has not necessarily been reaped
  731. yet. IOW under Linux libusb_cancel_transfer() may yield a result of
  732. LIBUSB_ERROR_NOT_FOUND *before* the transfer's callback has been
  733. called! In conclusion there is no way for applications to avoid
  734. calling libusb_cancel_transfer() on already completed transfers,
  735. and these errors can and do happen frequently for some USB traffic.
  736. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  737. commit 4db8275da59996eb1c22d2e9e9c527fa58b288ad
  738. Author: Hans de Goede <hdegoede@redhat.com>
  739. Date: Fri Mar 9 11:31:06 2012 +0100
  740. Linux: Fix cancel_transfer return value when cancelling a multi-urb transfer
  741. If we fail to cancel the last urb of a multi-urb transfer because it
  742. has already completed (errno == EINVAL on DISCARD_URB), then the entire
  743. transfer has already completed, so returning NOT_FOUND is consistent
  744. with what the documentation for libusb_cancel_transfer() says.
  745. But if we've successfully cancelled the last urb, and then another urb
  746. fails with errno == EINVAL, this means that we've still cancelled the
  747. transfer, as it has only *partially* completed.
  748. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  749. commit b22253ba9cbd399299b534a8c5e3bbac3f240963
  750. Author: Peter Stuge <peter@stuge.se>
  751. Date: Thu Apr 19 04:05:29 2012 +0200
  752. libusb-1.0.pc: Mention OpenBSD and NetBSD in description
  753. commit 6aa0fc60d94e3123de230d3fbc9196814c0e466e
  754. Author: Peter Stuge <peter@stuge.se>
  755. Date: Mon Apr 16 05:59:44 2012 +0200
  756. io.c: Add debug message with the callback address on completed transfer
  757. commit de41604560a57b2279ac1d0a10b8192a9224d284
  758. Author: Xiaofan Chen <xiaofanc@gmail.com>
  759. Date: Sun Apr 15 11:50:27 2012 +0800
  760. Experimental support for NetBSD using the OpenBSD backend
  761. Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com>
  762. commit 404054cb508881c9bd6bc575b66c4f509046b4af
  763. Author: Peter Stuge <peter@stuge.se>
  764. Date: Thu Apr 19 00:41:45 2012 +0200
  765. configure.ac: Separate per-OS backend selection from per-backend settings
  766. commit 2eba7e4197cf9afa77451186e1a116ee3ae91adc
  767. Author: Xiaofan Chen <xiaofanc@gmail.com>
  768. Date: Sun Apr 15 07:17:18 2012 +0800
  769. Linux: Silence unused variable warnings when without CLOCK_MONOTONIC
  770. Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com>
  771. commit bc790a9c414871cc1d33f1c7686048434a700e45
  772. Author: Peter Stuge <peter@stuge.se>
  773. Date: Sat Apr 7 05:20:36 2012 +0200
  774. examples: Use snprintf() instead of sprintf() in dpfp and dpfp_threaded
  775. The OpenBSD C compiler generates a warning for every use of sprintf()
  776. and for a good reason. Reported in http://marc.info/?m=133376187514495
  777. Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
  778. commit bffa232dca51bcc41df71c5735fa56370b7509ad
  779. Author: Peter Stuge <peter@stuge.se>
  780. Date: Sat Apr 7 03:55:36 2012 +0200
  781. OpenBSD: Fix warning: 'hpriv' may be used uninitialized
  782. As reported in http://marc.info/?m=133376187514495
  783. The variable would be used uninitialized when the internal list of
  784. open devices is empty as obsd_handle_events() checks which device
  785. the event fd belongs to, which can not actually happen, but if it
  786. ever does happen then we will now return LIBUSB_ERROR_NO_DEVICE.
  787. Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
  788. commit 6b1982b1bd321b55698ce537e64648e8aec85f6f
  789. Author: Moses McKnight <moses@texband.net>
  790. Date: Fri Mar 30 21:53:20 2012 -0500
  791. Windows: Fix build on VC++2003 which doesn't support variadic macros
  792. Change _MSC_VER tests to check for >= 1400 instead of > 1200 because
  793. Visual C++ did not support variadic macros until VC++2005, as per
  794. http://msdn.microsoft.com/en-us/library/ms177415%28v=VS.80%29.aspx
  795. Since usbi_dbg() is a function and not a macro with the old MS C
  796. compilers the functions guid_to_string() and windows_error_str()
  797. need to be compiled unconditionally, and the compiler should remove
  798. the dead code when debug logging is disabled on newer compilers.
  799. commit 58ac0355e547080c82d02685a32480b891383d3d
  800. Author: Peter Stuge <peter@stuge.se>
  801. Date: Sat Mar 31 03:44:40 2012 +0200
  802. Windows: Don't use a log function body macro for old MS compilers
  803. The duplication is a lot more straightforward than the previous LOG_BODY
  804. macro, which also didn't handle the special debug case correctly. The
  805. duplicated code is fortunately not very long.
  806. commit 76af4c99bd6122c1dd7b58858b669c919d8c8806
  807. Author: Peter Stuge <peter@stuge.se>
  808. Date: Thu Mar 22 01:52:59 2012 +0100
  809. libusbi.h: Add IS_EPIN() IS_EPOUT() IS_XFERIN() and IS_XFEROUT() macros
  810. The macros make backend code a little simpler to read, since the
  811. transfer and endpoint direction is checked in several places across
  812. the supported platforms.
  813. commit e3d0a4cb9e2f9872c9fdbb22d7ded169e111fc8f
  814. Author: Peter Stuge <peter@stuge.se>
  815. Date: Wed Feb 22 14:21:54 2012 +0100
  816. Add LIBUSB_TRANSFER_ADD_ZERO_PACKET flag to indicate need for ZLP
  817. Some protocols which use USB require an extra zero length data packet
  818. to signal end-of-transfer on bulk endpoints, if the last data packet
  819. is exactly wMaxPacketSize bytes long.
  820. This flag allows applications to inform libusb about this requirement,
  821. so that libusb can handle the issue transparently.
  822. At the moment the new flag is only supported on Linux, and submitting
  823. a transfer with the flag set returns an error at submit time on other
  824. systems. Hopefully implementations will soon follow for other systems.
  825. References #6.
  826. commit 7e0c747cc5ed0a31f38dff5eb5f03d4043b05ada
  827. Author: Peter Stuge <peter@stuge.se>
  828. Date: Sun Feb 19 06:58:16 2012 +0100
  829. libusb.h: Add comma after last value in enums to ease future expansion
  830. commit c20ec7a927c05e0b960269751c26ab2b6e0b39ab
  831. Author: Peter Stuge <peter@stuge.se>
  832. Date: Sun Feb 19 05:39:33 2012 +0100
  833. Linux: Rework bulk continuation check to generic kernel version check
  834. The old check_flag_bulk_continuation() tested for one specific running
  835. kernel version. The new kernel_version_ge() instead allows to test the
  836. running kernel version against major, minor and sublevel parameters.
  837. commit cf8f5a7be821099b143fcea8e4ba553daa22818b
  838. Author: Peter Stuge <peter@stuge.se>
  839. Date: Sun Feb 19 05:32:10 2012 +0100
  840. OpenBSD: Correctly catch attempts to do isochronous OUT transfers
  841. LIBUSB_ENDPOINT_OUT is the value of the direction bit, which is 0 for
  842. OUT transfers, so the previous condition could never evaluate to true.
  843. commit ae8e86cffb81858af5eeddbf2ea1aec6d55f573d
  844. Author: Peter Stuge <peter@stuge.se>
  845. Date: Sun Feb 19 00:42:20 2012 +0100
  846. Darwin: Do not reject devices with product id 0x0000
  847. Fixes #128.
  848. commit 4630fc22cff8ad3e1afa9b223378c0aabe282b5c
  849. Author: Peter Stuge <peter@stuge.se>
  850. Date: Mon Feb 13 16:59:51 2012 +0100
  851. Do not call timerfd functions when timerfd is not being used
  852. When libusb was built with timerfd support but used on a system
  853. without timerfd support the library would hang indefinitely on
  854. completion of the first transfer, since timerfd functions were
  855. being called unconditionally and the error returned when timerfd
  856. was not being used caused a confused internal state.
  857. Many thanks to Ivo Smits for looking into the issue, proposing
  858. an initial solution, and helping with testing! Fixes #73.
  859. commit c40f3df1efbb9232b525e5f675746762ca2304b8
  860. Author: Michael Plante <michael.plante@gmail.com>
  861. Date: Sun Feb 12 13:49:35 2012 -0500
  862. Windows: Fix MSVC6 IDE warning on line continuation in libusb-1.0.rc
  863. * libusb\libusb-1.0.rc(21): Could not find the file LIBUSB_RC.
  864. * only shows up first time after opening workspace.
  865. * shows up on either build or clean.
  866. * not actually due to rc.exe, but prior to it.
  867. * probably an IDE bug.
  868. * does not show up when running an exported makefile.
  869. Signed-off-by: Michael Plante <michael.plante@gmail.com>
  870. commit 5526841023101bafa280755c3bd19fc44b9c32a0
  871. Author: Pete Batard <pete@akeo.ie>
  872. Date: Sat Jan 7 23:30:23 2012 +0000
  873. Windows: Add Renesas SuperSpeed support for libusb_get_device_speed()
  874. * tests conducted using a Renesas PCIE USB 3.0 controller and driver and
  875. a mass storage USB 3.0 confirm that USB_NODE_CONNECTION_INFORMATION_EX
  876. uses (undocumented) value 3 for SuperSpeed
  877. commit 3df437680f8f5406795ec5f32d96612d327b2ca4
  878. Author: Peter Stuge <peter@stuge.se>
  879. Date: Fri Feb 10 18:06:43 2012 +0100
  880. autogen.sh: Try to use libtoolize before trying glibtoolize
  881. This helps on Mac OS X where an old glibtoolize is included in the
  882. system and newer, manually installed, versions provide libtoolize.
  883. See also http://marc.info/?m=132490560131894
  884. commit 4afbc78fe09bfc3dd7a609e5f82e9272c9e6226d
  885. Author: Peter Stuge <peter@stuge.se>
  886. Date: Wed Feb 8 15:54:21 2012 +0100
  887. Rename the lsusb example program to listdevs
  888. This is intended to reduce confusion with the much more significant
  889. lsusb utility which is part of the usbutils package.
  890. commit 57ab55159298b7057e0dd9b3854f7fd1550588ed
  891. Author: Sean McBride <sean@rogue-research.com>
  892. Date: Fri Dec 9 13:44:21 2011 -0500
  893. core.c: Fix clang warning about useless store to a variable
  894. commit 32bbbd133e24c24d02646c0f7d1963404d4955f2
  895. Author: Sean McBride <sean@rogue-research.com>
  896. Date: Fri Dec 9 13:43:46 2011 -0500
  897. Darwin: Clarify comments on event thread creation and termination
  898. commit 6cf3285a4e0dfaec0fe53b8eb6a9281e3c5bcb6c
  899. Author: Sean McBride <sean@rogue-research.com>
  900. Date: Fri Dec 9 13:43:46 2011 -0500
  901. Darwin: Fix incorrect mutex protection of libusb_darwin_acfl global
  902. commit 662ced422cf1ffce68753296a81dccf87f3a1c57
  903. Author: Sean McBride <sean@rogue-research.com>
  904. Date: Fri Dec 9 13:43:46 2011 -0500
  905. Darwin: Use retained runloop variable instead of CFRunLoopGetCurrent()
  906. commit 952a9bb6116afc69c4bae4714c2eb0713bf62a6d
  907. Author: Sean McBride <sean@rogue-research.com>
  908. Date: Fri Dec 9 13:37:22 2011 -0500
  909. Darwin: Fix libusb_init() and libusb_exit() refcount race condition
  910. Use OSAtomicIncrement32Barrier() and OSAtomicDecrement32Barrier()
  911. in darwin_init() and darwin_exit() to be thread safe.
  912. commit 721cc1c19fc8e88c4482ab3d1e8a34fa100c403c
  913. Author: Sean McBride <sean@rogue-research.com>
  914. Date: Fri Dec 9 13:33:28 2011 -0500
  915. threads_posix.c: Fix prototype warning by including threads_posix.h
  916. commit f6ef0fca4b36657c1a0885c18cc4c4afcb4f7339
  917. Author: Dave Camarillo <dave.camarillo@gmail.com>
  918. Date: Fri Sep 23 11:56:58 2011 +0100
  919. Windows: Fix crash during enumeration with >= 64 connected devices
  920. * indexes were outgrowing the unref_list array before realloc,
  921. resulting in out of bound access and crash.
  922. commit e280760331e8b39ad3530235653644654166b322
  923. Author: Pete Batard <pbatard@gmail.com>
  924. Date: Tue Oct 26 16:31:13 2010 +0100
  925. Windows MSVC6: Remove SetupAPI, AdvAPI32 and OLE32 dependencies
  926. * this ensures that libusb dependent applications only need
  927. to link with libusb on Windows
  928. * (copied from Pete's msvc08 mods to msvc6 by Michael)
  929. commit fa66c93253855c9146011a6854d65df6d390039f
  930. Author: Pete Batard <pbatard@gmail.com>
  931. Date: Tue Dec 13 21:18:10 2011 -0500
  932. Windows: Output an error message on calls to libusb_get_pollfds()
  933. Signed-off-by: Michael Plante <michael.plante@gmail.com>
  934. commit 637145ed29ee7c7b13ac45d10cf1f798fc06cbd9
  935. Author: Pete Batard <pbatard@gmail.com>
  936. Date: Thu Jun 3 22:14:20 2010 -0500
  937. io.c: Fix comment since pthreads isn't the only threading libusb uses
  938. commit bb37939ab44a54a054f73e2f381808b12fb9cb33
  939. Author: Michael Plante <michael.plante@gmail.com>
  940. Date: Mon Aug 2 19:59:12 2010 -0500
  941. libusb.h: Cast in libusb_get_string_descriptor() to avoid MSVC6 warning
  942. On MSVC6 bitwise OR promotes to int, causing the warning.
  943. commit ca09754471acba9a22fe8fc09170e5660d1d5c5d
  944. Author: Michael Plante <michael.plante@gmail.com>
  945. Date: Fri Dec 23 16:50:21 2011 -0600
  946. Windows: guid_to_string() is only discarded when macro-usbi_dbg used
  947. * usbi_dbg encloses all references to guid_to_string
  948. * MinGW/cygwin warn about an unused function, so the #if
  949. squelches this warning
  950. * MSVC6 uses a variadic function form of usbi_dbg instead
  951. of a macro, so the compiler still "sees" guid_to_string
  952. and it therefore needs to always be defined for MSVC6,
  953. even if it's only a stub.
  954. * So we define it if usbi_dbg is used OR if MSVC6 is used.
  955. Signed-off-by: Michael Plante <michael.plante@gmail.com>
  956. commit 8e15adcb0089882d10269ab77d35e193770ab90e
  957. Author: Pete Batard <pete@akeo.ie>
  958. Date: Tue Nov 15 01:11:12 2011 +0000
  959. Windows: Fix undefined datatype 'LONG_PTR' in MSVC6
  960. * issue reported by Elmi
  961. Signed-off-by: Michael Plante <michael.plante@gmail.com>
  962. commit 17ad642cae618cc09c5516612fa3880d4b6b8635
  963. Author: Pete Batard <pete@akeo.ie>
  964. Date: Sun Nov 13 23:10:15 2011 +0000
  965. Windows: Fix for MSVC6 preprocessor not accepting blank parameters
  966. * unlike later iterations of Visual Studio, MSVC6 does not accept
  967. blank parameters on macro calls [eg. CALL(a, ,b)]
  968. * blank params were used with the DLL_DECLARE and DLL_LOAD macros
  969. * issue reported by Elmi
  970. commit c591a7cbf7dbc6fbb4368e65cf58a8cd02582aeb
  971. Author: Michael Plante <michael.plante@gmail.com>
  972. Date: Tue Oct 26 11:39:38 2010 +0100
  973. Windows: Switch MSVC6 .dsp project files from MBCS to Unicode
  974. * MBCS (which is different from UTF-8) only makes sense if
  975. supporting Windows 95/98, which we don't
  976. * (try to match Pete's vcproj changes in MSVC6)
  977. commit 536e424fd7d057fc3f20f9939f9de4572e51c815
  978. Author: Michael Plante <michael.plante@gmail.com>
  979. Date: Tue Dec 13 21:39:40 2011 -0500
  980. Windows: Add missing MSVC6 lsusb.dsp project file
  981. Signed-off-by: Michael Plante <michael.plante@gmail.com>
  982. commit c56828857eb7ba6fb4f7701693dbb3fe4e75d5f6
  983. Author: Martin Pieuchot <mpi@openbsd.org>
  984. Date: Mon Jan 30 09:59:30 2012 +0100
  985. OpenBSD backend
  986. commit d2285744c7fa4007bb411be354268209d350b0f2
  987. Author: Xiaofan Chen <xiaofanc@gmail.com>
  988. Date: Fri Jan 13 18:07:34 2012 +0100
  989. configure.ac: Darwin: Move -lobjc from LIBS to PC_LIBS_PRIVATE
  990. Since commit 40327cd134718475f6cec8935b856d4fdff2099c it is neccessary
  991. to explicitly include -lobjc not only when linking libusb itself, but
  992. also for programs linking statically against libusb. References #63.
  993. See also http://marc.info/?m=132505900202378
  994. commit 93b0e09d53ed1d177631af9182378492481a790a
  995. Author: Xiaofan Chen <xiaofanc@gmail.com>
  996. Date: Fri Jan 13 13:04:00 2012 +0100
  997. examples: Link only with ../libusb/libusb-1.0.la and not with -lusb-1.0
  998. Previous _LDFLAGS included both the freshly built libusb in ../libusb
  999. and -lusb-1.0, where libtool would usually resolve the latter to an
  1000. already-installed libusb library in the system. The extra reference
  1001. to a second libusb library resulted in failure to build examples on
  1002. Mac OS X in some cases, and is plain wrong.
  1003. See also the thread at http://marc.info/?m=132637593623667
  1004. commit cdc5df8f1b206a7c19bc221e8a9a97d5d98deb85
  1005. Author: Peter Stuge <peter@stuge.se>
  1006. Date: Thu Jan 12 10:34:55 2012 +0100
  1007. libusb/Makefile.am: Avoid recursive variables in .rc silent-rule
  1008. Not every make supports recursive variable expansion so some automake
  1009. versions complain about non-POSIX variable names ever since commit
  1010. 70bec4a9f8ec28d36c731011fa24d37c74ad3523 which added support for
  1011. silent-rules in our rule to compile the Windows .rc file.
  1012. This commit removes the recursive variables and instead uses the
  1013. simple and generic GEN message and associated variable.
  1014. commit a8e2e7cab278fbfcba91909eaf762cf66da9eda5
  1015. Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
  1016. Date: Sat Sep 24 18:27:54 2011 +0200
  1017. Core: Fix #122 warning: no previous prototype for ‘usbi_log_v’
  1018. Declare the usbi_log_v() function before using it.
  1019. commit e88ecb1e65604c222f82da586bb9e9066d66fbba
  1020. Author: Sean McBride <sean@rogue-research.com>
  1021. Date: Fri Oct 14 14:40:29 2011 -0400
  1022. Darwin: Set a name for the background thread on Mac OS X 10.6 and later
  1023. The call to pthread_setname_np() makes it easy to identify the
  1024. background thread in the Xcode debugger and in crash reports.
  1025. commit 60bad550dcb31a315a667a6614c52f712c82f45f
  1026. Author: Peter Stuge <peter@stuge.se>
  1027. Date: Thu Sep 22 21:42:35 2011 +0200
  1028. libusb/Makefile.am: Add libusb-1.0.rc dependency on version.h
  1029. commit 70bec4a9f8ec28d36c731011fa24d37c74ad3523
  1030. Author: Peter Stuge <peter@stuge.se>
  1031. Date: Thu Sep 22 21:38:29 2011 +0200
  1032. libusb/Makefile.am: Make the libusb-1.0.rc rule support silent-rules
  1033. commit fa9b682a638e54a4556ef6bd343ef56d6300a520
  1034. Author: Peter Stuge <peter@stuge.se>
  1035. Date: Thu Sep 22 21:17:37 2011 +0200
  1036. configure.ac: Enable libtool support for Windows Resource language
  1037. commit 58c73ddca310f757fc7ca75197bf3d7ca58ce29a
  1038. Author: Sean McBride <sean@rogue-research.com>
  1039. Date: Mon Sep 19 12:52:44 2011 -0400
  1040. descriptor.c: Use size_t for minor 64 bit compliance improvement
  1041. Fixes #121.
  1042. commit 27ec326a9f1bff4481702b35f39897c65a5db586
  1043. Author: Sean McBride <sean@rogue-research.com>
  1044. Date: Mon Sep 19 12:42:33 2011 -0400
  1045. Darwin: Fix warnings about mismatched signed/unsigned compare
  1046. References #121.
  1047. commit 59cc79f2c8e5da41fe2c761bf1e1d9cd18ddac81
  1048. Author: Sean McBride <sean@rogue-research.com>
  1049. Date: Mon Sep 19 12:38:20 2011 -0400
  1050. Fix unused variable warnings when without timerfd and/or when on Darwin
  1051. References #121.
  1052. commit 1cc5b4a9fb984e83681ae5c797fa6b22bc20f809
  1053. Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
  1054. Date: Fri Sep 16 18:07:56 2011 +0200
  1055. Correctly handle LIBUSB_TRANSFER_OVERFLOW in libusb_control_transfer()
  1056. sync.c: In function `libusb_control_transfer':
  1057. sync.c:122: warning: enumeration value `LIBUSB_TRANSFER_OVERFLOW' not
  1058. handled in switch
  1059. Fixes #120.
  1060. commit c55f581f43885f8576d8e2ebf4d46cd7ff3c1030
  1061. Author: Pete Batard <pete@akeo.ie>
  1062. Date: Mon Sep 19 16:01:37 2011 +0100
  1063. Windows: do not set altsetting 0 as part of libusb_release_interface()
  1064. * pointed out by Travis Robinson and Xiaofan Chen
  1065. * similar to a change advised by Alan Stern for the Linux kernel:
  1066. http://marc.info/?m=122790204410765
  1067. commit efd3fae8f95ef7797ecd4b5731b198f100007d6a
  1068. Author: Pete Batard <pete@akeo.ie>
  1069. Date: Mon Sep 19 15:45:35 2011 +0100
  1070. Windows: fix communication with hubs
  1071. * issue reported by René Haunstrup in http://marc.info/?m=130503019227814
  1072. commit a8d1eb7963e5811e16e8fb7e157cf3a00d888347
  1073. Author: Pete Batard <pete@akeo.ie>
  1074. Date: Mon Sep 19 15:41:39 2011 +0100
  1075. Windows: add USB 3.0 controller support
  1076. * Windows 8, NEC/Renesas, TI, Fresco Logic, Etron, VIA, ASMedia
  1077. (some of which untested!)
  1078. * includes workaround for NEC/Renesas USB 3.0 root hubs
  1079. commit 48a19497bdd14325738ac9197d8cf4ebe1daa2d4
  1080. Author: Pete Batard <pete@akeo.ie>
  1081. Date: Mon Sep 19 15:28:03 2011 +0100
  1082. Windows: add static keywords and drop duplicated or unneeded code
  1083. commit af407286ba2fd346755297e56e365d84b98090d5
  1084. Author: Pete Batard <pete@akeo.ie>
  1085. Date: Mon Sep 19 13:59:46 2011 +0100
  1086. Windows: fix 'windows_error_str' defined but not used when not logging
  1087. commit abc3143ba1989a48f62246c2afb0eb4c3c5f7917
  1088. Author: Peter Stuge <peter@stuge.se>
  1089. Date: Thu Sep 22 10:19:17 2011 +0200
  1090. libusbi.h: Silence unused context variable warnings when not logging
  1091. commit 69b71c896a153a307360cf21be67b3b6e1e09a2d
  1092. Author: Pete Batard <pete@akeo.ie>
  1093. Date: Mon Sep 19 13:06:22 2011 +0100
  1094. Windows: copy DLL file regardless of ddk_build.cmd dll argument case
  1095. commit fdbac8971212bda3a42feeeaeb92fd8e49c7e904
  1096. Author: Pete Batard <pete@akeo.ie>
  1097. Date: Sun Sep 18 20:06:45 2011 +0100
  1098. Windows: Add uint32_t typedef for old MSC so that DDK can build lsusb
  1099. commit c471d55e909d84012f065715703dad454d1fa421
  1100. Author: Vitali Lovich <vlovich@gmail.com>
  1101. Date: Fri Sep 16 08:53:25 2011 -0600
  1102. Darwin: fix port leak in darwin_clock_gettime()
  1103. commit 477f3917f8c123e36993f9c0ba8156ca0f16ccfa
  1104. Author: Vitali Lovich <vlovich@gmail.com>
  1105. Date: Fri Sep 16 08:50:40 2011 -0600
  1106. Darwin: remove unnecessary run loop invalidation during libusb_exit()
  1107. commit f52094f37ccaff8137f5ce39867d2dba9b0f6bf9
  1108. Author: Vitali Lovich <vlovich@gmail.com>
  1109. Date: Fri Sep 16 08:49:54 2011 -0600
  1110. Darwin: fix port leak during libusb_exit()
  1111. commit 8a2f7b5c0520e6099f2c624cd0994c60867c1628
  1112. Author: Vitali Lovich <vlovich@gmail.com>
  1113. Date: Fri Sep 16 08:48:28 2011 -0600
  1114. Darwin: fix potential leak on libusb_claim_interface() error
  1115. commit b1ee2ef8d0b67dcc51c15742cb2decb386cffd9b
  1116. Author: Nathan Hjelm <hjelmn@me.com>
  1117. Date: Fri Sep 16 08:41:01 2011 -0600
  1118. Darwin: Fix #117 transfer size 64/32 bit issue for transfer callbacks
  1119. The transfer size is now always truncated to 32 bits.
  1120. commit c407a2d97b6f8715d3452257a0adac40a20178e6
  1121. Author: Peter Stuge <peter@stuge.se>
  1122. Date: Thu Sep 15 17:04:43 2011 +0200
  1123. Remove username from SF FRS rsync upload command
  1124. commit cbc2d7b2de58cf5fb02d9e5a39be0870527f8632
  1125. Author: Peter Stuge <peter@stuge.se>
  1126. Date: Thu Sep 15 16:48:35 2011 +0200
  1127. Support release candidate versions in configure.ac and libusb-1.0.rc
  1128. commit 384a528ed7adde935681313dacc5cd79e4be9ea1
  1129. Author: Peter Stuge <peter@stuge.se>
  1130. Date: Thu Sep 15 16:32:47 2011 +0200
  1131. Tidy .gitignore a little
  1132. There's no xusb, we need a glob pattern for matching .exe files, and
  1133. fpusb tarballs aren't very common in the libusb source dir.
  1134. commit 9ad3643391a7fc6ce97aa77ffaf97d244fd9e613
  1135. Author: Hans de Goede <hdegoede@redhat.com>
  1136. Date: Wed Sep 14 10:53:48 2011 +0200
  1137. Docs: Clarify that libusb_handle_events_timeout() tv param can't be NULL
  1138. The example code and API doc for libusb_handle_events_timeout() could be
  1139. interpreted as it being OK to pass a NULL pointer for the tv argument (I
  1140. interpreted it like that when I first started coding for libusb).
  1141. This patch changes the docs to make it clear that one must always supply
  1142. a tv struct to libusb_handle_events_timeout.
  1143. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1144. commit e1c06fb070c1328a3b78c7da8b9e779d466edd97
  1145. Author: Peter Stuge <peter@stuge.se>
  1146. Date: Wed Sep 14 08:23:43 2011 +0200
  1147. Makefile.am: Do not remove ChangeLog on make distclean, fixes #116
  1148. [pbatard: Remove it on make maintainer-clean instead]
  1149. commit 0c5bf03eb829e51dcf19562fc4f745937235ea51
  1150. Author: Vitali Lovich <vlovich@aliph.com>
  1151. Date: Wed Sep 14 07:02:06 2011 +0200
  1152. Darwin: Reduce race likelihood between cancellation and device disconnect
  1153. References #88. The race condition still remains, but this change
  1154. makes it less likely to trigger.
  1155. commit 3e6e257f55156c4600f3116a0befba8cee62872a
  1156. Author: Peter Stuge <peter@stuge.se>
  1157. Date: Wed Sep 14 04:00:33 2011 +0200
  1158. Document that libusb_get_device_list() can return any libusb_error code
  1159. Fixes #87.
  1160. commit 737ba04ea40f19564b445fbb489907529e75edc9
  1161. Author: Pete Batard <pbatard@gmail.com>
  1162. Date: Thu Jun 16 10:49:13 2011 +0100
  1163. Linux: Fix #81 URB double free race condition on device disconnect
  1164. A submitted transfer that has just been failed by the kernel could be
  1165. picked up by an event handler to be cleaned up, where freeing of URB
  1166. memory would race with the submit function doing it's own cleanup and
  1167. freeing as a result of the submit failing.
  1168. libusb_submit_transfer() always holds itransfer->lock, so the race can
  1169. be avoided by taking that lock also in the cleanup path and checking
  1170. that the URB memory has not already been freed before freeing it there.
  1171. As http://libusb.org/ticket/81#comment:14 notes there is still another
  1172. possible, but unlikely, race condition between libusb_submit_transfer()
  1173. and an event handling thread. That will require more work to solve.
  1174. [stuge: Add check in cleanup path that URBs have not already been freed]
  1175. commit 1b0f758a334d78d3832d17d694ac0c931da36050
  1176. Author: Peter Stuge <peter@stuge.se>
  1177. Date: Wed Sep 14 03:00:14 2011 +0200
  1178. Add libusb_error_name() API function
  1179. Until we have i18ned error messages we can at least offer easy
  1180. translation from numeric error code to the error code's name.
  1181. [hansg: switch() on enum to get a compiler warning if a case is missing]
  1182. [hansg: Better return value when called with an unknown error code]
  1183. [hansg: Fix DEFAULT_VISIBILITY in definition to compile on all platforms]
  1184. commit e16805130a04b2642891e86b8f479e6343ca17da
  1185. Author: Peter Stuge <peter@stuge.se>
  1186. Date: Wed Sep 14 02:30:18 2011 +0200
  1187. Add libusb_has_capability() API function
  1188. Since it is currently not planned to change the filename of the libusb
  1189. library between libusb-1.0 versions at least on Windows systems it's
  1190. important to have a capability API.
  1191. Currently there exists only one capability; LIBUSB_CAP_HAS_CAPABILITY,
  1192. which tests support for the libusb_has_capability() API.
  1193. commit 2dc2fa2a56408e515d25359323b4ea2f1bbec14a
  1194. Author: Sebastian Pipping <sebastian@pipping.org>
  1195. Date: Tue Sep 13 20:38:26 2011 +0200
  1196. Fix typos in introductory documentation
  1197. commit 0a828082aeedc6d19b6de4e3b10cc9762352fa7f
  1198. Author: Pekka Nikander <pekka.nikander@senseg.com>
  1199. Date: Tue Sep 13 18:57:43 2011 +0200
  1200. Linux: Add libusb_open() debug and error messages with the device path
  1201. Fixes #109.
  1202. commit 6583372125d73543fe0db9fdc59850b9c6aa50d9
  1203. Author: Pekka Nikander <pekka.nikander@senseg.com>
  1204. Date: Tue Sep 13 18:52:36 2011 +0200
  1205. Add debug message with libusb_open() error code
  1206. References #109.
  1207. commit f797ecb3b4e653594f8ebc0c9d9e2ca579062779
  1208. Author: Hans de Goede <hdegoede@redhat.com>
  1209. Date: Mon Sep 12 18:11:20 2011 +0200
  1210. Document libusb_handle_events_completed() and _timeout_completed()
  1211. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1212. [stuge: Note that the old racy functions should be avoided by new code]
  1213. commit 6696512aade99bb15d6792af90ae329af270eba6
  1214. Author: Graeme Gill <graeme2@argyllcms.com>
  1215. Date: Sat Sep 10 15:47:05 2011 +0200
  1216. Fix #56 race condition causing delayed completion of sync transfers
  1217. The sync API had a race where it would check a condition to know if it
  1218. needed to call a libusb_handle_events() function. However, the check
  1219. was done outside of the lock that is held while the condition is set,
  1220. so another thread could completely serve whatever was needed to make
  1221. the condition true between it being checked and the event handler being
  1222. called. This situation would be detected after a libusb-internal timeout
  1223. of 60 seconds, after which the transfer would be completed without
  1224. error, but with significant delay.
  1225. Original patch at http://marc.info/?l=libusb-devel&m=127252114815709
  1226. Changes by Hans de Goede:
  1227. - Renamed the "race-proof" functions from libusb_handle_events*_check()
  1228. to libusb_handle_events*_completed()
  1229. - Drop r = 0 setting in libusb_handle_events_timeout_completed()
  1230. (to make both completed checking cases identical flow wise)
  1231. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1232. [stuge: Simplify libusb_handle_events_timeout() change with a goto]
  1233. [pbatard: Fix _handle_events_timeout() and _completed() definitions]
  1234. commit cfee5446cdb2974c1e90c7c379a365c495975aef
  1235. Author: Nathan Hjelm <hjelmn@me.com>
  1236. Date: Fri Aug 26 23:06:40 2011 -0600
  1237. Darwin: Use a condition to signal async thread ready in libusb_init()
  1238. commit d1bd234f7e1b1ff4168b8f605e2038e87a0e361f
  1239. Author: Nathan Hjelm <hjelmn@me.com>
  1240. Date: Thu Jul 21 22:34:12 2011 -0600
  1241. Fix #64 use of reserved identifiers throughout libusb
  1242. commit a97762a8a121de1ad3deb9e861088b69bb6a155b
  1243. Author: Nathan Hjelm <hjelmn@me.com>
  1244. Date: Thu Jul 21 22:31:09 2011 -0600
  1245. Darwin: fix libusb_get_device_list() and libusb_claim_interface() leaks
  1246. commit 8723df191fcedc6161732fd06d12df392c6dea3f
  1247. Author: Nathan Hjelm <hjelmn@me.com>
  1248. Date: Thu Jul 21 22:28:47 2011 -0600
  1249. Darwin: use kIOMasterPortDefault instead of creating a master port
  1250. commit 0eb7e43759003610d1afe6148aa6ff4f5859ccb0
  1251. Author: Peter Stuge <peter@stuge.se>
  1252. Date: Wed Jul 27 03:15:03 2011 +0200
  1253. Allow devices with zero configurations to be discovered
  1254. At least in Linux, wireless USB devices have zero configurations until
  1255. they have been authorized. This device state can be set for any USB
  1256. device using:
  1257. echo 0 > /sys/bus/usb/devices/?-?/authorized
  1258. An unauthorized device would previously make usbi_sanitize_device()
  1259. return LIBUSB_ERROR_IO, although there really was no I/O error.
  1260. Reported-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
  1261. commit 5010c3e80423d13acee6eeb4af974e8a9bcdd006
  1262. Author: Peter Stuge <peter@stuge.se>
  1263. Date: Wed Jul 27 06:17:48 2011 +0200
  1264. Linux: Continue enumeration even if one device returns an error
  1265. commit 2bf8848fb5c85ace0f445c0820a0c173cf76bf43
  1266. Author: Hans de Goede <hdegoede@redhat.com>
  1267. Date: Fri Jun 17 10:19:00 2011 +0200
  1268. Linux: Handle single- and two-digit kernel versions like 3.0 and 4
  1269. The code has been tested with various version strings.
  1270. [stuge: Remove bogus string length check and optimize for newer kernels]
  1271. commit 0288bf24f91eca9f433ebad91a7eb6c0e3e29133
  1272. Author: Pete Batard <pbatard@gmail.com>
  1273. Date: Thu Mar 3 18:35:35 2011 +0000
  1274. Windows: Provide libusb_get_device_speed() data
  1275. * use (currently superspeed unaware) USB_NODE_CONNECTION_INFORMATION_EX
  1276. Fixes #45.
  1277. [stuge: Explicitly convert OS device speeds to libusb device speeds]
  1278. [pbatard: Add breaks overlooked when adding explicit conversion]
  1279. commit 382b7deaadd7e2f1d08c9e921e460bb3abf130b2
  1280. Author: Trygve Laugstøl <trygvis@inamo.no>
  1281. Date: Tue Jul 19 23:20:40 2011 +0200
  1282. Darwin: Provide libusb_get_device_speed() data
  1283. References #45.
  1284. commit 44d6319f57e7e2c77347da228ed032e62716b438
  1285. Author: Hans de Goede <hdegoede@redhat.com>
  1286. Date: Thu Feb 17 15:06:40 2011 +0100
  1287. Linux: Provide libusb_get_device_speed() data from sysfs
  1288. References #45.
  1289. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1290. commit c8c40bcbd22abca922ff31c4ed6a75fd7af78b59
  1291. Author: Hans de Goede <hdegoede@redhat.com>
  1292. Date: Thu Feb 17 13:17:55 2011 +0100
  1293. Add new API function libusb_get_device_speed()
  1294. Reworked version of my earlier patch, largely modelled after (if not
  1295. copy and pasted from) Trygve Laugstøl's <trygvis@inamo.no> similar
  1296. commit 5a6541e0d80fb1f21e2b960bc2337a612f9d74fb in
  1297. git://git.libusb.org/libusb-trygvis.git
  1298. http://git.libusb.org/libusb-trygvis.git
  1299. http://git.libusb.org/?p=libusb-trygvis.git;a=commitdiff;h=5a6541e0d
  1300. This patch does not add any OS specific code. The supporting code in
  1301. each backend follows in separate patches. References #45.
  1302. Signed-off-By: Hans de Goede <hdegoede@redhat.com>
  1303. commit 0db8cba7f2c372f0127c7df9724e5a35e93f2069
  1304. Author: Nathan Hjelm <hjelmn@me.com>
  1305. Date: Sun Mar 20 00:25:44 2011 -0600
  1306. Darwin: Improve device enumeration performance
  1307. The device location is saved, and later used whenever iterating over
  1308. devices. Fixes #111 and #112.
  1309. [stuge: Formatting fixes and split out libusb_get_device_speed() change]
  1310. [stuge: Combine with patch that uses the saved device location]
  1311. commit 511ec4301deb516691e39e3df5b90fe28cb2bb0f
  1312. Author: Hans de Goede <hdegoede@redhat.com>
  1313. Date: Thu Feb 17 12:49:36 2011 +0100
  1314. Linux: Use __read_sysfs_attr() to get busnum and devaddr
  1315. Remove code duplication.
  1316. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1317. commit e05bbc59ca7b896e2b825bde59bf883ac8c09f5c
  1318. Author: Hans de Goede <hdegoede@redhat.com>
  1319. Date: Thu Feb 17 12:45:10 2011 +0100
  1320. Linux: Add __read_sysfs_attr() helper function
  1321. On Linux we often need to read (postive) integers from sysfs. This patch
  1322. adds a helper function for this. This is a preparation patch for adding
  1323. a libusb_get_device_speed() function to libusb.
  1324. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1325. commit 20e26dda0f86dafa3436b152e090b5f3410c8ce4
  1326. Author: Hans de Goede <hdegoede@redhat.com>
  1327. Date: Tue Feb 8 16:37:18 2011 +0100
  1328. Linux: Stop kernel from re-attaching in-kernel driver after reset
  1329. When an interface is bound to the usbfs driver (iow claimed), the
  1330. kernel will unbind it, and then after the reset do a device_attach
  1331. on the interface, which will bind the default in kernel driver to
  1332. the interface.
  1333. So if an app has detached the in kernel driver, and claimed the
  1334. interface and then does a libusb_reset_device. Things end up with
  1335. the interface no longer being bound to the usbfs driver (so no longer
  1336. claimed) and instead it is bound to the in kernel driver (iow the in
  1337. kernel driver is re-attached).
  1338. We can stop this from happening by releasing all claimed interfaces
  1339. before the reset, as the kernel will not do the device attach after
  1340. reset, if no driver was bound to the interface before the reset.
  1341. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1342. commit 4e294dc9848aab86b31d2fff228cf97e7eadf913
  1343. Author: Hans de Goede <hdegoede@redhat.com>
  1344. Date: Thu Feb 17 12:35:46 2011 +0100
  1345. Core: Use USB_MAXINTERFACES rather then sizeof(claimed_interfaces)
  1346. claimed_interfaces is a long and thus its size differs on 32
  1347. versus 64 bits, this patch uses USB_MAXINTERFACES instead of
  1348. sizeof(claimed_interfaces) on interface number range checks
  1349. for consistent behavior independent of the arch.
  1350. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1351. commit a68f956dd4c29d6ed799f04f07a3346317843999
  1352. Author: Hans de Goede <hdegoede@redhat.com>
  1353. Date: Wed Feb 9 12:40:35 2011 +0100
  1354. Linux: Fix warnings seen when compiling with gcc-4.6
  1355. Compiling with gcc-4.6 results in the following warnings:
  1356. os/linux_usbfs.c: In function 'op_get_configuration':
  1357. os/linux_usbfs.c:1144:6: warning: variable 'r' set but not used ...
  1358. os/linux_usbfs.c: In function 'op_handle_events':
  1359. os/linux_usbfs.c:2091:40: warning: 'status' may be used uninitialized ...
  1360. os/linux_usbfs.c:2044:6: note: 'status' was declared here
  1361. dpfp.c: In function 'save_to_file':
  1362. dpfp.c:228:9: warning: variable 'ignore' set but not used ...
  1363. dpfp_threaded.c: In function 'save_to_file':
  1364. dpfp_threaded.c:257:9: warning: variable 'ignore' set but not used ...
  1365. This patch fixes these. (The second comes from handle_control_completion()
  1366. which gcc seems to inline into op_handle_events().)
  1367. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  1368. [stuge: Add fixes for dpfp examples and update source references]
  1369. commit 209b5ccd827039b933b730e3f29abd0d72d3c6c6
  1370. Author: Vitali Lovich <vlovich@aliph.com>
  1371. Date: Tue Jun 14 08:51:57 2011 +0200
  1372. Darwin: Fix #108 crash when a device is unplugged
  1373. commit d3543e9140536a9751811b44f8496489be1e6bb7
  1374. Author: Peter Stuge <peter@stuge.se>
  1375. Date: Mon Jun 13 22:58:23 2011 +0200
  1376. libusb.h: Add missing LIBUSB_CLASS_ codes currently defined by usb.org
  1377. LIBUSB_CLASS_PHYSICAL
  1378. LIBUSB_CLASS_SMART_CARD
  1379. LIBUSB_CLASS_CONTENT_SECURITY
  1380. LIBUSB_CLASS_VIDEO
  1381. LIBUSB_CLASS_PERSONAL_HEALTHCARE
  1382. LIBUSB_CLASS_DIAGNOSTIC_DEVICE
  1383. Per http://www.usb.org/developers/defined_class
  1384. commit 08bc7ffb6a3b65afc6795cd048a890ee8da7d954
  1385. Author: Peter Stuge <peter@stuge.se>
  1386. Date: Mon Jun 13 22:53:40 2011 +0200
  1387. libusb.h: Add LIBUSB_CLASS_IMAGE in addition to LIBUSB_CLASS_PTP
  1388. The old LIBUSB_CLASS_PTP name is kept for compatibility. Fixes #106.
  1389. commit 3d7938d85a33cd98553c0c898a8dd0490826b077
  1390. Author: Peter Stuge <peter@stuge.se>
  1391. Date: Mon Jun 13 22:52:48 2011 +0200
  1392. libusb.h: Fix LIBUSB_CLASS_PRINTER description typo
  1393. References #106.
  1394. commit 5d0526af1a922afab02cdbdf4bb7078702759571
  1395. Author: Sean McBride <sean@rogue-research.com>
  1396. Date: Fri Feb 11 11:28:04 2011 -0500
  1397. Darwin: Fix #100 warning cast to pointer from integer of different size
  1398. commit bb8854ff5680136e29b57505300f131c2646f258
  1399. Author: Sean McBride <sean@rogue-research.com>
  1400. Date: Mon Jun 13 22:26:43 2011 +0200
  1401. configure.ac: Fix #97 clang warning about -fgnu89-inline
  1402. Remove the test that sets the flag since GNU89 inline semantics are not
  1403. required by libusb.
  1404. [stuge: Also remove reference to the test result]
  1405. commit cb3c2e488f298b78027c9d5fc0bec0e5ba27d761
  1406. Author: Pete Batard <pbatard@gmail.com>
  1407. Date: Wed Jun 15 01:38:58 2011 +0200
  1408. Windows: Make cancel_io() in poll_windows.c static
  1409. References #97.
  1410. commit 6635dbb4acb5ee556a020e431b15c954edfcbd29
  1411. Author: Peter Stuge <peter@stuge.se>
  1412. Date: Mon Jun 13 22:21:02 2011 +0200
  1413. Windows: Make upperize() in windows_usb.h static
  1414. References #97.
  1415. commit 9479ce9dae3d0dbe2ce693bd02ccceb018a75fe9
  1416. Author: Vitali Lovich <vlovich@aliph.com>
  1417. Date: Wed Mar 16 17:33:57 2011 -0700
  1418. descriptor.c: Fix buffer read overflow caught by valgrind
  1419. In parse_interface() an unexpected descriptor would be parsed without
  1420. validating the descriptor's length. It is possible for size to be 0 at
  1421. this point, which means that the parsing would read past the end of the
  1422. source buffer. Fix #83 by checking the length of the remaining buffer
  1423. before parsing.
  1424. commit c775c2f43037cd235b65410583179195e25f9c4a
  1425. Author: Vitali Lovich <vlovich@aliph.com>
  1426. Date: Wed Mar 16 19:51:40 2011 -0700
  1427. Clean up in-flight transfers and device handle when closing a device
  1428. Any in-flight transfers should properly invalidate their references
  1429. to device handles that are being closed. Additionally, they should be
  1430. removed from the transfer-in-flight list. This is done with the events
  1431. lock held to protect against another thread processing the same transfer.
  1432. The events lock is initialized as a recursive mutex, because the device
  1433. close code might itself be called while an event is being handled.
  1434. Fixes #82.
  1435. [stuge: Trivial rework to reduce indenting]
  1436. commit 74282582cc879f091ad1d847411337bc3fa78a2b
  1437. Author: Vitali Lovich <vlovich@aliph.com>
  1438. Date: Wed Mar 16 19:43:30 2011 -0700
  1439. Add recursive mutexes to threading abstraction
  1440. This is necessary for the device close path which needs to attain the
  1441. events lock, but which might itself be called while handling an event.
  1442. The events lock is necessary to properly clean up transfers which might
  1443. still be pointing to the device. References #82.
  1444. [stuge: Move usbi_mutex_init_recursive() into threads_posix.c]
  1445. [stuge: Must also #define _XOPEN_SOURCE 500 to be able to build]
  1446. [pbatard: Un-inline usbi_mutex_init_recursive() to make Cygwin happy]
  1447. commit 8f1bc0659136faf312dabe8fe67380a798299d33
  1448. Author: Vitali Lovich <vlovich@aliph.com>
  1449. Date: Wed Mar 16 19:48:35 2011 -0700
  1450. Add USBI_TRANSFER_CANCELLING and _DEVICE_DISAPPEARED status flags
  1451. The flags are used to indicate if a cancellation has started, and if
  1452. a cancellation has failed because the device is no longer available.
  1453. References #82.
  1454. commit 87ba8a9ead4fd9e81ae3c5a894f698779de1f2c2
  1455. Author: Vitali Lovich <vlovich@aliph.com>
  1456. Date: Wed Mar 16 19:50:04 2011 -0700
  1457. Linux: Detect and report that device has gone away while discarding URBs
  1458. Return LIBUSB_ERROR_NO_DEVICE if the device is no longer available
  1459. (ENODEV) to discard the urbs. References #82.
  1460. commit 2c85c363cddd72b9ab425f05e2ee03e0b1df24f1
  1461. Author: Peter Stuge <peter@stuge.se>
  1462. Date: Mon Jun 6 02:46:46 2011 +0200
  1463. libusbi.h: Add comma after last value in enum usbi_transfer_flags
  1464. commit 5d7be3e1337f2444097504931ac0f2f0997b2b05
  1465. Author: Peter Stuge <peter@stuge.se>
  1466. Date: Sun Jun 5 23:28:07 2011 +0200
  1467. threads_posix.h: Whitespace fix
  1468. commit 18db4813e844fc6929680afcc9b793abcb06876a
  1469. Author: Peter Stuge <peter@stuge.se>
  1470. Date: Sun Jun 5 23:21:08 2011 +0200
  1471. libusb/Makefile.am: Correct threading files in libusb_1_0_la_SOURCES
  1472. commit 5f30c81f66e8dd61f8eae16de548697708f9bd18
  1473. Author: Alan Ott <alan@signal11.us>
  1474. Date: Thu Jul 21 16:37:48 2011 +0200
  1475. Linux: Fix #70 race condition in sysfs_get_device_list()
  1476. Change the way libusb chooses between using sysfs and usbfs for information
  1477. about the attached devies. Using the old method, a race condition could
  1478. occur if a device was unplugged just before (or during) the call to
  1479. libusb_get_device_list(), corrupting the internal sysfs_can_relate_devices
  1480. and sysfs_has_descriptors variables and preventing libusb_get_device_list()
  1481. from working in future calls.
  1482. The old method was based on the assumption that if certain sysfs files
  1483. (eg: busnum) could not be opened, that indicated an inadequacy of sysfs
  1484. (ie: the running kernel's sysfs version did not contain those files),
  1485. when in reality those files couldn't be opened because the device had
  1486. been unplugged.
  1487. The new method checks the adequacy of sysfs during libusb_init()
  1488. (op_init()) and if a sysfs file cannot be opened, it is now assumed that
  1489. it is because the device has been unplugged, not because sysfs is
  1490. inadequate.
  1491. Signed-off-by: Alan Ott <alan@signal11.us>
  1492. [stuge: Include closedir() bugfix posted in ticket by Arne Laansoo]
  1493. [stuge: Remove dead code in sysfs_scan_device() found by Hans de Goede]
  1494. commit 40327cd134718475f6cec8935b856d4fdff2099c
  1495. Author: Sean McBride <sean@rogue-research.com>
  1496. Date: Thu Feb 10 17:11:29 2011 -0500
  1497. Darwin: Fix #63 error when apps use Objective-C garbage collection
  1498. commit 3ba2fae24886fec89410e5f2295f65363edcc2df
  1499. Author: Sean McBride <sean@rogue-research.com>
  1500. Date: Fri Feb 5 11:50:34 2010 -0500
  1501. Darwin: Fix #28 clang analyzer warning about unbalanced retain/release
  1502. commit b67120f047f7eafa15c88c66fa61cef40805ec1f
  1503. Author: Sean McBride <sean@rogue-research.com>
  1504. Date: Fri Feb 5 11:50:34 2010 -0500
  1505. io.c: Fix clang analyzer warning about unused variable
  1506. References #28.
  1507. commit 51af85d03a098d7d99ea544e8e9535b5476bab33
  1508. Author: Peter Stuge <peter@stuge.se>
  1509. Date: Tue May 10 10:44:18 2011 +0200
  1510. .gitignore: Add m4 subdirectory created by libtool
  1511. commit c569e5b3b314538f45d0b3b6f14ce3dbdfee1be9
  1512. Author: Ludovic Rousseau <rousseau@debian.org>
  1513. Date: Mon Nov 15 14:45:50 2010 +0100
  1514. Linux: Do not include useless pthread.h
  1515. The code does not use threads so no need to #include <pthread.h>
  1516. Fixes #74.
  1517. commit 82af9f9d440ef49015652c699157cf62020f097a
  1518. Author: Pete Batard <pbatard@gmail.com>
  1519. Date: Tue Mar 8 17:41:05 2011 +0000
  1520. Windows: minor code improvements
  1521. * mostly warnings from VS2010's Intellisense
  1522. commit 7e636dbe06001b9ac68e452a2fdc05e33fbb4e3a
  1523. Author: Pete Batard <pbatard@gmail.com>
  1524. Date: Tue Mar 8 17:40:39 2011 +0000
  1525. Windows: prevent set_configuration request from being sent using WinUSB
  1526. * multiple WinUSB set configuration requests can stall a device and
  1527. WinUSB does not support setting of alt configuration in the first place
  1528. * issue reported and investigated by Xiaofan Chen
  1529. commit 578c50c99646e5ebbcfbea653524a519b843ebcd
  1530. Author: Graeme Gill <graeme@argyllcms.com>
  1531. Date: Tue Mar 8 17:39:16 2011 +0000
  1532. Windows: fixed default WinUSB timeout and ineffective policy settings
  1533. * default WinUSB timeout was 5 seconds, which may be to small.
  1534. PIPE_TRANSFER_TIMEOUT policy is now set to infinite for all EPs.
  1535. * other WinUSB policy settings were called before the endpoints
  1536. had been set. This is now fixed.
  1537. commit 25fa63ea1cfe02e784cb62d3b869fd15e62b5b6e
  1538. Author: Pete Batard <pbatard@gmail.com>
  1539. Date: Tue Mar 8 17:37:40 2011 +0000
  1540. Windows: Don't leak pipe fds
  1541. use _open() and _close() rather than _open_osfhandle() and CloseHandle()
  1542. * use of CloseHandle() prevented the pipe fds from being
  1543. relinquished on libusb_exit()
  1544. * leaked fds could lead to the OS running out of new fds
  1545. and LIBUSB_ERROR_NO_MEM being returned as a result
  1546. * using _open() avoids _open_osfhandle() redef for cygwin
  1547. * issue reported by Stephano Antonelli
  1548. commit 3ccd9bddec316ee4b867959fd7f616eb4d410997
  1549. Author: Peter Stuge <peter@stuge.se>
  1550. Date: Tue May 10 10:05:29 2011 +0200
  1551. Windows: enumeration overhaul
  1552. * uses multiple passes in a single call
  1553. * uses a hash table, in anticipation for hotplug
  1554. * adds a (dummy) HUB interface for harmonization
  1555. * adds calloc on device struct creation in core
  1556. (to detect and avoid unnecessary double initialization)
  1557. commit bb108cbe39802785d10fe025b74ca5ee19734151
  1558. Author: Pete Batard <pbatard@gmail.com>
  1559. Date: Tue May 10 00:56:18 2011 +0100
  1560. Windows: MS project files part 4 - MSVC6 project files
  1561. Fixes #57 and #1.
  1562. commit 78896ae99b9c2d5672fc93c5bad0f5e8e75c53ea
  1563. Author: Pete Batard <pbatard@gmail.com>
  1564. Date: Tue May 10 00:53:09 2011 +0100
  1565. Windows: MS project files part 3 - VS2005 project files
  1566. References #57.
  1567. commit 9e5f4277e379a82f5d32e81db1bd0ffaa6637596
  1568. Author: Pete Batard <pbatard@gmail.com>
  1569. Date: Tue May 10 00:38:49 2011 +0100
  1570. Windows: MS project files part 2 - WDK project files
  1571. References #57.
  1572. commit c1e75431418cdfc10ec963d823fce479cdae6840
  1573. Author: Pete Batard <pbatard@gmail.com>
  1574. Date: Tue May 10 00:38:12 2011 +0100
  1575. Windows: MS project files part 1 - support files & preliminaries
  1576. * adds the MSVC support files used by MSVC6, VS2005 and WDK
  1577. * also adds missing defines required by MS compilers in libusb.h
  1578. * also anticipatory sets .gitattributes for CRLF handling
  1579. * also adds manually maintained .def file for import lib generation
  1580. References #57.
  1581. commit 85a14f43e0ce27cd47f84fdaeacbaa81cebdb886
  1582. Author: Peter Stuge <peter@stuge.se>
  1583. Date: Mon May 9 08:12:24 2011 +0200
  1584. Move library version number from configure.ac to libusb/version.h
  1585. This is neccessary to support native MS builds. The Windows resource
  1586. file libusb/libusb-1.0.rc must include the release version, which was
  1587. previously only available after configure had run and had substituted
  1588. the numbers into a generated libusb/libusb-1.0.rc file.
  1589. The version atoms are now stored as CPP style #defines in libusb/version.h
  1590. so that the .rc no longer needs to be generated but can simply include the
  1591. header file and access the version information directly.
  1592. The m4 macro LU_DEFINE_VERSION_ATOM() was added to configure.ac to get
  1593. version atoms from libusb/version.h for use in AC_INIT(). The macro
  1594. handles C and C++ style comments in version.h, but can easily be made
  1595. to fail by obscuring the file. Please don't do that.
  1596. Tested with MinGW using autoconf, and manual compile of libusb-1.0.rc
  1597. using RC.EXE Version 5.2.3690.0 from Visual C++ 2005 Express Edition.
  1598. commit 3481f52b014110f6c291e5a15e79ba774dcdfacf
  1599. Author: Peter Stuge <peter@stuge.se>
  1600. Date: Tue May 10 08:36:32 2011 +0200
  1601. Windows: Debug builds create the same .dll file name as non-debug
  1602. Thanks to Pete for pointing this out!
  1603. commit 9da8cf5c9ed9bd381a77d8170fc0556edbcce4dc
  1604. Author: Pete Batard <pbatard@gmail.com>
  1605. Date: Tue Mar 8 17:18:48 2011 +0000
  1606. Windows: explicit use of ANSI or WideChar calls
  1607. * This is in anticipation of adding MSVC project files
  1608. that use Unicode rather than MBCS
  1609. commit ae675c1f49dc00b695fce7296903f60998cc28ed
  1610. Author: Pete Batard <pbatard@gmail.com>
  1611. Date: Tue Mar 8 17:16:23 2011 +0000
  1612. Windows: Remove SetupAPI, AdvAPI32 and OLE32 link-time dependencies
  1613. * this ensures that libusb dependent applications only need
  1614. to explicitly link against libusb on Windows
  1615. The run-time dependency on Cfgmgr32.dll, OLE32.dll and SetupAPI.dll remains.
  1616. commit 356e312511e4892977636da52ec497ad2c716032
  1617. Author: Pete Batard <pbatard@gmail.com>
  1618. Date: Tue Mar 8 17:12:33 2011 +0000
  1619. Add .gitattributes to avoid Windows line ending issues with autocrlf
  1620. commit 61c120f025f3dee04eeb88159d7c0403a8bf91fe
  1621. Author: Peter Stuge <peter@stuge.se>
  1622. Date: Sun Feb 27 09:37:54 2011 +0100
  1623. Windows: Touch up FileDescription and ProductName resource strings
  1624. commit 99b4ddcd893834a4be8b5884037b650e57ba0ba2
  1625. Author: Peter Stuge <peter@stuge.se>
  1626. Date: Sun Feb 27 07:20:40 2011 +0100
  1627. Windows: Remove emulated direct device access via HID API
  1628. Either use a library such as HIDAPI to communicate with HID class
  1629. devices, or replace the kernel driver for the device with one that
  1630. offers support for the complete libusb API.
  1631. commit 4be84ab49c838d534d3a1b8a64ffa89774984ee7
  1632. Author: Peter Stuge <peter@stuge.se>
  1633. Date: Sun Feb 27 06:59:15 2011 +0100
  1634. Revert libusb_strerror() until we have i18n and l10n
  1635. commit 0e177f22fcc69d9aab6fb410e85f3413f478c94c
  1636. Author: Pete Batard <pbatard@gmail.com>
  1637. Date: Wed Jan 19 14:00:12 2011 +0000
  1638. dpfp_threaded: return instead of pthread_exit() to avoid Cygwin warning
  1639. commit e65878f21b0a0bb96debcb292dc03ce3c4ebb701
  1640. Author: Pete Batard <pbatard@gmail.com>
  1641. Date: Wed Jan 19 13:52:08 2011 +0000
  1642. Windows: Rename various variables named "index" to avoid shadow warnings
  1643. commit 019bf73bb2677dc7720bc8280527316adcbaa506
  1644. Author: Pete Batard <pbatard@gmail.com>
  1645. Date: Tue Oct 5 12:50:53 2010 +0100
  1646. Windows: Fix logic in enumeration of driver name and port number
  1647. commit 24494ed5db27737fc607fc35dda722521c9fe4d4
  1648. Author: Pete Batard <pbatard@gmail.com>
  1649. Date: Tue Oct 5 12:50:13 2010 +0100
  1650. Windows: Allow claiming any interface in composite device using WinUSB
  1651. Issue reported by Benjamin Dobell, see #48. The call to
  1652. WinUsb_QueryInterfaceSettings() is removed since it doesn't work
  1653. on any other interface but the first (a WinUSB limitation).
  1654. This allows the use of WinUSB.sys in lieu of the usbccgp.sys
  1655. "USB Generic Parent" default driver for composite devices.
  1656. commit 9c8e6545f2fbb171f81a9451eaf2d09e1fbc13b3
  1657. Author: Pete Batard <pbatard@gmail.com>
  1658. Date: Tue Oct 5 12:47:15 2010 +0100
  1659. Windows: Allow arbitrary bConfigurationValue in config descriptors
  1660. Unlike bInterfaceNumber, bConfigurationValue does not have to be
  1661. either sequential or contiguous. The bConfigurationValue is now
  1662. included in debug output. Fixes #48 reported by Benjamin Dobell.
  1663. commit dcd002974e511879320233fd5b0600e06bdc5620
  1664. Author: Thomas Röfer <Thomas.Roefer@dfki.de>
  1665. Date: Fri Nov 19 22:03:11 2010 +0100
  1666. Darwin: Schedule isochronous transfers further in the future
  1667. This is required to make OpenKinect transfer data at 30 fps. This
  1668. change was originally made by Theo Watson, and Thomas improved on it.
  1669. The commit came via OpenKinect into libusb thanks to Kyle Machulis and
  1670. Hector Martin. Fixes #66.
  1671. commit e83fad33dbaf9f37811da6d4cd9d3be554817944
  1672. Author: Thomas Röfer <Thomas.Roefer@dfki.de>
  1673. Date: Fri Nov 19 22:03:11 2010 +0100
  1674. Darwin: Fix #65 memory leak in submit_iso_transfer()
  1675. This was also independently fixed by Hoi-Ho Chan, but Thomas caught
  1676. an additional problem with his fix.
  1677. This commit came via OpenKinect into libusb thanks to Kyle Machulis
  1678. and Hector Martin.
  1679. commit 1a2d21fe42ad5a157651c787e2f500fc162c325b
  1680. Author: Peter Stuge <peter@stuge.se>
  1681. Date: Sat Feb 26 04:21:05 2011 +0100
  1682. configure.ac: Refactor Windows backend settings into one occurence
  1683. The Windows backend is used both with MinGW and Cygwin, and since most
  1684. settings are identical they can be set in one place.
  1685. commit 717f47621d18de16b87e237f3740299f43e4ca1c
  1686. Author: Peter Stuge <peter@stuge.se>
  1687. Date: Mon Nov 15 19:58:51 2010 +0100
  1688. configure.ac: Rename AM_LDFLAGS to LTLDFLAGS and actually use them
  1689. The new variable name tries to clarify that libtool is being used.
  1690. Linker flags must thus always be specified with -Wl.
  1691. Factor out the libtool flag -no-undefined from host specific cases.
  1692. The flag is required to build a Windows DLL, but is correct also for
  1693. the other supported systems.
  1694. Also, start actually using LTLDFLAGS in libusb/Makefile.am, so that
  1695. libtool will see the options set by configure.
  1696. commit 3cbe5736469c1c52049752c137ae11387e9b079d
  1697. Author: Peter Stuge <peter@stuge.se>
  1698. Date: Sun Nov 21 23:38:46 2010 +0100
  1699. configure.ac: Clean up PC_LIBS_PRIVATE and AM_LDFLAGS
  1700. Move linker options for when linking the library itself from
  1701. PC_LIBS_PRIVATE into AM_LDFLAGS. PC_LIBS_PRIVATE should only
  1702. contain flags needed to link applications statically against libusb.
  1703. Fixes #72.
  1704. commit ef39d1510580b9fcbacf13443fa7a4e553a9a88e
  1705. Author: Peter Stuge <peter@stuge.se>
  1706. Date: Fri Feb 25 02:33:29 2011 +0100
  1707. configure.ac: Call AC_CONFIG_FILES() for each output file
  1708. This avoids a problem with Windows line endings.
  1709. commit 6e52ea067711e6e7e1b2882757fb61b11b6f8feb
  1710. Author: Peter Stuge <peter@stuge.se>
  1711. Date: Sun Nov 21 23:37:27 2010 +0100
  1712. configure.ac: Whitespace changes and trivial reordering
  1713. commit 44b85dabc3f4efe0918a598f981675aa3765cc26
  1714. Author: Peter Stuge <peter@stuge.se>
  1715. Date: Sun Nov 21 23:10:35 2010 +0100
  1716. configure.ac: Quote AC_COMPILE_IFELSE() input
  1717. commit 19d5882c398e49a453ff78494db23b7f4d13c37c
  1718. Author: Peter Stuge <peter@stuge.se>
  1719. Date: Sun Nov 21 23:09:02 2010 +0100
  1720. configure.ac: Define booleans to 1 when set, instead of an empty string
  1721. This makes the generated config.h look a lot nicer.
  1722. commit c24649d796c8b5c97af79a41856422def2e593bc
  1723. Author: Peter Stuge <peter@stuge.se>
  1724. Date: Sat Oct 30 22:28:59 2010 +0200
  1725. configure.ac: Clean up redundancy and fix LIBS on Linux
  1726. LIBS, AM_LDFLAGS, OS_ conditionals and THREADS_POSIX had a bit of
  1727. redundancy throughout the file, and on Linux LIBS ended up missing
  1728. the -pthread flag.
  1729. commit 0bd4a4dd89ff64b99ab55bfc0c5782502c10c676
  1730. Author: Peter Stuge <peter@stuge.se>
  1731. Date: Sat Feb 26 04:08:38 2011 +0100
  1732. configure.ac: Touch up Darwin and Cygwin OS messages
  1733. commit 16cf11a1213272afd616598fa3aba0941e66ec3c
  1734. Author: Peter Stuge <peter@stuge.se>
  1735. Date: Sat Oct 30 22:13:05 2010 +0200
  1736. configure.ac: Do not use -pthread on Darwin
  1737. It's not needed because Darwin has POSIX Threads in libc. Fixes #96.
  1738. commit a120747d561929682cd0276ea4c13fb22fad8554
  1739. Author: Peter Stuge <peter@stuge.se>
  1740. Date: Sat Oct 30 22:07:37 2010 +0200
  1741. configure.ac: Check for poll.h, and for nfds_t on Darwin
  1742. On Linux, assume nfds_t is always available.
  1743. On Darwin, fall back to unsigned int when poll() exists but there
  1744. is no nfds_t, such as on Mac OS X before 10.4.
  1745. On Windows (both MinGW and Cygwin), always use unsigned int instead
  1746. of nfds_t, and don't check for poll.h because we use our own poll()
  1747. implementation.
  1748. commit 21d03d12f92c0d9bd7990861ca0ebf5009f82799
  1749. Author: Nathan Hjelm <hjelmn@me.com>
  1750. Date: Tue Oct 5 20:08:08 2010 -0600
  1751. Darwin: Add support for control requests on endpoints other than 0
  1752. Signed-off-by: Nathan Hjelm <hjelmn@me.com>
  1753. commit 9bfacd760b40f1137a7835198c6028cbdaddeb18
  1754. Author: Nathan Hjelm <hjelmn@me.com>
  1755. Date: Tue Oct 5 23:11:50 2010 -0600
  1756. Darwin: Add more error checking for libusb_open()
  1757. Now also check the CreateDeviceAsyncEventSource() return code for errors.
  1758. Signed-off-by: Nathan Hjelm <hjelmn@me.com>
  1759. commit 478cd4a30728595fd742aa192d8149ee4216d4bc
  1760. Author: Peter Stuge <peter@stuge.se>
  1761. Date: Wed Nov 3 21:46:53 2010 +0100
  1762. Core: libusb_get_next_timeout() must consider all flying transfers
  1763. If transfer->flags indicated that a transfer had a timeout, but no
  1764. timeout was actually set, then libusb_get_next_timeout() would look
  1765. no further for a timeout, ignoring any transfers later in the list
  1766. which had a timeout set.
  1767. Since libusb has an internal 60 second timeout this bug could not
  1768. cause complete lockup, but it could cause a 60 second timeout even
  1769. when a transfer was submitted with a shorter timeout.
  1770. commit 7802e4a3e38bcefccf96ae510ec2c6b7a959b8b5
  1771. Author: Ludovic Rousseau <rousseau@debian.org>
  1772. Date: Mon Nov 15 14:55:51 2010 +0100
  1773. Linux: Correctly catch read() errors for sysfs config descriptors
  1774. read(2) returns ssize_t (signed) and not size_t (unsigned) or int.
  1775. Silence "warning: comparison of unsigned expression < 0 is always false"
  1776. and fix #75.
  1777. commit 4c7f3c8c3012bddba058afd2abdda792944fcda1
  1778. Author: Peter Stuge <peter@stuge.se>
  1779. Date: Sun Jan 23 04:01:25 2011 +0100
  1780. Linux: Refactor cancellation into one function for all transfer types
  1781. commit 011f1f297bc134188fab9960da1b1b9f0bd541aa
  1782. Author: Peter Stuge <peter@stuge.se>
  1783. Date: Sun Oct 17 08:19:56 2010 +0200
  1784. Linux: Refactor discarding of URBs into a function and return all errors
  1785. The Linux backend did not always return errors according to the
  1786. libusb_cancel_transfer() documentation.
  1787. commit 26246df19cb4d88954a5aa9ed5f6b859e451df85
  1788. Author: Peter Stuge <peter@stuge.se>
  1789. Date: Sun Jan 23 04:01:01 2011 +0100
  1790. Linux: Set private number of URBs also for control transfers
  1791. commit 295c9d12e25bc2dbdd8b42bd67a1f7120f0631a1
  1792. Author: Alan Stern <stern@rowland.harvard.edu>
  1793. Date: Sun Oct 17 06:57:06 2010 +0200
  1794. Linux: cancel URBs in reverse order
  1795. In a multi-URB transfer, URBs should be cancelled in reverse order of
  1796. submission. This prevents races that might otherwise occur (after URB N
  1797. is cancelled, data may be transferred for URB N+1 before it too can be
  1798. cancelled). Fixes #8.
  1799. commit 07df377a5df25e9c1811b554dc00eb8c40e5b995
  1800. Author: Alan Stern <stern@rowland.harvard.edu>
  1801. Date: Sun Oct 17 04:17:32 2010 +0200
  1802. Linux: report correct value for urb->actual_length
  1803. Transferred bytes are returned correctly by the kernel for every URB,
  1804. even when an error occurs. Hence they should always be included in
  1805. the transfer statistics. The same is true for isochronous packet
  1806. length and status.
  1807. [stuge: set itransfer->transferred so data is stored at correct offset]
  1808. commit b26db49208c7a6ef0a99645142af21ce80c57c22
  1809. Author: Alan Stern <stern@rowland.harvard.edu>
  1810. Date: Fri Oct 22 11:13:34 2010 +0200
  1811. Linux: improve reporting of URB error status codes
  1812. Fix the way overflow errors are handled (they can occur in any
  1813. transaction, not just the last one in a transfer) and add tests
  1814. for other commonly-occuring error statuses.
  1815. commit efc29733ad31f81883a7ac51a6cc6cda9ad4feb9
  1816. Author: Alan Stern <stern@rowland.harvard.edu>
  1817. Date: Tue Oct 5 11:08:40 2010 -0400
  1818. Linux: improve detection of BULK_CONTINUATION kernel support
  1819. Clarify the comments describing the BULK_CONTINATION flag, and improve
  1820. the subroutine that checks whether the flag is supported by making it
  1821. "future-proof", i.e., by working properly with kernel version numbers
  1822. higher than 2.6.
  1823. commit bd267cf92269e0c4cd8eef795b91eefb2c63452e
  1824. Author: Peter Stuge <peter@stuge.se>
  1825. Date: Mon Nov 22 05:14:00 2010 +0100
  1826. README: Update webpage URL and add Peter's email address
  1827. commit 845b715675703c5f1bc907f6302ece416c9f112c
  1828. Author: Peter Stuge <peter@stuge.se>
  1829. Date: Wed Aug 4 07:30:22 2010 +0200
  1830. libusb is not just for Linux!
  1831. commit 67d9ef7b6877e17f2deec81cd41dc0948f6bed4b
  1832. Author: Nathan Hjelm <hjelmn@me.com>
  1833. Date: Tue Oct 5 19:48:39 2010 -0600
  1834. Remove USBI_OS_HANDLES_TIMEOUT and fix int/isoc timeouts on Darwin
  1835. Backends set USBI_TRANSFER_OS_HANDLES_TIMEOUT for transfers instead.
  1836. Darwin only handles timeouts for bulk and control transfers, so the
  1837. backend now sets that flag accordingly, making libusb core handle
  1838. timeouts for interrupt and isochronous transfers. Fixes #31.
  1839. Signed-off-by: Nathan Hjelm <hjelmn@me.com>
  1840. [stuge: rework libusb_get_next_timeout() and enum usbi_transfer_flags]
  1841. [stuge: fix typo; set USBI_TRANSFER_TIMED_OUT flag correctly]
  1842. commit 370922dfbe0964c0b8a0c1974bb1d7b85ac10607
  1843. Author: Peter Stuge <peter@stuge.se>
  1844. Date: Sun Nov 14 03:14:00 2010 +0100
  1845. Silence "warning: suggest braces around empty body in an 'if' statement"
  1846. commit 0f85015bdf87f3bca0d86ed87c9b976176640922
  1847. Author: Konrad Rzepecki <hannibal@astral.lodz.pl>
  1848. Date: Sat Nov 13 14:09:22 2010 +0100
  1849. Disallow libusb_get_string_descriptor_ascii() with index 0
  1850. String descriptor 0 is the list of supported language IDs in the device,
  1851. which can't have an ASCII representation. Calling the function with
  1852. index 0 is thus not really useful. Fixes #43.
  1853. commit 3b41c31d3fa2c1f93649cc5fc0f59acbf3efd5a1
  1854. Author: Ludovic Rousseau <rousseau@debian.org>
  1855. Date: Fri Mar 19 15:35:14 2010 +0100
  1856. Use const for the usbi_parse_descriptor() format string
  1857. Constant strings should be "const char *" instead of "char *". Silence
  1858. "discards qualifiers from pointer target type" warnings. Fixes #61.
  1859. commit 7f2e9f0776386997d2b4c4c47598ab88e3caeb7a
  1860. Author: Hector Martin <hector@marcansoft.com>
  1861. Date: Wed Aug 25 03:21:57 2010 +0200
  1862. Linux: Fix usbfs/sysfs config descriptor handling on big-endian
  1863. usbfs endian-swaps, sysfs doesn't, not the other way around. Fixes #51;
  1864. descriptor endian parsing is backwards using sysfs on big-endian hosts.
  1865. usbfs is untested.
  1866. Signed-off-by: Hector Martin <hector@marcansoft.com>
  1867. [stuge: checked against Documentation/usb/proc_usb_info.txt]
  1868. commit 2aa8984e59cf0f492e7fbebb8924f54f6160cc5e
  1869. Author: Ludovic Rousseau <rousseau@debian.org>
  1870. Date: Tue Aug 17 20:53:04 2010 +0200
  1871. examples: #include <libusb.h> without directory name
  1872. The libusb-1.0 directory name belongs in the compile command, e.g.
  1873. via pkg-config --cflags. Fixes #58.
  1874. commit 7da756e09fd97efad2b35b5cee0e2b2550aac2cb
  1875. Author: Ludovic Rousseau <rousseau@debian.org>
  1876. Date: Thu Jun 24 10:14:24 2010 +0200
  1877. Add missing argument to libusb_wait_for_event() documentation, fix #55
  1878. In the libusb_wait_for_event() sample code in the section "Letting other
  1879. threads do the work for you" the call to libusb_wait_for_event() was not
  1880. updated by commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90, which added
  1881. the libusb_context *ctx parameter to the function, so the sample code
  1882. was broken until now.
  1883. commit 678c242705b29f9cb6cc421b5625a6485ae58047
  1884. Author: Peter Stuge <peter@stuge.se>
  1885. Date: Sat Oct 16 14:22:30 2010 +0200
  1886. examples: Silence warnings about return value of fwrite()
  1887. commit 9cd9059bf9baac69a9d6c909f4c1e000592fa260
  1888. Author: Peter Stuge <peter@stuge.se>
  1889. Date: Sat Oct 16 11:47:14 2010 +0200
  1890. Linux: Don't free() URBs prematurely on hardware error; fix #54
  1891. When an URB in a multi-URB transfer had an error, handle_bulk_completion()
  1892. would free all URBs and segfault once the next one completed, instead of
  1893. cancelling the remaining URBs and cleaning up as usual.
  1894. This is basically the patch from the ticket, plus some restructuring
  1895. for increased readability of the function.
  1896. Many thanks to Brian Shirley and National Instruments for finding and
  1897. fixing this!
  1898. commit 116d34f608b02f4e14668450b158acf5db726f95
  1899. Author: Pete Batard <pbatard@gmail.com>
  1900. Date: Tue Oct 5 12:43:41 2010 +0100
  1901. Windows: add support for filter drivers
  1902. * precedence is driver > upper filter > lower filter, and defined
  1903. in struct driver_lookup lookup from set_device_paths()
  1904. commit eb833fcd837e3aac2e497438b14c8612254c28ce
  1905. Author: Pete Batard <pbatard@gmail.com>
  1906. Date: Tue Oct 5 12:36:49 2010 +0100
  1907. Windows: fix errcode shadow warning, and string and DLL_DECLARE fixes
  1908. * use FormatMessageA, and overall improvement of windows_error_str()
  1909. * use safe_strlen() always
  1910. * better typing/init default
  1911. * more explicit debug message for devices with no driver
  1912. commit 1feadb5f78e1d2cdfd2aaf0011e041c2848bae37
  1913. Author: Pete Batard <pbatard@gmail.com>
  1914. Date: Tue Oct 5 12:29:32 2010 +0100
  1915. Windows: use IOCTLs for HID input, output and feature reports
  1916. * fixes feature reports not providing actual read size
  1917. (reported by Axel Rohde http://marc.info/?m=127033070021994)
  1918. * removes the USE_HIDD_FOR_REPORTS macro
  1919. * IOCTL usage inspired from HIDAPI by Alan Ott
  1920. commit d7c25451f4075d2a12eb5cbc91ff3de8c0292da0
  1921. Author: Daniel Drake <dan@reactivated.net>
  1922. Date: Mon Oct 4 20:03:58 2010 +0100
  1923. Fix libtool version setting
  1924. This was being set too early to take effect.
  1925. commit a6fb54e2eef4e393bd06829bc3bdc746ea9d41a6
  1926. Author: Mike Frysinger <vapier@gentoo.org>
  1927. Date: Mon Oct 4 20:01:07 2010 +0100
  1928. Populate the pkg-config Libs.private field
  1929. commit a9b4065f048e750b7317f6434406fd528b69bf33
  1930. Author: Mike Frysinger <vapier@gentoo.org>
  1931. Date: Fri Aug 20 00:09:46 2010 -0400
  1932. Linux: fix build failure when CLOCK_MONOTONIC does not exist
  1933. This is not available on all platforms.
  1934. commit d192c5bd32736fde0080d756de6221287af34891
  1935. Author: Daniel Drake <dan@reactivated.net>
  1936. Date: Mon Oct 4 18:45:18 2010 +0100
  1937. Update libtool version info
  1938. With input from various people on the mailing list, update the libtool
  1939. versioning info and start to update this on every release.
  1940. The next libusb release will not need a change here. All following ones
  1941. will.
  1942. commit e65f69a7ef3de357c867ddaac9598efe407078b6
  1943. Author: Pete Batard <pbatard@gmail.com>
  1944. Date: Thu Aug 5 16:40:09 2010 +0100
  1945. Updated documentation for unsupported Darwin/Windows calls
  1946. commit c8bab4e19413d70c515a2eaf747a75b7f66fdc0b
  1947. Author: Pete Batard <pbatard@gmail.com>
  1948. Date: Sun Sep 19 14:24:25 2010 +0100
  1949. Windows: Make libusb_pollfd() return error
  1950. Windows does not have numerical file descriptors but does have the
  1951. concept of event sources. Exposing these event sources will require
  1952. some careful thought and design, to be completed later.
  1953. commit bd623f70d99fad8b975f8d4ee62ea4b1abf1272f
  1954. Author: Daniel Drake <dan@reactivated.net>
  1955. Date: Sun Sep 19 14:21:01 2010 +0100
  1956. MinGW: Use --add-stdcall-alias linker option
  1957. Naming of symbols inside the library is inconsistent on Windows:
  1958. http://wyw.dcweb.cn/stdcall.htm
  1959. Use this linker option to add aliases which add compatibility with
  1960. the "MSVC DLL" platform when a DEF file is used. It also better matches
  1961. the appearance of the Windows API itself.
  1962. commit 29f9f9e3af3340df6a955881a93caf9d2a6d08d6
  1963. Author: Pete Batard <pbatard@gmail.com>
  1964. Date: Fri Aug 13 11:59:49 2010 +0100
  1965. Introduced calling convention (for Windows)
  1966. Under Windows, a variety of compilers and configurations are available,
  1967. meaning that the manner of parameter passing (e.g. registers vs stack)
  1968. can vary.
  1969. Match the Windows API calling convention and document this appropriately.
  1970. This calling convention will be used regardless of the configuration of
  1971. the user's development platform.
  1972. The only user-level complication is that all functions used as libusb
  1973. callbacks must use the same calling convention as libusb. The
  1974. LIBUSB_CALL macro is provided to make this easy.
  1975. Signed-off-by: Michael Plante <michael.plante@gmail.com>
  1976. Signed-off-by: Pete Batard <pbatard@gmail.com>
  1977. [dsd: slight change of strategy, add documentation]
  1978. commit be523f1fe7c136c3fca06ae9c96aff44a22482ba
  1979. Author: Pete Batard <pbatard@gmail.com>
  1980. Date: Fri Aug 6 21:56:04 2010 -0600
  1981. Windows: fix string copy in sanitize_path
  1982. The NULL byte was not being copied.
  1983. commit 7fd36af9f749ce8bf96f89cefd519a9f46825573
  1984. Author: Pete Batard <pbatard@gmail.com>
  1985. Date: Fri Jul 30 00:30:31 2010 +0100
  1986. Windows: DuplicateHandle failure is not a warning
  1987. This is because WinUSB handles are not duplicable, and generate a
  1988. lot of these warnings.
  1989. commit 33cd2f68b4d500e852e354e5acae3d9a96a8ec26
  1990. Author: Pete Batard <pbatard@gmail.com>
  1991. Date: Fri Jul 30 00:23:05 2010 +0100
  1992. removed trailing whitespaces
  1993. commit e47849afe9381c864683220eac9ce7bcf43f7883
  1994. Author: Pete Batard <pbatard@gmail.com>
  1995. Date: Wed Aug 4 18:18:32 2010 -0600
  1996. Windows: Mark interfaces as unused when releasing
  1997. Without this important cleanup, the autoclaim code could attempt to
  1998. reuse an unclaimed interface as if it were already claimed.
  1999. commit b30ca141a0bdce26e7cfdd91d346e49051532ee7
  2000. Author: Pete Batard <pbatard@gmail.com>
  2001. Date: Wed Aug 4 18:15:59 2010 -0600
  2002. Windows: fix device path string duplication
  2003. commit e8d7a89503d5655c4b04da718c6971e25ff48162
  2004. Author: Nathan Hjelm <hjelmn@me.com>
  2005. Date: Mon Aug 2 21:27:38 2010 -0600
  2006. Darwin: Cache device configuration value
  2007. Cache device configuration value to bring the Darwin backend more in
  2008. line with the libusb spec. To handle buggy devices GetConfiguration is
  2009. not called unless the device has more than one configuration.
  2010. commit fe5d1d2050f715ffa8cbd35a378ac969a1a01584
  2011. Author: Xiaofan Chen <xiaofanc@gmail.com>
  2012. Date: Fri Jul 30 15:56:43 2010 +0100
  2013. Fix inconsistencies between prototypes and definitions
  2014. This removes some warnings on cygwin regarding a name clash against
  2015. the standard library "index" function.
  2016. commit 3b538c43e11b805a37d93b6283d270d5d5f0d1f5
  2017. Author: Hoi-Ho Chan <hoiho.chan@gmail.com>
  2018. Date: Tue Jul 27 21:04:17 2010 -0600
  2019. Darwin: handle kIOReturnUnderrun
  2020. This return code indicates that the device returned a data packet
  2021. less than the max packet size. In libusb backend terms, this is
  2022. a successful transfer.
  2023. commit 9a4249f8a104b98a15a7e3ba7ecae9a385ed9027
  2024. Author: Pete Batard <pbatard@gmail.com>
  2025. Date: Sat Jul 10 17:51:13 2010 -0600
  2026. Add Windows support
  2027. Via Cygwin/MinGW, libusb now has windows support.
  2028. Thanks to contributors: Michael Plante, Orin Eman, Peter Stuge,
  2029. Stephan Meyer, Xiaofan Chen.
  2030. commit d38dd5e3d2a872f7064eea084ddea8c33811dd7d
  2031. Author: Hoi-Ho Chan <hoiho.chan@gmail.com>
  2032. Date: Sat Jul 24 13:48:00 2010 -0600
  2033. Darwin: write iso transfer details into correct packets
  2034. commit fbff5b4b665ff2ebc948162617cf7f4f5d2fabeb
  2035. Author: Nathan Hjelm <hjelmn@me.com>
  2036. Date: Sat Jul 24 13:42:57 2010 -0600
  2037. Darwin: fix interface object leak
  2038. commit dffc09835d6860ae9b6a62c39af5be346188cb05
  2039. Author: Nathan Hjelm <hjelmn@me.com>
  2040. Date: Sat Jul 24 13:41:03 2010 -0600
  2041. Darwin: clean up some debug messages
  2042. commit 946d1abbca397b8e88a1b0b4df176dcc5e3b7348
  2043. Author: Nathan Hjelm <hjelmn@me.com>
  2044. Date: Sat Jul 24 13:39:16 2010 -0600
  2045. Darwin: Don't open devices during scan unless we have to unsuspend
  2046. commit 3b6d9ac82e2599cad7817d21e909a42275ddc4c4
  2047. Author: Peter Stuge <peter@stuge.se>
  2048. Date: Fri Jun 25 08:08:13 2010 +0200
  2049. Linux: Handle early complete of multi-URB transfer
  2050. commit a516fcb99376686d2d0028e5ac69950c57a55b9e
  2051. Author: Daniel Drake <dan@reactivated.net>
  2052. Date: Wed Jul 21 17:49:21 2010 -0600
  2053. Only compile dpfp examples when sigaction is available
  2054. It's not available on MinGW.
  2055. commit a1d831ef82e1700f4ebb9df6ca5cef74be757c08
  2056. Author: Aurelien Jarno <aurelien@aurel32.net>
  2057. Date: Tue May 25 09:32:19 2010 +0200
  2058. configure.ac: fix bashisms
  2059. commit 7211aba6e290f9805e911959b2a43a4b3ec56d4f
  2060. Author: Daniel Drake <dan@reactivated.net>
  2061. Date: Fri Jun 25 12:01:58 2010 -0500
  2062. Only include sys/time.h on appropriate platforms
  2063. This header doesn't exist on windows.
  2064. For libusb, determine at configure-time if the header is available.
  2065. For libusb.h, use gcc predefined macros to only include the header
  2066. on platforms that need it.
  2067. commit b33c3cb9651459de1f3d549677cbac67a017a295
  2068. Author: Daniel Drake <dan@reactivated.net>
  2069. Date: Tue Jun 22 18:45:38 2010 -0500
  2070. Linux: Fix log message commit
  2071. Forgot to test this.
  2072. commit 139648d5723190734a51c1c66ddf41c3e87adf10
  2073. Author: Ludovic Rousseau <rousseau@debian.org>
  2074. Date: Mon Jun 21 10:19:29 2010 +0200
  2075. Only initialize the default context when it is requested
  2076. commit 22d61cd0891d8304dfc1a70579cf154fd8e6644a
  2077. Author: Daniel Drake <dan@reactivated.net>
  2078. Date: Tue Jun 22 18:20:23 2010 -0500
  2079. Linux: fix log message that was being unconditionally sent to stderr (#44)
  2080. This message was put in place to aid libusb-compat-0.1 users, who
  2081. may run into the change that libusb-0.1 allowed you to usb_open() a
  2082. device that you don't have write access to, but libusb-1.0 does not.
  2083. As explained on the ticket this change is dangerous so it should go through
  2084. the usual logging mechanism. I also added a similar regular log message
  2085. to libusb-compat-0.1.
  2086. commit 82065a2c5e9d5ad0b2bb28792d12462f2fa150f0
  2087. Author: Ludovic Rousseau <rousseau@debian.org>
  2088. Date: Thu Jun 10 18:41:27 2010 +0200
  2089. Fix 2 documentation typos
  2090. commit 351c062aacdde0b0fa7972ee9b7c6b355dcee110
  2091. Author: Ludovic Rousseau <rousseau@debian.org>
  2092. Date: Wed Apr 21 16:49:33 2010 +0200
  2093. add AM_MAINTAINER_MODE
  2094. commit a7c056c14867e1cc3ef83682f2706cdbdca7c4ce
  2095. Author: Pete Batard <pbatard@gmail.com>
  2096. Date: Thu Jun 10 17:00:25 2010 -0500
  2097. Factorize event handler interruption code
  2098. This will be additionally used by the windows backend which modifies
  2099. the fd set frequently.
  2100. commit fc0af8e3f76925ad09e0fbc6d233d500753ee375
  2101. Author: Pete Batard <pbatard@gmail.com>
  2102. Date: Sat Jun 5 12:14:19 2010 -0500
  2103. Abstract low-level event handler operations
  2104. The Windows backend uses something other than UNIX file descriptors
  2105. for event handling. Abstract out the operations to allow for this.
  2106. commit 64383fb5b55a74b706967836e81cef61e57df86a
  2107. Author: Pete Batard <pbatard@gmail.com>
  2108. Date: Tue Jun 1 11:38:14 2010 +0100
  2109. fixes the possibility of using a broken timercmp on Windows
  2110. Microsoft's implementation of timercmp does not work for >= or <=.
  2111. commit f6d60a9a8fcf06629812da886e3a5de592624b61
  2112. Author: Pete Batard <pbatard@gmail.com>
  2113. Date: Mon Feb 1 19:26:13 2010 +0000
  2114. Switched to standard int pointer type for windows 64-bit compat
  2115. On 64-bit Windows a pointer is 64 bit, but long is still 32 bit for
  2116. backwards compatibility.
  2117. uintptr_t nicely hides this difference and also works on Linux.
  2118. [dsd: add appropriate include]
  2119. commit a2fa855ce3795e31905b255267874af0603168bc
  2120. Author: Michael Plante <michael.plante@gmail.com>
  2121. Date: Tue Mar 9 16:39:46 2010 -0600
  2122. added doxygen, dpfp, msvc, and xusb stuff to gitignore
  2123. commit 845d96a9c30b6f053208ed6b5b5d4ad1655e2026
  2124. Author: Daniel Drake <dan@reactivated.net>
  2125. Date: Mon May 31 19:56:34 2010 -0500
  2126. Add reference counting to default context
  2127. Michael Plante pointed out that if 2 users call libusb_init(NULL) within
  2128. a process, we end up creating 2 default contexts, one of which is lost.
  2129. Add reference counting so that the default context is reused and
  2130. destroyed only after the last user.
  2131. commit 0e77f017fd3d1bdec4aced0429a380d3e434081b
  2132. Author: Daniel Drake <dan@reactivated.net>
  2133. Date: Thu May 27 19:24:49 2010 -0400
  2134. Fix libusb_init() error handling
  2135. 9996ccaed7 introduced a problem in that mutexes could be destroyed
  2136. in the error handling codepath before they had been created.
  2137. Pointed out by Michael Plante.
  2138. commit b03de9d07bf9a6b0c4e6cba9ec06b5271a22e621
  2139. Author: Michael Plante <michael.plante@gmail.com>
  2140. Date: Mon May 24 11:57:10 2010 -0300
  2141. Modify log functions to compile with MSVC6
  2142. MSVC6 does not support variadics.
  2143. commit aa77b02da65afb0332b9e6853dae9e4dcda00bfa
  2144. Author: Pete Batard <pbatard@gmail.com>
  2145. Date: Sun Feb 14 19:46:05 2010 -0600
  2146. Add type parameter to the list_for_each_entry() and _safe() macros
  2147. typeof() is a GCC extension, not supported by target compilers such
  2148. as MSVC.
  2149. commit b92b16f437079208c8dfb1dc2380893846a07ee9
  2150. Author: Daniel Drake <dan@reactivated.net>
  2151. Date: Wed May 19 17:37:29 2010 -0300
  2152. Fix a usbi_pollfd leak in error path
  2153. I accidently missed this when applying Pete Batard's earlier patch.
  2154. Pointed out by Michael Plante.
  2155. commit 8aceb5c99056aaed6e6f2db1b303817e37e9fe8c
  2156. Author: Pete Batard <pbatard@gmail.com>
  2157. Date: Sun Feb 14 19:47:30 2010 -0600
  2158. Rename all interface parameters to usb_interface or interface_number
  2159. Remove the use of the ambiguous "interface" where possible without
  2160. breaking the API.
  2161. 'interface' is a preprocessor #define already associated with COM on Windows,
  2162. that can cause a conflict as soon as windows.h is included.
  2163. There are a few more places where interface is still used, which should
  2164. be changed for libusb-2.0
  2165. commit d7031ee8e1c449af23b2674fe18d9fc652c9bd80
  2166. Author: Pete Batard <pbatard@gmail.com>
  2167. Date: Mon May 17 19:30:27 2010 -0300
  2168. Stricter types and casts
  2169. commit 9996ccaed740f8fcec4287a478ccaaa573f9865a
  2170. Author: Pete Batard <pbatard@gmail.com>
  2171. Date: Mon May 17 19:16:54 2010 -0300
  2172. Fixes to error handling and exit codepaths
  2173. Various locks and things were being leaked/left open when handling
  2174. errors and during deinitialization.
  2175. [dsd: small tweaks]
  2176. commit 371ca4e440894bd1c845971418aa24c9d3919e63
  2177. Author: Nathan Hjelm <hjelmn@me.com>
  2178. Date: Thu May 13 19:38:05 2010 -0300
  2179. Darwin: Define IO_OBJECT_NULL if not already defined
  2180. Needed on Mac OSX 10.3
  2181. commit 7ba92cff94bbba19284749c614c26141d3023f37
  2182. Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
  2183. Date: Fri Jan 29 12:08:52 2010 +0100
  2184. libusb_cpu_to_le16: macro->static inline function
  2185. The libusb_cpu_to_le16 macro was a ({ ... }) expression, which
  2186. generates the following compiler warning every time it is used,
  2187. (and that is several times for every #include <libusb.h>):
  2188. libusb.h:880: warning: ISO C forbids braced-groups within expressions
  2189. With this patch, #include <libusb.h> stops generating compiler
  2190. warnings on gcc 4.4.
  2191. As libusb.h heavily relies on the use of static inline functions
  2192. those can be relied on to work properly, and there should not be
  2193. any significant difference in the code the compiler generates.
  2194. commit 3473ac6c6fab32202d02d87679ebdb24e7d2df98
  2195. Author: Francesco <francesco.montorsi@gmail.com>
  2196. Date: Tue Mar 9 16:35:35 2010 -0600
  2197. Add libusb_strerror() to get short error message in English from enum
  2198. [dsd: small tweaks]
  2199. commit 5b69f3b7b0610d5f518954792ddc93332a41d292
  2200. Author: Michael Plante <michael.plante@gmail.com>
  2201. Date: Thu Feb 25 19:39:22 2010 -0600
  2202. Fix libusb_device::lock memory leak
  2203. commit a636df4ca1b87ed3094a87828c022092a80ba613
  2204. Author: Pete Batard <pbatard@gmail.com>
  2205. Date: Wed May 12 21:46:31 2010 -0300
  2206. Whitespace cleanup
  2207. commit 23b5db8b3e353176dfa0635bfb6f0e2658f6e3de
  2208. Author: Peter Stuge <peter@stuge.se>
  2209. Date: Tue May 11 00:51:43 2010 +0100
  2210. Add internal abstraction for POSIX Threads
  2211. This prepares for a Windows backend without dependency on pthreads-w32.
  2212. pthread_* is renamed to usbi_* and PTHREAD_* to USBI_*.
  2213. A usbi_mutex_static_t and usbi_mutex_static_lock() and _unlock() are
  2214. introduced for statically initialized mutexes, since they may be
  2215. implemented using other types when pthreads mutexes aren't used.
  2216. Move -pthread from libusb/Makefile.am to host-specific THREAD_CFLAGS in
  2217. configure.ac. This will enable optional use of -lpthread for cygwin.
  2218. [dsd: minor tweaks, and roll in a change based on patches from Pete
  2219. Batard to only build dpfp_threaded example when we're using pthreads]
  2220. commit a04cbb0095a78aeed3f65aaf06c46069d0ac184a
  2221. Author: Daniel Drake <dan@reactivated.net>
  2222. Date: Tue May 4 19:01:59 2010 -0300
  2223. v1.0.8 release
  2224. commit 53b47299531974fa8901b74a163f3c8ebae4eec9
  2225. Author: Daniel Drake <dan@reactivated.net>
  2226. Date: Thu Apr 22 18:12:51 2010 -0300
  2227. Linux: don't set SHORT_NOT_OK on bulk out URBs (#20
  2228. Setting this flag is illegal, and the behaviour we're looking for
  2229. is already in place for host-to-device transfers without this flag.
  2230. commit 1519828b7ee1fce46d4c51fc097d52e01b8e0bb4
  2231. Author: Daniel Drake <dan@reactivated.net>
  2232. Date: Tue Apr 20 20:14:09 2010 -0300
  2233. Linux: Handle failure to read active configuration during enumeration
  2234. commit 45168627cc15aee3875192f34286110dbbd27095
  2235. Author: Nathan Hjelm <hjelmn@me.com>
  2236. Date: Tue Apr 20 19:43:06 2010 -0300
  2237. Darwin: don't reuse cached descriptors during enumeration
  2238. Descriptor reuse was causing scans to return invalid information when
  2239. the device at a location has changed.
  2240. commit 3af329db6dcbfb96d24867c757f9e125e5b7b0e5
  2241. Author: Daniel Drake <dan@reactivated.net>
  2242. Date: Mon Apr 19 19:36:55 2010 -0300
  2243. v1.0.7 release
  2244. commit ceb8cacd6d2a4189de0db2ee46d45217511c69be
  2245. Author: Daniel Drake <dan@reactivated.net>
  2246. Date: Mon Apr 19 19:31:12 2010 -0300
  2247. Document that fd set contents are an internal implementation detail (#36)
  2248. commit 9bea500b5747bdeba7c8251d45608558e71a1db5
  2249. Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
  2250. Date: Mon Apr 19 19:22:46 2010 -0300
  2251. Linux: correct config descriptor endianness fix
  2252. The seek_to_next_config codepath deals with both sysfs and usbfs;
  2253. make sure we only convert values in the usbfs path.
  2254. commit 02df59a309e813c50b8230de99e69fb4e1814279
  2255. Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
  2256. Date: Mon Apr 5 17:11:32 2010 +0200
  2257. Linux: Fix endianness handling of usbfs config descriptors (#27)
  2258. driver/usb/core/devio.c function usbdev_read translate the follwing files
  2259. to CPU endianess:
  2260. le16_to_cpus(&temp_desc.bcdUSB);
  2261. le16_to_cpus(&temp_desc.idVendor);
  2262. le16_to_cpus(&temp_desc.idProduct);
  2263. le16_to_cpus(&temp_desc.bcdDevice);
  2264. All other data is passed without any change.
  2265. libusb/os/linux_usbfs.c calls usbi_parse_descriptor with host_endian=1
  2266. for config descriptors. According to the kernel code, they must be
  2267. processed with host_endian=0, as they are not translated by the kernel.
  2268. Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
  2269. commit ec303b01a5d4e51c000a283853af65059fa62285
  2270. Author: Nathan Hjelm <hjelmn@mac.com>
  2271. Date: Tue Mar 23 16:22:08 2010 -0600
  2272. Darwin: fix enumeration of devices with non-consecutive addresses (#23)
  2273. commit cd809e2f7cee3874b7ae16b2c482a8b63a90e4a5
  2274. Author: Bastien Nocera <hadess@hadess.net>
  2275. Date: Mon Mar 8 10:50:51 2010 +0000
  2276. Add more interface classes
  2277. As used in bluez.
  2278. commit 1ce4aa67d849f5cad8a21072dc1c7b42158ce817
  2279. Author: Nathan Hjelm <hjelmn@mac.com>
  2280. Date: Thu Mar 18 11:32:32 2010 -0600
  2281. Darwin: Cleanup async callback code, catch request timeouts
  2282. commit 68af9f8d731f700267335941a8214d34ab518cc8
  2283. Author: Nathan Hjelm <hjelmn@mac.com>
  2284. Date: Thu Mar 18 11:31:46 2010 -0600
  2285. Darwin: fix endianness of control setup packet
  2286. IOUSBLib expects the control request to be in host byte order.
  2287. Swap the request into host byte order.
  2288. commit cfce4d127184f4e4f334976151a0f80594bb5e22
  2289. Author: Nathan Hjelm <hjelmn@mac.com>
  2290. Date: Mon Feb 15 14:10:08 2010 -0600
  2291. Darwin: fix memory leak in process_device
  2292. Credit to Mike Colagrosso for finding this bug.
  2293. commit 161893cfbefefe315f657677705abe090fc526f2
  2294. Author: Nathan Hjelm <hjelmn@mac.com>
  2295. Date: Mon Feb 15 14:09:19 2010 -0600
  2296. Darwin: use logging functions
  2297. Use usbi_warn, usbi_err, and usbi_info instead of _usbi_log.
  2298. commit 2a72f38548208044dc3aa62681419d006c35732d
  2299. Author: Nathan Hjelm <hjelmn@mac.com>
  2300. Date: Mon Feb 15 14:07:44 2010 -0600
  2301. Darwin: support multiple calls to libusb_init
  2302. Credit to Orin Eman for finding this bug.
  2303. commit a4186794d87124503db2f5f51f51ce90bb95daa7
  2304. Author: Daniel Drake <dan@reactivated.net>
  2305. Date: Sun Nov 22 17:20:53 2009 +0000
  2306. v1.0.6 release
  2307. commit 8392ff22136fccaf1e15d186157609b8dd127bc5
  2308. Author: Ludovic Rousseau <rousseau@debian.org>
  2309. Date: Sun Oct 25 10:06:41 2009 +0100
  2310. lsusb example: make print_devs() static
  2311. lsusb.c:26: warning: no previous prototype for ‘print_devs’
  2312. commit 9cc6bfaa15239bb6db1c1570b9beb6df2f848951
  2313. Author: Ludovic Rousseau <rousseau@debian.org>
  2314. Date: Sun Oct 25 10:05:10 2009 +0100
  2315. Darwin: fix warning in darwin_error_str()
  2316. os/darwin_usb.c:63: warning: return discards qualifiers from pointer
  2317. target type
  2318. commit 4c706d2fb6b2c43b10d72ac5dff51cac4d939f1a
  2319. Author: Nathan Hjelm <hjelmn@mac.com>
  2320. Date: Sat Nov 21 17:06:43 2009 +0000
  2321. Darwin: allow devices to be opened multiple times
  2322. Allows libusb applications to access multiple interfaces of the same
  2323. device in the same application.
  2324. Also fixes a set alt interface bug.
  2325. commit 0232fc559cdacb9561f982dd6d28feb4435b3e4e
  2326. Author: Daniel Drake <dan@reactivated.net>
  2327. Date: Sat Nov 21 17:01:32 2009 +0000
  2328. Increase libusb_handle_events() timeout to 60 seconds
  2329. The internal timing seems to be working, this will be a better test of
  2330. it before we make this timeout unlimited.
  2331. commit 0bd7ef5d8697973a026c36c15d6276177b4ec4ea
  2332. Author: Daniel Drake <dan@reactivated.net>
  2333. Date: Sat Nov 21 16:57:25 2009 +0000
  2334. Refine timerfd header check (#18)
  2335. Require glibc-2.9 for the working timerfd support.
  2336. commit 90d8fcab9018b8e6887a7e0592d1e5f692117234
  2337. Author: Daniel Drake <dsd@gentoo.org>
  2338. Date: Sun Nov 15 12:17:13 2009 +0000
  2339. v1.0.5 release
  2340. commit 11d591058e3f105b0e90c23bbf58b18de691e690
  2341. Author: Daniel Drake <dsd@gentoo.org>
  2342. Date: Sat Nov 7 10:43:59 2009 +0000
  2343. Update documentation about early completion caveats
  2344. commit f796c9528a71aa55326b6f0c9c7c5ec073d2bf92
  2345. Author: Ludovic Rousseau <rousseau@debian.org>
  2346. Date: Sun Oct 25 09:59:51 2009 +0100
  2347. Add libusb_get_max_iso_packet_size() to libusb.h
  2348. core.c:777: warning: no previous prototype for 'libusb_get_max_iso_packet_size'
  2349. commit 4783008b7e711de9cb31631e60dda995f44068de
  2350. Author: Daniel Drake <dsd@gentoo.org>
  2351. Date: Wed Oct 28 20:33:49 2009 +0545
  2352. Use timerfd for timeout handling
  2353. Use a new file descriptor from the timerfd system calls to handle
  2354. timeouts. On supported systems, this means that there is less hassle
  2355. figuring out when the poll() timeout should be, since
  2356. libusb_get_next_timeout() will always return 0 and the timeout events will
  2357. be triggered as regular activity on the file descriptor set.
  2358. Add API function libusb_pollfds_handle_timeouts() to detect whether
  2359. you're on a platform with the timing headache, and flesh out the
  2360. surrounding documentation.
  2361. commit 9b120c2b3735566533c179aa8ca758fe45899a38
  2362. Author: Daniel Drake <dsd@gentoo.org>
  2363. Date: Sat Nov 7 10:03:07 2009 +0000
  2364. Use AM_SILENT_RULES for building
  2365. commit ef6ea6c3ae38e4524f10e16e8cb88177d39c4826
  2366. Author: Daniel Drake <dsd@gentoo.org>
  2367. Date: Fri Nov 6 21:54:08 2009 +0000
  2368. v1.0.4 release
  2369. commit 217f57617e0cff0d1bd6d726b243f04c6b179773
  2370. Author: David Moore <dcm@acm.org>
  2371. Date: Fri Nov 6 21:37:25 2009 +0000
  2372. Linux: Add support for the new URB_BULK_CONTINUATION flag
  2373. Add support for the new USBDEVFS_URB_BULK_CONTINUATION flag to libusb.
  2374. This flag, which is expected to be available in usbfs starting with
  2375. kernel 2.6.32, allows the kernel to cancel multiple URBs upon receipt
  2376. of a short packet. This capability allows libusb to preserve data
  2377. integrity of large bulk transfers that are split into multiple URBs.
  2378. Without this support, these URBs must be canceled in userspace upon
  2379. receipt of a short packet, a race condition against future transfers
  2380. which might partially fill these canceled URBs.
  2381. This patch automatically detects whether a supported kernel is present
  2382. and enables the use of the flag when possible.
  2383. [dsd: tweaks to supported kernel detection, and some inline
  2384. documentation of this mechanism]
  2385. commit 69830057547396f893f0d7b3125a05d016313b10
  2386. Author: Daniel Drake <dsd@gentoo.org>
  2387. Date: Wed Oct 28 15:13:22 2009 +0545
  2388. Transfer locking
  2389. At least on Linux, there were some possible races that could occur if
  2390. a transfer is cancelled from one thread while another thread is handling
  2391. an event for that transfer, or for if a transfer completes while it is
  2392. still being submitted from another thread, etc.
  2393. On the global level, transfers could be submitted and cancelled at the
  2394. same time.
  2395. Fix those issues with transfer-level locks.
  2396. commit 98f1b30d24359cb3185051b8df9ebb663cc10369
  2397. Author: Daniel Drake <dsd@gentoo.org>
  2398. Date: Mon Sep 14 08:01:24 2009 +0100
  2399. Clarify that timeout 0 means unlimited timeout
  2400. commit 858684f0dd25921e09565034a88709dbf6f6c61b
  2401. Author: Daniel Drake <dsd@gentoo.org>
  2402. Date: Fri Sep 11 22:09:12 2009 +0100
  2403. Linux: more flexibility with monotonic clock
  2404. Some users have reported that CLOCK_MONOTONIC does not work on their
  2405. systems - I suspect it is available on x86 but perhaps not some
  2406. of the more uncommon architectures. We should fall back on
  2407. CLOCK_REALTIME in these cases.
  2408. Also, CLOCK_MONOTONIC_RAW seems even more monotonic, so we should use
  2409. that if it is available.
  2410. We now test different clock IDs during initialization to find the
  2411. best one that works.
  2412. commit fe0d8dce1ed704915d501e7da700440c78144211
  2413. Author: Nathan Hjelm <hjelmn@mac.com>
  2414. Date: Fri Sep 11 18:00:29 2009 +0100
  2415. Darwin: handle overflows
  2416. commit f46716f42040986203fa6e873bfdabe1be2900ec
  2417. Author: Daniel Drake <dsd@gentoo.org>
  2418. Date: Thu Aug 27 21:14:54 2009 +0545
  2419. v1.0.3 release
  2420. commit 5b489b8b2a5aba7b8b804e5af6d2628735548238
  2421. Author: Toby Peterson <toby@macports.org>
  2422. Date: Sun Aug 23 10:04:59 2009 +0545
  2423. Darwin: 64-bit type fixes
  2424. commit ad8ae04d0b52009af0b1180e005f7554d2bbb26c
  2425. Author: Nathan Hjelm <hjelmn@mac.com>
  2426. Date: Sun Aug 23 10:02:55 2009 +0545
  2427. Darwin: fix crash when reading descriptors after close
  2428. Fix a crash which occurs if the user does the following sequence on a
  2429. device: open, close, get_configuration_descriptor.
  2430. commit 45ae2aecf5512dcff059b2a416534e81c6a00c88
  2431. Author: Daniel Drake <dsd@gentoo.org>
  2432. Date: Sat Aug 1 13:55:15 2009 +0545
  2433. move bug info to bug tracker
  2434. Protection needed: http://www.libusb.org/ticket/4
  2435. Losing data: fixed in previous commit
  2436. commit 126129e174062c2a27423817a459e5113f777789
  2437. Author: Daniel Drake <dsd@gentoo.org>
  2438. Date: Thu Jul 9 22:09:04 2009 +0100
  2439. Linux: try harder not to lose any data
  2440. We would previously lose any data that was present on a cancelled URB.
  2441. Work harder to make sure this doesn't happen.
  2442. commit 0334ee642b47dfe1ca9db64b22e7702ea14b3f09
  2443. Author: Daniel Drake <dsd@gentoo.org>
  2444. Date: Sun Jun 28 19:49:10 2009 +0100
  2445. Add libusb_get_max_iso_packet_size()
  2446. As pointed out by Dennis Muhlestein, libusb_get_max_packet_size()
  2447. doesn't really do what the documentation might suggest because it
  2448. does not consider the number of transaction opportunities per
  2449. microframe.
  2450. Add a new function to do what is useful for isochronous I/O.
  2451. commit 615f18e64e96ae4ecc8e43d0de00933059a5209a
  2452. Author: Daniel Drake <dsd@gentoo.org>
  2453. Date: Sat Jun 20 22:33:21 2009 +0100
  2454. Linux: fix sending of zero length bulk packets
  2455. Note that there are is a kernel bug preventing this from working
  2456. properly at the moment, even after this fix.
  2457. commit 86f79fbf61c2018bdf009c7ebf92b38f3a16fd0c
  2458. Author: Nathan Hjelm <hjelmn@mac.com>
  2459. Date: Fri Jun 19 22:18:44 2009 +0100
  2460. Darwin: Don't cancel transfers on timeout
  2461. ...because the OS does this for us.
  2462. commit d4bd9ed4de19a9c766f7a23eea8c852cdd61c18f
  2463. Author: Daniel Drake <dsd@gentoo.org>
  2464. Date: Sun Jun 14 19:23:21 2009 +0100
  2465. Don't terminate enums with commas
  2466. g++ -pedantic doesn't like this
  2467. Reported by Eberhard Mattes
  2468. commit 8be256082eb9bd8e243d89529f742926bb29a21b
  2469. Author: Daniel Drake <dsd@gentoo.org>
  2470. Date: Sat Jun 13 17:19:07 2009 +0100
  2471. v1.0.2 release
  2472. commit 060e006e663fd59c281be29b71eb197e02b210e8
  2473. Author: Daniel Drake <dsd@gentoo.org>
  2474. Date: Wed Jun 10 21:42:05 2009 +0100
  2475. Linux: fix config descriptor parsing on big-endian systems
  2476. Multi-byte fields in the configuration descriptors that come back from
  2477. usbfs are always in bus endian format.
  2478. Thanks to Joe Jezak for help investigating and fixing this.
  2479. commit c4a905022f684da9a4a853eb9232a81a53df2652
  2480. Author: Nathan Hjelm <hjelmn@mac.com>
  2481. Date: Sun Jun 7 22:29:35 2009 +0100
  2482. Darwin: improve handling of disconnected devices
  2483. commit 6b69f54451762ef590b9c938ab000c07cf9099a3
  2484. Author: Nathan Hjelm <hjelmn@mac.com>
  2485. Date: Sun Jun 7 22:26:37 2009 +0100
  2486. Darwin: fix parsing of config descriptors
  2487. This was a confusion between configuration numbers and zero-based
  2488. configuration indexes.
  2489. commit 2b3a9ffa776b383cb2dbc3c55e490e32e4c3c22b
  2490. Author: Daniel Drake <dsd@gentoo.org>
  2491. Date: Sun Jun 7 22:19:53 2009 +0100
  2492. Eliminate -Wsign-compare compiler warnings
  2493. This was due to an API inconsistency which can be safely worked around.
  2494. Hopefully we'll remember to fix the API next time we come to break
  2495. things.
  2496. commit cad5cb55c37137e94e35c74fdabfe42a5cbd229b
  2497. Author: David Moore <dcm@acm.org>
  2498. Date: Wed May 27 23:15:54 2009 -0700
  2499. Make synchronous transfer APIs robust against signal interruption
  2500. libusb_control_transfer and libusb_bulk_transfer are designed to be
  2501. synchronous such that control is not returned until the transfer
  2502. definitively succeeds or fails. That assumption is violated if a signal
  2503. interrupts these functions because there is no way for the application
  2504. to continue waiting for the transfer without resubmitting it. This
  2505. patch changes these synchronous APIs so they do not abort in the case of
  2506. a signal interruption.
  2507. Signed-off-by: David Moore <dcm@acm.org>
  2508. commit b501795985a23109f176d296e7b544b4c6354528
  2509. Author: Alex Vatchenko <alex@fabulatech.com>
  2510. Date: Thu May 28 15:58:50 2009 -0400
  2511. pre-gcc-3.4 compatibility
  2512. The -fvisibility and -Wno-pointer-sign options are not available on
  2513. old GCC versions.
  2514. commit 00bb2805e994887f0a754a825c3ce03d22393386
  2515. Author: Daniel Drake <dsd@gentoo.org>
  2516. Date: Tue May 26 15:53:26 2009 -0400
  2517. Fix memory leak in config descriptor parsing
  2518. Pointed out by Martin Koegler.
  2519. commit 068ff5b8a83fec0a9a91c80535a25b89a9ae64e8
  2520. Author: Daniel Drake <dsd@gentoo.org>
  2521. Date: Tue May 12 19:20:51 2009 -0400
  2522. Update AUTHORS
  2523. commit aa24c04e4043e39674b59ff0d302b2365cd0078f
  2524. Author: Daniel Drake <dsd@gentoo.org>
  2525. Date: Tue May 12 19:03:37 2009 -0400
  2526. v1.0.1 release
  2527. commit 44767677447fae4267131f99c591b14117486cac
  2528. Author: Daniel Drake <dsd@gentoo.org>
  2529. Date: Tue May 12 19:01:44 2009 -0400
  2530. Add BUGS file
  2531. Probably missed a couple of outstanding issues
  2532. commit e0365a6f22e0e7f330ac931df031cf6f17f453d1
  2533. Author: Nathan Hjelm <hjelmn@mac.com>
  2534. Date: Sun Mar 22 21:13:29 2009 -0400
  2535. Darwin: get_config_descriptor bugfixes
  2536. commit 5fd0e8478240fece646a58a3c6114001a73be99f
  2537. Author: Daniel Drake <dsd@gentoo.org>
  2538. Date: Wed Feb 25 12:33:33 2009 -0300
  2539. Fix compilation of Darwin backend
  2540. My fault. Reported by ihryamzik@gmail.com
  2541. commit b49f6bf5c910d0fd694ecf165d7927673707bff9
  2542. Author: Nathan Hjelm <hjelmn@mac.com>
  2543. Date: Mon Feb 16 21:39:29 2009 -0300
  2544. Darwin backend
  2545. commit d859158581e9a3250f36cdeeb8ea67cda04053bd
  2546. Author: Nathan Hjelm <hjelmn@mac.com>
  2547. Date: Mon Feb 16 21:30:49 2009 -0300
  2548. Make endianness macros endian-independent
  2549. Implementation suggested by David Moore. Needed for proper universal
  2550. code support on Darwin.
  2551. commit 9196f58bdc8b9e967261df39865215faa5d39cfa
  2552. Author: Nathan Hjelm <hjelmn@mac.com>
  2553. Date: Mon Feb 16 21:25:18 2009 -0300
  2554. Abstract clock reading into OS layer
  2555. This will differ on Linux and Darwin, at least.
  2556. [dsd: minor style tweaks]
  2557. commit e91207860cac09b3afaafc4c14221b78d585c59a
  2558. Author: Daniel Drake <dsd@gentoo.org>
  2559. Date: Mon Feb 16 21:20:28 2009 -0300
  2560. Fix endianness in device descriptors
  2561. Pointed out by Nathan Hjelm.
  2562. commit ccf6d3d2f6acf9b9a1cb5e1f1b03f382ae509b17
  2563. Author: Nathan Hjelm <hjelmn@mac.com>
  2564. Date: Mon Feb 16 21:13:52 2009 -0300
  2565. Only link with librt on Linux
  2566. [dsd: tweak configure.ac change]
  2567. commit 894539931e4b4bd85708fe98b956049243cd6fb0
  2568. Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
  2569. Date: Mon Jan 26 00:31:48 2009 +0100
  2570. API docs: describe libusb_transfer_cb_fn type
  2571. Add some text describing the libusb_transfer_cb_fn function type
  2572. with the semantics I have gathered from reading other parts of
  2573. the API docs, referring to the proper section for more details.
  2574. [dsd: tweaked the description slightly]
  2575. commit abe34a2656f8f9f21e53603796c536585e6233ef
  2576. Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
  2577. Date: Sun Jan 25 18:21:59 2009 +0100
  2578. Make empty array in struct compatible with C99
  2579. If the compiler is known to be running in C99 mode,
  2580. use "flexible array members" ("foo[]").
  2581. If the compiler is running in any other mode, continue
  2582. using the non-standard but widely common "foo[0]" syntax.
  2583. commit 620075c7400764d9bb539b5c02065c45c2e8251e
  2584. Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
  2585. Date: Sun Jan 25 18:20:45 2009 +0100
  2586. Avoid signedness errors in API docs example code
  2587. commit c754ae294cfe96ec4738d6641137c9e6c56330c7
  2588. Author: Daniel Drake <dsd@gentoo.org>
  2589. Date: Sat Jan 17 00:25:40 2009 +0000
  2590. Decrement poll() result when internal pipe has been handled
  2591. When we receive data on the internal control pipe, we need to correctly
  2592. decrement the number of ready file descriptors before passing on the
  2593. remaining work to the OS implementation.
  2594. commit b9ca960f2ba271d2b1a58e22b7c70464d69f6c8a
  2595. Author: David Moore <dcm@acm.org>
  2596. Date: Sun Jan 11 21:46:17 2009 -0800
  2597. Prevent transfer from being submitted twice or improperly canceled
  2598. This ensures that tpriv->urbs and tpriv->iso_urbs are always set to NULL
  2599. whenever a transfer is not submitted. In this way, submit_*_transfer()
  2600. and cancel_*_transfer() can error check to ensure that the transfer is
  2601. in the correct state to be either submitted or canceled, preventing
  2602. potential memory leaks or double frees.
  2603. Signed-off-by: David Moore <dcm@acm.org>
  2604. commit d2a8ec2da8abcd8f4648ed118da16191011982dd
  2605. Author: David Moore <dcm@acm.org>
  2606. Date: Wed Jan 7 22:31:09 2009 -0800
  2607. Linux: Fix race condition in cancel_bulk_transfer()
  2608. This fixes a race condition in cancel_bulk_transfer(). In the old
  2609. version, awaiting_reap and awaiting_discard are incremented in
  2610. cancel_bulk_transfer() and decremented in handle_bulk_completion().
  2611. However, since these events may take place in two different threads,
  2612. these variables may reach zero before all URBs have been canceled,
  2613. triggered spurious callbacks and duplicate frees.
  2614. This changes the logic to use a single variable "num_retired" to replace
  2615. both awaiting_reap and awaiting_discard. num_retired is incremented
  2616. only in handle_bulk_completion() and thus there is no race. The handler
  2617. will know that all URBs have been canceled when num_retired becomes
  2618. equal to num_urbs.
  2619. This change also simplifies a great deal of the logic in both functions
  2620. and is a net reduction in the amount of code.
  2621. Note that some variables such as "reap_action" probably need to still be
  2622. protected by a mutex, and this patch does not address that issue.
  2623. Signed-off-by: David Moore <dcm@acm.org>
  2624. commit 34b9eebe35d8167d43cffb6ad6175f6b2251b572
  2625. Author: Daniel Drake <dsd@gentoo.org>
  2626. Date: Sat Dec 13 20:06:49 2008 +0000
  2627. v1.0.0 release
  2628. It's here!
  2629. commit b1d636dde418dc8fe6a8f037dea0d800e57c6b94
  2630. Author: Mikhail Gusarov <dottedmag@dottedmag.ent>
  2631. Date: Wed Dec 10 15:24:05 2008 +0600
  2632. EOL-whitespace fixes
  2633. Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.ent>
  2634. commit 4a9ac382ba5149ae5b3d0962d6a840b5e0dc13aa
  2635. Author: Daniel Drake <dsd@gentoo.org>
  2636. Date: Tue Dec 9 21:43:37 2008 +0000
  2637. Linux: fix reading of active configuration
  2638. Shannon Chuang pointed out that we only read 1 byte into an
  2639. uninitialized integer, and then return the whole thing.
  2640. commit 81a7310d92461ba7b1d98aeff7c4c007fab07120
  2641. Author: Daniel Drake <dsd@gentoo.org>
  2642. Date: Tue Dec 9 21:39:11 2008 +0000
  2643. Fix double free in descriptor parsing error path
  2644. Pointed out by Shannon Chuang.
  2645. commit 9b4b53453db56ba9c1d707a645bbe6c7a02a3c81
  2646. Author: Daniel Drake <dsd@gentoo.org>
  2647. Date: Fri Nov 21 13:28:32 2008 +0000
  2648. Improvements to multi-threaded I/O system
  2649. Documentation brushed up, and I realised that another function is
  2650. needed for tight event handling loops -- they must be able to check
  2651. if an open/close operation is trying to interrupt it.
  2652. commit 0e5b0fcb77a90b8bd95ad23669da472af31ef069
  2653. Author: Daniel Drake <dsd@gentoo.org>
  2654. Date: Fri Nov 21 11:00:47 2008 +0000
  2655. SourceForge website upload system changed
  2656. commit a133875e6e2f52eff53ac03f505d59cbdd33e178
  2657. Author: Daniel Drake <dsd@gentoo.org>
  2658. Date: Fri Nov 21 10:54:57 2008 +0000
  2659. v0.9.4 release
  2660. commit c32aa662769b676ff3247778664fccc71fc427ec
  2661. Author: Daniel Drake <dsd@gentoo.org>
  2662. Date: Thu Nov 20 15:31:10 2008 +0000
  2663. Pause event handling while opening and closing devices
  2664. Ludovic Rousseau found that crashes often occur if you close a device
  2665. while another thread is doing event handling.
  2666. Fix this by adding an internal control pipe, which the close routines
  2667. use to interrupt the event handler and obtain the event handling lock,
  2668. ensuring that no other thread is handling events while the device is
  2669. closed. After the close completes, it signals all the event handlers
  2670. to start up again using the usual mechanism.
  2671. Also modified libusb_open() to do a similar thing, so that event
  2672. handlers are interrupted in order to realise that a new poll fd has
  2673. appeared.
  2674. commit 1d7cf3d0fa8698eae25097cbda1870be90ff6f5e
  2675. Author: Bastien Nocera <hadess@hadess.net>
  2676. Date: Thu Oct 30 14:35:23 2008 +0000
  2677. Add libusb_attach_kernel_driver()
  2678. Add support for re-attaching a driver to a device under Linux.
  2679. [dsd: fixed handling of return value, and added LIBUSB_ERROR_BUSY case]
  2680. commit 914a4e70657c86b5094770aa2d898c978b1cdf41
  2681. Author: Daniel Drake <dsd@gentoo.org>
  2682. Date: Sun Nov 2 21:45:54 2008 +0000
  2683. Linux: handle low-level transfer errors
  2684. Handle more URB error status codes, thanks to Lou and Alan Stern.
  2685. commit d25b566b3b8febafdda4211de724b4727dd4b7e0
  2686. Author: Aurelien Jarno <aurelien@aurel32.net>
  2687. Date: Thu Sep 4 13:50:49 2008 +0200
  2688. Support for out-of-tree building
  2689. Contrary to libusb 0.1, libusb 1.0 does not support out-of-tree building
  2690. for the documentation part. This patch fixes that by using a
  2691. doxygen.cfg.in file, which contains @top_srcdir@ to refer to the
  2692. location of the libusb source code.
  2693. commit 8674c67ef78e1cf89db1fa584a4304f7c5ddcc5f
  2694. Author: Daniel Drake <dsd@gentoo.org>
  2695. Date: Sun Nov 2 15:00:39 2008 +0000
  2696. Document the logging style
  2697. Suggested by Lou.
  2698. commit 94936cbcfe3f02eb65c8b91e29896604316259d8
  2699. Author: Daniel Drake <dsd@gentoo.org>
  2700. Date: Wed Aug 27 22:44:24 2008 -0500
  2701. Async I/O documentation touchups
  2702. commit 2f8f1b1a900f5b9828e5e2ff93c2b26a44fd9de2
  2703. Author: Daniel Drake <dsd@gentoo.org>
  2704. Date: Wed Aug 27 21:23:10 2008 -0500
  2705. Doc: fix typo in events lock section
  2706. commit 046e681e4ac6b697e40458ee0f5baf3cd8763bb0
  2707. Author: Daniel Drake <dsd@gentoo.org>
  2708. Date: Sat Aug 23 01:00:21 2008 -0500
  2709. v0.9.3 release
  2710. commit fec6eaa4eecdf7e0b8299157a5dabef94417f193
  2711. Author: Daniel Drake <dsd@gentoo.org>
  2712. Date: Sat Aug 23 00:57:44 2008 -0500
  2713. Reset internal transfer flags on submit
  2714. This fixes a problem pointed out by Lou, where resubmitting a transfer
  2715. that previously timed out never timed out again, as if the timeout had
  2716. been set to 0.
  2717. commit 81627bd38900ec9701ab69c141aa51a9abea1f60
  2718. Author: Daniel Drake <dsd@gentoo.org>
  2719. Date: Sun Aug 10 17:09:48 2008 -0500
  2720. Add libusb_get_configuration prototype
  2721. Pointed out by Lou
  2722. commit 1631eaefcc7cdf7047c6b9225618a9aa1b3d87d1
  2723. Author: Daniel Drake <dsd@gentoo.org>
  2724. Date: Sat Jul 19 17:51:28 2008 -0500
  2725. v0.9.2 release
  2726. commit 0d9c40d7f3eee15ada624b5caab2cfb912144fdc
  2727. Author: Daniel Drake <dsd@gentoo.org>
  2728. Date: Wed Jul 16 09:22:12 2008 -0500
  2729. Linux: fix sysfs directory handling
  2730. The length of the directory name varies, e.g. when you have nested hubs.
  2731. Use dynamic allocation to be able to deal with any length of name.
  2732. commit 66c9847ad54b126ccafd4877292454ab57d0c115
  2733. Author: David Engraf <dogge2k@gmx.de>
  2734. Date: Wed Jul 16 09:16:38 2008 -0500
  2735. Linux: correct usage of MAX_PATH
  2736. Thanks to clarification from Artem Egorkine, MAX_PATH already includes
  2737. space for the trailing NULL.
  2738. commit 6494f07a6d1b73ce786ae581c4ff691e39e61d19
  2739. Author: Daniel Drake <dsd@gentoo.org>
  2740. Date: Tue Jul 8 21:15:54 2008 -0500
  2741. Linux: fix bulk/iso transfer double-cancellation
  2742. Reset counters to 0 so that it's possible to cancel a transfer twice
  2743. without breaking things. Not sure that I want to support this properly,
  2744. but this makes it work at least.
  2745. commit 9140f5b414e37a3714cde9c6d6c87c963338a83a
  2746. Author: Daniel Drake <dsd@gentoo.org>
  2747. Date: Sat Jun 28 21:28:44 2008 -0500
  2748. v0.9.1 release
  2749. commit 83a029062c1d2bfb584d7a6ee94915583d37464c
  2750. Author: Daniel Drake <dsd@gentoo.org>
  2751. Date: Sat Jun 28 21:24:49 2008 -0500
  2752. Add missing GET_CONTEXT()
  2753. commit fbad9a5426f0369394c88987355a8fb06a741ca1
  2754. Author: Daniel Drake <dsd@gentoo.org>
  2755. Date: Sat Jun 28 21:18:41 2008 -0500
  2756. Linux: Compatibility with new sysfs descriptors file
  2757. As of 2.6.26, the descriptors file now includes all descriptors, not
  2758. just the active one.
  2759. commit 819e65f880ca43526036e56c65c415042c91f58f
  2760. Author: Daniel Drake <dsd@gentoo.org>
  2761. Date: Thu Jun 26 22:47:05 2008 -0500
  2762. Allow user data pointer to be passed through pollfd notification API
  2763. commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90
  2764. Author: Daniel Drake <dsd@gentoo.org>
  2765. Date: Tue Jun 24 23:01:51 2008 -0500
  2766. Introduce contexts to the API
  2767. Suggested by David Zeuthen. This allows multiple libraries in the same
  2768. process to independently use libusb without interfering.
  2769. commit 9818151c60a85aea6af24cb0996a92c3726c9864
  2770. Author: Daniel Drake <dsd@gentoo.org>
  2771. Date: Tue Jun 24 21:31:13 2008 -0500
  2772. Revert "Temporary workaround for event handling serialization issue"
  2773. This reverts commit 2d3a1111caff40ebb87983c861ff548cdc9e5946.
  2774. This was based on the assumption that dying threads would automatically
  2775. release mutexes, which is not the case.
  2776. commit d5f82893fab3f1c13b1af4ba17aac72479bad7d5
  2777. Author: Daniel Drake <dsd@gentoo.org>
  2778. Date: Fri Jun 20 23:04:53 2008 -0500
  2779. Overflow handling
  2780. commit 546dee211eefbdd280fd1fc9dee84a9b52105078
  2781. Author: Artem Egorkine <arteme@gmail.com>
  2782. Date: Tue Jun 17 18:27:38 2008 -0500
  2783. a fix for SIGSEGV in handle_bulk_completion()
  2784. We cannot dereference tpriv after calling
  2785. usbi_handle_transfer_cancellation() because that function may invoke
  2786. the user-supplied callback which may free the transfer.
  2787. commit 947ba8056456a5215724fb502e3e09d50016f699
  2788. Author: Daniel Drake <dsd@gentoo.org>
  2789. Date: Mon Jun 16 22:50:50 2008 -0500
  2790. Refine configuration selection again
  2791. At Alan Stern's suggestion, just offer the bare "set configuration" and
  2792. "get configuration" functionality, and let applications worry about the
  2793. specific race conditions and unusual situations.
  2794. commit e7a7a49d0331ee0e14145f6e7ec39763b36314ac
  2795. Author: Daniel Drake <dsd@gentoo.org>
  2796. Date: Sun Jun 15 15:29:38 2008 -0500
  2797. docs update
  2798. Add a THANKS file, make copyright notices easily accessible, update TODO
  2799. commit 217534e4b396081e038ee5f94c813d1668963673
  2800. Author: Daniel Drake <dsd@gentoo.org>
  2801. Date: Sun Jun 15 15:23:29 2008 -0500
  2802. round up poll timeout
  2803. Pointed out by Richard Röjfors, otherwise we end up busy-looping with
  2804. a poll() timeout of 0.
  2805. commit 5ad79b324bc5e11a75a585398a1e81c26f05e758
  2806. Author: Felipe Balbi <me@felipebalbi.com>
  2807. Date: Sun Jun 8 12:34:48 2008 +0300
  2808. fix doc about libusb_open()
  2809. libusb_open() returns int instead of libusb_device_handle.
  2810. Signed-off-by: Felipe Balbi <me@felipebalbi.com>
  2811. [dsd: small correction]
  2812. commit 2d3a1111caff40ebb87983c861ff548cdc9e5946
  2813. Author: Daniel Drake <dsd@gentoo.org>
  2814. Date: Thu May 29 17:26:26 2008 +0100
  2815. Temporary workaround for event handling serialization issue
  2816. Ludovic Rousseau pointed out that libusb_unlock_events() is not called
  2817. when a thread gets terminated with a signal, meaning that event waiters
  2818. will not be woken up in this case.
  2819. Add a temporary hack to libusb_event_handler_active() so that at least
  2820. the other threads will realise on the next iteration of their event
  2821. handling loop.
  2822. The real fix will likely involve reworking most of this.
  2823. commit 514bb8790cfe8b93ccfff82bc17081b1030acce0
  2824. Author: Daniel Drake <dsd@gentoo.org>
  2825. Date: Thu May 29 12:35:01 2008 +0100
  2826. Refine libusb_set_configuration() semantics
  2827. Applications will generally want to set a configuration before claiming
  2828. interfaces. The problem is that the interface may already be set, and
  2829. someone else may have claimed an interface (meaning that all calls to
  2830. set_configuration will fail, even if it's for the same configuration).
  2831. There are now 2 options:
  2832. 1. Use the new libusb_get_configuration() to determine active
  2833. configuration before calling libusb_set_configuration()
  2834. 2. Or just call libusb_set_configuration() as usual, which will do
  2835. nothing if that configuration is already active.
  2836. commit d1292f8e7300051239a7ed2769d221dc7a6f9fca
  2837. Author: Daniel Drake <dsd@gentoo.org>
  2838. Date: Sun May 25 23:42:42 2008 +0100
  2839. v0.9.0 release
  2840. First libusb-1.0 beta release
  2841. commit 4cd249388e4ed2ca03f1263984ab67df5030bb65
  2842. Author: Daniel Drake <dsd@gentoo.org>
  2843. Date: Sun May 25 22:59:09 2008 +0100
  2844. Take lock before raising event waiters condition
  2845. This avoids a race between the user checking for active event handler
  2846. and then blocking on the condition variable
  2847. commit 7c525480ab3c4db9205bfe30bb0d2bef9096c444
  2848. Author: Daniel Drake <dsd@gentoo.org>
  2849. Date: Fri May 23 15:57:07 2008 +0100
  2850. Implement serialization of event handlers
  2851. Now offers a mechanism to wait for events while another thread is
  2852. doing the event handling. Complicates things for MT async apps, but
  2853. then again it's a bit of a tricky combination to start with.
  2854. commit ff0660a415ecfd0879600eaad1c5899b6d93a30a
  2855. Author: Daniel Drake <dsd@gentoo.org>
  2856. Date: Sat May 24 21:28:31 2008 +0100
  2857. allow LIBUSB_DEBUG env var to control message verbosity at runtime
  2858. Based on ideas from Ludovic Rousseau
  2859. commit 4d788967e3f8d75eaf3a1ac1ee8e2e8bed0601c1
  2860. Author: Daniel Drake <dsd@gentoo.org>
  2861. Date: Fri May 23 15:58:11 2008 +0100
  2862. don't print messages by default
  2863. Add libusb_set_debug() API to set message verbosity.
  2864. Ludovic Rousseau pointed out that applications may close stdout/stderr
  2865. descriptors, which might then be reused.
  2866. commit bef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c
  2867. Author: Daniel Drake <dsd@gentoo.org>
  2868. Date: Mon May 19 15:43:27 2008 +0100
  2869. Fix memory leak in libusb_control_transfer
  2870. Pointed out by David Engraf: we weren't freeing the transfer buffer
  2871. commit a345bacb6f07ebb2122402041a9e8092d4a20a4d
  2872. Author: David Engraf <david.engraf@netcom.eu>
  2873. Date: Mon May 19 15:16:32 2008 +0100
  2874. Linux: fix handling of ioctl failure
  2875. The return value of some ioctl commands in linux_usbfs.c are not
  2876. handeled correct. The ioctl function returns != 0 and errno is set with
  2877. the error code.
  2878. commit e44396a458ecea9e5edd9a7577e617571c76860d
  2879. Author: David Engraf <david.engraf@netcom.eu>
  2880. Date: Mon May 19 15:13:38 2008 +0100
  2881. critical memory leak in handle_events
  2882. This patch closes a critical memory leak in handle_events. The fds
  2883. variable is malloced but never freed. When I'm calling
  2884. handle_events with a timeout of 0, my system runs out of memory after a
  2885. few seconds.
  2886. commit eb25630f52bc9848b444e439632c899977d887b0
  2887. Author: Daniel Drake <dsd@gentoo.org>
  2888. Date: Fri May 16 23:50:20 2008 +0100
  2889. More informative libusb_open() return code
  2890. Hopefully one of the last API tweaks...
  2891. commit 2b2e9c40b195261b09ac52ebdb93eef25c79de90
  2892. Author: Daniel Drake <dsd@gentoo.org>
  2893. Date: Fri May 16 22:37:56 2008 +0100
  2894. Fix endianness with descriptor handling
  2895. Alan Stern pointed out that usbfs gives host-endian data, but sysfs gives
  2896. bus-endian.
  2897. commit 1298c51f516a7bf04ca9add1b7db14417cdc66f3
  2898. Author: Daniel Drake <dsd@gentoo.org>
  2899. Date: Mon May 12 18:46:37 2008 +0100
  2900. Backend documentation for porting efforts
  2901. Hopefully comprehensive enough for people to get started.
  2902. commit ade26afc42c34ceb1c45afcadd2ea5e8240eaca4
  2903. Author: Daniel Drake <dsd@gentoo.org>
  2904. Date: Mon May 12 15:43:30 2008 +0100
  2905. Linux: fix caching of guessed configuration
  2906. Reported and tested by Xiaofan Chen
  2907. commit e25d590a9198995b4f0b6afeb41ecae318715e7e
  2908. Author: Rob Walker <rob@tenfoot.org.uk>
  2909. Date: Sun May 11 21:14:18 2008 +0100
  2910. Linux: fix bulk transfer early completion
  2911. We were forgetting about the remaining urbs when a non-final urb
  2912. completed early.
  2913. [dsd: some touchups and a warning message for a corner case that we don't handle]
  2914. commit fec7c84163e25b8f811632828334d75da82bcb16
  2915. Author: Daniel Drake <dsd@gentoo.org>
  2916. Date: Sun May 11 20:31:58 2008 +0100
  2917. Handle hot-unplugging
  2918. This involved moving from select() to poll() because there is no way to
  2919. distinguish usbfs's POLLERR condition with select().
  2920. commit aeb905fa5d78cdbba80a680aa7a2bb7338f27f65
  2921. Author: Daniel Drake <dsd@gentoo.org>
  2922. Date: Sun May 11 16:04:35 2008 +0100
  2923. Documentation work
  2924. commit ba5d9a45c06311204f51faef41d1ee215bb5b823
  2925. Author: Daniel Drake <dsd@gentoo.org>
  2926. Date: Sun May 11 15:36:24 2008 +0100
  2927. Endianness of control setup packets
  2928. Document behaviour where host-endian and bus-endian (little) should be
  2929. used respectively.
  2930. Also remove packed attribute from libusb_control_setup as all fields
  2931. are naturally aligned.
  2932. commit 7bedc3b2683f35ee1dd39a2ebe0ec05be0019f38
  2933. Author: Daniel Drake <dsd@gentoo.org>
  2934. Date: Sun May 11 15:11:59 2008 +0100
  2935. Document that releasing interface causes SET_INTERFACE control request
  2936. commit f2ede9876cd4f5cfa7751b975670fa449187fe3d
  2937. Author: Daniel Drake <dsd@gentoo.org>
  2938. Date: Sat May 10 21:45:42 2008 +0100
  2939. Support unconfigured devices
  2940. commit 8ebb4ccdfaf5f095a1c38787d909d280ea64405c
  2941. Author: Daniel Drake <dsd@gentoo.org>
  2942. Date: Sat May 10 20:56:44 2008 +0100
  2943. Linux: fix caching of active configuration for non-sysfs
  2944. commit c3844f7aeb2176636ce6e6ef697659fdb0b30048
  2945. Author: Daniel Drake <dsd@gentoo.org>
  2946. Date: Sat May 10 14:42:43 2008 +0100
  2947. Fetch configurations by index (not value)
  2948. Otherwise there is no way to know which values to look for.
  2949. commit d77052c0d630e33737c38d601fd633155f6b2229
  2950. Author: Daniel Drake <dsd@gentoo.org>
  2951. Date: Sat May 10 00:12:53 2008 +0100
  2952. Linux: comprehensive sysfs vs usbfs access
  2953. Be more flexible when certain parts of sysfs are not available.
  2954. commit 74bc842bac1a32a26323da6c3e8af2f66e1b5cfa
  2955. Author: Daniel Drake <dsd@gentoo.org>
  2956. Date: Fri May 9 19:38:13 2008 +0100
  2957. Linux: no need to store usbfs node path
  2958. This can be computed from bus number and device address
  2959. commit fe4adcc99e30115204ab832ad3e0170c9aca7629
  2960. Author: Daniel Drake <dsd@gentoo.org>
  2961. Date: Fri May 9 14:34:31 2008 +0100
  2962. Rework configuration handling
  2963. libusb no longer caches descriptors in libusb_device but backends are
  2964. intended to be able to provide copies from memory. In the common linux
  2965. case we can use sysfs.
  2966. commit 5741bfe01a2481b8c3830c80edc3637bf62a7e16
  2967. Author: Daniel Drake <dsd@gentoo.org>
  2968. Date: Fri May 9 14:36:14 2008 +0100
  2969. libusb_get_device_list() can return negative error code
  2970. commit 45413101b78298e9332b22a34bc6bc159000ad8a
  2971. Author: Daniel Drake <dsd@gentoo.org>
  2972. Date: Thu May 8 23:09:21 2008 +0100
  2973. Linux: fix clear_halt implementation
  2974. The ioctl expects an integer.
  2975. Bug found with the assistance of Soumen Mondal
  2976. commit 10d4e427cc171dfd6ad7f43a33ce3cfebcd7aa04
  2977. Author: Daniel Drake <dsd@gentoo.org>
  2978. Date: Thu May 8 23:04:52 2008 +0100
  2979. Documentation work
  2980. Partially based on some libusb-devel discussions
  2981. commit ded0a249322571a075e3ed3528021864247dfa55
  2982. Author: Daniel Drake <dsd@gentoo.org>
  2983. Date: Mon May 5 22:57:48 2008 +0100
  2984. Linux: enumerate devices and descriptors from sysfs
  2985. Suggested by Alan Stern. This avoids waking up any suspended USB devices.
  2986. sysfs is not available on all systems, so the usbfs mechanism is still
  2987. in place as a fallback.
  2988. commit 885c2a5de69d6b7d8902bb55d6d83680a5a1a6e5
  2989. Author: Daniel Drake <dsd@gentoo.org>
  2990. Date: Mon May 5 21:34:31 2008 +0100
  2991. documentation touchups
  2992. commit 59c205d542b43d79fe28622dbe8f03a3a3300b6f
  2993. Author: Daniel Drake <dsd@gentoo.org>
  2994. Date: Mon May 5 21:17:03 2008 +0100
  2995. more error code sanitization
  2996. commit 88055d4b5913102a90ff666f75fd922c74860dc5
  2997. Author: Daniel Drake <dsd@gentoo.org>
  2998. Date: Mon May 5 20:57:43 2008 +0100
  2999. Isochronous transfer helper functions
  3000. commit a95c943ed301dcd20e92b0b3b255568899a4c42e
  3001. Author: Daniel Drake <dsd@gentoo.org>
  3002. Date: Mon May 5 17:54:33 2008 +0100
  3003. free open devices on exit
  3004. commit b27fff633843824744df7d334cb89ece329cafa6
  3005. Author: Daniel Drake <dsd@gentoo.org>
  3006. Date: Mon May 5 17:47:49 2008 +0100
  3007. move descriptor parsing into main library
  3008. OS modules now provide functionality for fetching device/config
  3009. descriptors
  3010. commit a304eca71f22c6df7d70a901483b30f1b8e93378
  3011. Author: Daniel Drake <dsd@gentoo.org>
  3012. Date: Mon May 5 16:22:33 2008 +0100
  3013. Detect endpoint halts and unsupported control requests
  3014. commit 7da521954ba661d3f537440c31a84b66e974d56b
  3015. Author: Daniel Drake <dsd@gentoo.org>
  3016. Date: Mon May 5 01:00:31 2008 +0100
  3017. Linux: fix logical URB allocation
  3018. We were allocating the wrong number of URBs for transfers of size
  3019. multiples of 16k.
  3020. commit 470b1bc42bf53373ce678fc76bab9160a54d6881
  3021. Author: Daniel Drake <dsd@gentoo.org>
  3022. Date: Sun May 4 16:51:23 2008 +0100
  3023. add functionality for querying and detaching kernel driver
  3024. commit 17ecfb0ecc833596c43755c80d461cddb9b3b0d7
  3025. Author: Daniel Drake <dsd@gentoo.org>
  3026. Date: Sun May 4 16:20:46 2008 +0100
  3027. Descriptor reading functionality
  3028. commit bdce367d1bd8691465844b2411c85215498f517d
  3029. Author: Daniel Drake <dsd@gentoo.org>
  3030. Date: Sun May 4 14:22:16 2008 +0100
  3031. sanitized error returns from synchronous I/O functions
  3032. commit bfe74e9cd9c17a40fff042ea0647326f51cfecae
  3033. Author: Daniel Drake <dsd@gentoo.org>
  3034. Date: Sun May 4 14:10:19 2008 +0100
  3035. implement libusb_reset_device()
  3036. commit c01f744ce07bbeccbe353e956479f0cc5a811a6f
  3037. Author: Daniel Drake <dsd@gentoo.org>
  3038. Date: Sun May 4 13:46:41 2008 +0100
  3039. Add functionality to clear endpoint halt conditions
  3040. commit 5878daa85e3364bb3885190425d4f9deaa2d8c36
  3041. Author: Daniel Drake <dsd@gentoo.org>
  3042. Date: Sun May 4 00:51:59 2008 +0100
  3043. Fix libusb_get_device_list return value
  3044. It was documented to return the list length, but was returning 0.
  3045. commit a74106a9b48b88bae0e099be34a18d653a8f1238
  3046. Author: Daniel Drake <dsd@gentoo.org>
  3047. Date: Sat May 3 16:50:58 2008 +0100
  3048. Well-defined error codes for some operations
  3049. Also renamed set_interface_altsetting to set_interface_alt_setting for
  3050. better consistency
  3051. commit 0f463fe671455670efcf4a93e526b2a9082b0afe
  3052. Author: Daniel Drake <dsd@gentoo.org>
  3053. Date: Sat May 3 16:24:11 2008 +0100
  3054. Add libusb_set_configuration()
  3055. commit e65608994f795f97e4d6adac20329ca08709db2d
  3056. Author: Daniel Drake <dsd@gentoo.org>
  3057. Date: Sat May 3 15:40:23 2008 +0100
  3058. rename LIBUSB_ERROR_NOMEM to LIBUSB_ERROR_NO_MEM
  3059. improves consistency
  3060. commit 5384bbf300779e7936eac9ebd33ee38f5b533f8e
  3061. Author: Daniel Drake <dsd@gentoo.org>
  3062. Date: Sat May 3 14:34:54 2008 +0100
  3063. Linux: better EACCES handling
  3064. commit 1936eeeba3f933a078df1005cc7c1533a8ec2bac
  3065. Author: Daniel Drake <dsd@gentoo.org>
  3066. Date: Sat May 3 14:26:56 2008 +0100
  3067. Rename reference counting API
  3068. This improves consistency with the naming style of other functions
  3069. commit e2f822b4f17342f614ab2455179a80975fca6cb0
  3070. Author: Daniel Drake <dsd@gentoo.org>
  3071. Date: Sat May 3 14:24:40 2008 +0100
  3072. Linux: use read-only access to enumerate devices and descriptors
  3073. Write access is not needed until later.
  3074. Also fix handling of open() error code.
  3075. commit 81204eed3d0a7744b89b68bd90d567b68d191a91
  3076. Author: Daniel Drake <dsd@gentoo.org>
  3077. Date: Fri May 2 17:45:23 2008 +0100
  3078. document pollfd notifiers
  3079. commit e20f8281fb7da32587f81b5eea5818af1eab0fe0
  3080. Author: Daniel Drake <dsd@gentoo.org>
  3081. Date: Fri May 2 17:33:52 2008 +0100
  3082. Allow multiple interfaces to be claimed
  3083. commit 66685ff25d81a1f1a2a3dbda882d407638d00672
  3084. Author: Daniel Drake <dsd@gentoo.org>
  3085. Date: Fri May 2 16:55:36 2008 +0100
  3086. Documentation improvements
  3087. commit 55bce39cbe0c9746a428b66751d1afe551d86381
  3088. Author: Daniel Drake <dsd@gentoo.org>
  3089. Date: Fri May 2 12:55:34 2008 +0100
  3090. detect short descriptor reads
  3091. commit f3f17846dcced6b2dc40f899ed6a2aba151c264b
  3092. Author: Daniel Drake <dsd@gentoo.org>
  3093. Date: Fri May 2 12:32:46 2008 +0100
  3094. remove "references" and "referenced by" listings in documentation
  3095. commit fbb017dd9a26ce449578482b95157b3c850fa446
  3096. Author: Daniel Drake <dsd@gentoo.org>
  3097. Date: Fri May 2 12:32:08 2008 +0100
  3098. Use typedef ptr types in parameters and return types
  3099. This is passed through to the docs
  3100. commit 3675e978fb7a1042f8601931255658bcd14a2298
  3101. Author: Daniel Drake <dsd@gentoo.org>
  3102. Date: Fri May 2 12:28:31 2008 +0100
  3103. Expose bus number and device address
  3104. commit 2012898ffc492317cb428d97077bf5ee0e98e1da
  3105. Author: Daniel Drake <dsd@gentoo.org>
  3106. Date: Tue Apr 29 15:26:46 2008 +0100
  3107. standardised error codes
  3108. commit 0269c75ae3de7acb2dc555e45928750e35fdb320
  3109. Author: Daniel Drake <dsd@gentoo.org>
  3110. Date: Tue Apr 29 13:34:26 2008 +0100
  3111. Fix descriptor handling memory leaks
  3112. commit d3ab4e3bd4068cba41c1e12c4b175018dc3cb343
  3113. Author: Daniel Drake <dsd@gentoo.org>
  3114. Date: Sun Apr 27 23:50:01 2008 +0100
  3115. Rename endpoint_type to transfer_type
  3116. Matches the USB specs more closely
  3117. commit 379e90e0fdcef6f4db1849fa0a7fd524407cf564
  3118. Author: Daniel Drake <dsd@gentoo.org>
  3119. Date: Sun Apr 27 23:41:24 2008 +0100
  3120. Remove a FIXME comment
  3121. it can't.
  3122. commit 2ddf81420557d016bbcbf28dda0d8d1c64d16264
  3123. Author: Daniel Drake <dsd@gentoo.org>
  3124. Date: Sun Apr 27 23:30:34 2008 +0100
  3125. Fix unlocked flying_transfers list access
  3126. commit 7ac0a405b4c57db42e88cbcba5f135697f03b646
  3127. Author: Daniel Drake <dsd@gentoo.org>
  3128. Date: Sun Apr 27 23:27:04 2008 +0100
  3129. Remove libusb_cancel_transfer_sync
  3130. This wasn't a particularly nice API. Cancellation should be handled by
  3131. the completion handler.
  3132. commit a5006fd7b9dae6f1db7969c8744086ba3a7c027b
  3133. Author: Daniel Drake <dsd@gentoo.org>
  3134. Date: Sun Apr 27 19:56:02 2008 +0100
  3135. remove extra timeout check
  3136. If select() didn't timeout then don't check for more timeouts
  3137. commit 3bdafaa359d9c65e1af360b5338e1f25528a8066
  3138. Author: Daniel Drake <dsd@gentoo.org>
  3139. Date: Sun Apr 27 19:53:51 2008 +0100
  3140. Documentation touchups
  3141. Detail that interrupt polling interval is fixed to endpoint bInterval,
  3142. and that data may be transferred even on a timeout condition.
  3143. commit e12618c79d520955b1abf80a277e881d91907162
  3144. Author: Daniel Drake <dsd@gentoo.org>
  3145. Date: Sat Apr 19 16:17:53 2008 +0100
  3146. add threaded example program
  3147. commit 1fcdb0678b759569db7cd530457dbc0a5f86fb1d
  3148. Author: Daniel Drake <dsd@gentoo.org>
  3149. Date: Fri Apr 18 23:58:54 2008 +0100
  3150. libusb_device mutex protection
  3151. commit 0efd2efa65d5513e5754d717d522b2c5c45332e2
  3152. Author: Daniel Drake <dsd@gentoo.org>
  3153. Date: Fri Apr 18 23:42:40 2008 +0100
  3154. mutex protection for device and handle lists
  3155. commit d2ff2b14a15e5099ff0214502944de30f141a39c
  3156. Author: Daniel Drake <dsd@gentoo.org>
  3157. Date: Fri Apr 18 20:00:31 2008 +0100
  3158. lock flying_transfers during transfer removal
  3159. commit 2569980762cb66804da31e54bef243702da8dfe9
  3160. Author: Daniel Drake <dsd@gentoo.org>
  3161. Date: Fri Apr 18 19:59:56 2008 +0100
  3162. pollfds mutex protection
  3163. commit f5a33e08ec0da51ccb5e95a5adec50c5211a9bf5
  3164. Author: Daniel Drake <dsd@gentoo.org>
  3165. Date: Thu Apr 17 18:24:54 2008 +0100
  3166. flying_transfers mutex protection
  3167. This marks the beginnings of thread safety
  3168. commit 85e1994123545125ce0653415d122f9790f8d041
  3169. Author: Daniel Drake <dsd@gentoo.org>
  3170. Date: Thu Apr 17 17:44:28 2008 +0100
  3171. Linux: fix control transfer cancellation
  3172. commit cf9b831f7bfd97ba88721c1d934aeda522f3692c
  3173. Author: Daniel Drake <dsd@gentoo.org>
  3174. Date: Mon Apr 14 20:03:27 2008 +0100
  3175. set correct endpoint type for isochronous transfers
  3176. Pointed out by Felix Domke
  3177. commit ad6e2b712c5b54af44424e58a2776686314e26b7
  3178. Author: Daniel Drake <dsd@gentoo.org>
  3179. Date: Fri Apr 11 21:40:07 2008 +0100
  3180. Linux: fire multiple URBs at once for split transfers
  3181. This results in a significant performance increase for bulk transfers
  3182. larger than 16kb, and fixes a bug where data would be spliced and mixed
  3183. between two simultaneously submitted transfers to the same endpoint.
  3184. It also allows isochronous transfers larger than 16kb to be submitted.
  3185. This commit also improves cancellation - the library now understands
  3186. what is going on.
  3187. commit d9b2ce2894ed43d34de6850f2dac50ccabf1db55
  3188. Author: Daniel Drake <dsd@gentoo.org>
  3189. Date: Tue Apr 1 23:28:32 2008 +0100
  3190. Constify some return data
  3191. Make it clear that apps should not mess with these structures
  3192. commit 8d809854e2b19c2b7c27ab05e5d76b34e2a5cead
  3193. Author: Daniel Drake <dsd@gentoo.org>
  3194. Date: Sun Mar 30 22:19:00 2008 +0100
  3195. Rename libusb_poll() to libusb_handle_events()
  3196. commit 211f80c9f2a4a58cd2bbf5b7751f45089c8961e7
  3197. Author: Daniel Drake <dsd@gentoo.org>
  3198. Date: Tue Mar 25 16:24:30 2008 +0000
  3199. Isochronous endpoint I/O
  3200. Due to variable-sized structures, this involved changing allocation
  3201. mechanism. All transfers must now be allocated and freed through
  3202. libusb.
  3203. A synchronous function is missing, and I could do with writing a few
  3204. more helper functions to simplify things.
  3205. commit b1ade6fca668d8aa156d5b5bf3a933f116144dc2
  3206. Author: Daniel Drake <dsd@gentoo.org>
  3207. Date: Sun Mar 23 21:17:32 2008 +0000
  3208. distcheck fix for docs
  3209. commit 62077b7fa5b222e1bb9dea3467585aed69d596e2
  3210. Author: Daniel Drake <dsd@gentoo.org>
  3211. Date: Sun Mar 23 21:13:14 2008 +0000
  3212. Support for changing altsetting
  3213. Will probably be suject to later consideration w.r.t. claiming of endpoints
  3214. commit 0499e9f418607b5786ac0c3e97bc46737a609ca3
  3215. Author: Daniel Drake <dsd@gentoo.org>
  3216. Date: Thu Mar 20 21:10:01 2008 +0000
  3217. it's called bmRequestType
  3218. commit 88884ae4bbe721dac117d5190303cb67852fa5d3
  3219. Author: Daniel Drake <dsd@gentoo.org>
  3220. Date: Thu Mar 20 21:07:00 2008 +0000
  3221. Save transfer flags before invoking callback
  3222. The callback may free the transfer, in which case we can't read the flags
  3223. after it has returned.
  3224. commit ead09cde6895df0034a685516987ce253575e9a7
  3225. Author: Daniel Drake <dsd@gentoo.org>
  3226. Date: Sat Mar 15 16:35:12 2008 +0000
  3227. API documentation
  3228. Hopefully mostly complete. Some constants were renamed and move into
  3229. enums.
  3230. commit 285724cc14ea5f993e2c4c92fe0aaf6c335bc139
  3231. Author: Vasily Khoruzhick <anarsoul@gmail.com>
  3232. Date: Sat Mar 15 13:50:53 2008 +0200
  3233. Fix get_device_list for realloc case
  3234. get_device_list can modify pointer passed to it with realloc, but this
  3235. case wasn't handled and caused crash on my machine. Fixed
  3236. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
  3237. commit c0c9432d38b22784070dce3a7874c62c31786a27
  3238. Author: Daniel Drake <dsd@gentoo.org>
  3239. Date: Thu Mar 13 12:36:56 2008 +0000
  3240. Beginnings of cross-platform abstraction
  3241. This also includes a libusb_get_pollfds API change
  3242. commit de4c5341d168697baa4c0901c406deb47e78aae7
  3243. Author: Daniel Drake <dsd@gentoo.org>
  3244. Date: Mon Mar 10 18:38:15 2008 +0000
  3245. Add transfer flags
  3246. commit aae05f688dc26a013166ab9436fd25018b49d76a
  3247. Author: Daniel Drake <dsd@gentoo.org>
  3248. Date: Mon Mar 10 11:32:15 2008 +0000
  3249. Simplify libusb_fill_control_transfer()
  3250. Transfer length can be inferred from the setup packet.
  3251. commit 7c5ea95297c2f3f6afc42f60c1bf1bef777bb1fb
  3252. Author: Daniel Drake <dsd@gentoo.org>
  3253. Date: Mon Mar 10 11:29:24 2008 +0000
  3254. get_device fixup
  3255. Rename API away from "devh" and fix implementation to match header
  3256. commit 9e89d1aa82cbe7e21672ee3e2e545238fffc5318
  3257. Author: Daniel Drake <dsd@gentoo.org>
  3258. Date: Sun Mar 9 16:27:06 2008 +0000
  3259. Rename descriptor-getting functions
  3260. Based on feedback from Tim Roberts
  3261. commit 283ae96c3ccbcee1c3950fce18ae47093ae8200e
  3262. Author: Daniel Drake <dsd@gentoo.org>
  3263. Date: Sun Mar 9 16:15:02 2008 +0000
  3264. Simplify cancellation API
  3265. No need to provide the device here.
  3266. commit ebad1c79688ba603ad017ed0fe2f3c0dc8edd1ad
  3267. Author: Daniel Drake <dsd@gentoo.org>
  3268. Date: Sun Mar 9 16:12:08 2008 +0000
  3269. Rename libusb_dev_handle to libusb_device_handle
  3270. commit 1ac0a7d88f282b6f293c456fac8edb143cbaca3d
  3271. Author: Daniel Drake <dsd@gentoo.org>
  3272. Date: Sun Mar 9 01:01:57 2008 +0000
  3273. Move synchronous I/O implementation to its own file
  3274. commit 66348c90ea4570bf999ac301089e006d0cce1926
  3275. Author: Daniel Drake <dsd@gentoo.org>
  3276. Date: Sun Mar 9 00:58:09 2008 +0000
  3277. Separate transfer allocation and submission
  3278. Leads to some hefty API changes. Now we're much more similar to the
  3279. Linux kernel model.
  3280. Problems with dealing with asynchronous control transfers are passed
  3281. on to the user, basically you must allocate a buffer, start with the
  3282. setup, and put the data after. This won't make much sense until
  3283. documented (soon...)
  3284. commit d21ebe47ce578c93cd8969be1c933d503e32e5d4
  3285. Author: Daniel Drake <dsd@gentoo.org>
  3286. Date: Sat Mar 8 12:48:35 2008 +0000
  3287. Rework URB API naming
  3288. Now refer to everything as "transfers" as consistent with the USB spec
  3289. libusb_transfer is now a kind of transfer handle. To reduce confusion
  3290. with libusb_bulk_transfer and libusb_control_transfer, those have been
  3291. renamed to libusb_{control,bulk}_transfer_request.
  3292. commit fd6fb3cc093ad47271353a0e468d16547f991382
  3293. Author: Daniel Drake <dsd@gentoo.org>
  3294. Date: Sat Mar 8 11:53:33 2008 +0000
  3295. Add fallback on /proc/bus/usb
  3296. /dev/bus/usb is a relatively new thing probably not present on every
  3297. system
  3298. commit f3fdf447916289cd92b7190377681894e8ab611a
  3299. Author: Daniel Drake <dsd@gentoo.org>
  3300. Date: Sat Mar 8 00:10:16 2008 +0000
  3301. Persistent libusb_device storage
  3302. Devices are now assigned a session ID (currently busnum:devaddr) which
  3303. is used to distinguish unique devices.
  3304. Now multiple callers of libusb_get_device_list will get the same
  3305. libusb_device structure instances.
  3306. commit 23f8fb8bafeeda93ce234cb40eb7219d2e36c19c
  3307. Author: Daniel Drake <dsd@gentoo.org>
  3308. Date: Thu Mar 6 23:43:57 2008 +0000
  3309. Add convenience function to find and open a device by USB VID+PID
  3310. Lots of libusb apps I write are simple test apps not intended to be real
  3311. apps. Having a function available to quickly locate my device will be
  3312. handy in such situations.
  3313. commit 9cfdb494fccac53a4277da7c8b6d15f1a72a4959
  3314. Author: Daniel Drake <dsd@gentoo.org>
  3315. Date: Thu Mar 6 23:25:20 2008 +0000
  3316. Rework device discovery API
  3317. libusb_find_devices and libusb_get_devices are no more
  3318. libusb_get_device_list obtains a list of libusb_device structures for all
  3319. known devices in the system.
  3320. Each libusb_device now has a reference count, defaulting to 1 on
  3321. instantiation. The reference count of 1 refers to the fact that it is
  3322. present in the list in this scenario.
  3323. Opening a device adds a pointer to the libusb_device structure in the
  3324. handle, so that also adds a reference. Closing the device removes that
  3325. reference.
  3326. The function to free the device list can optionally unref all the devices
  3327. inside.
  3328. In future we will make the libusb_device instances all "global" so that if
  3329. the app calls get_device_list twice it actually gets the same libusb_device
  3330. structure references back. This way we can start to track disconnects, and
  3331. we can investigate adding a unique "session ID" to each libusb_device, an
  3332. identifier guaranteed to be unique to that device until reboot.
  3333. commit 77cea822788e024c848c7f554915f771a2dc1e0f
  3334. Author: Daniel Drake <dsd@gentoo.org>
  3335. Date: Thu Mar 6 17:05:04 2008 +0000
  3336. Remove ctrl debug code
  3337. This was unintentionally committed
  3338. commit b873521a6f575628d535f89278bb67888004d0ca
  3339. Author: Daniel Drake <dsd@gentoo.org>
  3340. Date: Tue Feb 26 22:11:34 2008 +0000
  3341. Notifications for changes to the fd set
  3342. Applications can now be notified when they should start and stop polling
  3343. new file descriptors.
  3344. commit ca66e16a370c828d08a5bc3f9f203db145c81a4c
  3345. Author: Daniel Drake <dsd@gentoo.org>
  3346. Date: Fri Feb 1 12:20:20 2008 +0000
  3347. Fix header installation path
  3348. commit e583100a4086c411093eef5c450880b965df6b1b
  3349. Author: Daniel Drake <dsd@gentoo.org>
  3350. Date: Wed Jan 30 13:24:54 2008 +0000
  3351. TODO update
  3352. commit 637a8d7ff8a11a23588925d9d3003a609bda8075
  3353. Author: Daniel Drake <dsd@gentoo.org>
  3354. Date: Wed Jan 30 13:19:10 2008 +0000
  3355. Remove timers and signalfd
  3356. Instead of timers, add a mechanism for informing the parent app when the
  3357. next timeout is due to happen, so that it can call us at that time.
  3358. As we no longer use signals, signalfd has also been removed.
  3359. commit 8c56abe2e13ed4dd8c15737c21be7b6b1e5cf2ac
  3360. Author: Daniel Drake <dsd@gentoo.org>
  3361. Date: Sat Jan 26 18:16:56 2008 +0000
  3362. Poll usbfs descriptors directly
  3363. We don't need to use signalfd for this functionality because we can poll
  3364. the file descriptors for write events.
  3365. commit e3ce855acec33d37dd833bca5dad5e8c3773003a
  3366. Author: Daniel Drake <dsd@gentoo.org>
  3367. Date: Sat Jan 26 17:26:40 2008 +0000
  3368. Fix dpfp example compilation
  3369. commit 1d41a5cda2fefe826877ee4445199af30aa188b7
  3370. Author: Daniel Drake <dsd@gentoo.org>
  3371. Date: Sat Jan 26 17:22:53 2008 +0000
  3372. C++ header safety
  3373. Pointed out by JF
  3374. commit 37b7f9a112eb1441d352467f661205b8872d0553
  3375. Author: Daniel Drake <dsd@gentoo.org>
  3376. Date: Sat Jan 26 14:03:43 2008 +0000
  3377. Only use -fgnu89-inline when supported
  3378. J F pointed out that this option only works on gcc 4.3 and newer.
  3379. commit e3a09ca0b9cb6f46d54a0130f678c6097240a2bd
  3380. Author: Daniel Drake <dsd@gentoo.org>
  3381. Date: Sat Jan 5 21:59:40 2008 +0000
  3382. Remove more fpusb remnants
  3383. commit dcd5e0075fa84601d997d29bb60bc8370b97a375
  3384. Author: Daniel Drake <dsd@gentoo.org>
  3385. Date: Fri Jan 4 01:19:07 2008 +0000
  3386. TODO update
  3387. Start listing the things I want to discuss/reconsider before 1.0 API
  3388. is final.
  3389. commit de53d972ed9c1f21f86ffd585560520e986f212c
  3390. Author: Daniel Drake <dsd@gentoo.org>
  3391. Date: Fri Jan 4 01:17:06 2008 +0000
  3392. Rename some _devh_ functions
  3393. Decided against naming functions in this style based on advice from
  3394. Tim Roberts. Still not really sure about devh naming in general.
  3395. commit 132d84bf8ae34bd0892b3d8207a53d87cc0a9cba
  3396. Author: Daniel Drake <dsd@gentoo.org>
  3397. Date: Fri Jan 4 01:13:25 2008 +0000
  3398. Use "transfer" instead of "msg"
  3399. Based on a discussion with Tim Roberts.
  3400. commit ea6af58a8643137eb01eeb7d2f65404e390feb1b
  3401. Author: Daniel Drake <dsd@gentoo.org>
  3402. Date: Fri Jan 4 00:57:00 2008 +0000
  3403. Plural of bus is busses
  3404. SF #1633043
  3405. commit dbb3fd871e3972b4e670f3161e7cd2f58f357600
  3406. Author: Daniel Drake <dsd@gentoo.org>
  3407. Date: Fri Jan 4 00:54:57 2008 +0000
  3408. API renaming: remove fpi and usb_ stuff
  3409. fpi changed to usbi.
  3410. We should not expose structures with prefix "usb_" in the public
  3411. namespace as it is quite likely there will be some conflict somewhere.
  3412. Instead, using "libusb_" should be safer.
  3413. commit e9364d72151ae1de9cce4175f330fe1529f02511
  3414. Author: Daniel Drake <dsd@gentoo.org>
  3415. Date: Fri Jan 4 00:40:49 2008 +0000
  3416. Rename to libusb-1.0
  3417. I've taken over the libusb project, and what was previously known as fpusb
  3418. will eventually be released as libusb-1.0.
  3419. commit f4ed0b6a3e0a20555fdfc9e9b8be7e8a2c8ae192
  3420. Author: Daniel Drake <dsd@gentoo.org>
  3421. Date: Sun Dec 30 22:09:50 2007 +0000
  3422. Compiler flags update
  3423. Also fix some warnings
  3424. commit d3d671efe27491baf1d2ceadbfeeb4e7428d6f9a
  3425. Author: Daniel Drake <dsd@gentoo.org>
  3426. Date: Sun Dec 30 22:05:17 2007 +0000
  3427. Fix signalfd structure size on x86
  3428. ptr is a 64-bit value
  3429. commit dfac6756faad76071a92945e3e3a16b8a841a7ea
  3430. Author: Daniel Drake <dsd@gentoo.org>
  3431. Date: Wed Dec 12 23:32:54 2007 +0000
  3432. Don't pass ctrl_msg/bulk_msg structures through async paths
  3433. These are easiest to construct on the stack, but in the async case it is
  3434. likely that the submitting function returns (hence stack is destroyed)
  3435. before URB completion.
  3436. commit a8d2881eb7c273892acf2ff6e1f3f552631d1d11
  3437. Author: Daniel Drake <dsd@gentoo.org>
  3438. Date: Mon Dec 3 23:29:22 2007 +0000
  3439. Add functionality to access device descriptors
  3440. commit b5a7a411087b37a6bf56b4688a9e3290daaed153
  3441. Author: Daniel Drake <dsd@gentoo.org>
  3442. Date: Mon Dec 3 22:27:21 2007 +0000
  3443. Rename fpusb_device_handle functions to devh
  3444. Prevents confusion with functions that work on fpusb_dev structures.
  3445. commit eacf4505a473df0f521d1b69d5b45448f0709e2d
  3446. Author: Daniel Drake <dsd@gentoo.org>
  3447. Date: Sun Dec 2 23:16:57 2007 +0000
  3448. Add API to access poll fd
  3449. Almost forgot... :)
  3450. commit 852bba4754ec57679c823f33e8feba6e4a564cbe
  3451. Author: Daniel Drake <dsd@gentoo.org>
  3452. Date: Wed Nov 28 13:48:45 2007 +0000
  3453. Initial commit
  3454. Basic library structure which supports enumerating detected USB devices