| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113 |
- commit 09af2a25d7585c481f5e891ddfd1ceb2536ed6c9
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Mon May 6 20:55:53 2013 -0600
- on to 1.0.16-rc10
- commit bcc159ec9156201544c249bb4a87f8f24cc34e0a
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Thu Mar 7 11:44:00 2013 +0000
- Linux: Consume all events on a fd in one go
-
- * This fixes libusb_handle_events_timeout() only handling one event
- * Fixes #123
-
- Conflicts:
- libusb/version_nano.h
- commit c703ab72d0398c18686c2970730cd580e2d1f46c
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Oct 12 17:34:25 2012 -0400
- Core: use C99 flexible array member when possible
-
- fix clang warning by using C99 flexible array member instead of zero
- length array gcc extension
-
- Conflicts:
- libusb/libusbi.h
- commit 21e4c82043caf0d19ae9354e48035a135f3549d3
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Fri May 3 08:09:09 2013 -0600
- bumb version to 1.0.16-rc9
- commit 66553c2e8219d84e3e8857b18341782e1ca82a58
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Fri May 3 08:03:37 2013 -0600
- darwin: return LIBUSB_ERROR_NOT_FOUND when reading the active config descriptor when the device is not configured.
-
- fixes #172
- commit 42bb27b4fdc07e4c74a3ae8fa6ca67b66b591412
- Merge: 376a05a 629cefb
- Author: hjelmn <hjelmn@cs.unm.edu>
- Date: Sun Apr 28 08:04:19 2013 -0700
- Merge pull request #1 from LudovicRousseau/fixes
-
- Examples: fix compiler warnings
- commit 629cefbd40974c84c326107e3b31869088336753
- Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
- Date: Sat Apr 27 22:40:03 2013 +0200
- Examples: fix compiler warnings
-
- hotplugtest.c:30: warning: no previous prototype for ‘hotplug_callback’
- hotplugtest.c:48: warning: no previous prototype for ‘hotplug_callback_detach’
- commit 376a05a9efa441b576fb1c58e5d49c90a1295e4a
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Apr 25 22:31:01 2013 -0600
- update to 1.0.16-rc8
- commit 20ec541f26d6d98f26d87cfca82287fe4bf15d30
- Author: hjelmn <Nathan Hjelm hjelmn@cs.unm.edu>
- Date: Tue Apr 23 16:35:33 2013 -0600
- darwin: clean up old code
-
- For some time only one type of completion message has been in use in the darwin
- backend. The commit cleans up this code. This commit also removes some code
- that has never done anything useful. If a pipe has an error it probably means
- the device was closed so there is nothing to do.
- commit 9f41a3a780fc14785da2f07d03c119b8024b2452
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Apr 25 21:12:45 2013 -0600
- darwin: fix memory leaks in the darwin backend.
-
- There were two memory leaks in the darwin backend:
- - A CFString allocated by IORegistryEntryCreateCFProperty in darwin_get_interface()
- was not released.
- - The runloop is retained by darwin_open() but was not release by darwin_close().
- commit e63fb62acfe52aecfd12b2a2f87f9a79495b2a0b
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Apr 25 21:09:19 2013 -0600
- core: release the context device list when the context is deleted.
-
- This commit fixes a memory leak in the context list patch. Devices need
- to be unref'd when the context is deleted. This can happen if either 1)
- the backend init fails, or 2) the context is destroyed by libusb_exit().
- commit 1c1d686151691f894c04519e2a4faec5811a292c
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Mon Apr 22 15:04:20 2013 -0600
- Update .gitignore
- commit 6714fb46d2d2e74587637b465ceb967f5bf80901
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Fri Dec 7 19:59:39 2012 -0700
- core: this is 1.0.16-rc7
-
- Rebasing lost the meaning of previous release candidates. Just set the
- version to 1.0.16-rc7.
- commit eb2393972a1731571d3ca7f5b20fe3a3448a1675
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Thu Apr 11 10:19:03 2013 -0600
- Add support for libusb_strerror()
-
- Fixes #102
- commit 34319ac4fd312356ae9488838b675e57e36c5f98
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Tue Apr 9 19:01:02 2013 -0600
- Update release notes for 1.0.16 release.
- commit c3694edc25e0b63a9aa1c1f29590fb727a430aef
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Sun Apr 7 09:35:29 2013 -0600
- darwin: don't need darwin_error_str if ENABLE_LOGGING is not defined
- commit eff69edbce89aa0364aba64e9944b83dcac5b080
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Sun Apr 7 09:22:48 2013 -0600
- update AUTHORS
- commit c5ad994bb918bfbf87f8044197930124d2289d0f
- Author: Maya Erez <merez@codeaurora.org>
- Date: Sat Apr 6 12:30:22 2013 -0600
- Add definitions for Endpoint Companion and BOS descriptors.
- Add APIs for parsing the Endpoint Companion and BOS descriptors.
-
- Nathan: Modified the original patch to fit the interface now already
- provided by the FreeBSD implementation of libusb 1.0 and fit with
- the rest of libusb.h.
-
- Some discussion: The FreeBSD API is not optimal. Further discussion
- is needed to determine how to update the API without breaking code
- that used the existing API. This discussion should probably involve
- the FreeBSD developers and could be handled in a 1.0.x release.
-
- An example has been added to show how to use the new API.
-
- Fixes #110
- commit 55221eda77899ae1287a79c71138967029bed3b3
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Wed Apr 3 08:37:21 2013 -0600
- Use AM_CPPFLAGS instead of INCLUDES in examples/Makefile.am
- commit 4232cd434b1475b09db2b15325840ea54753496b
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Wed Aug 22 11:47:00 2012 +0100
- Linux: Avoid unnecessary splitting of bulk transfers
-
- * With the latest kernels it is no longer needed to always split large bulk
- transfers into multiple urbs. This patch takes advantage of this by not
- splitting when not necessary. Note that the non-split code path is in essence
- using the old split code path with an urb count which is always 1.
- * This leads to more sane handling of large transfers with recent kernels,
- although our splitting code is well tested, not splitting at all still is
- a lot better :)
- * When used with a recent kernel, this also fixes the problems, on XHCI attached
- devices, when a large bulk-in transfer ends with a short read in an urb other
- then the last urb.
- * For more on this see: http://marc.info/?l=linux-usb&m=133797554910355
-
- Conflicts:
- libusb/os/linux_usbfs.c
- libusb/version_nano.h
- commit ca257e3dbbecffe011ed3a5c87000ba634bf161d
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Wed Aug 22 11:47:00 2012 +0100
- Linux: Add support for the new get_capabilities ioctl
-
- * There were a few (new) usbdevfs capabilities which libusbx could not
- discover in any other way then checking the kernel version.
- * However, this presents the following problems:
- 1) It is just not very pretty
- 2) Given the tendency of enterprise distros to backport stuff it is not
- reliable
- 3) Some of these features turn out to not work with certain host controllers,
- making depending on them based on the kernel version not a good idea
- * Therefore a new USBDEVFS_GET_CAPABILITIES ioctl has been added to the kernel
- to offer a better way to find out a device's capabilities (technically
- the capabilities of the host controller to which the device is attached,
- but that does not matter).
-
- Conflicts:
- libusb/os/linux_usbfs.c
- libusb/version_nano.h
- commit e922bc672aef38773818d2df41cf603b1eac9382
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Tue Apr 2 22:12:47 2013 -0600
- darwin: don't assume an interval of 1 or high/super speed
-
- This patch updates submit_iso_transfer to use the bInterval value of the
- endpoint and the speed of the device to determine the last frame of the
- transaction.
-
- Fixes: #165
- commit 6abf49b40c38a5a911701e439160be8eea34f9f3
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Sun Feb 10 14:46:38 2013 -0700
- windows: call usbi_sanitize_device to ensure the device descriptor gets cached
- commit 7533aa5ea10280add3d9223db2291089009d6988
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Fri Feb 8 20:41:43 2013 -0700
- darwin: add fcntl.h
- commit 265ff59780a226100fcd0634e5c9b09dbe826f17
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Fri Feb 8 20:39:46 2013 -0700
- Fix usbi_log_v in the case where ctx is NULL (no default context).
-
- Fixes #147.
- commit 854f7b63654045f20692f42b97dd6954b0069c74
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Fri Feb 8 17:19:01 2013 -0700
- On windows do not set the hotplug pipe as non-blocking. I will leave it up the backend maintainers to figure out.
- commit 2fa98198472e54b2ae246fb33bf40130dea1456d
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Fri Feb 8 00:12:13 2013 -0700
- darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET transfer flag.
-
- The zero-length packet is sent by the async event thread if all the following
- conditions are met:
-
- 1) The packet size is not a multiple of maxPacketSize, and
- 2) the transfer completed successfully.
-
- References #6.
- commit b8e6b77495dd8e25c0a52443db4fdc204d4f20f0
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Thu Feb 7 23:35:32 2013 -0700
- Don't set the USBFS_URB_SHORT_NOT_OK flag on the last URB.
-
- Fixes: #142
- commit 1cd10590ae6fbfbd976349abe625e1495f6a1370
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Thu Feb 7 21:56:30 2013 -0700
- darwin/libusb_reset: reenumerate device if the device descriptor or any
- configuration descriptor has changed
-
- Some background: the Linux kernel causes a device to be reenumeration when
- reset if the device's descriptors have changed. Darwin does not provide
- this feature but instead provides a call to force the reenumeration of
- a device. This behavior is required to support the firmware update
- protocol used by some devices.
-
- This patch updates darwin_reset to check if either the device or
- configuration descriptors have changed. If they have darwin_reset will
- ask the OS to reenumerate the device and return LIBUSB_ERROR_NOT_FOUND
- or LIBUSB_SUCCESS accordingly.
-
- Fixes #169
- commit 4920971837d569b7afa31f69ed7a92c313362cc3
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Fri Feb 8 17:10:24 2013 -0700
- replace removed automake macro AM_CONFIG_HEADER with AC_CONFIG_HEADERS.
-
- Fixes #159. Thanks to cazfi.
- commit ed61beaa5ecb1bde41ad04060d980c4bc87d6936
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Fri Dec 7 19:55:21 2012 -0700
- darwin: clean up extraneous includes
- commit 43ae35e6f482b5893348b75772c0e0866d050374
- Author: Nathan Hjelm <hjelmn@cs.unm.edu>
- Date: Fri Nov 30 19:17:43 2012 -0700
- darwin: dpriv->device will never be NULL for a valid device. remove unnecessary code that handled this case
- commit 9300dd929abf077c79cfbb0cb98022e9bedee3bb
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Nov 29 16:19:11 2012 -0700
- darwin: allow control messages on devices we can not exclusively open
- commit 046fae00f8a138f6d0c1ddba609676bc3a44e86c
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Nov 29 16:14:03 2012 -0700
- Add hotplug support to the Linux backend.
-
- There are two ways to configure hotplug support for Linux: udev, and netlink. It
- is strongly recommened that udev support is used on systems that utilize udev.
- We reenforce this recommendation by defaulting to --with-udev=yes at configure
- time. To enable netlink support run configure with --with-udev=no. If udev
- support is enabled all device enumeration is done with udev.
-
- References: #17
- commit e3948b8e39668f9242925622cccb0658404b5c32
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Nov 29 16:13:00 2012 -0700
- Add hotplug support to the Darwin backend.
-
- Hotplug events are handled by the async event thread. This thread listens for
- two events: kIOTerminatedNotification, and kIOFirstMatchNotification. If
- either of these events fires the thread will iterate through the appropriate
- iterator and will either enumerate or call usbi_disconnect_device depending
- on the event.
-
- While adding hotplug support it was discovered that when reading from the IO
- registry we need to use kCFNumberSInt32Type for the device location. Using
- kCFNumberLongType would cause locations to be sign-extended and not match
- what is stored for the session id. This is now fixed.
- commit c6a7a0ebba3e0ea7e82ec75a8d63ff8604d78d25
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Nov 29 14:23:26 2012 -0700
- Add hotplug support. Bump the version to 1.0.15 and change the so version to
- reflect external API changes.
-
- The internal API is changing as follows:
- - Adding two new functions. usbi_connect_device, and usbi_disconnect_device.
- Backends must call these functions to add them to the context's device list
- at one of two places: initial enumeration (done at init), and on device
- attach and removal. These functions need to be called once per context.
- - Backends that support hotplug should not provide a get_device_list funtion.
- This function is now deprecated and will likely be removed once all backends
- support hotplug.
-
- The external API is changing as follows:
- - Two new functions have been added to register and deregister callbacks for
- hotplug notification: libusb_hotplug_register_callback(),
- libusb_hotplug_deregister_callback(). Hotplug callbacks are called by
- libusb_handle_events(). Details of the new API can be found in libusb.h.
- - A new capability check has been added to check for hotplug support. See
- LIBUSB_CAP_HAS_HOTPLUG.
-
- Aa suggested by Xiaofan add new example has been added to show how to use
- the new external hotplug API. See examples/hotplugtest.c.
-
- References #17
- commit 0350974e585a018827b648b8e4d67c08cb19307f
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Nov 29 13:53:41 2012 -0700
- core: cache device descriptors in the core
-
- Discussion: It is necessary to cache the device descriptor in the core to
- support reading the descriptors after a device is disconnected. We could
- either 1) allow each backend to handle this caching (which would most
- certainly duplicate code), or 2) cache the descritors when a device
- is added. This patch does the later.
-
- Further discussion: It might be beneficial to cache more than just the
- device descriptors in the core. It might also be worthwhile caching the
- configuration and BOS descriptors as well.
- commit 8bf72124ad18461acedecc2d89adebc9b67e5b69
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Sun Sep 30 11:49:01 2012 -0600
- 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.
- commit 2fff52d3f7bee6bae121846bc83cc41bea14e13e
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Tue Oct 2 08:07:03 2012 -0600
- darwin: add support for detecting superspeed devices (IOUSBFamily 5.0.0 or newer)
- commit be5a526f6322c6200611f5495aed6d9fbb523b2e
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Sun Sep 30 10:22:30 2012 -0600
- clean up tabs
- commit f9acbbd1a598213fe7d0bff2d06209d9af003558
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Fri Sep 28 22:13:09 2012 -0600
- darwin: use Release instead of IODestroyPlugInInterface to avoid stopping
- IOServices associated with a device
-
- Some IOService subclasses with actually stop if IODestroyPlugInInterface is
- used to release the plugin interface. This is likely what causes the
- keyboard and mouse to lock up. Using Release should prevent this from
- happening.
-
- Fixes #139
- Fixes #150
- Fixes #153
- commit f28f03b081926fa081cef2fee9a409f7e4dc0240
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Fri Sep 28 21:18:36 2012 -0600
- darwin: don't bother retrying or unsuspending Apple devices during
- enumeration
-
- Some devices appear to cause the keyboard and mouse to lock up
- after repeated enumeration. Try to avoid the issue by not attempting
- to unsuspend Apple devices.
-
- Fixes #150
- commit bd7cd8e5e20d2999a31a11fca5eb32068acbcd2c
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Fri Sep 28 21:18:08 2012 -0600
- darwin: reduce number of times libusb attempts to retrieve a device
- descriptor during enumeration
-
- On failure it doesn't make sense to keep on trying to enumerate a
- device more than a couple times. Reduce the number of tries from
- 10 down to 3.
-
- Fixes #151
- commit 7634714aa696175b08016b6f2185a75a2f55a113
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue Oct 23 09:46:02 2012 +0200
- configure.ac: AC_SEARCH_LIBS(clock_gettime) to be able to add -pthread
- commit 2799d70e471c8ab02bfac6d4efe1149e3d5ba37a
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue Oct 23 09:41:31 2012 +0200
- configure.ac: Move VISIBILITY_CFLAGS into AM_CFLAGS
- commit 62f9a648cf8a875f7572697321f4059b40ef357c
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue Oct 23 09:37:47 2012 +0200
- configure.ac: Move THREAD_CFLAGS into AM_CFLAGS
- commit 29c5786bb26bbe62122b94ae17da6c1b286006be
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue Oct 23 09:27:25 2012 +0200
- configure.ac: Use LIBS instead of PC_LIBS_PRIVATE
- commit 2b044abace76ba0095ee5dbc71a7dac75e8c8f05
- Author: Pete Batard <pete@akeo.ie>
- Date: Wed Aug 22 01:32:10 2012 -0700
- io.c: Handle >= 1 second transfer timeout in libusb_wait_for_event()
- commit 3b821d0a709c6b5b3094a763bb04e48ed0447050
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Aug 22 01:32:10 2012 -0700
- io.c: Handle >= 1 second transfer timeout in libusb_submit_transfer()
- commit b7ed26c7add5528b71a205b4f04c242d3cbeab54
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Aug 4 14:27:55 2012 +0200
- INSTALL_WIN.txt: Correct Windows backend webpage URL
- commit cf60da545c915905869fa4007fcdc5faa75fdcbb
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Aug 4 14:26:43 2012 +0200
- Windows: #include <windows.h> in header files
- commit 36962a408b07920f2fdd61dda6bef0e9e319e7d2
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Jul 29 06:22:45 2012 +0200
- Windows: Remove msvc/inttypes.h
-
- This file might have been needed for platform abstraction, except that
- all code shared among platforms doesn't need the file. Windows code in
- particular does not need to use the file.
-
- The file was used in one single place, where the PRIu64 define has now
- been replaced with it's value "I64u".
- commit 455b2d98869826db7276ddb69ce7b73f1acc9f94
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Jul 28 19:17:15 2012 +0200
- libusb.h: Fix #145 libusb_ref_device() and libusb_unref_device() typos
- commit 53e526e21b519300aff9c9579f886cfc107b0a30
- Author: Simon Haggett <simon.haggett@realvnc.com>
- Date: Tue Jul 10 16:07:45 2012 +0100
- Windows: Stop leaking event handle when destroying condition variables
-
- usbi_cond_destroy() must close the handle created by usbi_cond_intwait().
- commit c5194b408286229ce0d94765f963890057d46ee0
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue Jul 10 16:54:16 2012 +0200
- io.c: Avoid timerfd race condition between completion and new submit
-
- An event handler thread working on transfer completion for the last
- flying transfer with a timeout can end up racing with a call to
- libusb_submit_transfer() from a second thread, so that the timerfd
- gets disarmed even though libusb actually again has a transfer with
- a timeout.
-
- By arming or disarming the timerfd during completion strictly
- according to remaining flying transfers while also holding the
- flying_transfers_lock this change ensures that a new transfer can
- not be added to the flying list until the completion code path has
- armed/disarmed the timerfd according to the current flying list.
-
- Hans de Goede describes the race condition situation in
- http://sourceforge.net/mailarchive/message.php?msg_id=29520709
-
- Signed-off-by: Peter Stuge <peter@stuge.se>
- commit 0845ff2aeed9ad009d246ecc2a945f007817ca9a
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue Jul 10 06:29:48 2012 +0200
- .gitattributes: Set INSTALL_WIN.txt eol=crlf attribute
- commit cd8e76f0b1f47271c4059cd6c1e67e23f0e247a8
- Author: Pete Batard <pete@akeo.ie>
- Date: Thu May 10 16:44:30 2012 +0100
- Windows: Add INSTALL_WIN.txt
-
- libusbx.git commit 75b1cf81db74357f55cc4d0f596ef19a6a25c5cd
-
- [stuge: Remove trailing whitespace]
- commit 3bd6db0b8f60143836f5a933f35b15d764fbc7dc
- Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
- Date: Wed May 9 09:13:41 2012 +0200
- examples/Makefile.am: Use the implicit _SOURCES rule
-
- By default automake looks for a source file foo.c for a foo binary.
-
- libusbx.git commit 7e52e1e7534ead3f66b13bdcb28ac8587ff47ab0
- commit 1bd831c4e88857bff2f1670c89eda1d04da1cc54
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue Jul 10 01:46:38 2012 +0200
- io.c: Only disarm timerfd when no flying transfer has a timeout
-
- Commit 4630fc22cff8ad3e1afa9b223378c0aabe282b5c made libusb work
- correctly when built to use timerfd but run on a kernel without
- timerfd support. The commit unfortunately also broke the logic
- during transfer completion which decides if the timerfd will be
- disarmed or not, and disarm_timerfd() was called even if the
- timerfd had already been armed with the next flying transfer
- timeout.
-
- Before the offending commit the timerfd would be disarmed only
- when arm_timerfd_for_next_timeout() reported that there was no
- flying transfer with a timeout. Let's restore that behavior.
-
- The bug was spotted through code review both by the author and
- by Hans de Goede, but was not squashed until Vincent Pellier
- experienced transfers never timing out, and helped confirm
- the source of the problem. Many thanks!
-
- References #73.
- commit ae996af002793005db318689229300ff73549964
- Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
- Date: Tue May 8 20:34:12 2012 +0200
- Darwin: Fix warning: comparison between signed and unsigned
-
- libusbx.git commit c5c6b0e69a13786e48b2b6254c8e5458dc6716cc
- commit 0f29541c6728c9c2159080267b43e9b4144e9e56
- Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
- Date: Tue May 8 15:53:56 2012 +0200
- Core: Return LIBUSB_ERROR_IO on sync API TRANSFER_ERROR and _CANCELLED
-
- This is much more appropriate and also fixes gcc -Wswitch-enum warnings.
-
- libusbx.git commit 30ccbd773bc02d5dfd21e02bfba6d58234f59393
- commit 133092314d539d4c1a37997bb0c4ccfbcacb4677
- Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
- Date: Fri May 4 16:56:00 2012 +0100
- autogen.sh: Correctly pass arguments containing spaces to configure
-
- libusbx.git commit d20cd4f3573fe74d0ec5a4e1d60c9d291547ace4
- commit 8dc8b977d796b227f59eb5a7b247b38e27748d52
- Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
- Date: Fri May 4 16:56:00 2012 +0100
- autogen.sh: Exit script on first error
-
- libusbx.git commit c74fe3ab703a28c6d8c3755213e3736c5d1eb35e
- commit d8e35a560dfada578c6f6dea520d7d908b002001
- Author: Toby Gray <toby.gray@realvnc.com>
- Date: Thu May 3 11:25:11 2012 +0100
- Windows: Fix deadlock when submitting transfers
-
- The Windows backend needed to call usbi_fd_notification() from
- submit_transfer() because a new event source is added for every WinUSB
- transfer. This could cause a deadlock when attempting to lock the event
- lock if another thread was processing events on the just-submitted
- transfer.
-
- The deadlock comes about as the thread calling libusb_submit_transfer()
- acquires the transfer mutex before trying to acquire the event lock; this
- is the other order of lock acquisition from an event thread handling
- activity on the just submitted transfer. This could lead to one of two
- deadlocks:
-
- 1) If the transfer completes while usbi_fd_notification() is waiting for
- the event lock and the callback attempts to resubmit the transfer.
-
- 2) If the transfer timeout is hit while usbi_fd_notification() is waiting
- for the event lock then the attempt to cancel the transfer will deadlock.
-
- This patch fixes both of these deadlocks by having libusb_submit_transfer()
- only call usbi_fd_notification() after having released the transfer mutex.
-
- This deadlock was always present in the Windows code, but temporarily
- deleted by mistake in commit 6506013c6d4face34cfec79dd0584e9f528cbc6a
- and later restored in commit 325a8416697cf69b9b926ed68720f12b1aedf940.
-
- libusbx.git commit 1ed09c7b2a5fc27c3cfea21740584879781bff67
-
- [stuge: Touch up commit message]
- commit b988c3d66e349b4f3c430410a42b6203f4fef80f
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Jun 3 21:28:13 2012 +0200
- Clean up broken whitespace in list_for_each_entry() macros
-
- Introduced by commit aa77b02da65afb0332b9e6853dae9e4dcda00bfa.
- commit f651b2669c6ab0804d572650d79551bc2b70f525
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue May 8 19:50:17 2012 +0200
- examples: Add sam3u_benchmark isochronous example by Harald Welte
-
- Copied with the author's permission under LGPL-2.1 from
- usb-benchmark-project/host/benchmark.c in
- git://git.gnumonks.org/sam3u-tests.git commit
- 74959f7ee88f1597286cd435f312a8ff52c56b7e
-
- http://git.gnumonks.org/cgi-bin/gitweb.cgi?p=sam3u-tests.git;a=blob;f=usb-benchmark-project/host/benchmark.c;h=74959f7ee88f1597286cd435f312a8ff52c56b7e
-
- An Atmel SAM3U test firmware is also available in the above repository.
- commit 3a69eff1aaf8e3242937bd7ecc94a60e7aa502cd
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue May 8 19:22:31 2012 +0200
- examples: Only check for HAVE_SIGACTION once in Makefile.am
- commit d9dbb433f3f3b9787417e34316604d99cb72b188
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue May 8 19:19:28 2012 +0200
- .gitignore: Add examples/ path to the examples
- commit a129732fb45fc424743f26f01c906e4514f11521
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue May 8 19:14:40 2012 +0200
- examples: Use a common LDADD for all examples
- commit 325a8416697cf69b9b926ed68720f12b1aedf940
- Author: Uri Lublin <uril@redhat.com>
- Date: Tue May 1 16:47:34 2012 +0300
- Windows: Make new transfers correctly notify the event handling thread
-
- usbi_fd_notification() calls are added back into submit_*_transfer()
- so that the event handling thread will be aware of new transfers.
-
- libusb.git commit 6506013c6d4face34cfec79dd0584e9f528cbc6a from
- libusbx.git commit 4cccbed825fe1dc138121640a6497d7d05aac159 removed
- these calls during the removal of the DYNAMIC_FDS Windows-specific
-
- [stuge: Rewrite commit message]
- commit 4674b4d137df2e2e49a1057c947888de8f37d6e8
- Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
- Date: Fri Apr 20 22:25:38 2012 +0100
- Linux: Fix warning: comparison between signed and unsigned
-
- libusbx.git commit 36a7119bf296cecd4e910bef86908fd782224960
- commit ab9cd5a7be637f7b793987971a706b1d11c27ded
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 08:10:11 2012 +0200
- libusb-1.0.9
- commit 696400ad83531bcf944c71164a46f9ccb6a33df3
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 08:08:34 2012 +0200
- AUTHORS: Update list of contributors
- commit 19f94537ea55586dd85f8d627fcfaa6173069ea1
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 06:41:34 2012 +0200
- AUTHORS: Add Martin Pieuchot as copyright holder
- commit 1a1c633d7912a2565f6af0c9294e10a759d40e05
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 06:41:12 2012 +0200
- AUTHORS: Add Hans de Goede as copyright holder
- commit 9477f793341d59cc861acb283e6cb03b5730ac91
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 06:40:45 2012 +0200
- AUTHORS: Add Peter Stuge as copyright holder
- commit 4b0dfe9770356af3c51103a9b3d63c5f8cc63d8b
- Author: Pete Batard <pete@akeo.ie>
- Date: Mon Apr 2 15:47:53 2012 +0100
- AUTHORS: Update Pete Batard's copyright years and email address
-
- libusbx.git commit f98eaca0985364be00fcfde3fd3884075092a4e9
-
- [stuge: Remove unrelated changes]
- commit 9f0ea78357b7b1654cb3e7de6ff57f5f378b68f1
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 08:35:04 2012 +0200
- AUTHORS: Update Nathan Hjelm's copyright years
- commit 8d38506ebc9fb57a40113e5a7739572a42b826d8
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 06:36:08 2012 +0200
- README: Add the BSDs, punctuation, mailinglist link, and remove Daniel
- commit 05cbe2de45806db309343cdf298d8569c55863e5
- Author: James Hanko <james.hanko@tridentmicro.com>
- Date: Wed Oct 19 17:32:34 2011 -0700
- Linux: Search for /dev/usbdev<bus>.<device> USB device special files
-
- If neither the (now deprecated) usbfs filesystem nor udev is available
- then libusb searches for device nodes also in /dev where they may be
- created if the kernel was built with the option CONFIG_USB_DEVICE_CLASS.
- This helps on embedded systems such as Android, and all mdev users.
-
- Fixes #119.
- commit a806d169e6b5f675289cb9307fcd6b908edd9219
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 04:32:47 2012 +0200
- Add a timestamp in log messages
-
- Fixes #34.
- commit 03f4d40c748506c85f88427dd53afd5c663a2929
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 02:24:44 2012 +0200
- Include library version in the very first libusb_init() debug message
- commit 84d5eafd1f24a1c6f77f0c2a2ad40e1fbfdea381
- Author: Martin Pieuchot <mpi@openbsd.org>
- Date: Thu Apr 19 13:33:36 2012 +0200
- OpenBSD: Provide libusb_get_device_speed() data
-
- Because the different speed values used by the libusb and OpenBSD's
- usb_device_info structure are compatible, keep the code simple and
- just copy the value returned by the USB_GET_DEVICEINFO ioctl() call.
-
- Fixes #45.
- commit c145ec09732fac2eef53accc07314040d22b64a5
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Apr 20 00:11:01 2012 +0200
- doc/Makefile.am: Remove username from SF web rsync upload command
-
- Commit c407a2d97b6f8715d3452257a0adac40a20178e6 did it for tarballs.
-
- libusbx.git commit ca159f15737e9097a4d031c9950f281c42af040a
- commit 6506013c6d4face34cfec79dd0584e9f528cbc6a
- Author: Pete Batard <pete@akeo.ie>
- Date: Tue Apr 10 13:30:24 2012 +0100
- Windows: Remove #define compile time options in the backend source code
-
- * The DYNAMIC_FDS, AUTO_CLAIM and FORCE_INSTANT_TIMEOUTS options
- were introduced for development/testing and don't appear to be
- used by the Windows backend users => remove them.
-
- libusbx.git commit 4cccbed825fe1dc138121640a6497d7d05aac159
- commit e291e369b975692dfa1a0f029244af597fa61220
- Author: Pete Batard <pete@akeo.ie>
- Date: Tue Apr 10 13:05:37 2012 +0100
- Windows: Warn on one libusb_get_device_list() memory allocation failure
-
- libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
- commit 2f40a03ea0552cd8b5ce3d7667b20dc04da061da
- Author: Pete Batard <pete@akeo.ie>
- Date: Tue Apr 10 13:05:37 2012 +0100
- Windows: Add textual error name to debug message on auto-release errors
-
- libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
- commit 3c7f85a49b42ac36c6d41294858518c554ac4694
- Author: Pete Batard <pete@akeo.ie>
- Date: Tue Apr 10 13:05:37 2012 +0100
- Windows: Silence warning about unused function guid_to_string()
-
- Commit 6b1982b1bd321b55698ce537e64648e8aec85f6f removed the #ifdef
- around guid_to_string() but this ended up causing a warning when
- the function wasn't being called. Add it back with correct _MSC_VER.
-
- libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
-
- [stuge: Rewrite commit message for libusb.git]
- commit eb55963a6b33799ea76c34f538f21e86f235ea62
- Author: Pete Batard <pete@akeo.ie>
- Date: Tue Apr 10 13:05:37 2012 +0100
- Windows: Base DUMMY_HANDLE on LONG_PTR instead of LONG
-
- libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
- commit d930865987de523061eca259a7fed11aea626831
- Author: Pete Batard <pete@akeo.ie>
- Date: Tue Apr 10 13:05:37 2012 +0100
- Windows: Prefer calloc() over malloc() and cast all allocations
-
- This silences VS2010 intellisense warnings on memory allocation.
-
- libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
- commit df35117ce58b74fa530baaaccc30adaf432398ea
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Apr 19 22:55:44 2012 +0200
- Add libusb_get_version() API function
-
- Let's see how this will be used. Fixes #53.
-
- libusbx.git commit 37dfd16c8c2f36c81c86de303072def0dc405e32
-
- [stuge: Remove unrelated changes]
- [stuge: Add struct libusb_version member rc for release candidate suffix]
- [stuge: Add struct libusb_version member describe for git describe output]
- commit 29d5f63c5765f36ea65b55c4cd5f36e1f10a4dae
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Apr 19 22:25:07 2012 +0200
- Windows: Rename VS2005 solution and add VS2010 project files
-
- libusbx.git commit fcad0941e52eb2fd6d57d3327f420db14dfabf0b
-
- [stuge: Remove xusb references]
- [stuge: Add newlines at end of new files]
- [stuge: Rename libusb_20??.sln to libusb_vs20??.sln]
- commit b217ec1f904c4382010a3a834a7c58d595b594cf
- Author: Pete Batard <pete@akeo.ie>
- Date: Sat Mar 31 22:32:56 2012 +0100
- libusb/Makefile.am: Fix missing DLL .def file from make dist
-
- libusbx.git commit 10dc1ea9a799b13b7423968130da812aa97289bf
-
- [stuge: Use EXTRA_DIST in libusb/Makefile.am instead]
- commit 54cb51d8417e0128eb9088bf628db138c9daa2a0
- Author: Pete Batard <pete@akeo.ie>
- Date: Sat Mar 31 22:14:47 2012 +0100
- Makefile.am: Fix msvc dir not being included in make dist
-
- libusbx.git commit a8a80b60a14e3a8269e42dedf34fda66da8e0e50
- commit 38d5ba472c6cb728ec818a0c8d964b632c8a7992
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Fri Mar 30 13:40:32 2012 +0100
- Linux: Don't spam the console with 'device unconfigured' errors
-
- libusbx.git commit 3c968be61befc47d33562843e5479ff67303b0c4
- commit 93f14087b2e79d71ba1e53c0b9c7da655dd1258e
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Apr 19 05:52:58 2012 -0600
- Darwin: Silence warning: cast from pointer to integer of different size
-
- As per http://marc.info/?m=133483651109899
-
- Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
- commit 0efc2086646200d8dee86cbbb1e98136383a05c3
- Author: Pete Batard <pete@akeo.ie>
- Date: Thu Mar 29 23:21:25 2012 +0100
- .gitattributes: Add export-ignore for .gitattributs and .gitignore
-
- This keeps the git files out of archives created by gitweb.
-
- libusbx.git commit 2250152b251243f75c951533ae7b1139a785cfe6
-
- [stuge: Removed unrelated whitespace changes]
- commit a7ef55c02f0116b94cb75831e5d90ad258c662f8
- Author: Pete Batard <pete@akeo.ie>
- Date: Wed Mar 28 01:02:02 2012 +0100
- Windows: fix Clang warnings about unused assignations
-
- libusbx.git commit c0e7b289fdb35687b90263b14426319d2b96b132
- commit ac8eed67e1595ee5a069623e48362d8a85dcb252
- Author: Pete Batard <pete@akeo.ie>
- Date: Mon Mar 26 23:34:25 2012 +0100
- configure.ac: LT_LANG([Windows Resource]) makes windres check redundant
-
- libusbx.git commit 4f9fd6a29a712b0e3312983e9ff153e6d7ed0822
- commit 89ce6f7d05dc8ff4a441a01b192d2e20857f6c48
- Author: Pete Batard <pete@akeo.ie>
- Date: Tue Mar 27 00:03:07 2012 +0100
- Windows: Bring .vcproj x86_64 output directories in line with x86_32
-
- libusbx.git commit abdb4437ea1897226076fa706651e350dba1cfd5
- commit 77743c6f5b3cfa2d06dcb32204bc65d8bd4fec80
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Fri Mar 9 11:31:11 2012 +0100
- Linux: Fix a comment in handle_iso_completion()
-
- Fix the comment at the end of handle_iso_completion, we don't stop on
- urbs / isoc packets with less data then requested, which is a good
- thing since it is a normal condition for isoc transfers.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit 5b87c2c7475a8d68270e19336afec0c5a08579ca
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Fri Mar 9 11:31:10 2012 +0100
- Linux: Remove bogus status handling from handle_iso_completion()
-
- Remove a useless check+set of status because:
- 1. The check is always true; and
- 2. The new value is never used
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit e23d8f67eab947e5d41216e0139f0a50d1342ef8
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Fri Mar 9 11:31:09 2012 +0100
- Linux: Translate isoc packet status codes to LIBUSB_TRANSFER_ codes
-
- During testing of my usbredir code I hit a scenario where my libusb
- app was seeing EXDEV as status in the transfer's iso_packet_desc.
-
- This happened because we didn't translate linux negative errno errors
- in each isoc packet's status to LIBUSB_TRANSFER_ status codes! This
- patch adds these translations.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit 7199bc2c9c351b553b6175a588237ee793719281
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Fri Mar 9 11:31:08 2012 +0100
- Linux: Fix URB return code handling
-
- During testing of my usbredir code I hit a case where EOVERFLOW was not
- handled in handle_control_completion(). Instead of just fixing this one
- case I've audited (and fixed where necessary) all handle_foo_completion()
- functions to know about all errors documented in
- linux/Documentation/usb/error-codes.txt.
-
- Note that for handle_iso_completion() this patch actually removes the
- handling of some codes, since these can never occur on an iso urb (they
- can only occur on the iso packets included in the urb, see the next patch
- in this series). Also, in case an unknown status is encountered on an iso
- urb this patch sets the urb's status to ERROR rather then leaving it at
- completed.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit 98bc7b8d125c2756deadfc889dcefd4e6f2fcd02
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Fri Mar 9 11:31:07 2012 +0100
- Don't print an error when libusb_cancel_transfer() fails with NOT_FOUND
-
- As stated in the documentation for libusb_cancel_transfer(),
- LIBUSB_ERROR_NOT_FOUND is an expected return value for
- libusb_cancel_transfer() under certain circumstances, so
- printing an error every time this happens is undesirable.
-
- Even more so because under Linux IOCTL_USBFS_DISCARDURB sets errno
- to EINVAL when the kernel can't not find the urb in the kernel's
- urbs-in-flight list, which means that the urb has already completed
- at the host controller level but it has not necessarily been reaped
- yet. IOW under Linux libusb_cancel_transfer() may yield a result of
- LIBUSB_ERROR_NOT_FOUND *before* the transfer's callback has been
- called! In conclusion there is no way for applications to avoid
- calling libusb_cancel_transfer() on already completed transfers,
- and these errors can and do happen frequently for some USB traffic.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit 4db8275da59996eb1c22d2e9e9c527fa58b288ad
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Fri Mar 9 11:31:06 2012 +0100
- Linux: Fix cancel_transfer return value when cancelling a multi-urb transfer
-
- If we fail to cancel the last urb of a multi-urb transfer because it
- has already completed (errno == EINVAL on DISCARD_URB), then the entire
- transfer has already completed, so returning NOT_FOUND is consistent
- with what the documentation for libusb_cancel_transfer() says.
-
- But if we've successfully cancelled the last urb, and then another urb
- fails with errno == EINVAL, this means that we've still cancelled the
- transfer, as it has only *partially* completed.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit b22253ba9cbd399299b534a8c5e3bbac3f240963
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Apr 19 04:05:29 2012 +0200
- libusb-1.0.pc: Mention OpenBSD and NetBSD in description
- commit 6aa0fc60d94e3123de230d3fbc9196814c0e466e
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Apr 16 05:59:44 2012 +0200
- io.c: Add debug message with the callback address on completed transfer
- commit de41604560a57b2279ac1d0a10b8192a9224d284
- Author: Xiaofan Chen <xiaofanc@gmail.com>
- Date: Sun Apr 15 11:50:27 2012 +0800
- Experimental support for NetBSD using the OpenBSD backend
-
- Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com>
- commit 404054cb508881c9bd6bc575b66c4f509046b4af
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Apr 19 00:41:45 2012 +0200
- configure.ac: Separate per-OS backend selection from per-backend settings
- commit 2eba7e4197cf9afa77451186e1a116ee3ae91adc
- Author: Xiaofan Chen <xiaofanc@gmail.com>
- Date: Sun Apr 15 07:17:18 2012 +0800
- Linux: Silence unused variable warnings when without CLOCK_MONOTONIC
-
- Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com>
- commit bc790a9c414871cc1d33f1c7686048434a700e45
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Apr 7 05:20:36 2012 +0200
- examples: Use snprintf() instead of sprintf() in dpfp and dpfp_threaded
-
- The OpenBSD C compiler generates a warning for every use of sprintf()
- and for a good reason. Reported in http://marc.info/?m=133376187514495
-
- Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
- commit bffa232dca51bcc41df71c5735fa56370b7509ad
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Apr 7 03:55:36 2012 +0200
- OpenBSD: Fix warning: 'hpriv' may be used uninitialized
-
- As reported in http://marc.info/?m=133376187514495
-
- The variable would be used uninitialized when the internal list of
- open devices is empty as obsd_handle_events() checks which device
- the event fd belongs to, which can not actually happen, but if it
- ever does happen then we will now return LIBUSB_ERROR_NO_DEVICE.
-
- Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
- commit 6b1982b1bd321b55698ce537e64648e8aec85f6f
- Author: Moses McKnight <moses@texband.net>
- Date: Fri Mar 30 21:53:20 2012 -0500
- Windows: Fix build on VC++2003 which doesn't support variadic macros
-
- Change _MSC_VER tests to check for >= 1400 instead of > 1200 because
- Visual C++ did not support variadic macros until VC++2005, as per
- http://msdn.microsoft.com/en-us/library/ms177415%28v=VS.80%29.aspx
-
- Since usbi_dbg() is a function and not a macro with the old MS C
- compilers the functions guid_to_string() and windows_error_str()
- need to be compiled unconditionally, and the compiler should remove
- the dead code when debug logging is disabled on newer compilers.
- commit 58ac0355e547080c82d02685a32480b891383d3d
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Mar 31 03:44:40 2012 +0200
- Windows: Don't use a log function body macro for old MS compilers
-
- The duplication is a lot more straightforward than the previous LOG_BODY
- macro, which also didn't handle the special debug case correctly. The
- duplicated code is fortunately not very long.
- commit 76af4c99bd6122c1dd7b58858b669c919d8c8806
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Mar 22 01:52:59 2012 +0100
- libusbi.h: Add IS_EPIN() IS_EPOUT() IS_XFERIN() and IS_XFEROUT() macros
-
- The macros make backend code a little simpler to read, since the
- transfer and endpoint direction is checked in several places across
- the supported platforms.
- commit e3d0a4cb9e2f9872c9fdbb22d7ded169e111fc8f
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Feb 22 14:21:54 2012 +0100
- Add LIBUSB_TRANSFER_ADD_ZERO_PACKET flag to indicate need for ZLP
-
- Some protocols which use USB require an extra zero length data packet
- to signal end-of-transfer on bulk endpoints, if the last data packet
- is exactly wMaxPacketSize bytes long.
-
- This flag allows applications to inform libusb about this requirement,
- so that libusb can handle the issue transparently.
-
- At the moment the new flag is only supported on Linux, and submitting
- a transfer with the flag set returns an error at submit time on other
- systems. Hopefully implementations will soon follow for other systems.
-
- References #6.
- commit 7e0c747cc5ed0a31f38dff5eb5f03d4043b05ada
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Feb 19 06:58:16 2012 +0100
- libusb.h: Add comma after last value in enums to ease future expansion
- commit c20ec7a927c05e0b960269751c26ab2b6e0b39ab
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Feb 19 05:39:33 2012 +0100
- Linux: Rework bulk continuation check to generic kernel version check
-
- The old check_flag_bulk_continuation() tested for one specific running
- kernel version. The new kernel_version_ge() instead allows to test the
- running kernel version against major, minor and sublevel parameters.
- commit cf8f5a7be821099b143fcea8e4ba553daa22818b
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Feb 19 05:32:10 2012 +0100
- OpenBSD: Correctly catch attempts to do isochronous OUT transfers
-
- LIBUSB_ENDPOINT_OUT is the value of the direction bit, which is 0 for
- OUT transfers, so the previous condition could never evaluate to true.
- commit ae8e86cffb81858af5eeddbf2ea1aec6d55f573d
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Feb 19 00:42:20 2012 +0100
- Darwin: Do not reject devices with product id 0x0000
-
- Fixes #128.
- commit 4630fc22cff8ad3e1afa9b223378c0aabe282b5c
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Feb 13 16:59:51 2012 +0100
- Do not call timerfd functions when timerfd is not being used
-
- When libusb was built with timerfd support but used on a system
- without timerfd support the library would hang indefinitely on
- completion of the first transfer, since timerfd functions were
- being called unconditionally and the error returned when timerfd
- was not being used caused a confused internal state.
-
- Many thanks to Ivo Smits for looking into the issue, proposing
- an initial solution, and helping with testing! Fixes #73.
- commit c40f3df1efbb9232b525e5f675746762ca2304b8
- Author: Michael Plante <michael.plante@gmail.com>
- Date: Sun Feb 12 13:49:35 2012 -0500
- Windows: Fix MSVC6 IDE warning on line continuation in libusb-1.0.rc
-
- * libusb\libusb-1.0.rc(21): Could not find the file LIBUSB_RC.
- * only shows up first time after opening workspace.
- * shows up on either build or clean.
- * not actually due to rc.exe, but prior to it.
- * probably an IDE bug.
- * does not show up when running an exported makefile.
-
- Signed-off-by: Michael Plante <michael.plante@gmail.com>
- commit 5526841023101bafa280755c3bd19fc44b9c32a0
- Author: Pete Batard <pete@akeo.ie>
- Date: Sat Jan 7 23:30:23 2012 +0000
- Windows: Add Renesas SuperSpeed support for libusb_get_device_speed()
-
- * tests conducted using a Renesas PCIE USB 3.0 controller and driver and
- a mass storage USB 3.0 confirm that USB_NODE_CONNECTION_INFORMATION_EX
- uses (undocumented) value 3 for SuperSpeed
- commit 3df437680f8f5406795ec5f32d96612d327b2ca4
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Feb 10 18:06:43 2012 +0100
- autogen.sh: Try to use libtoolize before trying glibtoolize
-
- This helps on Mac OS X where an old glibtoolize is included in the
- system and newer, manually installed, versions provide libtoolize.
-
- See also http://marc.info/?m=132490560131894
- commit 4afbc78fe09bfc3dd7a609e5f82e9272c9e6226d
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Feb 8 15:54:21 2012 +0100
- Rename the lsusb example program to listdevs
-
- This is intended to reduce confusion with the much more significant
- lsusb utility which is part of the usbutils package.
- commit 57ab55159298b7057e0dd9b3854f7fd1550588ed
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Dec 9 13:44:21 2011 -0500
- core.c: Fix clang warning about useless store to a variable
- commit 32bbbd133e24c24d02646c0f7d1963404d4955f2
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Dec 9 13:43:46 2011 -0500
- Darwin: Clarify comments on event thread creation and termination
- commit 6cf3285a4e0dfaec0fe53b8eb6a9281e3c5bcb6c
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Dec 9 13:43:46 2011 -0500
- Darwin: Fix incorrect mutex protection of libusb_darwin_acfl global
- commit 662ced422cf1ffce68753296a81dccf87f3a1c57
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Dec 9 13:43:46 2011 -0500
- Darwin: Use retained runloop variable instead of CFRunLoopGetCurrent()
- commit 952a9bb6116afc69c4bae4714c2eb0713bf62a6d
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Dec 9 13:37:22 2011 -0500
- Darwin: Fix libusb_init() and libusb_exit() refcount race condition
-
- Use OSAtomicIncrement32Barrier() and OSAtomicDecrement32Barrier()
- in darwin_init() and darwin_exit() to be thread safe.
- commit 721cc1c19fc8e88c4482ab3d1e8a34fa100c403c
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Dec 9 13:33:28 2011 -0500
- threads_posix.c: Fix prototype warning by including threads_posix.h
- commit f6ef0fca4b36657c1a0885c18cc4c4afcb4f7339
- Author: Dave Camarillo <dave.camarillo@gmail.com>
- Date: Fri Sep 23 11:56:58 2011 +0100
- Windows: Fix crash during enumeration with >= 64 connected devices
-
- * indexes were outgrowing the unref_list array before realloc,
- resulting in out of bound access and crash.
- commit e280760331e8b39ad3530235653644654166b322
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Oct 26 16:31:13 2010 +0100
- Windows MSVC6: Remove SetupAPI, AdvAPI32 and OLE32 dependencies
-
- * this ensures that libusb dependent applications only need
- to link with libusb on Windows
- * (copied from Pete's msvc08 mods to msvc6 by Michael)
- commit fa66c93253855c9146011a6854d65df6d390039f
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Dec 13 21:18:10 2011 -0500
- Windows: Output an error message on calls to libusb_get_pollfds()
-
- Signed-off-by: Michael Plante <michael.plante@gmail.com>
- commit 637145ed29ee7c7b13ac45d10cf1f798fc06cbd9
- Author: Pete Batard <pbatard@gmail.com>
- Date: Thu Jun 3 22:14:20 2010 -0500
- io.c: Fix comment since pthreads isn't the only threading libusb uses
- commit bb37939ab44a54a054f73e2f381808b12fb9cb33
- Author: Michael Plante <michael.plante@gmail.com>
- Date: Mon Aug 2 19:59:12 2010 -0500
- libusb.h: Cast in libusb_get_string_descriptor() to avoid MSVC6 warning
-
- On MSVC6 bitwise OR promotes to int, causing the warning.
- commit ca09754471acba9a22fe8fc09170e5660d1d5c5d
- Author: Michael Plante <michael.plante@gmail.com>
- Date: Fri Dec 23 16:50:21 2011 -0600
- Windows: guid_to_string() is only discarded when macro-usbi_dbg used
-
- * usbi_dbg encloses all references to guid_to_string
- * MinGW/cygwin warn about an unused function, so the #if
- squelches this warning
- * MSVC6 uses a variadic function form of usbi_dbg instead
- of a macro, so the compiler still "sees" guid_to_string
- and it therefore needs to always be defined for MSVC6,
- even if it's only a stub.
- * So we define it if usbi_dbg is used OR if MSVC6 is used.
-
- Signed-off-by: Michael Plante <michael.plante@gmail.com>
- commit 8e15adcb0089882d10269ab77d35e193770ab90e
- Author: Pete Batard <pete@akeo.ie>
- Date: Tue Nov 15 01:11:12 2011 +0000
- Windows: Fix undefined datatype 'LONG_PTR' in MSVC6
-
- * issue reported by Elmi
-
- Signed-off-by: Michael Plante <michael.plante@gmail.com>
- commit 17ad642cae618cc09c5516612fa3880d4b6b8635
- Author: Pete Batard <pete@akeo.ie>
- Date: Sun Nov 13 23:10:15 2011 +0000
- Windows: Fix for MSVC6 preprocessor not accepting blank parameters
-
- * unlike later iterations of Visual Studio, MSVC6 does not accept
- blank parameters on macro calls [eg. CALL(a, ,b)]
- * blank params were used with the DLL_DECLARE and DLL_LOAD macros
- * issue reported by Elmi
- commit c591a7cbf7dbc6fbb4368e65cf58a8cd02582aeb
- Author: Michael Plante <michael.plante@gmail.com>
- Date: Tue Oct 26 11:39:38 2010 +0100
- Windows: Switch MSVC6 .dsp project files from MBCS to Unicode
-
- * MBCS (which is different from UTF-8) only makes sense if
- supporting Windows 95/98, which we don't
- * (try to match Pete's vcproj changes in MSVC6)
- commit 536e424fd7d057fc3f20f9939f9de4572e51c815
- Author: Michael Plante <michael.plante@gmail.com>
- Date: Tue Dec 13 21:39:40 2011 -0500
- Windows: Add missing MSVC6 lsusb.dsp project file
-
- Signed-off-by: Michael Plante <michael.plante@gmail.com>
- commit c56828857eb7ba6fb4f7701693dbb3fe4e75d5f6
- Author: Martin Pieuchot <mpi@openbsd.org>
- Date: Mon Jan 30 09:59:30 2012 +0100
- OpenBSD backend
- commit d2285744c7fa4007bb411be354268209d350b0f2
- Author: Xiaofan Chen <xiaofanc@gmail.com>
- Date: Fri Jan 13 18:07:34 2012 +0100
- configure.ac: Darwin: Move -lobjc from LIBS to PC_LIBS_PRIVATE
-
- Since commit 40327cd134718475f6cec8935b856d4fdff2099c it is neccessary
- to explicitly include -lobjc not only when linking libusb itself, but
- also for programs linking statically against libusb. References #63.
-
- See also http://marc.info/?m=132505900202378
- commit 93b0e09d53ed1d177631af9182378492481a790a
- Author: Xiaofan Chen <xiaofanc@gmail.com>
- Date: Fri Jan 13 13:04:00 2012 +0100
- examples: Link only with ../libusb/libusb-1.0.la and not with -lusb-1.0
-
- Previous _LDFLAGS included both the freshly built libusb in ../libusb
- and -lusb-1.0, where libtool would usually resolve the latter to an
- already-installed libusb library in the system. The extra reference
- to a second libusb library resulted in failure to build examples on
- Mac OS X in some cases, and is plain wrong.
-
- See also the thread at http://marc.info/?m=132637593623667
- commit cdc5df8f1b206a7c19bc221e8a9a97d5d98deb85
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Jan 12 10:34:55 2012 +0100
- libusb/Makefile.am: Avoid recursive variables in .rc silent-rule
-
- Not every make supports recursive variable expansion so some automake
- versions complain about non-POSIX variable names ever since commit
- 70bec4a9f8ec28d36c731011fa24d37c74ad3523 which added support for
- silent-rules in our rule to compile the Windows .rc file.
-
- This commit removes the recursive variables and instead uses the
- simple and generic GEN message and associated variable.
- commit a8e2e7cab278fbfcba91909eaf762cf66da9eda5
- Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
- Date: Sat Sep 24 18:27:54 2011 +0200
- Core: Fix #122 warning: no previous prototype for ‘usbi_log_v’
-
- Declare the usbi_log_v() function before using it.
- commit e88ecb1e65604c222f82da586bb9e9066d66fbba
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Oct 14 14:40:29 2011 -0400
- Darwin: Set a name for the background thread on Mac OS X 10.6 and later
-
- The call to pthread_setname_np() makes it easy to identify the
- background thread in the Xcode debugger and in crash reports.
- commit 60bad550dcb31a315a667a6614c52f712c82f45f
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Sep 22 21:42:35 2011 +0200
- libusb/Makefile.am: Add libusb-1.0.rc dependency on version.h
- commit 70bec4a9f8ec28d36c731011fa24d37c74ad3523
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Sep 22 21:38:29 2011 +0200
- libusb/Makefile.am: Make the libusb-1.0.rc rule support silent-rules
- commit fa9b682a638e54a4556ef6bd343ef56d6300a520
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Sep 22 21:17:37 2011 +0200
- configure.ac: Enable libtool support for Windows Resource language
- commit 58c73ddca310f757fc7ca75197bf3d7ca58ce29a
- Author: Sean McBride <sean@rogue-research.com>
- Date: Mon Sep 19 12:52:44 2011 -0400
- descriptor.c: Use size_t for minor 64 bit compliance improvement
-
- Fixes #121.
- commit 27ec326a9f1bff4481702b35f39897c65a5db586
- Author: Sean McBride <sean@rogue-research.com>
- Date: Mon Sep 19 12:42:33 2011 -0400
- Darwin: Fix warnings about mismatched signed/unsigned compare
-
- References #121.
- commit 59cc79f2c8e5da41fe2c761bf1e1d9cd18ddac81
- Author: Sean McBride <sean@rogue-research.com>
- Date: Mon Sep 19 12:38:20 2011 -0400
- Fix unused variable warnings when without timerfd and/or when on Darwin
-
- References #121.
- commit 1cc5b4a9fb984e83681ae5c797fa6b22bc20f809
- Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
- Date: Fri Sep 16 18:07:56 2011 +0200
- Correctly handle LIBUSB_TRANSFER_OVERFLOW in libusb_control_transfer()
-
- sync.c: In function `libusb_control_transfer':
- sync.c:122: warning: enumeration value `LIBUSB_TRANSFER_OVERFLOW' not
- handled in switch
-
- Fixes #120.
- commit c55f581f43885f8576d8e2ebf4d46cd7ff3c1030
- Author: Pete Batard <pete@akeo.ie>
- Date: Mon Sep 19 16:01:37 2011 +0100
- Windows: do not set altsetting 0 as part of libusb_release_interface()
-
- * pointed out by Travis Robinson and Xiaofan Chen
- * similar to a change advised by Alan Stern for the Linux kernel:
- http://marc.info/?m=122790204410765
- commit efd3fae8f95ef7797ecd4b5731b198f100007d6a
- Author: Pete Batard <pete@akeo.ie>
- Date: Mon Sep 19 15:45:35 2011 +0100
- Windows: fix communication with hubs
-
- * issue reported by René Haunstrup in http://marc.info/?m=130503019227814
- commit a8d1eb7963e5811e16e8fb7e157cf3a00d888347
- Author: Pete Batard <pete@akeo.ie>
- Date: Mon Sep 19 15:41:39 2011 +0100
- Windows: add USB 3.0 controller support
-
- * Windows 8, NEC/Renesas, TI, Fresco Logic, Etron, VIA, ASMedia
- (some of which untested!)
- * includes workaround for NEC/Renesas USB 3.0 root hubs
- commit 48a19497bdd14325738ac9197d8cf4ebe1daa2d4
- Author: Pete Batard <pete@akeo.ie>
- Date: Mon Sep 19 15:28:03 2011 +0100
- Windows: add static keywords and drop duplicated or unneeded code
- commit af407286ba2fd346755297e56e365d84b98090d5
- Author: Pete Batard <pete@akeo.ie>
- Date: Mon Sep 19 13:59:46 2011 +0100
- Windows: fix 'windows_error_str' defined but not used when not logging
- commit abc3143ba1989a48f62246c2afb0eb4c3c5f7917
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Sep 22 10:19:17 2011 +0200
- libusbi.h: Silence unused context variable warnings when not logging
- commit 69b71c896a153a307360cf21be67b3b6e1e09a2d
- Author: Pete Batard <pete@akeo.ie>
- Date: Mon Sep 19 13:06:22 2011 +0100
- Windows: copy DLL file regardless of ddk_build.cmd dll argument case
- commit fdbac8971212bda3a42feeeaeb92fd8e49c7e904
- Author: Pete Batard <pete@akeo.ie>
- Date: Sun Sep 18 20:06:45 2011 +0100
- Windows: Add uint32_t typedef for old MSC so that DDK can build lsusb
- commit c471d55e909d84012f065715703dad454d1fa421
- Author: Vitali Lovich <vlovich@gmail.com>
- Date: Fri Sep 16 08:53:25 2011 -0600
- Darwin: fix port leak in darwin_clock_gettime()
- commit 477f3917f8c123e36993f9c0ba8156ca0f16ccfa
- Author: Vitali Lovich <vlovich@gmail.com>
- Date: Fri Sep 16 08:50:40 2011 -0600
- Darwin: remove unnecessary run loop invalidation during libusb_exit()
- commit f52094f37ccaff8137f5ce39867d2dba9b0f6bf9
- Author: Vitali Lovich <vlovich@gmail.com>
- Date: Fri Sep 16 08:49:54 2011 -0600
- Darwin: fix port leak during libusb_exit()
- commit 8a2f7b5c0520e6099f2c624cd0994c60867c1628
- Author: Vitali Lovich <vlovich@gmail.com>
- Date: Fri Sep 16 08:48:28 2011 -0600
- Darwin: fix potential leak on libusb_claim_interface() error
- commit b1ee2ef8d0b67dcc51c15742cb2decb386cffd9b
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Fri Sep 16 08:41:01 2011 -0600
- Darwin: Fix #117 transfer size 64/32 bit issue for transfer callbacks
-
- The transfer size is now always truncated to 32 bits.
- commit c407a2d97b6f8715d3452257a0adac40a20178e6
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Sep 15 17:04:43 2011 +0200
- Remove username from SF FRS rsync upload command
- commit cbc2d7b2de58cf5fb02d9e5a39be0870527f8632
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Sep 15 16:48:35 2011 +0200
- Support release candidate versions in configure.ac and libusb-1.0.rc
- commit 384a528ed7adde935681313dacc5cd79e4be9ea1
- Author: Peter Stuge <peter@stuge.se>
- Date: Thu Sep 15 16:32:47 2011 +0200
- Tidy .gitignore a little
-
- There's no xusb, we need a glob pattern for matching .exe files, and
- fpusb tarballs aren't very common in the libusb source dir.
- commit 9ad3643391a7fc6ce97aa77ffaf97d244fd9e613
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Wed Sep 14 10:53:48 2011 +0200
- Docs: Clarify that libusb_handle_events_timeout() tv param can't be NULL
-
- The example code and API doc for libusb_handle_events_timeout() could be
- interpreted as it being OK to pass a NULL pointer for the tv argument (I
- interpreted it like that when I first started coding for libusb).
-
- This patch changes the docs to make it clear that one must always supply
- a tv struct to libusb_handle_events_timeout.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit e1c06fb070c1328a3b78c7da8b9e779d466edd97
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Sep 14 08:23:43 2011 +0200
- Makefile.am: Do not remove ChangeLog on make distclean, fixes #116
-
- [pbatard: Remove it on make maintainer-clean instead]
- commit 0c5bf03eb829e51dcf19562fc4f745937235ea51
- Author: Vitali Lovich <vlovich@aliph.com>
- Date: Wed Sep 14 07:02:06 2011 +0200
- Darwin: Reduce race likelihood between cancellation and device disconnect
-
- References #88. The race condition still remains, but this change
- makes it less likely to trigger.
- commit 3e6e257f55156c4600f3116a0befba8cee62872a
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Sep 14 04:00:33 2011 +0200
- Document that libusb_get_device_list() can return any libusb_error code
-
- Fixes #87.
- commit 737ba04ea40f19564b445fbb489907529e75edc9
- Author: Pete Batard <pbatard@gmail.com>
- Date: Thu Jun 16 10:49:13 2011 +0100
- Linux: Fix #81 URB double free race condition on device disconnect
-
- A submitted transfer that has just been failed by the kernel could be
- picked up by an event handler to be cleaned up, where freeing of URB
- memory would race with the submit function doing it's own cleanup and
- freeing as a result of the submit failing.
-
- libusb_submit_transfer() always holds itransfer->lock, so the race can
- be avoided by taking that lock also in the cleanup path and checking
- that the URB memory has not already been freed before freeing it there.
-
- As http://libusb.org/ticket/81#comment:14 notes there is still another
- possible, but unlikely, race condition between libusb_submit_transfer()
- and an event handling thread. That will require more work to solve.
-
- [stuge: Add check in cleanup path that URBs have not already been freed]
- commit 1b0f758a334d78d3832d17d694ac0c931da36050
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Sep 14 03:00:14 2011 +0200
- Add libusb_error_name() API function
-
- Until we have i18ned error messages we can at least offer easy
- translation from numeric error code to the error code's name.
-
- [hansg: switch() on enum to get a compiler warning if a case is missing]
- [hansg: Better return value when called with an unknown error code]
- [hansg: Fix DEFAULT_VISIBILITY in definition to compile on all platforms]
- commit e16805130a04b2642891e86b8f479e6343ca17da
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Sep 14 02:30:18 2011 +0200
- Add libusb_has_capability() API function
-
- Since it is currently not planned to change the filename of the libusb
- library between libusb-1.0 versions at least on Windows systems it's
- important to have a capability API.
-
- Currently there exists only one capability; LIBUSB_CAP_HAS_CAPABILITY,
- which tests support for the libusb_has_capability() API.
- commit 2dc2fa2a56408e515d25359323b4ea2f1bbec14a
- Author: Sebastian Pipping <sebastian@pipping.org>
- Date: Tue Sep 13 20:38:26 2011 +0200
- Fix typos in introductory documentation
- commit 0a828082aeedc6d19b6de4e3b10cc9762352fa7f
- Author: Pekka Nikander <pekka.nikander@senseg.com>
- Date: Tue Sep 13 18:57:43 2011 +0200
- Linux: Add libusb_open() debug and error messages with the device path
-
- Fixes #109.
- commit 6583372125d73543fe0db9fdc59850b9c6aa50d9
- Author: Pekka Nikander <pekka.nikander@senseg.com>
- Date: Tue Sep 13 18:52:36 2011 +0200
- Add debug message with libusb_open() error code
-
- References #109.
- commit f797ecb3b4e653594f8ebc0c9d9e2ca579062779
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Mon Sep 12 18:11:20 2011 +0200
- Document libusb_handle_events_completed() and _timeout_completed()
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- [stuge: Note that the old racy functions should be avoided by new code]
- commit 6696512aade99bb15d6792af90ae329af270eba6
- Author: Graeme Gill <graeme2@argyllcms.com>
- Date: Sat Sep 10 15:47:05 2011 +0200
- Fix #56 race condition causing delayed completion of sync transfers
-
- The sync API had a race where it would check a condition to know if it
- needed to call a libusb_handle_events() function. However, the check
- was done outside of the lock that is held while the condition is set,
- so another thread could completely serve whatever was needed to make
- the condition true between it being checked and the event handler being
- called. This situation would be detected after a libusb-internal timeout
- of 60 seconds, after which the transfer would be completed without
- error, but with significant delay.
-
- Original patch at http://marc.info/?l=libusb-devel&m=127252114815709
-
- Changes by Hans de Goede:
- - Renamed the "race-proof" functions from libusb_handle_events*_check()
- to libusb_handle_events*_completed()
- - Drop r = 0 setting in libusb_handle_events_timeout_completed()
- (to make both completed checking cases identical flow wise)
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- [stuge: Simplify libusb_handle_events_timeout() change with a goto]
- [pbatard: Fix _handle_events_timeout() and _completed() definitions]
- commit cfee5446cdb2974c1e90c7c379a365c495975aef
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Fri Aug 26 23:06:40 2011 -0600
- Darwin: Use a condition to signal async thread ready in libusb_init()
- commit d1bd234f7e1b1ff4168b8f605e2038e87a0e361f
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Jul 21 22:34:12 2011 -0600
- Fix #64 use of reserved identifiers throughout libusb
- commit a97762a8a121de1ad3deb9e861088b69bb6a155b
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Jul 21 22:31:09 2011 -0600
- Darwin: fix libusb_get_device_list() and libusb_claim_interface() leaks
- commit 8723df191fcedc6161732fd06d12df392c6dea3f
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu Jul 21 22:28:47 2011 -0600
- Darwin: use kIOMasterPortDefault instead of creating a master port
- commit 0eb7e43759003610d1afe6148aa6ff4f5859ccb0
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Jul 27 03:15:03 2011 +0200
- Allow devices with zero configurations to be discovered
-
- At least in Linux, wireless USB devices have zero configurations until
- they have been authorized. This device state can be set for any USB
- device using:
-
- echo 0 > /sys/bus/usb/devices/?-?/authorized
-
- An unauthorized device would previously make usbi_sanitize_device()
- return LIBUSB_ERROR_IO, although there really was no I/O error.
-
- Reported-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
- commit 5010c3e80423d13acee6eeb4af974e8a9bcdd006
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Jul 27 06:17:48 2011 +0200
- Linux: Continue enumeration even if one device returns an error
- commit 2bf8848fb5c85ace0f445c0820a0c173cf76bf43
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Fri Jun 17 10:19:00 2011 +0200
- Linux: Handle single- and two-digit kernel versions like 3.0 and 4
-
- The code has been tested with various version strings.
-
- [stuge: Remove bogus string length check and optimize for newer kernels]
- commit 0288bf24f91eca9f433ebad91a7eb6c0e3e29133
- Author: Pete Batard <pbatard@gmail.com>
- Date: Thu Mar 3 18:35:35 2011 +0000
- Windows: Provide libusb_get_device_speed() data
-
- * use (currently superspeed unaware) USB_NODE_CONNECTION_INFORMATION_EX
-
- Fixes #45.
-
- [stuge: Explicitly convert OS device speeds to libusb device speeds]
- [pbatard: Add breaks overlooked when adding explicit conversion]
- commit 382b7deaadd7e2f1d08c9e921e460bb3abf130b2
- Author: Trygve Laugstøl <trygvis@inamo.no>
- Date: Tue Jul 19 23:20:40 2011 +0200
- Darwin: Provide libusb_get_device_speed() data
-
- References #45.
- commit 44d6319f57e7e2c77347da228ed032e62716b438
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Thu Feb 17 15:06:40 2011 +0100
- Linux: Provide libusb_get_device_speed() data from sysfs
-
- References #45.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit c8c40bcbd22abca922ff31c4ed6a75fd7af78b59
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Thu Feb 17 13:17:55 2011 +0100
- Add new API function libusb_get_device_speed()
-
- Reworked version of my earlier patch, largely modelled after (if not
- copy and pasted from) Trygve Laugstøl's <trygvis@inamo.no> similar
- commit 5a6541e0d80fb1f21e2b960bc2337a612f9d74fb in
- git://git.libusb.org/libusb-trygvis.git
- http://git.libusb.org/libusb-trygvis.git
- http://git.libusb.org/?p=libusb-trygvis.git;a=commitdiff;h=5a6541e0d
-
- This patch does not add any OS specific code. The supporting code in
- each backend follows in separate patches. References #45.
-
- Signed-off-By: Hans de Goede <hdegoede@redhat.com>
- commit 0db8cba7f2c372f0127c7df9724e5a35e93f2069
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Sun Mar 20 00:25:44 2011 -0600
- Darwin: Improve device enumeration performance
-
- The device location is saved, and later used whenever iterating over
- devices. Fixes #111 and #112.
-
- [stuge: Formatting fixes and split out libusb_get_device_speed() change]
- [stuge: Combine with patch that uses the saved device location]
- commit 511ec4301deb516691e39e3df5b90fe28cb2bb0f
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Thu Feb 17 12:49:36 2011 +0100
- Linux: Use __read_sysfs_attr() to get busnum and devaddr
-
- Remove code duplication.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit e05bbc59ca7b896e2b825bde59bf883ac8c09f5c
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Thu Feb 17 12:45:10 2011 +0100
- Linux: Add __read_sysfs_attr() helper function
-
- On Linux we often need to read (postive) integers from sysfs. This patch
- adds a helper function for this. This is a preparation patch for adding
- a libusb_get_device_speed() function to libusb.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit 20e26dda0f86dafa3436b152e090b5f3410c8ce4
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Tue Feb 8 16:37:18 2011 +0100
- Linux: Stop kernel from re-attaching in-kernel driver after reset
-
- When an interface is bound to the usbfs driver (iow claimed), the
- kernel will unbind it, and then after the reset do a device_attach
- on the interface, which will bind the default in kernel driver to
- the interface.
-
- So if an app has detached the in kernel driver, and claimed the
- interface and then does a libusb_reset_device. Things end up with
- the interface no longer being bound to the usbfs driver (so no longer
- claimed) and instead it is bound to the in kernel driver (iow the in
- kernel driver is re-attached).
-
- We can stop this from happening by releasing all claimed interfaces
- before the reset, as the kernel will not do the device attach after
- reset, if no driver was bound to the interface before the reset.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit 4e294dc9848aab86b31d2fff228cf97e7eadf913
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Thu Feb 17 12:35:46 2011 +0100
- Core: Use USB_MAXINTERFACES rather then sizeof(claimed_interfaces)
-
- claimed_interfaces is a long and thus its size differs on 32
- versus 64 bits, this patch uses USB_MAXINTERFACES instead of
- sizeof(claimed_interfaces) on interface number range checks
- for consistent behavior independent of the arch.
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- commit a68f956dd4c29d6ed799f04f07a3346317843999
- Author: Hans de Goede <hdegoede@redhat.com>
- Date: Wed Feb 9 12:40:35 2011 +0100
- Linux: Fix warnings seen when compiling with gcc-4.6
-
- Compiling with gcc-4.6 results in the following warnings:
- os/linux_usbfs.c: In function 'op_get_configuration':
- os/linux_usbfs.c:1144:6: warning: variable 'r' set but not used ...
- os/linux_usbfs.c: In function 'op_handle_events':
- os/linux_usbfs.c:2091:40: warning: 'status' may be used uninitialized ...
- os/linux_usbfs.c:2044:6: note: 'status' was declared here
- dpfp.c: In function 'save_to_file':
- dpfp.c:228:9: warning: variable 'ignore' set but not used ...
- dpfp_threaded.c: In function 'save_to_file':
- dpfp_threaded.c:257:9: warning: variable 'ignore' set but not used ...
-
- This patch fixes these. (The second comes from handle_control_completion()
- which gcc seems to inline into op_handle_events().)
-
- Signed-off-by: Hans de Goede <hdegoede@redhat.com>
- [stuge: Add fixes for dpfp examples and update source references]
- commit 209b5ccd827039b933b730e3f29abd0d72d3c6c6
- Author: Vitali Lovich <vlovich@aliph.com>
- Date: Tue Jun 14 08:51:57 2011 +0200
- Darwin: Fix #108 crash when a device is unplugged
- commit d3543e9140536a9751811b44f8496489be1e6bb7
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Jun 13 22:58:23 2011 +0200
- libusb.h: Add missing LIBUSB_CLASS_ codes currently defined by usb.org
-
- LIBUSB_CLASS_PHYSICAL
- LIBUSB_CLASS_SMART_CARD
- LIBUSB_CLASS_CONTENT_SECURITY
- LIBUSB_CLASS_VIDEO
- LIBUSB_CLASS_PERSONAL_HEALTHCARE
- LIBUSB_CLASS_DIAGNOSTIC_DEVICE
-
- Per http://www.usb.org/developers/defined_class
- commit 08bc7ffb6a3b65afc6795cd048a890ee8da7d954
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Jun 13 22:53:40 2011 +0200
- libusb.h: Add LIBUSB_CLASS_IMAGE in addition to LIBUSB_CLASS_PTP
-
- The old LIBUSB_CLASS_PTP name is kept for compatibility. Fixes #106.
- commit 3d7938d85a33cd98553c0c898a8dd0490826b077
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Jun 13 22:52:48 2011 +0200
- libusb.h: Fix LIBUSB_CLASS_PRINTER description typo
-
- References #106.
- commit 5d0526af1a922afab02cdbdf4bb7078702759571
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Feb 11 11:28:04 2011 -0500
- Darwin: Fix #100 warning cast to pointer from integer of different size
- commit bb8854ff5680136e29b57505300f131c2646f258
- Author: Sean McBride <sean@rogue-research.com>
- Date: Mon Jun 13 22:26:43 2011 +0200
- configure.ac: Fix #97 clang warning about -fgnu89-inline
-
- Remove the test that sets the flag since GNU89 inline semantics are not
- required by libusb.
-
- [stuge: Also remove reference to the test result]
- commit cb3c2e488f298b78027c9d5fc0bec0e5ba27d761
- Author: Pete Batard <pbatard@gmail.com>
- Date: Wed Jun 15 01:38:58 2011 +0200
- Windows: Make cancel_io() in poll_windows.c static
-
- References #97.
- commit 6635dbb4acb5ee556a020e431b15c954edfcbd29
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Jun 13 22:21:02 2011 +0200
- Windows: Make upperize() in windows_usb.h static
-
- References #97.
- commit 9479ce9dae3d0dbe2ce693bd02ccceb018a75fe9
- Author: Vitali Lovich <vlovich@aliph.com>
- Date: Wed Mar 16 17:33:57 2011 -0700
- descriptor.c: Fix buffer read overflow caught by valgrind
-
- In parse_interface() an unexpected descriptor would be parsed without
- validating the descriptor's length. It is possible for size to be 0 at
- this point, which means that the parsing would read past the end of the
- source buffer. Fix #83 by checking the length of the remaining buffer
- before parsing.
- commit c775c2f43037cd235b65410583179195e25f9c4a
- Author: Vitali Lovich <vlovich@aliph.com>
- Date: Wed Mar 16 19:51:40 2011 -0700
- Clean up in-flight transfers and device handle when closing a device
-
- Any in-flight transfers should properly invalidate their references
- to device handles that are being closed. Additionally, they should be
- removed from the transfer-in-flight list. This is done with the events
- lock held to protect against another thread processing the same transfer.
- The events lock is initialized as a recursive mutex, because the device
- close code might itself be called while an event is being handled.
- Fixes #82.
-
- [stuge: Trivial rework to reduce indenting]
- commit 74282582cc879f091ad1d847411337bc3fa78a2b
- Author: Vitali Lovich <vlovich@aliph.com>
- Date: Wed Mar 16 19:43:30 2011 -0700
- Add recursive mutexes to threading abstraction
-
- This is necessary for the device close path which needs to attain the
- events lock, but which might itself be called while handling an event.
- The events lock is necessary to properly clean up transfers which might
- still be pointing to the device. References #82.
-
- [stuge: Move usbi_mutex_init_recursive() into threads_posix.c]
- [stuge: Must also #define _XOPEN_SOURCE 500 to be able to build]
- [pbatard: Un-inline usbi_mutex_init_recursive() to make Cygwin happy]
- commit 8f1bc0659136faf312dabe8fe67380a798299d33
- Author: Vitali Lovich <vlovich@aliph.com>
- Date: Wed Mar 16 19:48:35 2011 -0700
- Add USBI_TRANSFER_CANCELLING and _DEVICE_DISAPPEARED status flags
-
- The flags are used to indicate if a cancellation has started, and if
- a cancellation has failed because the device is no longer available.
- References #82.
- commit 87ba8a9ead4fd9e81ae3c5a894f698779de1f2c2
- Author: Vitali Lovich <vlovich@aliph.com>
- Date: Wed Mar 16 19:50:04 2011 -0700
- Linux: Detect and report that device has gone away while discarding URBs
-
- Return LIBUSB_ERROR_NO_DEVICE if the device is no longer available
- (ENODEV) to discard the urbs. References #82.
- commit 2c85c363cddd72b9ab425f05e2ee03e0b1df24f1
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Jun 6 02:46:46 2011 +0200
- libusbi.h: Add comma after last value in enum usbi_transfer_flags
- commit 5d7be3e1337f2444097504931ac0f2f0997b2b05
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Jun 5 23:28:07 2011 +0200
- threads_posix.h: Whitespace fix
- commit 18db4813e844fc6929680afcc9b793abcb06876a
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Jun 5 23:21:08 2011 +0200
- libusb/Makefile.am: Correct threading files in libusb_1_0_la_SOURCES
- commit 5f30c81f66e8dd61f8eae16de548697708f9bd18
- Author: Alan Ott <alan@signal11.us>
- Date: Thu Jul 21 16:37:48 2011 +0200
- Linux: Fix #70 race condition in sysfs_get_device_list()
-
- Change the way libusb chooses between using sysfs and usbfs for information
- about the attached devies. Using the old method, a race condition could
- occur if a device was unplugged just before (or during) the call to
- libusb_get_device_list(), corrupting the internal sysfs_can_relate_devices
- and sysfs_has_descriptors variables and preventing libusb_get_device_list()
- from working in future calls.
-
- The old method was based on the assumption that if certain sysfs files
- (eg: busnum) could not be opened, that indicated an inadequacy of sysfs
- (ie: the running kernel's sysfs version did not contain those files),
- when in reality those files couldn't be opened because the device had
- been unplugged.
-
- The new method checks the adequacy of sysfs during libusb_init()
- (op_init()) and if a sysfs file cannot be opened, it is now assumed that
- it is because the device has been unplugged, not because sysfs is
- inadequate.
-
- Signed-off-by: Alan Ott <alan@signal11.us>
- [stuge: Include closedir() bugfix posted in ticket by Arne Laansoo]
- [stuge: Remove dead code in sysfs_scan_device() found by Hans de Goede]
- commit 40327cd134718475f6cec8935b856d4fdff2099c
- Author: Sean McBride <sean@rogue-research.com>
- Date: Thu Feb 10 17:11:29 2011 -0500
- Darwin: Fix #63 error when apps use Objective-C garbage collection
- commit 3ba2fae24886fec89410e5f2295f65363edcc2df
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Feb 5 11:50:34 2010 -0500
- Darwin: Fix #28 clang analyzer warning about unbalanced retain/release
- commit b67120f047f7eafa15c88c66fa61cef40805ec1f
- Author: Sean McBride <sean@rogue-research.com>
- Date: Fri Feb 5 11:50:34 2010 -0500
- io.c: Fix clang analyzer warning about unused variable
-
- References #28.
- commit 51af85d03a098d7d99ea544e8e9535b5476bab33
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue May 10 10:44:18 2011 +0200
- .gitignore: Add m4 subdirectory created by libtool
- commit c569e5b3b314538f45d0b3b6f14ce3dbdfee1be9
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Mon Nov 15 14:45:50 2010 +0100
- Linux: Do not include useless pthread.h
-
- The code does not use threads so no need to #include <pthread.h>
- Fixes #74.
- commit 82af9f9d440ef49015652c699157cf62020f097a
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Mar 8 17:41:05 2011 +0000
- Windows: minor code improvements
-
- * mostly warnings from VS2010's Intellisense
- commit 7e636dbe06001b9ac68e452a2fdc05e33fbb4e3a
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Mar 8 17:40:39 2011 +0000
- Windows: prevent set_configuration request from being sent using WinUSB
-
- * multiple WinUSB set configuration requests can stall a device and
- WinUSB does not support setting of alt configuration in the first place
- * issue reported and investigated by Xiaofan Chen
- commit 578c50c99646e5ebbcfbea653524a519b843ebcd
- Author: Graeme Gill <graeme@argyllcms.com>
- Date: Tue Mar 8 17:39:16 2011 +0000
- Windows: fixed default WinUSB timeout and ineffective policy settings
-
- * default WinUSB timeout was 5 seconds, which may be to small.
- PIPE_TRANSFER_TIMEOUT policy is now set to infinite for all EPs.
- * other WinUSB policy settings were called before the endpoints
- had been set. This is now fixed.
- commit 25fa63ea1cfe02e784cb62d3b869fd15e62b5b6e
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Mar 8 17:37:40 2011 +0000
- Windows: Don't leak pipe fds
-
- use _open() and _close() rather than _open_osfhandle() and CloseHandle()
-
- * use of CloseHandle() prevented the pipe fds from being
- relinquished on libusb_exit()
- * leaked fds could lead to the OS running out of new fds
- and LIBUSB_ERROR_NO_MEM being returned as a result
- * using _open() avoids _open_osfhandle() redef for cygwin
- * issue reported by Stephano Antonelli
- commit 3ccd9bddec316ee4b867959fd7f616eb4d410997
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue May 10 10:05:29 2011 +0200
- Windows: enumeration overhaul
-
- * uses multiple passes in a single call
- * uses a hash table, in anticipation for hotplug
- * adds a (dummy) HUB interface for harmonization
- * adds calloc on device struct creation in core
- (to detect and avoid unnecessary double initialization)
- commit bb108cbe39802785d10fe025b74ca5ee19734151
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue May 10 00:56:18 2011 +0100
- Windows: MS project files part 4 - MSVC6 project files
-
- Fixes #57 and #1.
- commit 78896ae99b9c2d5672fc93c5bad0f5e8e75c53ea
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue May 10 00:53:09 2011 +0100
- Windows: MS project files part 3 - VS2005 project files
-
- References #57.
- commit 9e5f4277e379a82f5d32e81db1bd0ffaa6637596
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue May 10 00:38:49 2011 +0100
- Windows: MS project files part 2 - WDK project files
-
- References #57.
- commit c1e75431418cdfc10ec963d823fce479cdae6840
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue May 10 00:38:12 2011 +0100
- Windows: MS project files part 1 - support files & preliminaries
-
- * adds the MSVC support files used by MSVC6, VS2005 and WDK
- * also adds missing defines required by MS compilers in libusb.h
- * also anticipatory sets .gitattributes for CRLF handling
- * also adds manually maintained .def file for import lib generation
-
- References #57.
- commit 85a14f43e0ce27cd47f84fdaeacbaa81cebdb886
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon May 9 08:12:24 2011 +0200
- Move library version number from configure.ac to libusb/version.h
-
- This is neccessary to support native MS builds. The Windows resource
- file libusb/libusb-1.0.rc must include the release version, which was
- previously only available after configure had run and had substituted
- the numbers into a generated libusb/libusb-1.0.rc file.
-
- The version atoms are now stored as CPP style #defines in libusb/version.h
- so that the .rc no longer needs to be generated but can simply include the
- header file and access the version information directly.
-
- The m4 macro LU_DEFINE_VERSION_ATOM() was added to configure.ac to get
- version atoms from libusb/version.h for use in AC_INIT(). The macro
- handles C and C++ style comments in version.h, but can easily be made
- to fail by obscuring the file. Please don't do that.
-
- Tested with MinGW using autoconf, and manual compile of libusb-1.0.rc
- using RC.EXE Version 5.2.3690.0 from Visual C++ 2005 Express Edition.
- commit 3481f52b014110f6c291e5a15e79ba774dcdfacf
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue May 10 08:36:32 2011 +0200
- Windows: Debug builds create the same .dll file name as non-debug
-
- Thanks to Pete for pointing this out!
- commit 9da8cf5c9ed9bd381a77d8170fc0556edbcce4dc
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Mar 8 17:18:48 2011 +0000
- Windows: explicit use of ANSI or WideChar calls
-
- * This is in anticipation of adding MSVC project files
- that use Unicode rather than MBCS
- commit ae675c1f49dc00b695fce7296903f60998cc28ed
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Mar 8 17:16:23 2011 +0000
- Windows: Remove SetupAPI, AdvAPI32 and OLE32 link-time dependencies
-
- * this ensures that libusb dependent applications only need
- to explicitly link against libusb on Windows
-
- The run-time dependency on Cfgmgr32.dll, OLE32.dll and SetupAPI.dll remains.
- commit 356e312511e4892977636da52ec497ad2c716032
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Mar 8 17:12:33 2011 +0000
- Add .gitattributes to avoid Windows line ending issues with autocrlf
- commit 61c120f025f3dee04eeb88159d7c0403a8bf91fe
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Feb 27 09:37:54 2011 +0100
- Windows: Touch up FileDescription and ProductName resource strings
- commit 99b4ddcd893834a4be8b5884037b650e57ba0ba2
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Feb 27 07:20:40 2011 +0100
- Windows: Remove emulated direct device access via HID API
-
- Either use a library such as HIDAPI to communicate with HID class
- devices, or replace the kernel driver for the device with one that
- offers support for the complete libusb API.
- commit 4be84ab49c838d534d3a1b8a64ffa89774984ee7
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Feb 27 06:59:15 2011 +0100
- Revert libusb_strerror() until we have i18n and l10n
- commit 0e177f22fcc69d9aab6fb410e85f3413f478c94c
- Author: Pete Batard <pbatard@gmail.com>
- Date: Wed Jan 19 14:00:12 2011 +0000
- dpfp_threaded: return instead of pthread_exit() to avoid Cygwin warning
- commit e65878f21b0a0bb96debcb292dc03ce3c4ebb701
- Author: Pete Batard <pbatard@gmail.com>
- Date: Wed Jan 19 13:52:08 2011 +0000
- Windows: Rename various variables named "index" to avoid shadow warnings
- commit 019bf73bb2677dc7720bc8280527316adcbaa506
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Oct 5 12:50:53 2010 +0100
- Windows: Fix logic in enumeration of driver name and port number
- commit 24494ed5db27737fc607fc35dda722521c9fe4d4
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Oct 5 12:50:13 2010 +0100
- Windows: Allow claiming any interface in composite device using WinUSB
-
- Issue reported by Benjamin Dobell, see #48. The call to
- WinUsb_QueryInterfaceSettings() is removed since it doesn't work
- on any other interface but the first (a WinUSB limitation).
-
- This allows the use of WinUSB.sys in lieu of the usbccgp.sys
- "USB Generic Parent" default driver for composite devices.
- commit 9c8e6545f2fbb171f81a9451eaf2d09e1fbc13b3
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Oct 5 12:47:15 2010 +0100
- Windows: Allow arbitrary bConfigurationValue in config descriptors
-
- Unlike bInterfaceNumber, bConfigurationValue does not have to be
- either sequential or contiguous. The bConfigurationValue is now
- included in debug output. Fixes #48 reported by Benjamin Dobell.
- commit dcd002974e511879320233fd5b0600e06bdc5620
- Author: Thomas Röfer <Thomas.Roefer@dfki.de>
- Date: Fri Nov 19 22:03:11 2010 +0100
- Darwin: Schedule isochronous transfers further in the future
-
- This is required to make OpenKinect transfer data at 30 fps. This
- change was originally made by Theo Watson, and Thomas improved on it.
- The commit came via OpenKinect into libusb thanks to Kyle Machulis and
- Hector Martin. Fixes #66.
- commit e83fad33dbaf9f37811da6d4cd9d3be554817944
- Author: Thomas Röfer <Thomas.Roefer@dfki.de>
- Date: Fri Nov 19 22:03:11 2010 +0100
- Darwin: Fix #65 memory leak in submit_iso_transfer()
-
- This was also independently fixed by Hoi-Ho Chan, but Thomas caught
- an additional problem with his fix.
-
- This commit came via OpenKinect into libusb thanks to Kyle Machulis
- and Hector Martin.
- commit 1a2d21fe42ad5a157651c787e2f500fc162c325b
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Feb 26 04:21:05 2011 +0100
- configure.ac: Refactor Windows backend settings into one occurence
-
- The Windows backend is used both with MinGW and Cygwin, and since most
- settings are identical they can be set in one place.
- commit 717f47621d18de16b87e237f3740299f43e4ca1c
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Nov 15 19:58:51 2010 +0100
- configure.ac: Rename AM_LDFLAGS to LTLDFLAGS and actually use them
-
- The new variable name tries to clarify that libtool is being used.
- Linker flags must thus always be specified with -Wl.
-
- Factor out the libtool flag -no-undefined from host specific cases.
- The flag is required to build a Windows DLL, but is correct also for
- the other supported systems.
-
- Also, start actually using LTLDFLAGS in libusb/Makefile.am, so that
- libtool will see the options set by configure.
- commit 3cbe5736469c1c52049752c137ae11387e9b079d
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Nov 21 23:38:46 2010 +0100
- configure.ac: Clean up PC_LIBS_PRIVATE and AM_LDFLAGS
-
- Move linker options for when linking the library itself from
- PC_LIBS_PRIVATE into AM_LDFLAGS. PC_LIBS_PRIVATE should only
- contain flags needed to link applications statically against libusb.
- Fixes #72.
- commit ef39d1510580b9fcbacf13443fa7a4e553a9a88e
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Feb 25 02:33:29 2011 +0100
- configure.ac: Call AC_CONFIG_FILES() for each output file
-
- This avoids a problem with Windows line endings.
- commit 6e52ea067711e6e7e1b2882757fb61b11b6f8feb
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Nov 21 23:37:27 2010 +0100
- configure.ac: Whitespace changes and trivial reordering
- commit 44b85dabc3f4efe0918a598f981675aa3765cc26
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Nov 21 23:10:35 2010 +0100
- configure.ac: Quote AC_COMPILE_IFELSE() input
- commit 19d5882c398e49a453ff78494db23b7f4d13c37c
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Nov 21 23:09:02 2010 +0100
- configure.ac: Define booleans to 1 when set, instead of an empty string
-
- This makes the generated config.h look a lot nicer.
- commit c24649d796c8b5c97af79a41856422def2e593bc
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Oct 30 22:28:59 2010 +0200
- configure.ac: Clean up redundancy and fix LIBS on Linux
-
- LIBS, AM_LDFLAGS, OS_ conditionals and THREADS_POSIX had a bit of
- redundancy throughout the file, and on Linux LIBS ended up missing
- the -pthread flag.
- commit 0bd4a4dd89ff64b99ab55bfc0c5782502c10c676
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Feb 26 04:08:38 2011 +0100
- configure.ac: Touch up Darwin and Cygwin OS messages
- commit 16cf11a1213272afd616598fa3aba0941e66ec3c
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Oct 30 22:13:05 2010 +0200
- configure.ac: Do not use -pthread on Darwin
-
- It's not needed because Darwin has POSIX Threads in libc. Fixes #96.
- commit a120747d561929682cd0276ea4c13fb22fad8554
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Oct 30 22:07:37 2010 +0200
- configure.ac: Check for poll.h, and for nfds_t on Darwin
-
- On Linux, assume nfds_t is always available.
-
- On Darwin, fall back to unsigned int when poll() exists but there
- is no nfds_t, such as on Mac OS X before 10.4.
-
- On Windows (both MinGW and Cygwin), always use unsigned int instead
- of nfds_t, and don't check for poll.h because we use our own poll()
- implementation.
- commit 21d03d12f92c0d9bd7990861ca0ebf5009f82799
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Tue Oct 5 20:08:08 2010 -0600
- Darwin: Add support for control requests on endpoints other than 0
-
- Signed-off-by: Nathan Hjelm <hjelmn@me.com>
- commit 9bfacd760b40f1137a7835198c6028cbdaddeb18
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Tue Oct 5 23:11:50 2010 -0600
- Darwin: Add more error checking for libusb_open()
-
- Now also check the CreateDeviceAsyncEventSource() return code for errors.
-
- Signed-off-by: Nathan Hjelm <hjelmn@me.com>
- commit 478cd4a30728595fd742aa192d8149ee4216d4bc
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Nov 3 21:46:53 2010 +0100
- Core: libusb_get_next_timeout() must consider all flying transfers
-
- If transfer->flags indicated that a transfer had a timeout, but no
- timeout was actually set, then libusb_get_next_timeout() would look
- no further for a timeout, ignoring any transfers later in the list
- which had a timeout set.
-
- Since libusb has an internal 60 second timeout this bug could not
- cause complete lockup, but it could cause a 60 second timeout even
- when a transfer was submitted with a shorter timeout.
- commit 7802e4a3e38bcefccf96ae510ec2c6b7a959b8b5
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Mon Nov 15 14:55:51 2010 +0100
- Linux: Correctly catch read() errors for sysfs config descriptors
-
- read(2) returns ssize_t (signed) and not size_t (unsigned) or int.
-
- Silence "warning: comparison of unsigned expression < 0 is always false"
- and fix #75.
- commit 4c7f3c8c3012bddba058afd2abdda792944fcda1
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Jan 23 04:01:25 2011 +0100
- Linux: Refactor cancellation into one function for all transfer types
- commit 011f1f297bc134188fab9960da1b1b9f0bd541aa
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Oct 17 08:19:56 2010 +0200
- Linux: Refactor discarding of URBs into a function and return all errors
-
- The Linux backend did not always return errors according to the
- libusb_cancel_transfer() documentation.
- commit 26246df19cb4d88954a5aa9ed5f6b859e451df85
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Jan 23 04:01:01 2011 +0100
- Linux: Set private number of URBs also for control transfers
- commit 295c9d12e25bc2dbdd8b42bd67a1f7120f0631a1
- Author: Alan Stern <stern@rowland.harvard.edu>
- Date: Sun Oct 17 06:57:06 2010 +0200
- Linux: cancel URBs in reverse order
-
- In a multi-URB transfer, URBs should be cancelled in reverse order of
- submission. This prevents races that might otherwise occur (after URB N
- is cancelled, data may be transferred for URB N+1 before it too can be
- cancelled). Fixes #8.
- commit 07df377a5df25e9c1811b554dc00eb8c40e5b995
- Author: Alan Stern <stern@rowland.harvard.edu>
- Date: Sun Oct 17 04:17:32 2010 +0200
- Linux: report correct value for urb->actual_length
-
- Transferred bytes are returned correctly by the kernel for every URB,
- even when an error occurs. Hence they should always be included in
- the transfer statistics. The same is true for isochronous packet
- length and status.
-
- [stuge: set itransfer->transferred so data is stored at correct offset]
- commit b26db49208c7a6ef0a99645142af21ce80c57c22
- Author: Alan Stern <stern@rowland.harvard.edu>
- Date: Fri Oct 22 11:13:34 2010 +0200
- Linux: improve reporting of URB error status codes
-
- Fix the way overflow errors are handled (they can occur in any
- transaction, not just the last one in a transfer) and add tests
- for other commonly-occuring error statuses.
- commit efc29733ad31f81883a7ac51a6cc6cda9ad4feb9
- Author: Alan Stern <stern@rowland.harvard.edu>
- Date: Tue Oct 5 11:08:40 2010 -0400
- Linux: improve detection of BULK_CONTINUATION kernel support
-
- Clarify the comments describing the BULK_CONTINATION flag, and improve
- the subroutine that checks whether the flag is supported by making it
- "future-proof", i.e., by working properly with kernel version numbers
- higher than 2.6.
- commit bd267cf92269e0c4cd8eef795b91eefb2c63452e
- Author: Peter Stuge <peter@stuge.se>
- Date: Mon Nov 22 05:14:00 2010 +0100
- README: Update webpage URL and add Peter's email address
- commit 845b715675703c5f1bc907f6302ece416c9f112c
- Author: Peter Stuge <peter@stuge.se>
- Date: Wed Aug 4 07:30:22 2010 +0200
- libusb is not just for Linux!
- commit 67d9ef7b6877e17f2deec81cd41dc0948f6bed4b
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Tue Oct 5 19:48:39 2010 -0600
- Remove USBI_OS_HANDLES_TIMEOUT and fix int/isoc timeouts on Darwin
-
- Backends set USBI_TRANSFER_OS_HANDLES_TIMEOUT for transfers instead.
- Darwin only handles timeouts for bulk and control transfers, so the
- backend now sets that flag accordingly, making libusb core handle
- timeouts for interrupt and isochronous transfers. Fixes #31.
-
- Signed-off-by: Nathan Hjelm <hjelmn@me.com>
-
- [stuge: rework libusb_get_next_timeout() and enum usbi_transfer_flags]
- [stuge: fix typo; set USBI_TRANSFER_TIMED_OUT flag correctly]
- commit 370922dfbe0964c0b8a0c1974bb1d7b85ac10607
- Author: Peter Stuge <peter@stuge.se>
- Date: Sun Nov 14 03:14:00 2010 +0100
- Silence "warning: suggest braces around empty body in an 'if' statement"
- commit 0f85015bdf87f3bca0d86ed87c9b976176640922
- Author: Konrad Rzepecki <hannibal@astral.lodz.pl>
- Date: Sat Nov 13 14:09:22 2010 +0100
- Disallow libusb_get_string_descriptor_ascii() with index 0
-
- String descriptor 0 is the list of supported language IDs in the device,
- which can't have an ASCII representation. Calling the function with
- index 0 is thus not really useful. Fixes #43.
- commit 3b41c31d3fa2c1f93649cc5fc0f59acbf3efd5a1
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Fri Mar 19 15:35:14 2010 +0100
- Use const for the usbi_parse_descriptor() format string
-
- Constant strings should be "const char *" instead of "char *". Silence
- "discards qualifiers from pointer target type" warnings. Fixes #61.
- commit 7f2e9f0776386997d2b4c4c47598ab88e3caeb7a
- Author: Hector Martin <hector@marcansoft.com>
- Date: Wed Aug 25 03:21:57 2010 +0200
- Linux: Fix usbfs/sysfs config descriptor handling on big-endian
-
- usbfs endian-swaps, sysfs doesn't, not the other way around. Fixes #51;
- descriptor endian parsing is backwards using sysfs on big-endian hosts.
- usbfs is untested.
-
- Signed-off-by: Hector Martin <hector@marcansoft.com>
-
- [stuge: checked against Documentation/usb/proc_usb_info.txt]
- commit 2aa8984e59cf0f492e7fbebb8924f54f6160cc5e
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Tue Aug 17 20:53:04 2010 +0200
- examples: #include <libusb.h> without directory name
-
- The libusb-1.0 directory name belongs in the compile command, e.g.
- via pkg-config --cflags. Fixes #58.
- commit 7da756e09fd97efad2b35b5cee0e2b2550aac2cb
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Thu Jun 24 10:14:24 2010 +0200
- Add missing argument to libusb_wait_for_event() documentation, fix #55
-
- In the libusb_wait_for_event() sample code in the section "Letting other
- threads do the work for you" the call to libusb_wait_for_event() was not
- updated by commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90, which added
- the libusb_context *ctx parameter to the function, so the sample code
- was broken until now.
- commit 678c242705b29f9cb6cc421b5625a6485ae58047
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Oct 16 14:22:30 2010 +0200
- examples: Silence warnings about return value of fwrite()
- commit 9cd9059bf9baac69a9d6c909f4c1e000592fa260
- Author: Peter Stuge <peter@stuge.se>
- Date: Sat Oct 16 11:47:14 2010 +0200
- Linux: Don't free() URBs prematurely on hardware error; fix #54
-
- When an URB in a multi-URB transfer had an error, handle_bulk_completion()
- would free all URBs and segfault once the next one completed, instead of
- cancelling the remaining URBs and cleaning up as usual.
-
- This is basically the patch from the ticket, plus some restructuring
- for increased readability of the function.
-
- Many thanks to Brian Shirley and National Instruments for finding and
- fixing this!
- commit 116d34f608b02f4e14668450b158acf5db726f95
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Oct 5 12:43:41 2010 +0100
- Windows: add support for filter drivers
-
- * precedence is driver > upper filter > lower filter, and defined
- in struct driver_lookup lookup from set_device_paths()
- commit eb833fcd837e3aac2e497438b14c8612254c28ce
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Oct 5 12:36:49 2010 +0100
- Windows: fix errcode shadow warning, and string and DLL_DECLARE fixes
-
- * use FormatMessageA, and overall improvement of windows_error_str()
- * use safe_strlen() always
- * better typing/init default
- * more explicit debug message for devices with no driver
- commit 1feadb5f78e1d2cdfd2aaf0011e041c2848bae37
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Oct 5 12:29:32 2010 +0100
- Windows: use IOCTLs for HID input, output and feature reports
-
- * fixes feature reports not providing actual read size
- (reported by Axel Rohde http://marc.info/?m=127033070021994)
- * removes the USE_HIDD_FOR_REPORTS macro
- * IOCTL usage inspired from HIDAPI by Alan Ott
- commit d7c25451f4075d2a12eb5cbc91ff3de8c0292da0
- Author: Daniel Drake <dan@reactivated.net>
- Date: Mon Oct 4 20:03:58 2010 +0100
- Fix libtool version setting
-
- This was being set too early to take effect.
- commit a6fb54e2eef4e393bd06829bc3bdc746ea9d41a6
- Author: Mike Frysinger <vapier@gentoo.org>
- Date: Mon Oct 4 20:01:07 2010 +0100
- Populate the pkg-config Libs.private field
- commit a9b4065f048e750b7317f6434406fd528b69bf33
- Author: Mike Frysinger <vapier@gentoo.org>
- Date: Fri Aug 20 00:09:46 2010 -0400
- Linux: fix build failure when CLOCK_MONOTONIC does not exist
-
- This is not available on all platforms.
- commit d192c5bd32736fde0080d756de6221287af34891
- Author: Daniel Drake <dan@reactivated.net>
- Date: Mon Oct 4 18:45:18 2010 +0100
- Update libtool version info
-
- With input from various people on the mailing list, update the libtool
- versioning info and start to update this on every release.
-
- The next libusb release will not need a change here. All following ones
- will.
- commit e65f69a7ef3de357c867ddaac9598efe407078b6
- Author: Pete Batard <pbatard@gmail.com>
- Date: Thu Aug 5 16:40:09 2010 +0100
- Updated documentation for unsupported Darwin/Windows calls
- commit c8bab4e19413d70c515a2eaf747a75b7f66fdc0b
- Author: Pete Batard <pbatard@gmail.com>
- Date: Sun Sep 19 14:24:25 2010 +0100
- Windows: Make libusb_pollfd() return error
-
- Windows does not have numerical file descriptors but does have the
- concept of event sources. Exposing these event sources will require
- some careful thought and design, to be completed later.
- commit bd623f70d99fad8b975f8d4ee62ea4b1abf1272f
- Author: Daniel Drake <dan@reactivated.net>
- Date: Sun Sep 19 14:21:01 2010 +0100
- MinGW: Use --add-stdcall-alias linker option
-
- Naming of symbols inside the library is inconsistent on Windows:
- http://wyw.dcweb.cn/stdcall.htm
-
- Use this linker option to add aliases which add compatibility with
- the "MSVC DLL" platform when a DEF file is used. It also better matches
- the appearance of the Windows API itself.
- commit 29f9f9e3af3340df6a955881a93caf9d2a6d08d6
- Author: Pete Batard <pbatard@gmail.com>
- Date: Fri Aug 13 11:59:49 2010 +0100
- Introduced calling convention (for Windows)
-
- Under Windows, a variety of compilers and configurations are available,
- meaning that the manner of parameter passing (e.g. registers vs stack)
- can vary.
-
- Match the Windows API calling convention and document this appropriately.
- This calling convention will be used regardless of the configuration of
- the user's development platform.
-
- The only user-level complication is that all functions used as libusb
- callbacks must use the same calling convention as libusb. The
- LIBUSB_CALL macro is provided to make this easy.
-
- Signed-off-by: Michael Plante <michael.plante@gmail.com>
- Signed-off-by: Pete Batard <pbatard@gmail.com>
- [dsd: slight change of strategy, add documentation]
- commit be523f1fe7c136c3fca06ae9c96aff44a22482ba
- Author: Pete Batard <pbatard@gmail.com>
- Date: Fri Aug 6 21:56:04 2010 -0600
- Windows: fix string copy in sanitize_path
-
- The NULL byte was not being copied.
- commit 7fd36af9f749ce8bf96f89cefd519a9f46825573
- Author: Pete Batard <pbatard@gmail.com>
- Date: Fri Jul 30 00:30:31 2010 +0100
- Windows: DuplicateHandle failure is not a warning
-
- This is because WinUSB handles are not duplicable, and generate a
- lot of these warnings.
- commit 33cd2f68b4d500e852e354e5acae3d9a96a8ec26
- Author: Pete Batard <pbatard@gmail.com>
- Date: Fri Jul 30 00:23:05 2010 +0100
- removed trailing whitespaces
- commit e47849afe9381c864683220eac9ce7bcf43f7883
- Author: Pete Batard <pbatard@gmail.com>
- Date: Wed Aug 4 18:18:32 2010 -0600
- Windows: Mark interfaces as unused when releasing
-
- Without this important cleanup, the autoclaim code could attempt to
- reuse an unclaimed interface as if it were already claimed.
- commit b30ca141a0bdce26e7cfdd91d346e49051532ee7
- Author: Pete Batard <pbatard@gmail.com>
- Date: Wed Aug 4 18:15:59 2010 -0600
- Windows: fix device path string duplication
- commit e8d7a89503d5655c4b04da718c6971e25ff48162
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Mon Aug 2 21:27:38 2010 -0600
- Darwin: Cache device configuration value
-
- Cache device configuration value to bring the Darwin backend more in
- line with the libusb spec. To handle buggy devices GetConfiguration is
- not called unless the device has more than one configuration.
- commit fe5d1d2050f715ffa8cbd35a378ac969a1a01584
- Author: Xiaofan Chen <xiaofanc@gmail.com>
- Date: Fri Jul 30 15:56:43 2010 +0100
- Fix inconsistencies between prototypes and definitions
-
- This removes some warnings on cygwin regarding a name clash against
- the standard library "index" function.
- commit 3b538c43e11b805a37d93b6283d270d5d5f0d1f5
- Author: Hoi-Ho Chan <hoiho.chan@gmail.com>
- Date: Tue Jul 27 21:04:17 2010 -0600
- Darwin: handle kIOReturnUnderrun
-
- This return code indicates that the device returned a data packet
- less than the max packet size. In libusb backend terms, this is
- a successful transfer.
- commit 9a4249f8a104b98a15a7e3ba7ecae9a385ed9027
- Author: Pete Batard <pbatard@gmail.com>
- Date: Sat Jul 10 17:51:13 2010 -0600
- Add Windows support
-
- Via Cygwin/MinGW, libusb now has windows support.
- Thanks to contributors: Michael Plante, Orin Eman, Peter Stuge,
- Stephan Meyer, Xiaofan Chen.
- commit d38dd5e3d2a872f7064eea084ddea8c33811dd7d
- Author: Hoi-Ho Chan <hoiho.chan@gmail.com>
- Date: Sat Jul 24 13:48:00 2010 -0600
- Darwin: write iso transfer details into correct packets
- commit fbff5b4b665ff2ebc948162617cf7f4f5d2fabeb
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Sat Jul 24 13:42:57 2010 -0600
- Darwin: fix interface object leak
- commit dffc09835d6860ae9b6a62c39af5be346188cb05
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Sat Jul 24 13:41:03 2010 -0600
- Darwin: clean up some debug messages
- commit 946d1abbca397b8e88a1b0b4df176dcc5e3b7348
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Sat Jul 24 13:39:16 2010 -0600
- Darwin: Don't open devices during scan unless we have to unsuspend
- commit 3b6d9ac82e2599cad7817d21e909a42275ddc4c4
- Author: Peter Stuge <peter@stuge.se>
- Date: Fri Jun 25 08:08:13 2010 +0200
- Linux: Handle early complete of multi-URB transfer
- commit a516fcb99376686d2d0028e5ac69950c57a55b9e
- Author: Daniel Drake <dan@reactivated.net>
- Date: Wed Jul 21 17:49:21 2010 -0600
- Only compile dpfp examples when sigaction is available
-
- It's not available on MinGW.
- commit a1d831ef82e1700f4ebb9df6ca5cef74be757c08
- Author: Aurelien Jarno <aurelien@aurel32.net>
- Date: Tue May 25 09:32:19 2010 +0200
- configure.ac: fix bashisms
- commit 7211aba6e290f9805e911959b2a43a4b3ec56d4f
- Author: Daniel Drake <dan@reactivated.net>
- Date: Fri Jun 25 12:01:58 2010 -0500
- Only include sys/time.h on appropriate platforms
-
- This header doesn't exist on windows.
- For libusb, determine at configure-time if the header is available.
- For libusb.h, use gcc predefined macros to only include the header
- on platforms that need it.
- commit b33c3cb9651459de1f3d549677cbac67a017a295
- Author: Daniel Drake <dan@reactivated.net>
- Date: Tue Jun 22 18:45:38 2010 -0500
- Linux: Fix log message commit
-
- Forgot to test this.
- commit 139648d5723190734a51c1c66ddf41c3e87adf10
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Mon Jun 21 10:19:29 2010 +0200
- Only initialize the default context when it is requested
- commit 22d61cd0891d8304dfc1a70579cf154fd8e6644a
- Author: Daniel Drake <dan@reactivated.net>
- Date: Tue Jun 22 18:20:23 2010 -0500
- Linux: fix log message that was being unconditionally sent to stderr (#44)
-
- This message was put in place to aid libusb-compat-0.1 users, who
- may run into the change that libusb-0.1 allowed you to usb_open() a
- device that you don't have write access to, but libusb-1.0 does not.
-
- As explained on the ticket this change is dangerous so it should go through
- the usual logging mechanism. I also added a similar regular log message
- to libusb-compat-0.1.
- commit 82065a2c5e9d5ad0b2bb28792d12462f2fa150f0
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Thu Jun 10 18:41:27 2010 +0200
- Fix 2 documentation typos
- commit 351c062aacdde0b0fa7972ee9b7c6b355dcee110
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Wed Apr 21 16:49:33 2010 +0200
- add AM_MAINTAINER_MODE
- commit a7c056c14867e1cc3ef83682f2706cdbdca7c4ce
- Author: Pete Batard <pbatard@gmail.com>
- Date: Thu Jun 10 17:00:25 2010 -0500
- Factorize event handler interruption code
-
- This will be additionally used by the windows backend which modifies
- the fd set frequently.
- commit fc0af8e3f76925ad09e0fbc6d233d500753ee375
- Author: Pete Batard <pbatard@gmail.com>
- Date: Sat Jun 5 12:14:19 2010 -0500
- Abstract low-level event handler operations
-
- The Windows backend uses something other than UNIX file descriptors
- for event handling. Abstract out the operations to allow for this.
- commit 64383fb5b55a74b706967836e81cef61e57df86a
- Author: Pete Batard <pbatard@gmail.com>
- Date: Tue Jun 1 11:38:14 2010 +0100
- fixes the possibility of using a broken timercmp on Windows
-
- Microsoft's implementation of timercmp does not work for >= or <=.
- commit f6d60a9a8fcf06629812da886e3a5de592624b61
- Author: Pete Batard <pbatard@gmail.com>
- Date: Mon Feb 1 19:26:13 2010 +0000
- Switched to standard int pointer type for windows 64-bit compat
-
- On 64-bit Windows a pointer is 64 bit, but long is still 32 bit for
- backwards compatibility.
- uintptr_t nicely hides this difference and also works on Linux.
-
- [dsd: add appropriate include]
- commit a2fa855ce3795e31905b255267874af0603168bc
- Author: Michael Plante <michael.plante@gmail.com>
- Date: Tue Mar 9 16:39:46 2010 -0600
- added doxygen, dpfp, msvc, and xusb stuff to gitignore
- commit 845d96a9c30b6f053208ed6b5b5d4ad1655e2026
- Author: Daniel Drake <dan@reactivated.net>
- Date: Mon May 31 19:56:34 2010 -0500
- Add reference counting to default context
-
- Michael Plante pointed out that if 2 users call libusb_init(NULL) within
- a process, we end up creating 2 default contexts, one of which is lost.
-
- Add reference counting so that the default context is reused and
- destroyed only after the last user.
- commit 0e77f017fd3d1bdec4aced0429a380d3e434081b
- Author: Daniel Drake <dan@reactivated.net>
- Date: Thu May 27 19:24:49 2010 -0400
- Fix libusb_init() error handling
-
- 9996ccaed7 introduced a problem in that mutexes could be destroyed
- in the error handling codepath before they had been created.
- Pointed out by Michael Plante.
- commit b03de9d07bf9a6b0c4e6cba9ec06b5271a22e621
- Author: Michael Plante <michael.plante@gmail.com>
- Date: Mon May 24 11:57:10 2010 -0300
- Modify log functions to compile with MSVC6
-
- MSVC6 does not support variadics.
- commit aa77b02da65afb0332b9e6853dae9e4dcda00bfa
- Author: Pete Batard <pbatard@gmail.com>
- Date: Sun Feb 14 19:46:05 2010 -0600
- Add type parameter to the list_for_each_entry() and _safe() macros
-
- typeof() is a GCC extension, not supported by target compilers such
- as MSVC.
- commit b92b16f437079208c8dfb1dc2380893846a07ee9
- Author: Daniel Drake <dan@reactivated.net>
- Date: Wed May 19 17:37:29 2010 -0300
- Fix a usbi_pollfd leak in error path
-
- I accidently missed this when applying Pete Batard's earlier patch.
- Pointed out by Michael Plante.
- commit 8aceb5c99056aaed6e6f2db1b303817e37e9fe8c
- Author: Pete Batard <pbatard@gmail.com>
- Date: Sun Feb 14 19:47:30 2010 -0600
- Rename all interface parameters to usb_interface or interface_number
-
- Remove the use of the ambiguous "interface" where possible without
- breaking the API.
- 'interface' is a preprocessor #define already associated with COM on Windows,
- that can cause a conflict as soon as windows.h is included.
-
- There are a few more places where interface is still used, which should
- be changed for libusb-2.0
- commit d7031ee8e1c449af23b2674fe18d9fc652c9bd80
- Author: Pete Batard <pbatard@gmail.com>
- Date: Mon May 17 19:30:27 2010 -0300
- Stricter types and casts
- commit 9996ccaed740f8fcec4287a478ccaaa573f9865a
- Author: Pete Batard <pbatard@gmail.com>
- Date: Mon May 17 19:16:54 2010 -0300
- Fixes to error handling and exit codepaths
-
- Various locks and things were being leaked/left open when handling
- errors and during deinitialization.
-
- [dsd: small tweaks]
- commit 371ca4e440894bd1c845971418aa24c9d3919e63
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Thu May 13 19:38:05 2010 -0300
- Darwin: Define IO_OBJECT_NULL if not already defined
-
- Needed on Mac OSX 10.3
- commit 7ba92cff94bbba19284749c614c26141d3023f37
- Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
- Date: Fri Jan 29 12:08:52 2010 +0100
- libusb_cpu_to_le16: macro->static inline function
-
- The libusb_cpu_to_le16 macro was a ({ ... }) expression, which
- generates the following compiler warning every time it is used,
- (and that is several times for every #include <libusb.h>):
-
- libusb.h:880: warning: ISO C forbids braced-groups within expressions
-
- With this patch, #include <libusb.h> stops generating compiler
- warnings on gcc 4.4.
-
- As libusb.h heavily relies on the use of static inline functions
- those can be relied on to work properly, and there should not be
- any significant difference in the code the compiler generates.
- commit 3473ac6c6fab32202d02d87679ebdb24e7d2df98
- Author: Francesco <francesco.montorsi@gmail.com>
- Date: Tue Mar 9 16:35:35 2010 -0600
- Add libusb_strerror() to get short error message in English from enum
-
- [dsd: small tweaks]
- commit 5b69f3b7b0610d5f518954792ddc93332a41d292
- Author: Michael Plante <michael.plante@gmail.com>
- Date: Thu Feb 25 19:39:22 2010 -0600
- Fix libusb_device::lock memory leak
- commit a636df4ca1b87ed3094a87828c022092a80ba613
- Author: Pete Batard <pbatard@gmail.com>
- Date: Wed May 12 21:46:31 2010 -0300
- Whitespace cleanup
- commit 23b5db8b3e353176dfa0635bfb6f0e2658f6e3de
- Author: Peter Stuge <peter@stuge.se>
- Date: Tue May 11 00:51:43 2010 +0100
- Add internal abstraction for POSIX Threads
-
- This prepares for a Windows backend without dependency on pthreads-w32.
-
- pthread_* is renamed to usbi_* and PTHREAD_* to USBI_*.
-
- A usbi_mutex_static_t and usbi_mutex_static_lock() and _unlock() are
- introduced for statically initialized mutexes, since they may be
- implemented using other types when pthreads mutexes aren't used.
-
- Move -pthread from libusb/Makefile.am to host-specific THREAD_CFLAGS in
- configure.ac. This will enable optional use of -lpthread for cygwin.
-
- [dsd: minor tweaks, and roll in a change based on patches from Pete
- Batard to only build dpfp_threaded example when we're using pthreads]
- commit a04cbb0095a78aeed3f65aaf06c46069d0ac184a
- Author: Daniel Drake <dan@reactivated.net>
- Date: Tue May 4 19:01:59 2010 -0300
- v1.0.8 release
- commit 53b47299531974fa8901b74a163f3c8ebae4eec9
- Author: Daniel Drake <dan@reactivated.net>
- Date: Thu Apr 22 18:12:51 2010 -0300
- Linux: don't set SHORT_NOT_OK on bulk out URBs (#20
-
- Setting this flag is illegal, and the behaviour we're looking for
- is already in place for host-to-device transfers without this flag.
- commit 1519828b7ee1fce46d4c51fc097d52e01b8e0bb4
- Author: Daniel Drake <dan@reactivated.net>
- Date: Tue Apr 20 20:14:09 2010 -0300
- Linux: Handle failure to read active configuration during enumeration
- commit 45168627cc15aee3875192f34286110dbbd27095
- Author: Nathan Hjelm <hjelmn@me.com>
- Date: Tue Apr 20 19:43:06 2010 -0300
- Darwin: don't reuse cached descriptors during enumeration
-
- Descriptor reuse was causing scans to return invalid information when
- the device at a location has changed.
- commit 3af329db6dcbfb96d24867c757f9e125e5b7b0e5
- Author: Daniel Drake <dan@reactivated.net>
- Date: Mon Apr 19 19:36:55 2010 -0300
- v1.0.7 release
- commit ceb8cacd6d2a4189de0db2ee46d45217511c69be
- Author: Daniel Drake <dan@reactivated.net>
- Date: Mon Apr 19 19:31:12 2010 -0300
- Document that fd set contents are an internal implementation detail (#36)
- commit 9bea500b5747bdeba7c8251d45608558e71a1db5
- Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
- Date: Mon Apr 19 19:22:46 2010 -0300
- Linux: correct config descriptor endianness fix
-
- The seek_to_next_config codepath deals with both sysfs and usbfs;
- make sure we only convert values in the usbfs path.
- commit 02df59a309e813c50b8230de99e69fb4e1814279
- Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
- Date: Mon Apr 5 17:11:32 2010 +0200
- Linux: Fix endianness handling of usbfs config descriptors (#27)
-
- driver/usb/core/devio.c function usbdev_read translate the follwing files
- to CPU endianess:
-
- le16_to_cpus(&temp_desc.bcdUSB);
- le16_to_cpus(&temp_desc.idVendor);
- le16_to_cpus(&temp_desc.idProduct);
- le16_to_cpus(&temp_desc.bcdDevice);
-
- All other data is passed without any change.
-
- libusb/os/linux_usbfs.c calls usbi_parse_descriptor with host_endian=1
- for config descriptors. According to the kernel code, they must be
- processed with host_endian=0, as they are not translated by the kernel.
-
- Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
- commit ec303b01a5d4e51c000a283853af65059fa62285
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Tue Mar 23 16:22:08 2010 -0600
- Darwin: fix enumeration of devices with non-consecutive addresses (#23)
- commit cd809e2f7cee3874b7ae16b2c482a8b63a90e4a5
- Author: Bastien Nocera <hadess@hadess.net>
- Date: Mon Mar 8 10:50:51 2010 +0000
- Add more interface classes
-
- As used in bluez.
- commit 1ce4aa67d849f5cad8a21072dc1c7b42158ce817
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Thu Mar 18 11:32:32 2010 -0600
- Darwin: Cleanup async callback code, catch request timeouts
- commit 68af9f8d731f700267335941a8214d34ab518cc8
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Thu Mar 18 11:31:46 2010 -0600
- Darwin: fix endianness of control setup packet
-
- IOUSBLib expects the control request to be in host byte order.
- Swap the request into host byte order.
- commit cfce4d127184f4e4f334976151a0f80594bb5e22
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Mon Feb 15 14:10:08 2010 -0600
- Darwin: fix memory leak in process_device
-
- Credit to Mike Colagrosso for finding this bug.
- commit 161893cfbefefe315f657677705abe090fc526f2
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Mon Feb 15 14:09:19 2010 -0600
- Darwin: use logging functions
-
- Use usbi_warn, usbi_err, and usbi_info instead of _usbi_log.
- commit 2a72f38548208044dc3aa62681419d006c35732d
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Mon Feb 15 14:07:44 2010 -0600
- Darwin: support multiple calls to libusb_init
-
- Credit to Orin Eman for finding this bug.
- commit a4186794d87124503db2f5f51f51ce90bb95daa7
- Author: Daniel Drake <dan@reactivated.net>
- Date: Sun Nov 22 17:20:53 2009 +0000
- v1.0.6 release
- commit 8392ff22136fccaf1e15d186157609b8dd127bc5
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Sun Oct 25 10:06:41 2009 +0100
- lsusb example: make print_devs() static
-
- lsusb.c:26: warning: no previous prototype for ‘print_devs’
- commit 9cc6bfaa15239bb6db1c1570b9beb6df2f848951
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Sun Oct 25 10:05:10 2009 +0100
- Darwin: fix warning in darwin_error_str()
-
- os/darwin_usb.c:63: warning: return discards qualifiers from pointer
- target type
- commit 4c706d2fb6b2c43b10d72ac5dff51cac4d939f1a
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Sat Nov 21 17:06:43 2009 +0000
- Darwin: allow devices to be opened multiple times
-
- Allows libusb applications to access multiple interfaces of the same
- device in the same application.
-
- Also fixes a set alt interface bug.
- commit 0232fc559cdacb9561f982dd6d28feb4435b3e4e
- Author: Daniel Drake <dan@reactivated.net>
- Date: Sat Nov 21 17:01:32 2009 +0000
- Increase libusb_handle_events() timeout to 60 seconds
-
- The internal timing seems to be working, this will be a better test of
- it before we make this timeout unlimited.
- commit 0bd7ef5d8697973a026c36c15d6276177b4ec4ea
- Author: Daniel Drake <dan@reactivated.net>
- Date: Sat Nov 21 16:57:25 2009 +0000
- Refine timerfd header check (#18)
-
- Require glibc-2.9 for the working timerfd support.
- commit 90d8fcab9018b8e6887a7e0592d1e5f692117234
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Nov 15 12:17:13 2009 +0000
- v1.0.5 release
- commit 11d591058e3f105b0e90c23bbf58b18de691e690
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Nov 7 10:43:59 2009 +0000
- Update documentation about early completion caveats
- commit f796c9528a71aa55326b6f0c9c7c5ec073d2bf92
- Author: Ludovic Rousseau <rousseau@debian.org>
- Date: Sun Oct 25 09:59:51 2009 +0100
- Add libusb_get_max_iso_packet_size() to libusb.h
-
- core.c:777: warning: no previous prototype for 'libusb_get_max_iso_packet_size'
- commit 4783008b7e711de9cb31631e60dda995f44068de
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Oct 28 20:33:49 2009 +0545
- Use timerfd for timeout handling
-
- Use a new file descriptor from the timerfd system calls to handle
- timeouts. On supported systems, this means that there is less hassle
- figuring out when the poll() timeout should be, since
- libusb_get_next_timeout() will always return 0 and the timeout events will
- be triggered as regular activity on the file descriptor set.
-
- Add API function libusb_pollfds_handle_timeouts() to detect whether
- you're on a platform with the timing headache, and flesh out the
- surrounding documentation.
- commit 9b120c2b3735566533c179aa8ca758fe45899a38
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Nov 7 10:03:07 2009 +0000
- Use AM_SILENT_RULES for building
- commit ef6ea6c3ae38e4524f10e16e8cb88177d39c4826
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Nov 6 21:54:08 2009 +0000
- v1.0.4 release
- commit 217f57617e0cff0d1bd6d726b243f04c6b179773
- Author: David Moore <dcm@acm.org>
- Date: Fri Nov 6 21:37:25 2009 +0000
- Linux: Add support for the new URB_BULK_CONTINUATION flag
-
- Add support for the new USBDEVFS_URB_BULK_CONTINUATION flag to libusb.
-
- This flag, which is expected to be available in usbfs starting with
- kernel 2.6.32, allows the kernel to cancel multiple URBs upon receipt
- of a short packet. This capability allows libusb to preserve data
- integrity of large bulk transfers that are split into multiple URBs.
- Without this support, these URBs must be canceled in userspace upon
- receipt of a short packet, a race condition against future transfers
- which might partially fill these canceled URBs.
-
- This patch automatically detects whether a supported kernel is present
- and enables the use of the flag when possible.
-
- [dsd: tweaks to supported kernel detection, and some inline
- documentation of this mechanism]
- commit 69830057547396f893f0d7b3125a05d016313b10
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Oct 28 15:13:22 2009 +0545
- Transfer locking
-
- At least on Linux, there were some possible races that could occur if
- a transfer is cancelled from one thread while another thread is handling
- an event for that transfer, or for if a transfer completes while it is
- still being submitted from another thread, etc.
-
- On the global level, transfers could be submitted and cancelled at the
- same time.
-
- Fix those issues with transfer-level locks.
- commit 98f1b30d24359cb3185051b8df9ebb663cc10369
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Sep 14 08:01:24 2009 +0100
- Clarify that timeout 0 means unlimited timeout
- commit 858684f0dd25921e09565034a88709dbf6f6c61b
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Sep 11 22:09:12 2009 +0100
- Linux: more flexibility with monotonic clock
-
- Some users have reported that CLOCK_MONOTONIC does not work on their
- systems - I suspect it is available on x86 but perhaps not some
- of the more uncommon architectures. We should fall back on
- CLOCK_REALTIME in these cases.
-
- Also, CLOCK_MONOTONIC_RAW seems even more monotonic, so we should use
- that if it is available.
-
- We now test different clock IDs during initialization to find the
- best one that works.
- commit fe0d8dce1ed704915d501e7da700440c78144211
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Fri Sep 11 18:00:29 2009 +0100
- Darwin: handle overflows
- commit f46716f42040986203fa6e873bfdabe1be2900ec
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Aug 27 21:14:54 2009 +0545
- v1.0.3 release
- commit 5b489b8b2a5aba7b8b804e5af6d2628735548238
- Author: Toby Peterson <toby@macports.org>
- Date: Sun Aug 23 10:04:59 2009 +0545
- Darwin: 64-bit type fixes
- commit ad8ae04d0b52009af0b1180e005f7554d2bbb26c
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Sun Aug 23 10:02:55 2009 +0545
- Darwin: fix crash when reading descriptors after close
-
- Fix a crash which occurs if the user does the following sequence on a
- device: open, close, get_configuration_descriptor.
- commit 45ae2aecf5512dcff059b2a416534e81c6a00c88
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Aug 1 13:55:15 2009 +0545
- move bug info to bug tracker
-
- Protection needed: http://www.libusb.org/ticket/4
- Losing data: fixed in previous commit
- commit 126129e174062c2a27423817a459e5113f777789
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Jul 9 22:09:04 2009 +0100
- Linux: try harder not to lose any data
-
- We would previously lose any data that was present on a cancelled URB.
- Work harder to make sure this doesn't happen.
- commit 0334ee642b47dfe1ca9db64b22e7702ea14b3f09
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Jun 28 19:49:10 2009 +0100
- Add libusb_get_max_iso_packet_size()
-
- As pointed out by Dennis Muhlestein, libusb_get_max_packet_size()
- doesn't really do what the documentation might suggest because it
- does not consider the number of transaction opportunities per
- microframe.
-
- Add a new function to do what is useful for isochronous I/O.
- commit 615f18e64e96ae4ecc8e43d0de00933059a5209a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jun 20 22:33:21 2009 +0100
- Linux: fix sending of zero length bulk packets
-
- Note that there are is a kernel bug preventing this from working
- properly at the moment, even after this fix.
- commit 86f79fbf61c2018bdf009c7ebf92b38f3a16fd0c
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Fri Jun 19 22:18:44 2009 +0100
- Darwin: Don't cancel transfers on timeout
-
- ...because the OS does this for us.
- commit d4bd9ed4de19a9c766f7a23eea8c852cdd61c18f
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Jun 14 19:23:21 2009 +0100
- Don't terminate enums with commas
-
- g++ -pedantic doesn't like this
- Reported by Eberhard Mattes
- commit 8be256082eb9bd8e243d89529f742926bb29a21b
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jun 13 17:19:07 2009 +0100
- v1.0.2 release
- commit 060e006e663fd59c281be29b71eb197e02b210e8
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Jun 10 21:42:05 2009 +0100
- Linux: fix config descriptor parsing on big-endian systems
-
- Multi-byte fields in the configuration descriptors that come back from
- usbfs are always in bus endian format.
-
- Thanks to Joe Jezak for help investigating and fixing this.
- commit c4a905022f684da9a4a853eb9232a81a53df2652
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Sun Jun 7 22:29:35 2009 +0100
- Darwin: improve handling of disconnected devices
- commit 6b69f54451762ef590b9c938ab000c07cf9099a3
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Sun Jun 7 22:26:37 2009 +0100
- Darwin: fix parsing of config descriptors
-
- This was a confusion between configuration numbers and zero-based
- configuration indexes.
- commit 2b3a9ffa776b383cb2dbc3c55e490e32e4c3c22b
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Jun 7 22:19:53 2009 +0100
- Eliminate -Wsign-compare compiler warnings
-
- This was due to an API inconsistency which can be safely worked around.
- Hopefully we'll remember to fix the API next time we come to break
- things.
- commit cad5cb55c37137e94e35c74fdabfe42a5cbd229b
- Author: David Moore <dcm@acm.org>
- Date: Wed May 27 23:15:54 2009 -0700
- Make synchronous transfer APIs robust against signal interruption
-
- libusb_control_transfer and libusb_bulk_transfer are designed to be
- synchronous such that control is not returned until the transfer
- definitively succeeds or fails. That assumption is violated if a signal
- interrupts these functions because there is no way for the application
- to continue waiting for the transfer without resubmitting it. This
- patch changes these synchronous APIs so they do not abort in the case of
- a signal interruption.
-
- Signed-off-by: David Moore <dcm@acm.org>
- commit b501795985a23109f176d296e7b544b4c6354528
- Author: Alex Vatchenko <alex@fabulatech.com>
- Date: Thu May 28 15:58:50 2009 -0400
- pre-gcc-3.4 compatibility
-
- The -fvisibility and -Wno-pointer-sign options are not available on
- old GCC versions.
- commit 00bb2805e994887f0a754a825c3ce03d22393386
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue May 26 15:53:26 2009 -0400
- Fix memory leak in config descriptor parsing
-
- Pointed out by Martin Koegler.
- commit 068ff5b8a83fec0a9a91c80535a25b89a9ae64e8
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue May 12 19:20:51 2009 -0400
- Update AUTHORS
- commit aa24c04e4043e39674b59ff0d302b2365cd0078f
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue May 12 19:03:37 2009 -0400
- v1.0.1 release
- commit 44767677447fae4267131f99c591b14117486cac
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue May 12 19:01:44 2009 -0400
- Add BUGS file
-
- Probably missed a couple of outstanding issues
- commit e0365a6f22e0e7f330ac931df031cf6f17f453d1
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Sun Mar 22 21:13:29 2009 -0400
- Darwin: get_config_descriptor bugfixes
- commit 5fd0e8478240fece646a58a3c6114001a73be99f
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Feb 25 12:33:33 2009 -0300
- Fix compilation of Darwin backend
-
- My fault. Reported by ihryamzik@gmail.com
- commit b49f6bf5c910d0fd694ecf165d7927673707bff9
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Mon Feb 16 21:39:29 2009 -0300
- Darwin backend
- commit d859158581e9a3250f36cdeeb8ea67cda04053bd
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Mon Feb 16 21:30:49 2009 -0300
- Make endianness macros endian-independent
-
- Implementation suggested by David Moore. Needed for proper universal
- code support on Darwin.
- commit 9196f58bdc8b9e967261df39865215faa5d39cfa
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Mon Feb 16 21:25:18 2009 -0300
- Abstract clock reading into OS layer
-
- This will differ on Linux and Darwin, at least.
-
- [dsd: minor style tweaks]
- commit e91207860cac09b3afaafc4c14221b78d585c59a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Feb 16 21:20:28 2009 -0300
- Fix endianness in device descriptors
-
- Pointed out by Nathan Hjelm.
- commit ccf6d3d2f6acf9b9a1cb5e1f1b03f382ae509b17
- Author: Nathan Hjelm <hjelmn@mac.com>
- Date: Mon Feb 16 21:13:52 2009 -0300
- Only link with librt on Linux
-
- [dsd: tweak configure.ac change]
- commit 894539931e4b4bd85708fe98b956049243cd6fb0
- Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
- Date: Mon Jan 26 00:31:48 2009 +0100
- API docs: describe libusb_transfer_cb_fn type
-
- Add some text describing the libusb_transfer_cb_fn function type
- with the semantics I have gathered from reading other parts of
- the API docs, referring to the proper section for more details.
-
- [dsd: tweaked the description slightly]
- commit abe34a2656f8f9f21e53603796c536585e6233ef
- Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
- Date: Sun Jan 25 18:21:59 2009 +0100
- Make empty array in struct compatible with C99
-
- If the compiler is known to be running in C99 mode,
- use "flexible array members" ("foo[]").
-
- If the compiler is running in any other mode, continue
- using the non-standard but widely common "foo[0]" syntax.
- commit 620075c7400764d9bb539b5c02065c45c2e8251e
- Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
- Date: Sun Jan 25 18:20:45 2009 +0100
- Avoid signedness errors in API docs example code
- commit c754ae294cfe96ec4738d6641137c9e6c56330c7
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jan 17 00:25:40 2009 +0000
- Decrement poll() result when internal pipe has been handled
-
- When we receive data on the internal control pipe, we need to correctly
- decrement the number of ready file descriptors before passing on the
- remaining work to the OS implementation.
- commit b9ca960f2ba271d2b1a58e22b7c70464d69f6c8a
- Author: David Moore <dcm@acm.org>
- Date: Sun Jan 11 21:46:17 2009 -0800
- Prevent transfer from being submitted twice or improperly canceled
-
- This ensures that tpriv->urbs and tpriv->iso_urbs are always set to NULL
- whenever a transfer is not submitted. In this way, submit_*_transfer()
- and cancel_*_transfer() can error check to ensure that the transfer is
- in the correct state to be either submitted or canceled, preventing
- potential memory leaks or double frees.
-
- Signed-off-by: David Moore <dcm@acm.org>
- commit d2a8ec2da8abcd8f4648ed118da16191011982dd
- Author: David Moore <dcm@acm.org>
- Date: Wed Jan 7 22:31:09 2009 -0800
- Linux: Fix race condition in cancel_bulk_transfer()
-
- This fixes a race condition in cancel_bulk_transfer(). In the old
- version, awaiting_reap and awaiting_discard are incremented in
- cancel_bulk_transfer() and decremented in handle_bulk_completion().
- However, since these events may take place in two different threads,
- these variables may reach zero before all URBs have been canceled,
- triggered spurious callbacks and duplicate frees.
-
- This changes the logic to use a single variable "num_retired" to replace
- both awaiting_reap and awaiting_discard. num_retired is incremented
- only in handle_bulk_completion() and thus there is no race. The handler
- will know that all URBs have been canceled when num_retired becomes
- equal to num_urbs.
-
- This change also simplifies a great deal of the logic in both functions
- and is a net reduction in the amount of code.
-
- Note that some variables such as "reap_action" probably need to still be
- protected by a mutex, and this patch does not address that issue.
-
- Signed-off-by: David Moore <dcm@acm.org>
- commit 34b9eebe35d8167d43cffb6ad6175f6b2251b572
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Dec 13 20:06:49 2008 +0000
- v1.0.0 release
-
- It's here!
- commit b1d636dde418dc8fe6a8f037dea0d800e57c6b94
- Author: Mikhail Gusarov <dottedmag@dottedmag.ent>
- Date: Wed Dec 10 15:24:05 2008 +0600
- EOL-whitespace fixes
-
- Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.ent>
- commit 4a9ac382ba5149ae5b3d0962d6a840b5e0dc13aa
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Dec 9 21:43:37 2008 +0000
- Linux: fix reading of active configuration
-
- Shannon Chuang pointed out that we only read 1 byte into an
- uninitialized integer, and then return the whole thing.
- commit 81a7310d92461ba7b1d98aeff7c4c007fab07120
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Dec 9 21:39:11 2008 +0000
- Fix double free in descriptor parsing error path
-
- Pointed out by Shannon Chuang.
- commit 9b4b53453db56ba9c1d707a645bbe6c7a02a3c81
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Nov 21 13:28:32 2008 +0000
- Improvements to multi-threaded I/O system
-
- Documentation brushed up, and I realised that another function is
- needed for tight event handling loops -- they must be able to check
- if an open/close operation is trying to interrupt it.
- commit 0e5b0fcb77a90b8bd95ad23669da472af31ef069
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Nov 21 11:00:47 2008 +0000
- SourceForge website upload system changed
- commit a133875e6e2f52eff53ac03f505d59cbdd33e178
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Nov 21 10:54:57 2008 +0000
- v0.9.4 release
- commit c32aa662769b676ff3247778664fccc71fc427ec
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Nov 20 15:31:10 2008 +0000
- Pause event handling while opening and closing devices
-
- Ludovic Rousseau found that crashes often occur if you close a device
- while another thread is doing event handling.
-
- Fix this by adding an internal control pipe, which the close routines
- use to interrupt the event handler and obtain the event handling lock,
- ensuring that no other thread is handling events while the device is
- closed. After the close completes, it signals all the event handlers
- to start up again using the usual mechanism.
-
- Also modified libusb_open() to do a similar thing, so that event
- handlers are interrupted in order to realise that a new poll fd has
- appeared.
- commit 1d7cf3d0fa8698eae25097cbda1870be90ff6f5e
- Author: Bastien Nocera <hadess@hadess.net>
- Date: Thu Oct 30 14:35:23 2008 +0000
- Add libusb_attach_kernel_driver()
-
- Add support for re-attaching a driver to a device under Linux.
-
- [dsd: fixed handling of return value, and added LIBUSB_ERROR_BUSY case]
- commit 914a4e70657c86b5094770aa2d898c978b1cdf41
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Nov 2 21:45:54 2008 +0000
- Linux: handle low-level transfer errors
-
- Handle more URB error status codes, thanks to Lou and Alan Stern.
- commit d25b566b3b8febafdda4211de724b4727dd4b7e0
- Author: Aurelien Jarno <aurelien@aurel32.net>
- Date: Thu Sep 4 13:50:49 2008 +0200
- Support for out-of-tree building
-
- Contrary to libusb 0.1, libusb 1.0 does not support out-of-tree building
- for the documentation part. This patch fixes that by using a
- doxygen.cfg.in file, which contains @top_srcdir@ to refer to the
- location of the libusb source code.
- commit 8674c67ef78e1cf89db1fa584a4304f7c5ddcc5f
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Nov 2 15:00:39 2008 +0000
- Document the logging style
-
- Suggested by Lou.
- commit 94936cbcfe3f02eb65c8b91e29896604316259d8
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Aug 27 22:44:24 2008 -0500
- Async I/O documentation touchups
- commit 2f8f1b1a900f5b9828e5e2ff93c2b26a44fd9de2
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Aug 27 21:23:10 2008 -0500
- Doc: fix typo in events lock section
- commit 046e681e4ac6b697e40458ee0f5baf3cd8763bb0
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Aug 23 01:00:21 2008 -0500
- v0.9.3 release
- commit fec6eaa4eecdf7e0b8299157a5dabef94417f193
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Aug 23 00:57:44 2008 -0500
- Reset internal transfer flags on submit
-
- This fixes a problem pointed out by Lou, where resubmitting a transfer
- that previously timed out never timed out again, as if the timeout had
- been set to 0.
- commit 81627bd38900ec9701ab69c141aa51a9abea1f60
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Aug 10 17:09:48 2008 -0500
- Add libusb_get_configuration prototype
-
- Pointed out by Lou
- commit 1631eaefcc7cdf7047c6b9225618a9aa1b3d87d1
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jul 19 17:51:28 2008 -0500
- v0.9.2 release
- commit 0d9c40d7f3eee15ada624b5caab2cfb912144fdc
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Jul 16 09:22:12 2008 -0500
- Linux: fix sysfs directory handling
-
- The length of the directory name varies, e.g. when you have nested hubs.
- Use dynamic allocation to be able to deal with any length of name.
- commit 66c9847ad54b126ccafd4877292454ab57d0c115
- Author: David Engraf <dogge2k@gmx.de>
- Date: Wed Jul 16 09:16:38 2008 -0500
- Linux: correct usage of MAX_PATH
-
- Thanks to clarification from Artem Egorkine, MAX_PATH already includes
- space for the trailing NULL.
- commit 6494f07a6d1b73ce786ae581c4ff691e39e61d19
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Jul 8 21:15:54 2008 -0500
- Linux: fix bulk/iso transfer double-cancellation
-
- Reset counters to 0 so that it's possible to cancel a transfer twice
- without breaking things. Not sure that I want to support this properly,
- but this makes it work at least.
- commit 9140f5b414e37a3714cde9c6d6c87c963338a83a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jun 28 21:28:44 2008 -0500
- v0.9.1 release
- commit 83a029062c1d2bfb584d7a6ee94915583d37464c
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jun 28 21:24:49 2008 -0500
- Add missing GET_CONTEXT()
- commit fbad9a5426f0369394c88987355a8fb06a741ca1
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jun 28 21:18:41 2008 -0500
- Linux: Compatibility with new sysfs descriptors file
-
- As of 2.6.26, the descriptors file now includes all descriptors, not
- just the active one.
- commit 819e65f880ca43526036e56c65c415042c91f58f
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Jun 26 22:47:05 2008 -0500
- Allow user data pointer to be passed through pollfd notification API
- commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Jun 24 23:01:51 2008 -0500
- Introduce contexts to the API
-
- Suggested by David Zeuthen. This allows multiple libraries in the same
- process to independently use libusb without interfering.
- commit 9818151c60a85aea6af24cb0996a92c3726c9864
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Jun 24 21:31:13 2008 -0500
- Revert "Temporary workaround for event handling serialization issue"
-
- This reverts commit 2d3a1111caff40ebb87983c861ff548cdc9e5946.
- This was based on the assumption that dying threads would automatically
- release mutexes, which is not the case.
- commit d5f82893fab3f1c13b1af4ba17aac72479bad7d5
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Jun 20 23:04:53 2008 -0500
- Overflow handling
- commit 546dee211eefbdd280fd1fc9dee84a9b52105078
- Author: Artem Egorkine <arteme@gmail.com>
- Date: Tue Jun 17 18:27:38 2008 -0500
- a fix for SIGSEGV in handle_bulk_completion()
-
- We cannot dereference tpriv after calling
- usbi_handle_transfer_cancellation() because that function may invoke
- the user-supplied callback which may free the transfer.
- commit 947ba8056456a5215724fb502e3e09d50016f699
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Jun 16 22:50:50 2008 -0500
- Refine configuration selection again
-
- At Alan Stern's suggestion, just offer the bare "set configuration" and
- "get configuration" functionality, and let applications worry about the
- specific race conditions and unusual situations.
- commit e7a7a49d0331ee0e14145f6e7ec39763b36314ac
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Jun 15 15:29:38 2008 -0500
- docs update
-
- Add a THANKS file, make copyright notices easily accessible, update TODO
- commit 217534e4b396081e038ee5f94c813d1668963673
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Jun 15 15:23:29 2008 -0500
- round up poll timeout
-
- Pointed out by Richard Röjfors, otherwise we end up busy-looping with
- a poll() timeout of 0.
- commit 5ad79b324bc5e11a75a585398a1e81c26f05e758
- Author: Felipe Balbi <me@felipebalbi.com>
- Date: Sun Jun 8 12:34:48 2008 +0300
- fix doc about libusb_open()
-
- libusb_open() returns int instead of libusb_device_handle.
-
- Signed-off-by: Felipe Balbi <me@felipebalbi.com>
- [dsd: small correction]
- commit 2d3a1111caff40ebb87983c861ff548cdc9e5946
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu May 29 17:26:26 2008 +0100
- Temporary workaround for event handling serialization issue
-
- Ludovic Rousseau pointed out that libusb_unlock_events() is not called
- when a thread gets terminated with a signal, meaning that event waiters
- will not be woken up in this case.
-
- Add a temporary hack to libusb_event_handler_active() so that at least
- the other threads will realise on the next iteration of their event
- handling loop.
-
- The real fix will likely involve reworking most of this.
- commit 514bb8790cfe8b93ccfff82bc17081b1030acce0
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu May 29 12:35:01 2008 +0100
- Refine libusb_set_configuration() semantics
-
- Applications will generally want to set a configuration before claiming
- interfaces. The problem is that the interface may already be set, and
- someone else may have claimed an interface (meaning that all calls to
- set_configuration will fail, even if it's for the same configuration).
-
- There are now 2 options:
- 1. Use the new libusb_get_configuration() to determine active
- configuration before calling libusb_set_configuration()
- 2. Or just call libusb_set_configuration() as usual, which will do
- nothing if that configuration is already active.
- commit d1292f8e7300051239a7ed2769d221dc7a6f9fca
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 25 23:42:42 2008 +0100
- v0.9.0 release
-
- First libusb-1.0 beta release
- commit 4cd249388e4ed2ca03f1263984ab67df5030bb65
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 25 22:59:09 2008 +0100
- Take lock before raising event waiters condition
-
- This avoids a race between the user checking for active event handler
- and then blocking on the condition variable
- commit 7c525480ab3c4db9205bfe30bb0d2bef9096c444
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 23 15:57:07 2008 +0100
- Implement serialization of event handlers
-
- Now offers a mechanism to wait for events while another thread is
- doing the event handling. Complicates things for MT async apps, but
- then again it's a bit of a tricky combination to start with.
- commit ff0660a415ecfd0879600eaad1c5899b6d93a30a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 24 21:28:31 2008 +0100
- allow LIBUSB_DEBUG env var to control message verbosity at runtime
-
- Based on ideas from Ludovic Rousseau
- commit 4d788967e3f8d75eaf3a1ac1ee8e2e8bed0601c1
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 23 15:58:11 2008 +0100
- don't print messages by default
-
- Add libusb_set_debug() API to set message verbosity.
-
- Ludovic Rousseau pointed out that applications may close stdout/stderr
- descriptors, which might then be reused.
- commit bef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 19 15:43:27 2008 +0100
- Fix memory leak in libusb_control_transfer
-
- Pointed out by David Engraf: we weren't freeing the transfer buffer
- commit a345bacb6f07ebb2122402041a9e8092d4a20a4d
- Author: David Engraf <david.engraf@netcom.eu>
- Date: Mon May 19 15:16:32 2008 +0100
- Linux: fix handling of ioctl failure
-
- The return value of some ioctl commands in linux_usbfs.c are not
- handeled correct. The ioctl function returns != 0 and errno is set with
- the error code.
- commit e44396a458ecea9e5edd9a7577e617571c76860d
- Author: David Engraf <david.engraf@netcom.eu>
- Date: Mon May 19 15:13:38 2008 +0100
- critical memory leak in handle_events
-
- This patch closes a critical memory leak in handle_events. The fds
- variable is malloced but never freed. When I'm calling
- handle_events with a timeout of 0, my system runs out of memory after a
- few seconds.
- commit eb25630f52bc9848b444e439632c899977d887b0
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 16 23:50:20 2008 +0100
- More informative libusb_open() return code
-
- Hopefully one of the last API tweaks...
- commit 2b2e9c40b195261b09ac52ebdb93eef25c79de90
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 16 22:37:56 2008 +0100
- Fix endianness with descriptor handling
-
- Alan Stern pointed out that usbfs gives host-endian data, but sysfs gives
- bus-endian.
- commit 1298c51f516a7bf04ca9add1b7db14417cdc66f3
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 12 18:46:37 2008 +0100
- Backend documentation for porting efforts
-
- Hopefully comprehensive enough for people to get started.
- commit ade26afc42c34ceb1c45afcadd2ea5e8240eaca4
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 12 15:43:30 2008 +0100
- Linux: fix caching of guessed configuration
-
- Reported and tested by Xiaofan Chen
- commit e25d590a9198995b4f0b6afeb41ecae318715e7e
- Author: Rob Walker <rob@tenfoot.org.uk>
- Date: Sun May 11 21:14:18 2008 +0100
- Linux: fix bulk transfer early completion
-
- We were forgetting about the remaining urbs when a non-final urb
- completed early.
-
- [dsd: some touchups and a warning message for a corner case that we don't handle]
- commit fec7c84163e25b8f811632828334d75da82bcb16
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 11 20:31:58 2008 +0100
- Handle hot-unplugging
-
- This involved moving from select() to poll() because there is no way to
- distinguish usbfs's POLLERR condition with select().
- commit aeb905fa5d78cdbba80a680aa7a2bb7338f27f65
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 11 16:04:35 2008 +0100
- Documentation work
- commit ba5d9a45c06311204f51faef41d1ee215bb5b823
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 11 15:36:24 2008 +0100
- Endianness of control setup packets
-
- Document behaviour where host-endian and bus-endian (little) should be
- used respectively.
-
- Also remove packed attribute from libusb_control_setup as all fields
- are naturally aligned.
- commit 7bedc3b2683f35ee1dd39a2ebe0ec05be0019f38
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 11 15:11:59 2008 +0100
- Document that releasing interface causes SET_INTERFACE control request
- commit f2ede9876cd4f5cfa7751b975670fa449187fe3d
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 10 21:45:42 2008 +0100
- Support unconfigured devices
- commit 8ebb4ccdfaf5f095a1c38787d909d280ea64405c
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 10 20:56:44 2008 +0100
- Linux: fix caching of active configuration for non-sysfs
- commit c3844f7aeb2176636ce6e6ef697659fdb0b30048
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 10 14:42:43 2008 +0100
- Fetch configurations by index (not value)
-
- Otherwise there is no way to know which values to look for.
- commit d77052c0d630e33737c38d601fd633155f6b2229
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 10 00:12:53 2008 +0100
- Linux: comprehensive sysfs vs usbfs access
-
- Be more flexible when certain parts of sysfs are not available.
- commit 74bc842bac1a32a26323da6c3e8af2f66e1b5cfa
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 9 19:38:13 2008 +0100
- Linux: no need to store usbfs node path
-
- This can be computed from bus number and device address
- commit fe4adcc99e30115204ab832ad3e0170c9aca7629
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 9 14:34:31 2008 +0100
- Rework configuration handling
-
- libusb no longer caches descriptors in libusb_device but backends are
- intended to be able to provide copies from memory. In the common linux
- case we can use sysfs.
- commit 5741bfe01a2481b8c3830c80edc3637bf62a7e16
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 9 14:36:14 2008 +0100
- libusb_get_device_list() can return negative error code
- commit 45413101b78298e9332b22a34bc6bc159000ad8a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu May 8 23:09:21 2008 +0100
- Linux: fix clear_halt implementation
-
- The ioctl expects an integer.
- Bug found with the assistance of Soumen Mondal
- commit 10d4e427cc171dfd6ad7f43a33ce3cfebcd7aa04
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu May 8 23:04:52 2008 +0100
- Documentation work
-
- Partially based on some libusb-devel discussions
- commit ded0a249322571a075e3ed3528021864247dfa55
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 5 22:57:48 2008 +0100
- Linux: enumerate devices and descriptors from sysfs
-
- Suggested by Alan Stern. This avoids waking up any suspended USB devices.
- sysfs is not available on all systems, so the usbfs mechanism is still
- in place as a fallback.
- commit 885c2a5de69d6b7d8902bb55d6d83680a5a1a6e5
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 5 21:34:31 2008 +0100
- documentation touchups
- commit 59c205d542b43d79fe28622dbe8f03a3a3300b6f
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 5 21:17:03 2008 +0100
- more error code sanitization
- commit 88055d4b5913102a90ff666f75fd922c74860dc5
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 5 20:57:43 2008 +0100
- Isochronous transfer helper functions
- commit a95c943ed301dcd20e92b0b3b255568899a4c42e
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 5 17:54:33 2008 +0100
- free open devices on exit
- commit b27fff633843824744df7d334cb89ece329cafa6
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 5 17:47:49 2008 +0100
- move descriptor parsing into main library
-
- OS modules now provide functionality for fetching device/config
- descriptors
- commit a304eca71f22c6df7d70a901483b30f1b8e93378
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 5 16:22:33 2008 +0100
- Detect endpoint halts and unsupported control requests
- commit 7da521954ba661d3f537440c31a84b66e974d56b
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon May 5 01:00:31 2008 +0100
- Linux: fix logical URB allocation
-
- We were allocating the wrong number of URBs for transfers of size
- multiples of 16k.
- commit 470b1bc42bf53373ce678fc76bab9160a54d6881
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 4 16:51:23 2008 +0100
- add functionality for querying and detaching kernel driver
- commit 17ecfb0ecc833596c43755c80d461cddb9b3b0d7
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 4 16:20:46 2008 +0100
- Descriptor reading functionality
- commit bdce367d1bd8691465844b2411c85215498f517d
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 4 14:22:16 2008 +0100
- sanitized error returns from synchronous I/O functions
- commit bfe74e9cd9c17a40fff042ea0647326f51cfecae
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 4 14:10:19 2008 +0100
- implement libusb_reset_device()
- commit c01f744ce07bbeccbe353e956479f0cc5a811a6f
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 4 13:46:41 2008 +0100
- Add functionality to clear endpoint halt conditions
- commit 5878daa85e3364bb3885190425d4f9deaa2d8c36
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun May 4 00:51:59 2008 +0100
- Fix libusb_get_device_list return value
-
- It was documented to return the list length, but was returning 0.
- commit a74106a9b48b88bae0e099be34a18d653a8f1238
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 3 16:50:58 2008 +0100
- Well-defined error codes for some operations
-
- Also renamed set_interface_altsetting to set_interface_alt_setting for
- better consistency
- commit 0f463fe671455670efcf4a93e526b2a9082b0afe
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 3 16:24:11 2008 +0100
- Add libusb_set_configuration()
- commit e65608994f795f97e4d6adac20329ca08709db2d
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 3 15:40:23 2008 +0100
- rename LIBUSB_ERROR_NOMEM to LIBUSB_ERROR_NO_MEM
- improves consistency
- commit 5384bbf300779e7936eac9ebd33ee38f5b533f8e
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 3 14:34:54 2008 +0100
- Linux: better EACCES handling
- commit 1936eeeba3f933a078df1005cc7c1533a8ec2bac
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 3 14:26:56 2008 +0100
- Rename reference counting API
-
- This improves consistency with the naming style of other functions
- commit e2f822b4f17342f614ab2455179a80975fca6cb0
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat May 3 14:24:40 2008 +0100
- Linux: use read-only access to enumerate devices and descriptors
-
- Write access is not needed until later.
- Also fix handling of open() error code.
- commit 81204eed3d0a7744b89b68bd90d567b68d191a91
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 2 17:45:23 2008 +0100
- document pollfd notifiers
- commit e20f8281fb7da32587f81b5eea5818af1eab0fe0
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 2 17:33:52 2008 +0100
- Allow multiple interfaces to be claimed
- commit 66685ff25d81a1f1a2a3dbda882d407638d00672
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 2 16:55:36 2008 +0100
- Documentation improvements
- commit 55bce39cbe0c9746a428b66751d1afe551d86381
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 2 12:55:34 2008 +0100
- detect short descriptor reads
- commit f3f17846dcced6b2dc40f899ed6a2aba151c264b
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 2 12:32:46 2008 +0100
- remove "references" and "referenced by" listings in documentation
- commit fbb017dd9a26ce449578482b95157b3c850fa446
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 2 12:32:08 2008 +0100
- Use typedef ptr types in parameters and return types
-
- This is passed through to the docs
- commit 3675e978fb7a1042f8601931255658bcd14a2298
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri May 2 12:28:31 2008 +0100
- Expose bus number and device address
- commit 2012898ffc492317cb428d97077bf5ee0e98e1da
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Apr 29 15:26:46 2008 +0100
- standardised error codes
- commit 0269c75ae3de7acb2dc555e45928750e35fdb320
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Apr 29 13:34:26 2008 +0100
- Fix descriptor handling memory leaks
- commit d3ab4e3bd4068cba41c1e12c4b175018dc3cb343
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Apr 27 23:50:01 2008 +0100
- Rename endpoint_type to transfer_type
-
- Matches the USB specs more closely
- commit 379e90e0fdcef6f4db1849fa0a7fd524407cf564
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Apr 27 23:41:24 2008 +0100
- Remove a FIXME comment
-
- it can't.
- commit 2ddf81420557d016bbcbf28dda0d8d1c64d16264
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Apr 27 23:30:34 2008 +0100
- Fix unlocked flying_transfers list access
- commit 7ac0a405b4c57db42e88cbcba5f135697f03b646
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Apr 27 23:27:04 2008 +0100
- Remove libusb_cancel_transfer_sync
-
- This wasn't a particularly nice API. Cancellation should be handled by
- the completion handler.
- commit a5006fd7b9dae6f1db7969c8744086ba3a7c027b
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Apr 27 19:56:02 2008 +0100
- remove extra timeout check
-
- If select() didn't timeout then don't check for more timeouts
- commit 3bdafaa359d9c65e1af360b5338e1f25528a8066
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Apr 27 19:53:51 2008 +0100
- Documentation touchups
-
- Detail that interrupt polling interval is fixed to endpoint bInterval,
- and that data may be transferred even on a timeout condition.
- commit e12618c79d520955b1abf80a277e881d91907162
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Apr 19 16:17:53 2008 +0100
- add threaded example program
- commit 1fcdb0678b759569db7cd530457dbc0a5f86fb1d
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Apr 18 23:58:54 2008 +0100
- libusb_device mutex protection
- commit 0efd2efa65d5513e5754d717d522b2c5c45332e2
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Apr 18 23:42:40 2008 +0100
- mutex protection for device and handle lists
- commit d2ff2b14a15e5099ff0214502944de30f141a39c
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Apr 18 20:00:31 2008 +0100
- lock flying_transfers during transfer removal
- commit 2569980762cb66804da31e54bef243702da8dfe9
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Apr 18 19:59:56 2008 +0100
- pollfds mutex protection
- commit f5a33e08ec0da51ccb5e95a5adec50c5211a9bf5
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Apr 17 18:24:54 2008 +0100
- flying_transfers mutex protection
-
- This marks the beginnings of thread safety
- commit 85e1994123545125ce0653415d122f9790f8d041
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Apr 17 17:44:28 2008 +0100
- Linux: fix control transfer cancellation
- commit cf9b831f7bfd97ba88721c1d934aeda522f3692c
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Apr 14 20:03:27 2008 +0100
- set correct endpoint type for isochronous transfers
-
- Pointed out by Felix Domke
- commit ad6e2b712c5b54af44424e58a2776686314e26b7
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Apr 11 21:40:07 2008 +0100
- Linux: fire multiple URBs at once for split transfers
-
- This results in a significant performance increase for bulk transfers
- larger than 16kb, and fixes a bug where data would be spliced and mixed
- between two simultaneously submitted transfers to the same endpoint.
-
- It also allows isochronous transfers larger than 16kb to be submitted.
-
- This commit also improves cancellation - the library now understands
- what is going on.
- commit d9b2ce2894ed43d34de6850f2dac50ccabf1db55
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Apr 1 23:28:32 2008 +0100
- Constify some return data
-
- Make it clear that apps should not mess with these structures
- commit 8d809854e2b19c2b7c27ab05e5d76b34e2a5cead
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Mar 30 22:19:00 2008 +0100
- Rename libusb_poll() to libusb_handle_events()
- commit 211f80c9f2a4a58cd2bbf5b7751f45089c8961e7
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Mar 25 16:24:30 2008 +0000
- Isochronous endpoint I/O
-
- Due to variable-sized structures, this involved changing allocation
- mechanism. All transfers must now be allocated and freed through
- libusb.
-
- A synchronous function is missing, and I could do with writing a few
- more helper functions to simplify things.
- commit b1ade6fca668d8aa156d5b5bf3a933f116144dc2
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Mar 23 21:17:32 2008 +0000
- distcheck fix for docs
- commit 62077b7fa5b222e1bb9dea3467585aed69d596e2
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Mar 23 21:13:14 2008 +0000
- Support for changing altsetting
-
- Will probably be suject to later consideration w.r.t. claiming of endpoints
- commit 0499e9f418607b5786ac0c3e97bc46737a609ca3
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Mar 20 21:10:01 2008 +0000
- it's called bmRequestType
- commit 88884ae4bbe721dac117d5190303cb67852fa5d3
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Mar 20 21:07:00 2008 +0000
- Save transfer flags before invoking callback
-
- The callback may free the transfer, in which case we can't read the flags
- after it has returned.
- commit ead09cde6895df0034a685516987ce253575e9a7
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Mar 15 16:35:12 2008 +0000
- API documentation
-
- Hopefully mostly complete. Some constants were renamed and move into
- enums.
- commit 285724cc14ea5f993e2c4c92fe0aaf6c335bc139
- Author: Vasily Khoruzhick <anarsoul@gmail.com>
- Date: Sat Mar 15 13:50:53 2008 +0200
- Fix get_device_list for realloc case
-
- get_device_list can modify pointer passed to it with realloc, but this
- case wasn't handled and caused crash on my machine. Fixed
-
- Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
- commit c0c9432d38b22784070dce3a7874c62c31786a27
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Mar 13 12:36:56 2008 +0000
- Beginnings of cross-platform abstraction
-
- This also includes a libusb_get_pollfds API change
- commit de4c5341d168697baa4c0901c406deb47e78aae7
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Mar 10 18:38:15 2008 +0000
- Add transfer flags
- commit aae05f688dc26a013166ab9436fd25018b49d76a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Mar 10 11:32:15 2008 +0000
- Simplify libusb_fill_control_transfer()
-
- Transfer length can be inferred from the setup packet.
- commit 7c5ea95297c2f3f6afc42f60c1bf1bef777bb1fb
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Mar 10 11:29:24 2008 +0000
- get_device fixup
-
- Rename API away from "devh" and fix implementation to match header
- commit 9e89d1aa82cbe7e21672ee3e2e545238fffc5318
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Mar 9 16:27:06 2008 +0000
- Rename descriptor-getting functions
-
- Based on feedback from Tim Roberts
- commit 283ae96c3ccbcee1c3950fce18ae47093ae8200e
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Mar 9 16:15:02 2008 +0000
- Simplify cancellation API
-
- No need to provide the device here.
- commit ebad1c79688ba603ad017ed0fe2f3c0dc8edd1ad
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Mar 9 16:12:08 2008 +0000
- Rename libusb_dev_handle to libusb_device_handle
- commit 1ac0a7d88f282b6f293c456fac8edb143cbaca3d
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Mar 9 01:01:57 2008 +0000
- Move synchronous I/O implementation to its own file
- commit 66348c90ea4570bf999ac301089e006d0cce1926
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Mar 9 00:58:09 2008 +0000
- Separate transfer allocation and submission
-
- Leads to some hefty API changes. Now we're much more similar to the
- Linux kernel model.
-
- Problems with dealing with asynchronous control transfers are passed
- on to the user, basically you must allocate a buffer, start with the
- setup, and put the data after. This won't make much sense until
- documented (soon...)
- commit d21ebe47ce578c93cd8969be1c933d503e32e5d4
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Mar 8 12:48:35 2008 +0000
- Rework URB API naming
-
- Now refer to everything as "transfers" as consistent with the USB spec
- libusb_transfer is now a kind of transfer handle. To reduce confusion
- with libusb_bulk_transfer and libusb_control_transfer, those have been
- renamed to libusb_{control,bulk}_transfer_request.
- commit fd6fb3cc093ad47271353a0e468d16547f991382
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Mar 8 11:53:33 2008 +0000
- Add fallback on /proc/bus/usb
-
- /dev/bus/usb is a relatively new thing probably not present on every
- system
- commit f3fdf447916289cd92b7190377681894e8ab611a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Mar 8 00:10:16 2008 +0000
- Persistent libusb_device storage
-
- Devices are now assigned a session ID (currently busnum:devaddr) which
- is used to distinguish unique devices.
-
- Now multiple callers of libusb_get_device_list will get the same
- libusb_device structure instances.
- commit 23f8fb8bafeeda93ce234cb40eb7219d2e36c19c
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Mar 6 23:43:57 2008 +0000
- Add convenience function to find and open a device by USB VID+PID
-
- Lots of libusb apps I write are simple test apps not intended to be real
- apps. Having a function available to quickly locate my device will be
- handy in such situations.
- commit 9cfdb494fccac53a4277da7c8b6d15f1a72a4959
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Mar 6 23:25:20 2008 +0000
- Rework device discovery API
-
- libusb_find_devices and libusb_get_devices are no more
-
- libusb_get_device_list obtains a list of libusb_device structures for all
- known devices in the system.
-
- Each libusb_device now has a reference count, defaulting to 1 on
- instantiation. The reference count of 1 refers to the fact that it is
- present in the list in this scenario.
-
- Opening a device adds a pointer to the libusb_device structure in the
- handle, so that also adds a reference. Closing the device removes that
- reference.
-
- The function to free the device list can optionally unref all the devices
- inside.
-
- In future we will make the libusb_device instances all "global" so that if
- the app calls get_device_list twice it actually gets the same libusb_device
- structure references back. This way we can start to track disconnects, and
- we can investigate adding a unique "session ID" to each libusb_device, an
- identifier guaranteed to be unique to that device until reboot.
- commit 77cea822788e024c848c7f554915f771a2dc1e0f
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Thu Mar 6 17:05:04 2008 +0000
- Remove ctrl debug code
-
- This was unintentionally committed
- commit b873521a6f575628d535f89278bb67888004d0ca
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Tue Feb 26 22:11:34 2008 +0000
- Notifications for changes to the fd set
-
- Applications can now be notified when they should start and stop polling
- new file descriptors.
- commit ca66e16a370c828d08a5bc3f9f203db145c81a4c
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Feb 1 12:20:20 2008 +0000
- Fix header installation path
- commit e583100a4086c411093eef5c450880b965df6b1b
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Jan 30 13:24:54 2008 +0000
- TODO update
- commit 637a8d7ff8a11a23588925d9d3003a609bda8075
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Jan 30 13:19:10 2008 +0000
- Remove timers and signalfd
-
- Instead of timers, add a mechanism for informing the parent app when the
- next timeout is due to happen, so that it can call us at that time.
-
- As we no longer use signals, signalfd has also been removed.
- commit 8c56abe2e13ed4dd8c15737c21be7b6b1e5cf2ac
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jan 26 18:16:56 2008 +0000
- Poll usbfs descriptors directly
-
- We don't need to use signalfd for this functionality because we can poll
- the file descriptors for write events.
- commit e3ce855acec33d37dd833bca5dad5e8c3773003a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jan 26 17:26:40 2008 +0000
- Fix dpfp example compilation
- commit 1d41a5cda2fefe826877ee4445199af30aa188b7
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jan 26 17:22:53 2008 +0000
- C++ header safety
-
- Pointed out by JF
- commit 37b7f9a112eb1441d352467f661205b8872d0553
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jan 26 14:03:43 2008 +0000
- Only use -fgnu89-inline when supported
-
- J F pointed out that this option only works on gcc 4.3 and newer.
- commit e3a09ca0b9cb6f46d54a0130f678c6097240a2bd
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sat Jan 5 21:59:40 2008 +0000
- Remove more fpusb remnants
- commit dcd5e0075fa84601d997d29bb60bc8370b97a375
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Jan 4 01:19:07 2008 +0000
- TODO update
-
- Start listing the things I want to discuss/reconsider before 1.0 API
- is final.
- commit de53d972ed9c1f21f86ffd585560520e986f212c
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Jan 4 01:17:06 2008 +0000
- Rename some _devh_ functions
-
- Decided against naming functions in this style based on advice from
- Tim Roberts. Still not really sure about devh naming in general.
- commit 132d84bf8ae34bd0892b3d8207a53d87cc0a9cba
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Jan 4 01:13:25 2008 +0000
- Use "transfer" instead of "msg"
-
- Based on a discussion with Tim Roberts.
- commit ea6af58a8643137eb01eeb7d2f65404e390feb1b
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Jan 4 00:57:00 2008 +0000
- Plural of bus is busses
-
- SF #1633043
- commit dbb3fd871e3972b4e670f3161e7cd2f58f357600
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Jan 4 00:54:57 2008 +0000
- API renaming: remove fpi and usb_ stuff
-
- fpi changed to usbi.
-
- We should not expose structures with prefix "usb_" in the public
- namespace as it is quite likely there will be some conflict somewhere.
- Instead, using "libusb_" should be safer.
- commit e9364d72151ae1de9cce4175f330fe1529f02511
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Fri Jan 4 00:40:49 2008 +0000
- Rename to libusb-1.0
-
- I've taken over the libusb project, and what was previously known as fpusb
- will eventually be released as libusb-1.0.
- commit f4ed0b6a3e0a20555fdfc9e9b8be7e8a2c8ae192
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Dec 30 22:09:50 2007 +0000
- Compiler flags update
-
- Also fix some warnings
- commit d3d671efe27491baf1d2ceadbfeeb4e7428d6f9a
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Dec 30 22:05:17 2007 +0000
- Fix signalfd structure size on x86
-
- ptr is a 64-bit value
- commit dfac6756faad76071a92945e3e3a16b8a841a7ea
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Dec 12 23:32:54 2007 +0000
- Don't pass ctrl_msg/bulk_msg structures through async paths
-
- These are easiest to construct on the stack, but in the async case it is
- likely that the submitting function returns (hence stack is destroyed)
- before URB completion.
- commit a8d2881eb7c273892acf2ff6e1f3f552631d1d11
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Dec 3 23:29:22 2007 +0000
- Add functionality to access device descriptors
- commit b5a7a411087b37a6bf56b4688a9e3290daaed153
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Mon Dec 3 22:27:21 2007 +0000
- Rename fpusb_device_handle functions to devh
-
- Prevents confusion with functions that work on fpusb_dev structures.
- commit eacf4505a473df0f521d1b69d5b45448f0709e2d
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Sun Dec 2 23:16:57 2007 +0000
- Add API to access poll fd
-
- Almost forgot... :)
- commit 852bba4754ec57679c823f33e8feba6e4a564cbe
- Author: Daniel Drake <dsd@gentoo.org>
- Date: Wed Nov 28 13:48:45 2007 +0000
- Initial commit
-
- Basic library structure which supports enumerating detected USB devices
|