1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992 |
- /*
- * ndis.h
- *
- * Network Device Interface Specification definitions
- *
- * This file is part of the ReactOS DDK package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * DEFINES: i386 - Target platform is i386
- * NDIS_WRAPPER - Define only for NDIS library
- * NDIS_MINIPORT_DRIVER - Define only for NDIS miniport drivers
- * NDIS40 - Use NDIS 4.0 structures by default
- * NDIS50 - Use NDIS 5.0 structures by default
- * NDIS51 - Use NDIS 5.1 structures by default
- * NDIS40_MINIPORT - Building NDIS 4.0 miniport driver
- * NDIS50_MINIPORT - Building NDIS 5.0 miniport driver
- * NDIS51_MINIPORT - Building NDIS 5.1 miniport driver
- */
- #ifndef _NDIS_
- #define _NDIS_
- #ifndef NDIS_WDM
- #define NDIS_WDM 0
- #endif
- #include "ntddk.h"
- #include "netpnp.h"
- #include "ntstatus.h"
- #include "netevent.h"
- #include <qos.h>
- typedef int NDIS_STATUS, *PNDIS_STATUS;
- #include "ntddndis.h"
- #if !defined(_WINDEF_H)
- typedef unsigned int UINT, *PUINT;
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef __NET_PNP__
- #define __NET_PNP__
- typedef enum _NET_DEVICE_POWER_STATE {
- NetDeviceStateUnspecified = 0,
- NetDeviceStateD0,
- NetDeviceStateD1,
- NetDeviceStateD2,
- NetDeviceStateD3,
- NetDeviceStateMaximum
- } NET_DEVICE_POWER_STATE, *PNET_DEVICE_POWER_STATE;
- typedef enum _NET_PNP_EVENT_CODE {
- NetEventSetPower,
- NetEventQueryPower,
- NetEventQueryRemoveDevice,
- NetEventCancelRemoveDevice,
- NetEventReconfigure,
- NetEventBindList,
- NetEventBindsComplete,
- NetEventPnPCapabilities,
- NetEventPause,
- NetEventRestart,
- NetEventPortActivation,
- NetEventPortDeactivation,
- NetEventIMReEnableDevice,
- NetEventMaximum
- } NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
- typedef struct _NET_PNP_EVENT {
- NET_PNP_EVENT_CODE NetEvent;
- PVOID Buffer;
- ULONG BufferLength;
- ULONG_PTR NdisReserved[4];
- ULONG_PTR TransportReserved[4];
- ULONG_PTR TdiReserved[4];
- ULONG_PTR TdiClientReserved[4];
- } NET_PNP_EVENT, *PNET_PNP_EVENT;
- #endif /* __NET_PNP__ */
- #if !defined(NDIS_WRAPPER)
- #if (defined(NDIS_MINIPORT_MAJOR_VERSION) || \
- (defined(NDIS_MINIPORT_MINOR_VERSION)) || \
- (defined(NDIS_PROTOCOL_MAJOR_VERSION)) || \
- (defined(NDIS_PROTOCOL_MINOR_VERSION)) || \
- (defined(NDIS_FILTER_MAJOR_VERSION)) || \
- (defined(NDIS_FILTER_MINOR_VERSION)))
- #error "Driver should not redefine NDIS reserved macros"
- #endif
- #if defined(NDIS_MINIPORT_DRIVER)
- #if defined(NDIS620_MINIPORT)
- #define NDIS_MINIPORT_MAJOR_VERSION 6
- #define NDIS_MINIPORT_MINOR_VERSION 20
- #elif defined(NDIS61_MINIPORT)
- #define NDIS_MINIPORT_MAJOR_VERSION 6
- #define NDIS_MINIPORT_MINOR_VERSION 1
- #elif defined(NDIS60_MINIPORT)
- #define NDIS_MINIPORT_MAJOR_VERSION 6
- #define NDIS_MINIPORT_MINOR_VERSION 0
- #elif defined(NDIS51_MINIPORT)
- #define NDIS_MINIPORT_MAJOR_VERSION 5
- #define NDIS_MINIPORT_MINOR_VERSION 1
- #elif defined(NDIS50_MINIPORT)
- #define NDIS_MINIPORT_MAJOR_VERSION 5
- #define NDIS_MINIPORT_MINOR_VERSION 0
- #else
- #error "Only NDIS miniport drivers with version >= 5 are supported"
- #endif
- #if ((NDIS_MINIPORT_MAJOR_VERSION == 6) && \
- (NDIS_MINIPORT_MINOR_VERSION != 20) && \
- (NDIS_MINIPORT_MINOR_VERSION != 1) && \
- (NDIS_MINIPORT_MINOR_VERSION != 0))
- #error "Invalid miniport major/minor version combination"
- #elif ((NDIS_MINIPORT_MAJOR_VERSION == 5) && \
- (NDIS_MINIPORT_MINOR_VERSION != 1) && \
- (NDIS_MINIPORT_MINOR_VERSION != 0))
- #error "Invalid miniport major/minor version combination"
- #endif
- #if (NDIS_MINIPORT_MAJOR_VERSION == 6) && \
- ((NDIS_MINIPORT_MINOR_VERSION == 20 && NTDDI_VERSION < NTDDI_WIN7) || \
- (NDIS_MINIPORT_MINOR_VERSION == 1 && NTDDI_VERSION < NTDDI_VISTA) || \
- (NDIS_MINIPORT_MINOR_VERSION == 0 && NTDDI_VERSION < NTDDI_VISTA))
- #error "Wrong NDIS/DDI version"
- #elif ((NDIS_MINIPORT_MAJOR_VERSION == 5) && \
- (((NDIS_MINIPORT_MINOR_VERSION == 1) && (NTDDI_VERSION < NTDDI_WINXP)) || \
- ((NDIS_MINIPORT_MINOR_VERSION == 0) && (NTDDI_VERSION < NTDDI_WIN2K))))
- #error "Wrong NDIS/DDI version"
- #endif
- #endif /* defined(NDIS_MINIPORT_DRIVER) */
- #if defined(NDIS30)
- #error "Only NDIS Protocol drivers version 4 or later are supported"
- #endif
- #if defined(NDIS620)
- #define NDIS_PROTOCOL_MAJOR_VERSION 6
- #define NDIS_PROTOCOL_MINOR_VERSION 20
- #define NDIS_FILTER_MAJOR_VERSION 6
- #define NDIS_FILTER_MINOR_VERSION 20
- #elif defined(NDIS61)
- #define NDIS_PROTOCOL_MAJOR_VERSION 6
- #define NDIS_PROTOCOL_MINOR_VERSION 1
- #define NDIS_FILTER_MAJOR_VERSION 6
- #define NDIS_FILTER_MINOR_VERSION 1
- #elif defined(NDIS60)
- #define NDIS_PROTOCOL_MAJOR_VERSION 6
- #define NDIS_PROTOCOL_MINOR_VERSION 0
- #define NDIS_FILTER_MAJOR_VERSION 6
- #define NDIS_FILTER_MINOR_VERSION 0
- #elif defined(NDIS51)
- #define NDIS_PROTOCOL_MAJOR_VERSION 5
- #define NDIS_PROTOCOL_MINOR_VERSION 1
- #elif defined(NDIS50)
- #define NDIS_PROTOCOL_MAJOR_VERSION 5
- #define NDIS_PROTOCOL_MINOR_VERSION 0
- #elif defined(NDIS40)
- #define NDIS_PROTOCOL_MAJOR_VERSION 4
- #define NDIS_PROTOCOL_MINOR_VERSION 0
- #endif
- #if !defined(NDIS_MINIPORT_DRIVER) && !defined(NDIS_PROTOCOL_MAJOR_VERSION)
- #define NDIS40
- #define NDIS_PROTOCOL_MAJOR_VERSION 4
- #define NDIS_PROTOCOL_MINOR_VERSION 0
- #endif
- #if defined(NDIS_FILTER_MAJOR_VERSION)
- #if ((NDIS_FILTER_MAJOR_VERSION == 6) && \
- (NDIS_FILTER_MINOR_VERSION != 20) && \
- (NDIS_FILTER_MINOR_VERSION != 1) && \
- (NDIS_FILTER_MINOR_VERSION != 0))
- #error "Invalid Filter version"
- #endif
- #endif /* defined(NDIS_FILTER_MAJOR_VERSION) */
- #if defined(NDIS_PROTOCOL_MAJOR_VERSION)
- #if ((NDIS_PROTOCOL_MAJOR_VERSION == 6) && \
- (NDIS_PROTOCOL_MINOR_VERSION != 20) && \
- (NDIS_PROTOCOL_MINOR_VERSION != 1) && \
- (NDIS_PROTOCOL_MINOR_VERSION != 0))
- #error "Invalid Protocol version"
- #elif ((NDIS_PROTOCOL_MAJOR_VERSION == 5) && \
- (NDIS_PROTOCOL_MINOR_VERSION != 1) && (NDIS_PROTOCOL_MINOR_VERSION != 0))
- #error "Invalid Protocol version"
- #elif ((NDIS_PROTOCOL_MAJOR_VERSION == 4) && (NDIS_PROTOCOL_MINOR_VERSION != 0))
- #error "Invalid Protocol major/minor version"
- #endif
- #if ((NDIS_PROTOCOL_MAJOR_VERSION == 6) && (NTDDI_VERSION < NTDDI_VISTA))
- #error "Wrong NDIS/DDI version"
- #endif
- #endif /* defined(NDIS_PROTOCOL_MAJOR_VERSION) */
- #endif /* !defined(NDIS_WRAPPER) */
- #if !defined(NDIS_LEGACY_MINIPORT)
- #if ((defined(NDIS_MINIPORT_DRIVER) && (NDIS_MINIPORT_MAJOR_VERSION < 6)) || NDIS_WRAPPER)
- #define NDIS_LEGACY_MINIPORT 1
- #else
- #define NDIS_LEGACY_MINIPORT 0
- #endif
- #endif /* !defined(NDIS_LEGACY_MINIPORT) */
- #if !defined(NDIS_LEGACY_PROTOCOL)
- #if ((defined(NDIS_PROTOCOL_MAJOR_VERSION) && (NDIS_PROTOCOL_MAJOR_VERSION < 6)) || NDIS_WRAPPER)
- #define NDIS_LEGACY_PROTOCOL 1
- #else
- #define NDIS_LEGACY_PROTOCOL 0
- #endif
- #endif /* !defined(NDIS_LEGACY_PROTOCOL) */
- #if !defined(NDIS_LEGACY_DRIVER)
- #if (NDIS_LEGACY_MINIPORT || NDIS_LEGACY_PROTOCOL || NDIS_WRAPPER)
- #define NDIS_LEGACY_DRIVER 1
- #else
- #define NDIS_LEGACY_DRIVER 0
- #endif
- #endif /* !defined(NDIS_LEGACY_DRIVER) */
- #if !defined(NDIS_SUPPORT_NDIS6)
- #if ((defined (NDIS_MINIPORT_MAJOR_VERSION) && (NDIS_MINIPORT_MAJOR_VERSION >= 6)) || \
- (defined (NDIS60)) || NDIS_WRAPPER)
- #define NDIS_SUPPORT_NDIS6 1
- #else
- #define NDIS_SUPPORT_NDIS6 0
- #endif
- #endif /* !defined(NDIS_SUPPORT_NDIS6) */
- #if !defined(NDIS_SUPPORT_NDIS61)
- #if (((defined (NDIS_MINIPORT_MAJOR_VERSION) && (NDIS_MINIPORT_MAJOR_VERSION >= 6)) && \
- (defined (NDIS_MINIPORT_MINOR_VERSION) && (NDIS_MINIPORT_MINOR_VERSION >= 1))) || \
- (defined (NDIS61)) || NDIS_WRAPPER)
- #define NDIS_SUPPORT_NDIS61 1
- #else
- #define NDIS_SUPPORT_NDIS61 0
- #endif
- #endif /* !defined(NDIS_SUPPORT_NDIS61) */
- #if !defined(NDIS_SUPPORT_NDIS620)
- #if (((defined (NDIS_MINIPORT_MAJOR_VERSION) && (NDIS_MINIPORT_MAJOR_VERSION >= 6)) && \
- (defined (NDIS_MINIPORT_MINOR_VERSION) && (NDIS_MINIPORT_MINOR_VERSION >= 20))) || \
- (defined (NDIS620)) || NDIS_WRAPPER)
- #define NDIS_SUPPORT_NDIS620 1
- #else
- #define NDIS_SUPPORT_NDIS620 0
- #endif
- #endif /* !defined(NDIS_SUPPORT_NDIS620) */
- #if (NDIS_SUPPORT_NDIS620)
- #undef NDIS_SUPPORT_NDIS61
- #define NDIS_SUPPORT_NDIS61 1
- #endif
- #if (NDIS_SUPPORT_NDIS61)
- #undef NDIS_SUPPORT_NDIS6
- #define NDIS_SUPPORT_NDIS6 1
- #endif
- #if defined(NDIS61_MINIPORT) || defined(NDIS60_MINIPORT) || defined(NDIS61) || \
- defined(NDIS60) || defined(NDIS_WRAPPER) || defined(NDIS_LEGACY_DRIVER)
- #define NDIS_SUPPORT_60_COMPATIBLE_API 1
- #else
- #define NDIS_SUPPORT_60_COMPATIBLE_API 0
- #endif
- #if defined(NDIS_WRAPPER)
- #define NDISAPI
- #else
- #define NDISAPI DECLSPEC_IMPORT
- #endif
- typedef PVOID QUEUED_CLOSE; //FIXME : Doesn't exist in public headers
- typedef struct _X_FILTER FDDI_FILTER, *PFDDI_FILTER;
- typedef struct _X_FILTER TR_FILTER, *PTR_FILTER;
- typedef struct _X_FILTER NULL_FILTER, *PNULL_FILTER;
- typedef struct _NDIS_MINIPORT_BLOCK NDIS_MINIPORT_BLOCK, *PNDIS_MINIPORT_BLOCK;
- typedef struct _REFERENCE {
- KSPIN_LOCK SpinLock;
- USHORT ReferenceCount;
- BOOLEAN Closing;
- } REFERENCE, *PREFERENCE;
- /* NDIS base types */
- typedef struct _NDIS_SPIN_LOCK {
- KSPIN_LOCK SpinLock;
- KIRQL OldIrql;
- } NDIS_SPIN_LOCK, *PNDIS_SPIN_LOCK;
- typedef struct _NDIS_EVENT {
- KEVENT Event;
- } NDIS_EVENT, *PNDIS_EVENT;
- typedef PVOID NDIS_HANDLE, *PNDIS_HANDLE;
- typedef ANSI_STRING NDIS_ANSI_STRING, *PNDIS_ANSI_STRING;
- typedef UNICODE_STRING NDIS_STRING, *PNDIS_STRING;
- typedef MDL NDIS_BUFFER, *PNDIS_BUFFER;
- /* NDIS_STATUS constants */
- #define NDIS_STATUS_SUCCESS ((NDIS_STATUS)STATUS_SUCCESS)
- #define NDIS_STATUS_PENDING ((NDIS_STATUS)STATUS_PENDING)
- #define NDIS_STATUS_NOT_RECOGNIZED ((NDIS_STATUS)0x00010001L)
- #define NDIS_STATUS_NOT_COPIED ((NDIS_STATUS)0x00010002L)
- #define NDIS_STATUS_NOT_ACCEPTED ((NDIS_STATUS)0x00010003L)
- #define NDIS_STATUS_CALL_ACTIVE ((NDIS_STATUS)0x00010007L)
- #define NDIS_STATUS_INDICATION_REQUIRED ((NDIS_STATUS)STATUS_NDIS_INDICATION_REQUIRED)
- #define NDIS_STATUS_ONLINE ((NDIS_STATUS)0x40010003L)
- #define NDIS_STATUS_RESET_START ((NDIS_STATUS)0x40010004L)
- #define NDIS_STATUS_RESET_END ((NDIS_STATUS)0x40010005L)
- #define NDIS_STATUS_RING_STATUS ((NDIS_STATUS)0x40010006L)
- #define NDIS_STATUS_CLOSED ((NDIS_STATUS)0x40010007L)
- #define NDIS_STATUS_WAN_LINE_UP ((NDIS_STATUS)0x40010008L)
- #define NDIS_STATUS_WAN_LINE_DOWN ((NDIS_STATUS)0x40010009L)
- #define NDIS_STATUS_WAN_FRAGMENT ((NDIS_STATUS)0x4001000AL)
- #define NDIS_STATUS_MEDIA_CONNECT ((NDIS_STATUS)0x4001000BL)
- #define NDIS_STATUS_MEDIA_DISCONNECT ((NDIS_STATUS)0x4001000CL)
- #define NDIS_STATUS_HARDWARE_LINE_UP ((NDIS_STATUS)0x4001000DL)
- #define NDIS_STATUS_HARDWARE_LINE_DOWN ((NDIS_STATUS)0x4001000EL)
- #define NDIS_STATUS_INTERFACE_UP ((NDIS_STATUS)0x4001000FL)
- #define NDIS_STATUS_INTERFACE_DOWN ((NDIS_STATUS)0x40010010L)
- #define NDIS_STATUS_MEDIA_BUSY ((NDIS_STATUS)0x40010011L)
- #define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION ((NDIS_STATUS)0x40010012L)
- #define NDIS_STATUS_WW_INDICATION NDIS_STATUS_MEDIA_SPECIFIC_INDICATION
- #define NDIS_STATUS_LINK_SPEED_CHANGE ((NDIS_STATUS)0x40010013L)
- #define NDIS_STATUS_WAN_GET_STATS ((NDIS_STATUS)0x40010014L)
- #define NDIS_STATUS_WAN_CO_FRAGMENT ((NDIS_STATUS)0x40010015L)
- #define NDIS_STATUS_WAN_CO_LINKPARAMS ((NDIS_STATUS)0x40010016L)
- #if NDIS_SUPPORT_NDIS6
- #define NDIS_STATUS_LINK_STATE ((NDIS_STATUS)0x40010017L)
- #define NDIS_STATUS_NETWORK_CHANGE ((NDIS_STATUS)0x40010018L)
- #define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION_EX ((NDIS_STATUS)0x40010019L)
- #define NDIS_STATUS_PORT_STATE ((NDIS_STATUS)0x40010022L)
- #define NDIS_STATUS_OPER_STATUS ((NDIS_STATUS)0x40010023L)
- #define NDIS_STATUS_PACKET_FILTER ((NDIS_STATUS)0x40010024L)
- #endif /* NDIS_SUPPORT_NDIS6 */
- #define NDIS_STATUS_WAN_CO_MTULINKPARAMS ((NDIS_STATUS)0x40010025L)
- #if NDIS_SUPPORT_NDIS6
- #define NDIS_STATUS_IP_OPER_STATUS ((NDIS_STATUS)0x40010026L)
- #define NDIS_STATUS_OFFLOAD_PAUSE ((NDIS_STATUS)0x40020001L)
- #define NDIS_STATUS_UPLOAD_ALL ((NDIS_STATUS)0x40020002L)
- #define NDIS_STATUS_OFFLOAD_RESUME ((NDIS_STATUS)0x40020003L)
- #define NDIS_STATUS_OFFLOAD_PARTIAL_SUCCESS ((NDIS_STATUS)0x40020004L)
- #define NDIS_STATUS_OFFLOAD_STATE_INVALID ((NDIS_STATUS)0x40020005L)
- #define NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG ((NDIS_STATUS)0x40020006L)
- #define NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES ((NDIS_STATUS)0x40020007L)
- #define NDIS_STATUS_OFFLOAD_ENCASPULATION_CHANGE ((NDIS_STATUS)0x40020008L)
- #define NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES ((NDIS_STATUS)0x4002000BL)
- #if (NDIS_SUPPORT_NDIS61)
- #define NDIS_STATUS_HD_SPLIT_CURRENT_CONFIG ((NDIS_STATUS)0x4002000CL)
- #endif
- #if (NDIS_SUPPORT_NDIS620)
- #define NDIS_STATUS_RECEIVE_QUEUE_STATE ((NDIS_STATUS)0x4002000DL)
- #endif
- #define NDIS_STATUS_OFFLOAD_IM_RESERVED1 ((NDIS_STATUS)0x40020100L)
- #define NDIS_STATUS_OFFLOAD_IM_RESERVED2 ((NDIS_STATUS)0x40020101L)
- #define NDIS_STATUS_OFFLOAD_IM_RESERVED3 ((NDIS_STATUS)0x40020102L)
- #define NDIS_STATUS_DOT11_SCAN_CONFIRM ((NDIS_STATUS)0x40030000L)
- #define NDIS_STATUS_DOT11_MPDU_MAX_LENGTH_CHANGED ((NDIS_STATUS)0x40030001L)
- #define NDIS_STATUS_DOT11_ASSOCIATION_START ((NDIS_STATUS)0x40030002L)
- #define NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION ((NDIS_STATUS)0x40030003L)
- #define NDIS_STATUS_DOT11_CONNECTION_START ((NDIS_STATUS)0x40030004L)
- #define NDIS_STATUS_DOT11_CONNECTION_COMPLETION ((NDIS_STATUS)0x40030005L)
- #define NDIS_STATUS_DOT11_ROAMING_START ((NDIS_STATUS)0x40030006L)
- #define NDIS_STATUS_DOT11_ROAMING_COMPLETION ((NDIS_STATUS)0x40030007L)
- #define NDIS_STATUS_DOT11_DISASSOCIATION ((NDIS_STATUS)0x40030008L)
- #define NDIS_STATUS_DOT11_TKIPMIC_FAILURE ((NDIS_STATUS)0x40030009L)
- #define NDIS_STATUS_DOT11_PMKID_CANDIDATE_LIST ((NDIS_STATUS)0x4003000AL)
- #define NDIS_STATUS_DOT11_PHY_STATE_CHANGED ((NDIS_STATUS)0x4003000BL)
- #define NDIS_STATUS_DOT11_LINK_QUALITY ((NDIS_STATUS)0x4003000CL)
- #define NDIS_STATUS_DOT11_INCOMING_ASSOC_STARTED ((NDIS_STATUS)0x4003000DL)
- #define NDIS_STATUS_DOT11_INCOMING_ASSOC_REQUEST_RECEIVED ((NDIS_STATUS)0x4003000EL)
- #define NDIS_STATUS_DOT11_INCOMING_ASSOC_COMPLETION ((NDIS_STATUS)0x4003000FL)
- #define NDIS_STATUS_DOT11_STOP_AP ((NDIS_STATUS)0x40030010L)
- #define NDIS_STATUS_DOT11_PHY_FREQUENCY_ADOPTED ((NDIS_STATUS)0x40030011L)
- #define NDIS_STATUS_DOT11_CAN_SUSTAIN_AP ((NDIS_STATUS)0x40030012L)
- #define NDIS_STATUS_WWAN_DEVICE_CAPS ((NDIS_STATUS)0x40041000)
- #define NDIS_STATUS_WWAN_READY_INFO ((NDIS_STATUS)0x40041001)
- #define NDIS_STATUS_WWAN_RADIO_STATE ((NDIS_STATUS)0x40041002)
- #define NDIS_STATUS_WWAN_PIN_INFO ((NDIS_STATUS)0x40041003)
- #define NDIS_STATUS_WWAN_PIN_LIST ((NDIS_STATUS)0x40041004)
- #define NDIS_STATUS_WWAN_HOME_PROVIDER ((NDIS_STATUS)0x40041005)
- #define NDIS_STATUS_WWAN_PREFERRED_PROVIDERS ((NDIS_STATUS)0x40041006)
- #define NDIS_STATUS_WWAN_VISIBLE_PROVIDERS ((NDIS_STATUS)0x40041007)
- #define NDIS_STATUS_WWAN_REGISTER_STATE ((NDIS_STATUS)0x40041008)
- #define NDIS_STATUS_WWAN_PACKET_SERVICE ((NDIS_STATUS)0x40041009)
- #define NDIS_STATUS_WWAN_SIGNAL_STATE ((NDIS_STATUS)0x4004100a)
- #define NDIS_STATUS_WWAN_CONTEXT_STATE ((NDIS_STATUS)0x4004100b)
- #define NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS ((NDIS_STATUS)0x4004100c)
- #define NDIS_STATUS_WWAN_SERVICE_ACTIVATION ((NDIS_STATUS)0x4004100d)
- #define NDIS_STATUS_WWAN_SMS_CONFIGURATION ((NDIS_STATUS)0x4004100e)
- #define NDIS_STATUS_WWAN_SMS_RECEIVE ((NDIS_STATUS)0x4004100f)
- #define NDIS_STATUS_WWAN_SMS_SEND ((NDIS_STATUS)0x40041010)
- #define NDIS_STATUS_WWAN_SMS_DELETE ((NDIS_STATUS)0x40041011)
- #define NDIS_STATUS_WWAN_SMS_STATUS ((NDIS_STATUS)0x40041012)
- #define NDIS_STATUS_WWAN_DNS_ADDRESS ((NDIS_STATUS)0x40041013)
- #define NDIS_STATUS_WWAN_VENDOR_SPECIFIC ((NDIS_STATUS)0x40043000)
- #endif /* NDIS_SUPPORT_NDIS6 */
- #if (NDIS_SUPPORT_NDIS620)
- #define NDIS_STATUS_PM_WOL_PATTERN_REJECTED ((NDIS_STATUS)0x40030051L)
- #define NDIS_STATUS_PM_OFFLOAD_REJECTED ((NDIS_STATUS)0x40030052L)
- #define NDIS_STATUS_PM_CAPABILITIES_CHANGE ((NDIS_STATUS)0x40030053L)
- #endif
- #define NDIS_STATUS_NOT_RESETTABLE ((NDIS_STATUS)0x80010001L)
- #define NDIS_STATUS_SOFT_ERRORS ((NDIS_STATUS)0x80010003L)
- #define NDIS_STATUS_HARD_ERRORS ((NDIS_STATUS)0x80010004L)
- #define NDIS_STATUS_BUFFER_OVERFLOW ((NDIS_STATUS)STATUS_BUFFER_OVERFLOW)
- #define NDIS_STATUS_FAILURE ((NDIS_STATUS)STATUS_UNSUCCESSFUL)
- #define NDIS_STATUS_RESOURCES ((NDIS_STATUS)STATUS_INSUFFICIENT_RESOURCES)
- #define NDIS_STATUS_CLOSING ((NDIS_STATUS)0xC0010002L)
- #define NDIS_STATUS_BAD_VERSION ((NDIS_STATUS)0xC0010004L)
- #define NDIS_STATUS_BAD_CHARACTERISTICS ((NDIS_STATUS)0xC0010005L)
- #define NDIS_STATUS_ADAPTER_NOT_FOUND ((NDIS_STATUS)0xC0010006L)
- #define NDIS_STATUS_OPEN_FAILED ((NDIS_STATUS)0xC0010007L)
- #define NDIS_STATUS_DEVICE_FAILED ((NDIS_STATUS)0xC0010008L)
- #define NDIS_STATUS_MULTICAST_FULL ((NDIS_STATUS)0xC0010009L)
- #define NDIS_STATUS_MULTICAST_EXISTS ((NDIS_STATUS)0xC001000AL)
- #define NDIS_STATUS_MULTICAST_NOT_FOUND ((NDIS_STATUS)0xC001000BL)
- #define NDIS_STATUS_REQUEST_ABORTED ((NDIS_STATUS)0xC001000CL)
- #define NDIS_STATUS_RESET_IN_PROGRESS ((NDIS_STATUS)0xC001000DL)
- #define NDIS_STATUS_CLOSING_INDICATING ((NDIS_STATUS)0xC001000EL)
- #define NDIS_STATUS_NOT_SUPPORTED ((NDIS_STATUS)STATUS_NOT_SUPPORTED)
- #define NDIS_STATUS_INVALID_PACKET ((NDIS_STATUS)0xC001000FL)
- #define NDIS_STATUS_OPEN_LIST_FULL ((NDIS_STATUS)0xC0010010L)
- #define NDIS_STATUS_ADAPTER_NOT_READY ((NDIS_STATUS)0xC0010011L)
- #define NDIS_STATUS_ADAPTER_NOT_OPEN ((NDIS_STATUS)0xC0010012L)
- #define NDIS_STATUS_NOT_INDICATING ((NDIS_STATUS)0xC0010013L)
- #define NDIS_STATUS_INVALID_LENGTH ((NDIS_STATUS)0xC0010014L)
- #define NDIS_STATUS_INVALID_DATA ((NDIS_STATUS)0xC0010015L)
- #define NDIS_STATUS_BUFFER_TOO_SHORT ((NDIS_STATUS)0xC0010016L)
- #define NDIS_STATUS_INVALID_OID ((NDIS_STATUS)0xC0010017L)
- #define NDIS_STATUS_ADAPTER_REMOVED ((NDIS_STATUS)0xC0010018L)
- #define NDIS_STATUS_UNSUPPORTED_MEDIA ((NDIS_STATUS)0xC0010019L)
- #define NDIS_STATUS_GROUP_ADDRESS_IN_USE ((NDIS_STATUS)0xC001001AL)
- #define NDIS_STATUS_FILE_NOT_FOUND ((NDIS_STATUS)0xC001001BL)
- #define NDIS_STATUS_ERROR_READING_FILE ((NDIS_STATUS)0xC001001CL)
- #define NDIS_STATUS_ALREADY_MAPPED ((NDIS_STATUS)0xC001001DL)
- #define NDIS_STATUS_RESOURCE_CONFLICT ((NDIS_STATUS)0xC001001EL)
- #define NDIS_STATUS_NO_CABLE ((NDIS_STATUS)0xC001001FL)
- #define NDIS_STATUS_INVALID_SAP ((NDIS_STATUS)0xC0010020L)
- #define NDIS_STATUS_SAP_IN_USE ((NDIS_STATUS)0xC0010021L)
- #define NDIS_STATUS_INVALID_ADDRESS ((NDIS_STATUS)0xC0010022L)
- #define NDIS_STATUS_VC_NOT_ACTIVATED ((NDIS_STATUS)0xC0010023L)
- #define NDIS_STATUS_DEST_OUT_OF_ORDER ((NDIS_STATUS)0xC0010024L)
- #define NDIS_STATUS_VC_NOT_AVAILABLE ((NDIS_STATUS)0xC0010025L)
- #define NDIS_STATUS_CELLRATE_NOT_AVAILABLE ((NDIS_STATUS)0xC0010026L)
- #define NDIS_STATUS_INCOMPATABLE_QOS ((NDIS_STATUS)0xC0010027L)
- #define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED ((NDIS_STATUS)0xC0010028L)
- #define NDIS_STATUS_NO_ROUTE_TO_DESTINATION ((NDIS_STATUS)0xC0010029L)
- #define NDIS_STATUS_TOKEN_RING_OPEN_ERROR ((NDIS_STATUS)0xC0011000L)
- #define NDIS_STATUS_INVALID_DEVICE_REQUEST ((NDIS_STATUS)STATUS_INVALID_DEVICE_REQUEST)
- #define NDIS_STATUS_NETWORK_UNREACHABLE ((NDIS_STATUS)STATUS_NETWORK_UNREACHABLE)
- #if NDIS_SUPPORT_NDIS6
- #define NDIS_STATUS_SEND_ABORTED ((NDIS_STATUS)STATUS_NDIS_REQUEST_ABORTED)
- #define NDIS_STATUS_PAUSED ((NDIS_STATUS)STATUS_NDIS_PAUSED)
- #define NDIS_STATUS_INTERFACE_NOT_FOUND ((NDIS_STATUS)STATUS_NDIS_INTERFACE_NOT_FOUND)
- #define NDIS_STATUS_INVALID_PARAMETER ((NDIS_STATUS)STATUS_INVALID_PARAMETER)
- #define NDIS_STATUS_UNSUPPORTED_REVISION ((NDIS_STATUS)STATUS_NDIS_UNSUPPORTED_REVISION)
- #define NDIS_STATUS_INVALID_PORT ((NDIS_STATUS)STATUS_NDIS_INVALID_PORT)
- #define NDIS_STATUS_INVALID_PORT_STATE ((NDIS_STATUS)STATUS_NDIS_INVALID_PORT_STATE)
- #define NDIS_STATUS_INVALID_STATE ((NDIS_STATUS)STATUS_INVALID_DEVICE_STATE)
- #define NDIS_STATUS_MEDIA_DISCONNECTED ((NDIS_STATUS)STATUS_NDIS_MEDIA_DISCONNECTED)
- #define NDIS_STATUS_LOW_POWER_STATE ((NDIS_STATUS)STATUS_NDIS_LOW_POWER_STATE)
- #define NDIS_STATUS_DOT11_AUTO_CONFIG_ENABLED ((NDIS_STATUS)STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED)
- #define NDIS_STATUS_DOT11_MEDIA_IN_USE ((NDIS_STATUS)STATUS_NDIS_DOT11_MEDIA_IN_USE)
- #define NDIS_STATUS_DOT11_POWER_STATE_INVALID ((NDIS_STATUS)STATUS_NDIS_DOT11_POWER_STATE_INVALID)
- #define NDIS_STATUS_UPLOAD_IN_PROGRESS ((NDIS_STATUS)0xC0231001L)
- #define NDIS_STATUS_REQUEST_UPLOAD ((NDIS_STATUS)0xC0231002L)
- #define NDIS_STATUS_UPLOAD_REQUESTED ((NDIS_STATUS)0xC0231003L)
- #define NDIS_STATUS_OFFLOAD_TCP_ENTRIES ((NDIS_STATUS)0xC0231004L)
- #define NDIS_STATUS_OFFLOAD_PATH_ENTRIES ((NDIS_STATUS)0xC0231005L)
- #define NDIS_STATUS_OFFLOAD_NEIGHBOR_ENTRIES ((NDIS_STATUS)0xC0231006L)
- #define NDIS_STATUS_OFFLOAD_IP_ADDRESS_ENTRIES ((NDIS_STATUS)0xC0231007L)
- #define NDIS_STATUS_OFFLOAD_HW_ADDRESS_ENTRIES ((NDIS_STATUS)0xC0231008L)
- #define NDIS_STATUS_OFFLOAD_VLAN_ENTRIES ((NDIS_STATUS)0xC0231009L)
- #define NDIS_STATUS_OFFLOAD_TCP_XMIT_BUFFER ((NDIS_STATUS)0xC023100AL)
- #define NDIS_STATUS_OFFLOAD_TCP_RCV_BUFFER ((NDIS_STATUS)0xC023100BL)
- #define NDIS_STATUS_OFFLOAD_TCP_RCV_WINDOW ((NDIS_STATUS)0xC023100CL)
- #define NDIS_STATUS_OFFLOAD_VLAN_MISMATCH ((NDIS_STATUS)0xC023100DL)
- #define NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED ((NDIS_STATUS)0xC023100EL)
- #define NDIS_STATUS_OFFLOAD_POLICY ((NDIS_STATUS)0xC023100FL)
- #define NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED ((NDIS_STATUS)0xC0231010L)
- #define NDIS_STATUS_OFFLOAD_REQUEST_RESET ((NDIS_STATUS)0xC0231011L)
- #if NDIS_SUPPORT_NDIS620
- #define NDIS_STATUS_PM_WOL_PATTERN_LIST_FULL ((NDIS_STATUS)STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL)
- #define NDIS_STATUS_PM_PROTOCOL_OFFLOAD_LIST_FULL ((NDIS_STATUS)STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL)
- #endif
- #endif /* NDIS_SUPPORT_NDIS6 */
- #if (NDIS_SUPPORT_NDIS620)
- #define NDIS_STATUS_OFFLOAD_CONNECTION_REJECTED ((NDIS_STATUS)STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED)
- #endif
- /* NDIS error codes for error logging */
- #define NDIS_ERROR_CODE ULONG
- #define NDIS_ERROR_CODE_RESOURCE_CONFLICT EVENT_NDIS_RESOURCE_CONFLICT
- #define NDIS_ERROR_CODE_OUT_OF_RESOURCES EVENT_NDIS_OUT_OF_RESOURCE
- #define NDIS_ERROR_CODE_HARDWARE_FAILURE EVENT_NDIS_HARDWARE_FAILURE
- #define NDIS_ERROR_CODE_ADAPTER_NOT_FOUND EVENT_NDIS_ADAPTER_NOT_FOUND
- #define NDIS_ERROR_CODE_INTERRUPT_CONNECT EVENT_NDIS_INTERRUPT_CONNECT
- #define NDIS_ERROR_CODE_DRIVER_FAILURE EVENT_NDIS_DRIVER_FAILURE
- #define NDIS_ERROR_CODE_BAD_VERSION EVENT_NDIS_BAD_VERSION
- #define NDIS_ERROR_CODE_TIMEOUT EVENT_NDIS_TIMEOUT
- #define NDIS_ERROR_CODE_NETWORK_ADDRESS EVENT_NDIS_NETWORK_ADDRESS
- #define NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION EVENT_NDIS_UNSUPPORTED_CONFIGURATION
- #define NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER EVENT_NDIS_INVALID_VALUE_FROM_ADAPTER
- #define NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER EVENT_NDIS_MISSING_CONFIGURATION_PARAMETER
- #define NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS EVENT_NDIS_BAD_IO_BASE_ADDRESS
- #define NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL EVENT_NDIS_RECEIVE_SPACE_SMALL
- #define NDIS_ERROR_CODE_ADAPTER_DISABLED EVENT_NDIS_ADAPTER_DISABLED
- /* Memory allocation flags. Used by Ndis[Allocate|Free]Memory */
- #define NDIS_MEMORY_CONTIGUOUS 0x00000001
- #define NDIS_MEMORY_NONCACHED 0x00000002
- /* NIC attribute flags. Used by NdisMSetAttributes(Ex) */
- #define NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT 0x00000001
- #define NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT 0x00000002
- #define NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS 0x00000004
- #define NDIS_ATTRIBUTE_BUS_MASTER 0x00000008
- #define NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER 0x00000010
- #define NDIS_ATTRIBUTE_DESERIALIZE 0x00000020
- #define NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND 0x00000040
- #define NDIS_ATTRIBUTE_SURPRISE_REMOVE_OK 0x00000080
- #define NDIS_ATTRIBUTE_NOT_CO_NDIS 0x00000100
- #define NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS 0x00000200
- /* Lock */
- #if NDIS_SUPPORT_60_COMPATIBLE_API
- typedef union _NDIS_RW_LOCK_REFCOUNT {
- UINT RefCount;
- UCHAR cacheLine[16];
- } NDIS_RW_LOCK_REFCOUNT;
- typedef struct _NDIS_RW_LOCK {
- __MINGW_EXTENSION union {
- __MINGW_EXTENSION struct {
- KSPIN_LOCK SpinLock;
- PVOID Context;
- };
- UCHAR Reserved[16];
- };
- __MINGW_EXTENSION union {
- NDIS_RW_LOCK_REFCOUNT RefCount[MAXIMUM_PROCESSORS];
- ULONG RefCountEx[sizeof(NDIS_RW_LOCK_REFCOUNT)/sizeof(ULONG) * MAXIMUM_PROCESSORS];
- __MINGW_EXTENSION struct {
- KSPIN_LOCK RefCountLock;
- volatile ULONG SharedRefCount;
- volatile BOOLEAN WriterWaiting;
- };
- };
- } NDIS_RW_LOCK, *PNDIS_RW_LOCK;
- typedef struct _LOCK_STATE {
- USHORT LockState;
- KIRQL OldIrql;
- } LOCK_STATE, *PLOCK_STATE;
- #endif /* NDIS_SUPPORT_60_COMPATIBLE_API */
- /* Timer */
- typedef VOID
- (NTAPI NDIS_TIMER_FUNCTION)(
- IN PVOID SystemSpecific1,
- IN PVOID FunctionContext,
- IN PVOID SystemSpecific2,
- IN PVOID SystemSpecific3);
- typedef NDIS_TIMER_FUNCTION *PNDIS_TIMER_FUNCTION;
- typedef struct _NDIS_TIMER {
- KTIMER Timer;
- KDPC Dpc;
- } NDIS_TIMER, *PNDIS_TIMER;
- /* Hardware */
- typedef CM_MCA_POS_DATA NDIS_MCA_POS_DATA, *PNDIS_MCA_POS_DATA;
- typedef CM_EISA_SLOT_INFORMATION NDIS_EISA_SLOT_INFORMATION, *PNDIS_EISA_SLOT_INFORMATION;
- typedef CM_EISA_FUNCTION_INFORMATION NDIS_EISA_FUNCTION_INFORMATION, *PNDIS_EISA_FUNCTION_INFORMATION;
- typedef CM_PARTIAL_RESOURCE_LIST NDIS_RESOURCE_LIST, *PNDIS_RESOURCE_LIST;
- /* Flag bits */
- #define READABLE_LOCAL_CLOCK 0x00000001
- #define CLOCK_NETWORK_DERIVED 0x00000002
- #define CLOCK_PRECISION 0x00000004
- #define RECEIVE_TIME_INDICATION_CAPABLE 0x00000008
- #define TIMED_SEND_CAPABLE 0x00000010
- #define TIME_STAMP_CAPABLE 0x00000020
- /* NDIS packet filter bits (OID_GEN_CURRENT_PACKET_FILTER) */
- #define NDIS_PACKET_TYPE_DIRECTED 0x00000001
- #define NDIS_PACKET_TYPE_MULTICAST 0x00000002
- #define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004
- #define NDIS_PACKET_TYPE_BROADCAST 0x00000008
- #define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010
- #define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020
- #define NDIS_PACKET_TYPE_SMT 0x00000040
- #define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080
- #define NDIS_PACKET_TYPE_GROUP 0x00001000
- #define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000
- #define NDIS_PACKET_TYPE_FUNCTIONAL 0x00004000
- #define NDIS_PACKET_TYPE_MAC_FRAME 0x00008000
- /* NDIS protocol option bits (OID_GEN_PROTOCOL_OPTIONS) */
- #define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
- #define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
- #define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
- /* NDIS MAC option bits (OID_GEN_MAC_OPTIONS) */
- #define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
- #define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
- #define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
- #define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
- #define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
- #define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
- #define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040
- #define NDIS_MAC_OPTION_RESERVED 0x80000000
- #define NDIS_GUID_TO_OID 0x00000001
- #define NDIS_GUID_TO_STATUS 0x00000002
- #define NDIS_GUID_ANSI_STRING 0x00000004
- #define NDIS_GUID_UNICODE_STRING 0x00000008
- #define NDIS_GUID_ARRAY 0x00000010
- #if NDIS_LEGACY_DRIVER
- /* NDIS_PACKET_PRIVATE.Flags constants */
- #define fPACKET_WRAPPER_RESERVED 0x3f
- #define fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO 0x40
- #define fPACKET_ALLOCATED_BY_NDIS 0x80
- #define NDIS_FLAGS_PROTOCOL_ID_MASK 0x0000000f
- #define NDIS_FLAGS_MULTICAST_PACKET 0x00000010
- #define NDIS_FLAGS_RESERVED2 0x00000020
- #define NDIS_FLAGS_RESERVED3 0x00000040
- #define NDIS_FLAGS_DONT_LOOPBACK 0x00000080
- #define NDIS_FLAGS_IS_LOOPBACK_PACKET 0x00000100
- #define NDIS_FLAGS_LOOPBACK_ONLY 0x00000200
- #define NDIS_FLAGS_RESERVED4 0x00000400
- #define NDIS_FLAGS_DOUBLE_BUFFERED 0x00000800
- #define NDIS_FLAGS_SENT_AT_DPC 0x00001000
- #define NDIS_FLAGS_USES_SG_BUFFER_LIST 0x00002000
- #define NDIS_FLAGS_USES_ORIGINAL_PACKET 0x00004000
- #define NDIS_FLAGS_PADDED 0x00010000
- #define NDIS_FLAGS_XLATE_AT_TOP 0x00020000
- typedef NDIS_HANDLE PNDIS_PACKET_POOL;
- typedef struct _NDIS_PACKET_PRIVATE {
- UINT PhysicalCount;
- UINT TotalLength;
- PNDIS_BUFFER Head;
- PNDIS_BUFFER Tail;
- PNDIS_PACKET_POOL Pool;
- UINT Count;
- ULONG Flags;
- BOOLEAN ValidCounts;
- UCHAR NdisPacketFlags;
- USHORT NdisPacketOobOffset;
- } NDIS_PACKET_PRIVATE, *PNDIS_PACKET_PRIVATE;
- typedef struct _NDIS_PACKET {
- NDIS_PACKET_PRIVATE Private;
- __MINGW_EXTENSION union {
- __MINGW_EXTENSION struct {
- UCHAR MiniportReserved[2 * sizeof(PVOID)];
- UCHAR WrapperReserved[2 * sizeof(PVOID)];
- };
- __MINGW_EXTENSION struct {
- UCHAR MiniportReservedEx[3 * sizeof(PVOID)];
- UCHAR WrapperReservedEx[sizeof(PVOID)];
- };
- __MINGW_EXTENSION struct {
- UCHAR MacReserved[4 * sizeof(PVOID)];
- };
- };
- ULONG_PTR Reserved[2];
- UCHAR ProtocolReserved[1];
- } NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
- typedef struct _NDIS_PACKET_STACK {
- ULONG_PTR IMReserved[2];
- ULONG_PTR NdisReserved[4];
- } NDIS_PACKET_STACK, *PNDIS_PACKET_STACK;
- #endif /* NDIS_LEGACY_DRIVER */
- typedef enum _NDIS_CLASS_ID {
- NdisClass802_3Priority,
- NdisClassWirelessWanMbxMailbox,
- NdisClassIrdaPacketInfo,
- NdisClassAtmAALInfo
- } NDIS_CLASS_ID;
- typedef struct _MEDIA_SPECIFIC_INFORMATION {
- UINT NextEntryOffset;
- NDIS_CLASS_ID ClassId;
- UINT Size;
- UCHAR ClassInformation[1];
- } MEDIA_SPECIFIC_INFORMATION, *PMEDIA_SPECIFIC_INFORMATION;
- #if NDIS_LEGACY_DRIVER
- typedef struct _NDIS_PACKET_OOB_DATA {
- __MINGW_EXTENSION union {
- ULONGLONG TimeToSend;
- ULONGLONG TimeSent;
- };
- ULONGLONG TimeReceived;
- UINT HeaderSize;
- UINT SizeMediaSpecificInfo;
- PVOID MediaSpecificInformation;
- NDIS_STATUS Status;
- } NDIS_PACKET_OOB_DATA, *PNDIS_PACKET_OOB_DATA;
- #endif
- /* Request types used by NdisRequest */
- typedef enum _NDIS_REQUEST_TYPE {
- NdisRequestQueryInformation,
- NdisRequestSetInformation,
- NdisRequestQueryStatistics,
- NdisRequestOpen,
- NdisRequestClose,
- NdisRequestSend,
- NdisRequestTransferData,
- NdisRequestReset,
- NdisRequestGeneric1,
- NdisRequestGeneric2,
- NdisRequestGeneric3,
- NdisRequestGeneric4,
- #if NDIS_SUPPORT_NDIS6
- NdisRequestMethod,
- #endif
- } NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;
- #if NDIS_LEGACY_DRIVER
- typedef struct _NDIS_REQUEST {
- UCHAR MacReserved[4 * sizeof(PVOID)];
- NDIS_REQUEST_TYPE RequestType;
- union _DATA {
- struct QUERY_INFORMATION {
- NDIS_OID Oid;
- PVOID InformationBuffer;
- UINT InformationBufferLength;
- UINT BytesWritten;
- UINT BytesNeeded;
- } QUERY_INFORMATION;
- struct SET_INFORMATION {
- NDIS_OID Oid;
- PVOID InformationBuffer;
- UINT InformationBufferLength;
- UINT BytesRead;
- UINT BytesNeeded;
- } SET_INFORMATION;
- } DATA;
- #if (defined(NDIS50) || defined(NDIS51) || defined(NDIS50_MINIPORT) || defined(NDIS51_MINIPORT))
- UCHAR NdisReserved[9 * sizeof(PVOID)];
- __MINGW_EXTENSION union {
- UCHAR CallMgrReserved[2 * sizeof(PVOID)];
- UCHAR ProtocolReserved[2 * sizeof(PVOID)];
- };
- UCHAR MiniportReserved[2 * sizeof(PVOID)];
- #endif
- } NDIS_REQUEST, *PNDIS_REQUEST;
- #endif /* NDIS_LEGACY_DRIVER */
- /* Wide Area Networks definitions */
- #if NDIS_LEGACY_DRIVER
- typedef struct _NDIS_WAN_PACKET {
- LIST_ENTRY WanPacketQueue;
- PUCHAR CurrentBuffer;
- ULONG CurrentLength;
- PUCHAR StartBuffer;
- PUCHAR EndBuffer;
- PVOID ProtocolReserved1;
- PVOID ProtocolReserved2;
- PVOID ProtocolReserved3;
- PVOID ProtocolReserved4;
- PVOID MacReserved1;
- PVOID MacReserved2;
- PVOID MacReserved3;
- PVOID MacReserved4;
- } NDIS_WAN_PACKET, *PNDIS_WAN_PACKET;
- #endif
- /* DMA channel information */
- typedef struct _NDIS_DMA_DESCRIPTION {
- BOOLEAN DemandMode;
- BOOLEAN AutoInitialize;
- BOOLEAN DmaChannelSpecified;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- ULONG DmaPort;
- ULONG DmaChannel;
- } NDIS_DMA_DESCRIPTION, *PNDIS_DMA_DESCRIPTION;
- typedef struct _NDIS_DMA_BLOCK {
- PVOID MapRegisterBase;
- KEVENT AllocationEvent;
- PADAPTER_OBJECT SystemAdapterObject;
- PVOID Miniport;
- BOOLEAN InProgress;
- } NDIS_DMA_BLOCK, *PNDIS_DMA_BLOCK;
- typedef UCHAR NDIS_DMA_SIZE;
- #define NDIS_DMA_24BITS ((NDIS_DMA_SIZE)0)
- #define NDIS_DMA_32BITS ((NDIS_DMA_SIZE)1)
- #define NDIS_DMA_64BITS ((NDIS_DMA_SIZE)2)
- typedef enum _NDIS_PROCESSOR_TYPE {
- NdisProcessorX86,
- NdisProcessorMips,
- NdisProcessorAlpha,
- NdisProcessorPpc,
- NdisProcessorAmd64,
- NdisProcessorIA64
- } NDIS_PROCESSOR_TYPE, *PNDIS_PROCESSOR_TYPE;
- typedef enum _NDIS_ENVIRONMENT_TYPE {
- NdisEnvironmentWindows,
- NdisEnvironmentWindowsNt
- } NDIS_ENVIRONMENT_TYPE, *PNDIS_ENVIRONMENT_TYPE;
- /* Possible hardware architecture */
- typedef enum _NDIS_INTERFACE_TYPE {
- NdisInterfaceInternal = Internal,
- NdisInterfaceIsa = Isa,
- NdisInterfaceEisa = Eisa,
- NdisInterfaceMca = MicroChannel,
- NdisInterfaceTurboChannel = TurboChannel,
- NdisInterfacePci = PCIBus,
- NdisInterfacePcMcia = PCMCIABus,
- NdisInterfaceCBus = CBus,
- NdisInterfaceMPIBus = MPIBus,
- NdisInterfaceMPSABus = MPSABus,
- NdisInterfaceProcessorInternal = ProcessorInternal,
- NdisInterfaceInternalPowerBus = InternalPowerBus,
- NdisInterfacePNPISABus = PNPISABus,
- NdisInterfacePNPBus = PNPBus,
- NdisInterfaceUSB,
- NdisInterfaceIrda,
- NdisInterface1394,
- NdisMaximumInterfaceType
- } NDIS_INTERFACE_TYPE, *PNDIS_INTERFACE_TYPE;
- #define NdisInterruptLevelSensitive LevelSensitive
- #define NdisInterruptLatched Latched
- typedef KINTERRUPT_MODE NDIS_INTERRUPT_MODE, *PNDIS_INTERRUPT_MODE;
- typedef enum _NDIS_PARAMETER_TYPE {
- NdisParameterInteger,
- NdisParameterHexInteger,
- NdisParameterString,
- NdisParameterMultiString,
- NdisParameterBinary
- } NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;
- typedef struct _BINARY_DATA {
- USHORT Length;
- PVOID Buffer;
- } BINARY_DATA;
- typedef struct _NDIS_CONFIGURATION_PARAMETER {
- NDIS_PARAMETER_TYPE ParameterType;
- union {
- ULONG IntegerData;
- NDIS_STRING StringData;
- BINARY_DATA BinaryData;
- } ParameterData;
- } NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;
- typedef PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS, *PNDIS_PHYSICAL_ADDRESS;
- typedef struct _NDIS_PHYSICAL_ADDRESS_UNIT {
- NDIS_PHYSICAL_ADDRESS PhysicalAddress;
- UINT Length;
- } NDIS_PHYSICAL_ADDRESS_UNIT, *PNDIS_PHYSICAL_ADDRESS_UNIT;
- typedef struct _NDIS_WAN_LINE_DOWN {
- UCHAR RemoteAddress[6];
- UCHAR LocalAddress[6];
- } NDIS_WAN_LINE_DOWN, *PNDIS_WAN_LINE_DOWN;
- typedef struct _NDIS_WAN_LINE_UP {
- ULONG LinkSpeed;
- ULONG MaximumTotalSize;
- NDIS_WAN_QUALITY Quality;
- USHORT SendWindow;
- UCHAR RemoteAddress[6];
- OUT UCHAR LocalAddress[6];
- ULONG ProtocolBufferLength;
- PUCHAR ProtocolBuffer;
- USHORT ProtocolType;
- NDIS_STRING DeviceName;
- } NDIS_WAN_LINE_UP, *PNDIS_WAN_LINE_UP;
- typedef NTSTATUS
- (NTAPI *TDI_REGISTER_CALLBACK)(
- IN PUNICODE_STRING DeviceName,
- OUT HANDLE *TdiHandle);
- typedef NTSTATUS
- (NTAPI *TDI_PNP_HANDLER)(
- IN PUNICODE_STRING UpperComponent,
- IN PUNICODE_STRING LowerComponent,
- IN PUNICODE_STRING BindList,
- IN PVOID ReconfigBuffer,
- IN UINT ReconfigBufferSize,
- IN UINT Operation);
- typedef struct _OID_LIST OID_LIST, *POID_LIST;
- /* PnP state */
- typedef enum _NDIS_PNP_DEVICE_STATE {
- NdisPnPDeviceAdded,
- NdisPnPDeviceStarted,
- NdisPnPDeviceQueryStopped,
- NdisPnPDeviceStopped,
- NdisPnPDeviceQueryRemoved,
- NdisPnPDeviceRemoved,
- NdisPnPDeviceSurpriseRemoved
- } NDIS_PNP_DEVICE_STATE;
- #define NDIS_DEVICE_NOT_STOPPABLE 0x00000001
- #define NDIS_DEVICE_NOT_REMOVEABLE 0x00000002
- #define NDIS_DEVICE_NOT_SUSPENDABLE 0x00000004
- #define NDIS_DEVICE_DISABLE_PM 0x00000008
- #define NDIS_DEVICE_DISABLE_WAKE_UP 0x00000010
- #define NDIS_DEVICE_DISABLE_WAKE_ON_RECONNECT 0x00000020
- #define NDIS_DEVICE_RESERVED 0x00000040
- #define NDIS_DEVICE_DISABLE_WAKE_ON_MAGIC_PACKET 0x00000080
- #define NDIS_DEVICE_DISABLE_WAKE_ON_PATTERN_MATCH 0x00000100
- /* Protocol types supported by NDIS */
- #define NDIS_PROTOCOL_ID_DEFAULT 0x00
- #define NDIS_PROTOCOL_ID_TCP_IP 0x02
- #define NDIS_PROTOCOL_ID_IPX 0x06
- #define NDIS_PROTOCOL_ID_NBF 0x07
- #define NDIS_PROTOCOL_ID_MAX 0x0F
- #define NDIS_PROTOCOL_ID_MASK 0x0F
- typedef ULONG NDIS_AF, *PNDIS_AF;
- #define CO_ADDRESS_FAMILY_Q2931 ((NDIS_AF)0x1)
- #define CO_ADDRESS_FAMILY_PSCHED ((NDIS_AF)0x2)
- #define CO_ADDRESS_FAMILY_L2TP ((NDIS_AF)0x3)
- #define CO_ADDRESS_FAMILY_IRDA ((NDIS_AF)0x4)
- #define CO_ADDRESS_FAMILY_1394 ((NDIS_AF)0x5)
- #define CO_ADDRESS_FAMILY_PPP ((NDIS_AF)0x6)
- #define CO_ADDRESS_FAMILY_INFINIBAND ((NDIS_AF)0x7)
- #define CO_ADDRESS_FAMILY_TAPI ((NDIS_AF)0x800)
- #define CO_ADDRESS_FAMILY_TAPI_PROXY ((NDIS_AF)0x801)
- #define CO_ADDRESS_FAMILY_PROXY 0x80000000
- typedef struct _CO_ADDRESS_FAMILY {
- NDIS_AF AddressFamily;
- ULONG MajorVersion;
- ULONG MinorVersion;
- } CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
- typedef struct _CO_SPECIFIC_PARAMETERS {
- ULONG ParamType;
- ULONG Length;
- UCHAR Parameters[1];
- } CO_SPECIFIC_PARAMETERS, *PCO_SPECIFIC_PARAMETERS;
- typedef struct _CO_CALL_MANAGER_PARAMETERS {
- FLOWSPEC Transmit;
- FLOWSPEC Receive;
- CO_SPECIFIC_PARAMETERS CallMgrSpecific;
- } CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
- /* CO_MEDIA_PARAMETERS.Flags constants */
- #define RECEIVE_TIME_INDICATION 0x00000001
- #define USE_TIME_STAMPS 0x00000002
- #define TRANSMIT_VC 0x00000004
- #define RECEIVE_VC 0x00000008
- #define INDICATE_ERRED_PACKETS 0x00000010
- #define INDICATE_END_OF_TX 0x00000020
- #define RESERVE_RESOURCES_VC 0x00000040
- #define ROUND_DOWN_FLOW 0x00000080
- #define ROUND_UP_FLOW 0x00000100
- typedef struct _CO_MEDIA_PARAMETERS {
- ULONG Flags;
- ULONG ReceivePriority;
- ULONG ReceiveSizeHint;
- CO_SPECIFIC_PARAMETERS MediaSpecific;
- } CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;
- /* CO_CALL_PARAMETERS.Flags constants */
- #define PERMANENT_VC 0x00000001
- #define CALL_PARAMETERS_CHANGED 0x00000002
- #define QUERY_CALL_PARAMETERS 0x00000004
- #define BROADCAST_VC 0x00000008
- #define MULTIPOINT_VC 0x00000010
- typedef struct _CO_CALL_PARAMETERS {
- ULONG Flags;
- PCO_CALL_MANAGER_PARAMETERS CallMgrParameters;
- PCO_MEDIA_PARAMETERS MediaParameters;
- } CO_CALL_PARAMETERS, *PCO_CALL_PARAMETERS;
- typedef struct _CO_SAP {
- ULONG SapType;
- ULONG SapLength;
- UCHAR Sap[1];
- } CO_SAP, *PCO_SAP;
- #if NDIS_LEGACY_DRIVER
- typedef struct _NDIS_IPSEC_PACKET_INFO {
- __MINGW_EXTENSION union {
- struct {
- NDIS_HANDLE OffloadHandle;
- NDIS_HANDLE NextOffloadHandle;
- } Transmit;
- struct {
- ULONG SA_DELETE_REQ:1;
- ULONG CRYPTO_DONE:1;
- ULONG NEXT_CRYPTO_DONE:1;
- ULONG CryptoStatus;
- } Receive;
- };
- } NDIS_IPSEC_PACKET_INFO, *PNDIS_IPSEC_PACKET_INFO;
- #endif
- #if (NDIS_SUPPORT_NDIS6 || NDIS60)
- typedef struct _NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO {
- __MINGW_EXTENSION union {
- struct {
- NDIS_HANDLE OffloadHandle;
- } Transmit;
- struct {
- USHORT SaDeleteReq:1;
- USHORT CryptoDone:1;
- USHORT NextCryptoDone:1;
- USHORT Pad:13;
- USHORT CryptoStatus;
- } Receive;
- };
- } NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO;
- #endif
- /* NDIS_MAC_FRAGMENT.Errors constants */
- #define WAN_ERROR_CRC 0x00000001
- #define WAN_ERROR_FRAMING 0x00000002
- #define WAN_ERROR_HARDWAREOVERRUN 0x00000004
- #define WAN_ERROR_BUFFEROVERRUN 0x00000008
- #define WAN_ERROR_TIMEOUT 0x00000010
- #define WAN_ERROR_ALIGNMENT 0x00000020
- typedef struct _NDIS_MAC_FRAGMENT {
- NDIS_HANDLE NdisLinkContext;
- ULONG Errors;
- } NDIS_MAC_FRAGMENT, *PNDIS_MAC_FRAGMENT;
- typedef struct _NDIS_MAC_LINE_DOWN {
- NDIS_HANDLE NdisLinkContext;
- } NDIS_MAC_LINE_DOWN, *PNDIS_MAC_LINE_DOWN;
- typedef struct _NDIS_MAC_LINE_UP {
- ULONG LinkSpeed;
- NDIS_WAN_QUALITY Quality;
- USHORT SendWindow;
- NDIS_HANDLE ConnectionWrapperID;
- NDIS_HANDLE NdisLinkHandle;
- NDIS_HANDLE NdisLinkContext;
- } NDIS_MAC_LINE_UP, *PNDIS_MAC_LINE_UP;
- typedef struct _NDIS_PACKET_8021Q_INFO {
- __MINGW_EXTENSION union {
- struct {
- UINT32 UserPriority:3;
- UINT32 CanonicalFormatId:1;
- UINT32 VlanId:12;
- UINT32 Reserved:16;
- } TagHeader;
- PVOID Value;
- };
- } NDIS_PACKET_8021Q_INFO, *PNDIS_PACKET_8021Q_INFO;
- typedef enum _NDIS_PER_PACKET_INFO {
- TcpIpChecksumPacketInfo,
- IpSecPacketInfo,
- TcpLargeSendPacketInfo,
- ClassificationHandlePacketInfo,
- NdisReserved,
- ScatterGatherListPacketInfo,
- Ieee8021QInfo,
- OriginalPacketInfo,
- PacketCancelId,
- OriginalNetBufferList,
- CachedNetBufferList,
- ShortPacketPaddingInfo,
- MaxPerPacketInfo
- } NDIS_PER_PACKET_INFO, *PNDIS_PER_PACKET_INFO;
- #if NDIS_LEGACY_DRIVER
- typedef struct _NDIS_PACKET_EXTENSION {
- PVOID NdisPacketInfo[MaxPerPacketInfo];
- } NDIS_PACKET_EXTENSION, *PNDIS_PACKET_EXTENSION;
- typedef enum _NDIS_TASK {
- TcpIpChecksumNdisTask,
- IpSecNdisTask,
- TcpLargeSendNdisTask,
- MaxNdisTask
- } NDIS_TASK, *PNDIS_TASK;
- typedef enum _NDIS_ENCAPSULATION {
- UNSPECIFIED_Encapsulation,
- NULL_Encapsulation,
- IEEE_802_3_Encapsulation,
- IEEE_802_5_Encapsulation,
- LLC_SNAP_ROUTED_Encapsulation,
- LLC_SNAP_BRIDGED_Encapsulation
- } NDIS_ENCAPSULATION;
- typedef struct _NDIS_ENCAPSULATION_FORMAT {
- NDIS_ENCAPSULATION Encapsulation;
- struct {
- ULONG FixedHeaderSize:1;
- ULONG Reserved:31;
- } Flags;
- ULONG EncapsulationHeaderSize;
- } NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
- typedef struct _NDIS_TASK_OFFLOAD_HEADER {
- ULONG Version;
- ULONG Size;
- ULONG Reserved;
- ULONG OffsetFirstTask;
- NDIS_ENCAPSULATION_FORMAT EncapsulationFormat;
- } NDIS_TASK_OFFLOAD_HEADER, *PNDIS_TASK_OFFLOAD_HEADER;
- typedef struct _NDIS_TASK_OFFLOAD {
- ULONG Version;
- ULONG Size;
- NDIS_TASK Task;
- ULONG OffsetNextTask;
- ULONG TaskBufferLength;
- UCHAR TaskBuffer[1];
- } NDIS_TASK_OFFLOAD, *PNDIS_TASK_OFFLOAD;
- typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
- struct {
- ULONG IpOptionsSupported:1;
- ULONG TcpOptionsSupported:1;
- ULONG TcpChecksum:1;
- ULONG UdpChecksum:1;
- ULONG IpChecksum:1;
- } V4Transmit;
- struct {
- ULONG IpOptionsSupported:1;
- ULONG TcpOptionsSupported:1;
- ULONG TcpChecksum:1;
- ULONG UdpChecksum:1;
- ULONG IpChecksum:1;
- } V4Receive;
- struct {
- ULONG IpOptionsSupported:1;
- ULONG TcpOptionsSupported:1;
- ULONG TcpChecksum:1;
- ULONG UdpChecksum:1;
- } V6Transmit;
- struct {
- ULONG IpOptionsSupported:1;
- ULONG TcpOptionsSupported:1;
- ULONG TcpChecksum:1;
- ULONG UdpChecksum:1;
- } V6Receive;
- } NDIS_TASK_TCP_IP_CHECKSUM, *PNDIS_TASK_TCP_IP_CHECKSUM;
- #define NDIS_TASK_TCP_LARGE_SEND_V0 0
- typedef struct _NDIS_TASK_TCP_LARGE_SEND {
- ULONG Version;
- ULONG MaxOffLoadSize;
- ULONG MinSegmentCount;
- BOOLEAN TcpOptions;
- BOOLEAN IpOptions;
- } NDIS_TASK_TCP_LARGE_SEND, *PNDIS_TASK_TCP_LARGE_SEND;
- typedef struct _NDIS_TASK_IPSEC {
- struct {
- ULONG AH_ESP_COMBINED;
- ULONG TRANSPORT_TUNNEL_COMBINED;
- ULONG V4_OPTIONS;
- ULONG RESERVED;
- } Supported;
- struct {
- ULONG MD5:1;
- ULONG SHA_1:1;
- ULONG Transport:1;
- ULONG Tunnel:1;
- ULONG Send:1;
- ULONG Receive:1;
- } V4AH;
- struct {
- ULONG DES:1;
- ULONG RESERVED:1;
- ULONG TRIPLE_DES:1;
- ULONG NULL_ESP:1;
- ULONG Transport:1;
- ULONG Tunnel:1;
- ULONG Send:1;
- ULONG Receive:1;
- } V4ESP;
- } NDIS_TASK_IPSEC, *PNDIS_TASK_IPSEC;
- #endif /* NDIS_LEGACY_DRIVER */
- #define IPSEC_TPT_UDPESP_ENCAPTYPE_IKE 0x00000001
- #define IPSEC_TUN_UDPESP_ENCAPTYPE_IKE 0x00000002
- #define IPSEC_TPTOVERTUN_UDPESP_ENCAPTYPE_IKE 0x00000004
- #define IPSEC_TPT_UDPESP_OVER_PURE_TUN_ENCAPTYPE_IKE 0x00000008
- #define IPSEC_TPT_UDPESP_ENCAPTYPE_OTHER 0x00000010
- #define IPSEC_TUN_UDPESP_ENCAPTYPE_OTHER 0x00000020
- #define IPSEC_TPTOVERTUN_UDPESP_ENCAPTYPE_OTHER 0x00000040
- #define IPSEC_TPT_UDPESP_OVER_PURE_TUN_ENCAPTYPE_OTHER 0x00000080
- #if NDIS_LEGACY_DRIVER
- /*
- * PNDIS_PACKET
- * NDIS_GET_ORIGINAL_PACKET(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_GET_ORIGINAL_PACKET(Packet) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo)
- /*
- * PVOID
- * NDIS_GET_PACKET_CANCEL_ID(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_GET_PACKET_CANCEL_ID(Packet) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId)
- /*
- * PNDIS_PACKET_EXTENSION
- * NDIS_PACKET_EXTENSION_FROM_PACKET(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_PACKET_EXTENSION_FROM_PACKET(Packet) \
- ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) \
- + (Packet)->Private.NdisPacketOobOffset + sizeof(NDIS_PACKET_OOB_DATA)))
- /*
- * PVOID
- * NDIS_PER_PACKET_INFO_FROM_PACKET(
- * IN OUT PNDIS_PACKET Packet,
- * IN NDIS_PER_PACKET_INFO InfoType);
- */
- #define NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, InfoType) \
- ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) + (Packet)->Private.NdisPacketOobOffset \
- + sizeof(NDIS_PACKET_OOB_DATA)))->NdisPacketInfo[(InfoType)]
- /*
- * VOID
- * NDIS_SET_ORIGINAL_PACKET(
- * IN OUT PNDIS_PACKET Packet,
- * IN PNDIS_PACKET OriginalPacket);
- */
- #define NDIS_SET_ORIGINAL_PACKET(Packet, OriginalPacket) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo) = (OriginalPacket)
- /*
- * VOID
- * NDIS_SET_PACKET_CANCEL_ID(
- * IN PNDIS_PACKET Packet
- * IN ULONG_PTR CancelId);
- */
- #define NDIS_SET_PACKET_CANCEL_ID(Packet, CancelId) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId) = (CancelId)
- #define NdisSetPacketCancelId(_Packet, _CancelId) NDIS_SET_PACKET_CANCEL_ID(_Packet, _CancelId)
- #define NdisGetPacketCancelId(_Packet) NDIS_GET_PACKET_CANCEL_ID(_Packet)
- #endif /* NDIS_LEGACY_DRIVER */
- #if NDIS_SUPPORT_NDIS6
- typedef struct _NDIS_GENERIC_OBJECT {
- NDIS_OBJECT_HEADER Header;
- PVOID Caller;
- PVOID CallersCaller;
- PDRIVER_OBJECT DriverObject;
- } NDIS_GENERIC_OBJECT, *PNDIS_GENERIC_OBJECT;
- #endif
- /* NDIS_TASK_OFFLOAD_HEADER.Version constants */
- #define NDIS_TASK_OFFLOAD_VERSION 1
- #define MAX_HASHES 4
- #define TRUNCATED_HASH_LEN 12
- #define CRYPTO_SUCCESS 0
- #define CRYPTO_GENERIC_ERROR 1
- #define CRYPTO_TRANSPORT_AH_AUTH_FAILED 2
- #define CRYPTO_TRANSPORT_ESP_AUTH_FAILED 3
- #define CRYPTO_TUNNEL_AH_AUTH_FAILED 4
- #define CRYPTO_TUNNEL_ESP_AUTH_FAILED 5
- #define CRYPTO_INVALID_PACKET_SYNTAX 6
- #define CRYPTO_INVALID_PROTOCOL 7
- typedef struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO {
- __MINGW_EXTENSION union {
- struct {
- ULONG NdisPacketChecksumV4:1;
- ULONG NdisPacketChecksumV6:1;
- ULONG NdisPacketTcpChecksum:1;
- ULONG NdisPacketUdpChecksum:1;
- ULONG NdisPacketIpChecksum:1;
- } Transmit;
- struct {
- ULONG NdisPacketTcpChecksumFailed:1;
- ULONG NdisPacketUdpChecksumFailed:1;
- ULONG NdisPacketIpChecksumFailed:1;
- ULONG NdisPacketTcpChecksumSucceeded:1;
- ULONG NdisPacketUdpChecksumSucceeded:1;
- ULONG NdisPacketIpChecksumSucceeded:1;
- ULONG NdisPacketLoopback:1;
- } Receive;
- ULONG Value;
- };
- } NDIS_TCP_IP_CHECKSUM_PACKET_INFO, *PNDIS_TCP_IP_CHECKSUM_PACKET_INFO;
- typedef struct _NDIS_WAN_CO_FRAGMENT {
- ULONG Errors;
- } NDIS_WAN_CO_FRAGMENT, *PNDIS_WAN_CO_FRAGMENT;
- typedef struct _NDIS_WAN_FRAGMENT {
- UCHAR RemoteAddress[6];
- UCHAR LocalAddress[6];
- } NDIS_WAN_FRAGMENT, *PNDIS_WAN_FRAGMENT;
- typedef struct _WAN_CO_LINKPARAMS {
- ULONG TransmitSpeed;
- ULONG ReceiveSpeed;
- ULONG SendWindow;
- } WAN_CO_LINKPARAMS, *PWAN_CO_LINKPARAMS;
- typedef struct _NDIS_WAN_GET_STATS {
- UCHAR LocalAddress[6];
- ULONG BytesSent;
- ULONG BytesRcvd;
- ULONG FramesSent;
- ULONG FramesRcvd;
- ULONG CRCErrors;
- ULONG TimeoutErrors;
- ULONG AlignmentErrors;
- ULONG SerialOverrunErrors;
- ULONG FramingErrors;
- ULONG BufferOverrunErrors;
- ULONG BytesTransmittedUncompressed;
- ULONG BytesReceivedUncompressed;
- ULONG BytesTransmittedCompressed;
- ULONG BytesReceivedCompressed;
- } NDIS_WAN_GET_STATS, *PNDIS_WAN_GET_STATS;
- /* Call Manager */
- typedef VOID
- (NTAPI *CM_ACTIVATE_VC_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE CallMgrVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
- typedef NDIS_STATUS
- (NTAPI *CM_ADD_PARTY_HANDLER)(
- IN NDIS_HANDLE CallMgrVcContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters,
- IN NDIS_HANDLE NdisPartyHandle,
- OUT PNDIS_HANDLE CallMgrPartyContext);
- typedef NDIS_STATUS
- (NTAPI *CM_CLOSE_AF_HANDLER)(
- IN NDIS_HANDLE CallMgrAfContext);
- typedef NDIS_STATUS
- (NTAPI *CM_CLOSE_CALL_HANDLER)(
- IN NDIS_HANDLE CallMgrVcContext,
- IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
- IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL);
- typedef NDIS_STATUS
- (NTAPI *CM_DEREG_SAP_HANDLER)(
- IN NDIS_HANDLE CallMgrSapContext);
- typedef VOID
- (NTAPI *CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE CallMgrVcContext);
- typedef NDIS_STATUS
- (NTAPI *CM_DROP_PARTY_HANDLER)(
- IN NDIS_HANDLE CallMgrPartyContext,
- IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL);
- typedef VOID
- (NTAPI *CM_INCOMING_CALL_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE CallMgrVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
- typedef NDIS_STATUS
- (NTAPI *CM_MAKE_CALL_HANDLER)(
- IN NDIS_HANDLE CallMgrVcContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- OUT PNDIS_HANDLE CallMgrPartyContext OPTIONAL);
- typedef NDIS_STATUS
- (NTAPI *CM_MODIFY_CALL_QOS_HANDLER)(
- IN NDIS_HANDLE CallMgrVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
- typedef NDIS_STATUS
- (NTAPI *CM_OPEN_AF_HANDLER)(
- IN NDIS_HANDLE CallMgrBindingContext,
- IN PCO_ADDRESS_FAMILY AddressFamily,
- IN NDIS_HANDLE NdisAfHandle,
- OUT PNDIS_HANDLE CallMgrAfContext);
- typedef NDIS_STATUS
- (NTAPI *CM_REG_SAP_HANDLER)(
- IN NDIS_HANDLE CallMgrAfContext,
- IN PCO_SAP Sap,
- IN NDIS_HANDLE NdisSapHandle,
- OUT PNDIS_HANDLE CallMgrSapContext);
- typedef NDIS_STATUS
- (NTAPI *CO_CREATE_VC_HANDLER)(
- IN NDIS_HANDLE ProtocolAfContext,
- IN NDIS_HANDLE NdisVcHandle,
- OUT PNDIS_HANDLE ProtocolVcContext);
- typedef NDIS_STATUS
- (NTAPI *CO_DELETE_VC_HANDLER)(
- IN NDIS_HANDLE ProtocolVcContext);
- #define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID))
- /* Prototypes for NDIS 5.0 protocol characteristics */
- typedef VOID
- (NTAPI *CO_SEND_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolVcContext,
- IN PNDIS_PACKET Packet);
- typedef VOID
- (NTAPI *CO_STATUS_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
- IN NDIS_STATUS GeneralStatus,
- IN PVOID StatusBuffer,
- IN UINT StatusBufferSize);
- typedef UINT
- (NTAPI *CO_RECEIVE_PACKET_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_HANDLE ProtocolVcContext,
- IN PNDIS_PACKET Packet);
- typedef NDIS_STATUS
- (NTAPI *CO_REQUEST_HANDLER)(
- IN NDIS_HANDLE ProtocolAfContext,
- IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
- IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
- IN OUT PNDIS_REQUEST NdisRequest);
- typedef VOID
- (NTAPI *CO_REQUEST_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolAfContext OPTIONAL,
- IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
- IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
- IN PNDIS_REQUEST NdisRequest);
- typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS {
- UCHAR MajorVersion;
- UCHAR MinorVersion;
- USHORT Filler;
- UINT Reserved;
- CO_CREATE_VC_HANDLER CmCreateVcHandler;
- CO_DELETE_VC_HANDLER CmDeleteVcHandler;
- CM_OPEN_AF_HANDLER CmOpenAfHandler;
- CM_CLOSE_AF_HANDLER CmCloseAfHandler;
- CM_REG_SAP_HANDLER CmRegisterSapHandler;
- CM_DEREG_SAP_HANDLER CmDeregisterSapHandler;
- CM_MAKE_CALL_HANDLER CmMakeCallHandler;
- CM_CLOSE_CALL_HANDLER CmCloseCallHandler;
- CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler;
- CM_ADD_PARTY_HANDLER CmAddPartyHandler;
- CM_DROP_PARTY_HANDLER CmDropPartyHandler;
- CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler;
- CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler;
- CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler;
- CO_REQUEST_HANDLER CmRequestHandler;
- CO_REQUEST_COMPLETE_HANDLER CmRequestCompleteHandler;
- } NDIS_CALL_MANAGER_CHARACTERISTICS, *PNDIS_CALL_MANAGER_CHARACTERISTICS;
- /* Call Manager clients */
- typedef VOID (*CL_OPEN_AF_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolAfContext,
- IN NDIS_HANDLE NdisAfHandle);
- typedef VOID
- (NTAPI *CL_CLOSE_AF_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolAfContext);
- typedef VOID
- (NTAPI *CL_REG_SAP_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolSapContext,
- IN PCO_SAP Sap,
- IN NDIS_HANDLE NdisSapHandle);
- typedef VOID
- (NTAPI *CL_DEREG_SAP_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolSapContext);
- typedef VOID
- (NTAPI *CL_MAKE_CALL_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolVcContext,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN PCO_CALL_PARAMETERS CallParameters);
- typedef VOID
- (NTAPI *CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
- typedef VOID
- (NTAPI *CL_CLOSE_CALL_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolVcContext,
- IN NDIS_HANDLE ProtocolPartyContext OPTIONAL);
- typedef VOID
- (NTAPI *CL_ADD_PARTY_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolPartyContext,
- IN NDIS_HANDLE NdisPartyHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
- typedef VOID
- (NTAPI *CL_DROP_PARTY_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolPartyContext);
- typedef NDIS_STATUS
- (NTAPI *CL_INCOMING_CALL_HANDLER)(
- IN NDIS_HANDLE ProtocolSapContext,
- IN NDIS_HANDLE ProtocolVcContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters);
- typedef VOID
- (NTAPI *CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
- IN NDIS_HANDLE ProtocolVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
- typedef VOID
- (NTAPI *CL_INCOMING_CLOSE_CALL_HANDLER)(
- IN NDIS_STATUS CloseStatus,
- IN NDIS_HANDLE ProtocolVcContext,
- IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL);
- typedef VOID
- (NTAPI *CL_INCOMING_DROP_PARTY_HANDLER)(
- IN NDIS_STATUS DropStatus,
- IN NDIS_HANDLE ProtocolPartyContext,
- IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL);
- typedef VOID
- (NTAPI *CL_CALL_CONNECTED_HANDLER)(
- IN NDIS_HANDLE ProtocolVcContext);
- typedef struct _NDIS_CLIENT_CHARACTERISTICS {
- UCHAR MajorVersion;
- UCHAR MinorVersion;
- USHORT Filler;
- UINT Reserved;
- CO_CREATE_VC_HANDLER ClCreateVcHandler;
- CO_DELETE_VC_HANDLER ClDeleteVcHandler;
- CO_REQUEST_HANDLER ClRequestHandler;
- CO_REQUEST_COMPLETE_HANDLER ClRequestCompleteHandler;
- CL_OPEN_AF_COMPLETE_HANDLER ClOpenAfCompleteHandler;
- CL_CLOSE_AF_COMPLETE_HANDLER ClCloseAfCompleteHandler;
- CL_REG_SAP_COMPLETE_HANDLER ClRegisterSapCompleteHandler;
- CL_DEREG_SAP_COMPLETE_HANDLER ClDeregisterSapCompleteHandler;
- CL_MAKE_CALL_COMPLETE_HANDLER ClMakeCallCompleteHandler;
- CL_MODIFY_CALL_QOS_COMPLETE_HANDLER ClModifyCallQoSCompleteHandler;
- CL_CLOSE_CALL_COMPLETE_HANDLER ClCloseCallCompleteHandler;
- CL_ADD_PARTY_COMPLETE_HANDLER ClAddPartyCompleteHandler;
- CL_DROP_PARTY_COMPLETE_HANDLER ClDropPartyCompleteHandler;
- CL_INCOMING_CALL_HANDLER ClIncomingCallHandler;
- CL_INCOMING_CALL_QOS_CHANGE_HANDLER ClIncomingCallQoSChangeHandler;
- CL_INCOMING_CLOSE_CALL_HANDLER ClIncomingCloseCallHandler;
- CL_INCOMING_DROP_PARTY_HANDLER ClIncomingDropPartyHandler;
- CL_CALL_CONNECTED_HANDLER ClCallConnectedHandler;
- } NDIS_CLIENT_CHARACTERISTICS, *PNDIS_CLIENT_CHARACTERISTICS;
- /* NDIS protocol structures */
- /* Prototypes for NDIS 3.0 protocol characteristics */
- typedef VOID
- (NTAPI *OPEN_ADAPTER_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_STATUS Status,
- IN NDIS_STATUS OpenErrorStatus);
- typedef VOID
- (NTAPI *CLOSE_ADAPTER_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_STATUS Status);
- typedef VOID
- (NTAPI *RESET_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_STATUS Status);
- typedef VOID
- (NTAPI *REQUEST_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_REQUEST NdisRequest,
- IN NDIS_STATUS Status);
- typedef VOID
- (NTAPI *STATUS_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_STATUS GeneralStatus,
- IN PVOID StatusBuffer,
- IN UINT StatusBufferSize);
- typedef VOID
- (NTAPI *STATUS_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext);
- typedef VOID
- (NTAPI *SEND_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status);
- typedef VOID
- (NTAPI *WAN_SEND_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_WAN_PACKET Packet,
- IN NDIS_STATUS Status);
- typedef VOID
- (NTAPI *TRANSFER_DATA_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status,
- IN UINT BytesTransferred);
- typedef VOID
- (NTAPI *WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
- VOID);
- typedef NDIS_STATUS
- (NTAPI *RECEIVE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_HANDLE MacReceiveContext,
- IN PVOID HeaderBuffer,
- IN UINT HeaderBufferSize,
- IN PVOID LookAheadBuffer,
- IN UINT LookaheadBufferSize,
- IN UINT PacketSize);
- typedef NDIS_STATUS
- (NTAPI *WAN_RECEIVE_HANDLER)(
- IN NDIS_HANDLE NdisLinkHandle,
- IN PUCHAR Packet,
- IN ULONG PacketSize);
- typedef VOID
- (NTAPI *RECEIVE_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext);
- /* Protocol characteristics for NDIS 3.0 protocols */
- #define NDIS30_PROTOCOL_CHARACTERISTICS_S \
- UCHAR MajorNdisVersion; \
- UCHAR MinorNdisVersion; \
- USHORT Filler; \
- _ANONYMOUS_UNION union { \
- UINT Reserved; \
- UINT Flags; \
- } DUMMYUNIONNAME; \
- OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler; \
- CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler; \
- _ANONYMOUS_UNION union { \
- SEND_COMPLETE_HANDLER SendCompleteHandler; \
- WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler; \
- } DUMMYUNIONNAME2; \
- _ANONYMOUS_UNION union { \
- TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \
- WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler; \
- } DUMMYUNIONNAME3; \
- RESET_COMPLETE_HANDLER ResetCompleteHandler; \
- REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \
- _ANONYMOUS_UNION union { \
- RECEIVE_HANDLER ReceiveHandler; \
- WAN_RECEIVE_HANDLER WanReceiveHandler; \
- } DUMMYUNIONNAME4; \
- RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \
- STATUS_HANDLER StatusHandler; \
- STATUS_COMPLETE_HANDLER StatusCompleteHandler; \
- NDIS_STRING Name;
- typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS {
- NDIS30_PROTOCOL_CHARACTERISTICS_S
- } NDIS30_PROTOCOL_CHARACTERISTICS, *PNDIS30_PROTOCOL_CHARACTERISTICS;
- /* Prototypes for NDIS 4.0 protocol characteristics */
- typedef INT
- (NTAPI *RECEIVE_PACKET_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_PACKET Packet);
- typedef VOID
- (NTAPI *BIND_HANDLER)(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE BindContext,
- IN PNDIS_STRING DeviceName,
- IN PVOID SystemSpecific1,
- IN PVOID SystemSpecific2);
- typedef VOID
- (NTAPI *UNBIND_HANDLER)(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_HANDLE UnbindContext);
- typedef NDIS_STATUS
- (NTAPI *PNP_EVENT_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNET_PNP_EVENT NetPnPEvent);
- typedef VOID
- (NTAPI *UNLOAD_PROTOCOL_HANDLER)(
- VOID);
- /* Protocol characteristics for NDIS 4.0 protocols */
- typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS {
- UCHAR MajorNdisVersion;
- UCHAR MinorNdisVersion;
- USHORT Filler;
- __MINGW_EXTENSION union {
- UINT Reserved;
- UINT Flags;
- };
- OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler;
- CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler;
- __MINGW_EXTENSION union {
- SEND_COMPLETE_HANDLER SendCompleteHandler;
- WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler;
- };
- __MINGW_EXTENSION union {
- TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler;
- WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler;
- };
- RESET_COMPLETE_HANDLER ResetCompleteHandler;
- REQUEST_COMPLETE_HANDLER RequestCompleteHandler;
- __MINGW_EXTENSION union {
- RECEIVE_HANDLER ReceiveHandler;
- WAN_RECEIVE_HANDLER WanReceiveHandler;
- };
- RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler;
- STATUS_HANDLER StatusHandler;
- STATUS_COMPLETE_HANDLER StatusCompleteHandler;
- NDIS_STRING Name;
- RECEIVE_PACKET_HANDLER ReceivePacketHandler;
- BIND_HANDLER BindAdapterHandler;
- UNBIND_HANDLER UnbindAdapterHandler;
- PNP_EVENT_HANDLER PnPEventHandler;
- UNLOAD_PROTOCOL_HANDLER UnloadHandler;
- } NDIS40_PROTOCOL_CHARACTERISTICS;
- typedef VOID
- (NTAPI PROTCOL_CO_AF_REGISTER_NOTIFY)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PCO_ADDRESS_FAMILY AddressFamily);
- typedef PROTCOL_CO_AF_REGISTER_NOTIFY *CO_AF_REGISTER_NOTIFY_HANDLER;
- #if NDIS_LEGACY_PROTOCOL
- typedef struct _NDIS50_PROTOCOL_CHARACTERISTICS {
- #ifdef __cplusplus
- NDIS40_PROTOCOL_CHARACTERISTICS Ndis40Chars;
- #else
- NDIS40_PROTOCOL_CHARACTERISTICS;
- #endif
- PVOID ReservedHandlers[4];
- CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler;
- CO_STATUS_HANDLER CoStatusHandler;
- CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler;
- CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler;
- } NDIS50_PROTOCOL_CHARACTERISTICS;
- #if (defined(NDIS50) || defined(NDIS51))
- typedef NDIS50_PROTOCOL_CHARACTERISTICS NDIS_PROTOCOL_CHARACTERISTICS;
- #else
- typedef NDIS40_PROTOCOL_CHARACTERISTICS NDIS_PROTOCOL_CHARACTERISTICS;
- #endif
- typedef NDIS_PROTOCOL_CHARACTERISTICS *PNDIS_PROTOCOL_CHARACTERISTICS;
- #endif /* NDIS_LEGACY_PROTOCOL */
- /* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
- typedef BOOLEAN
- (NTAPI *W_CHECK_FOR_HANG_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
- typedef VOID
- (NTAPI *W_DISABLE_INTERRUPT_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
- typedef VOID
- (NTAPI *W_ENABLE_INTERRUPT_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
- typedef VOID
- (NTAPI *W_HALT_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
- typedef VOID
- (NTAPI *W_HANDLE_INTERRUPT_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
- typedef NDIS_STATUS
- (NTAPI *W_INITIALIZE_HANDLER)(
- OUT PNDIS_STATUS OpenErrorStatus,
- OUT PUINT SelectedMediumIndex,
- IN PNDIS_MEDIUM MediumArray,
- IN UINT MediumArraySize,
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE WrapperConfigurationContext);
- typedef VOID
- (NTAPI *W_ISR_HANDLER)(
- OUT PBOOLEAN InterruptRecognized,
- OUT PBOOLEAN QueueMiniportHandleInterrupt,
- IN NDIS_HANDLE MiniportAdapterContext);
- typedef NDIS_STATUS
- (NTAPI *W_QUERY_INFORMATION_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_OID Oid,
- IN PVOID InformationBuffer,
- IN ULONG InformationBufferLength,
- OUT PULONG BytesWritten,
- OUT PULONG BytesNeeded);
- typedef NDIS_STATUS
- (NTAPI *W_RECONFIGURE_HANDLER)(
- OUT PNDIS_STATUS OpenErrorStatus,
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE WrapperConfigurationContext);
- typedef NDIS_STATUS
- (NTAPI *W_RESET_HANDLER)(
- OUT PBOOLEAN AddressingReset,
- IN NDIS_HANDLE MiniportAdapterContext);
- typedef NDIS_STATUS
- (NTAPI *W_SEND_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PNDIS_PACKET Packet,
- IN UINT Flags);
- typedef NDIS_STATUS
- (NTAPI *WM_SEND_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE NdisLinkHandle,
- IN PNDIS_WAN_PACKET Packet);
- typedef NDIS_STATUS
- (NTAPI *W_SET_INFORMATION_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_OID Oid,
- IN PVOID InformationBuffer,
- IN ULONG InformationBufferLength,
- OUT PULONG BytesRead,
- OUT PULONG BytesNeeded);
- typedef NDIS_STATUS
- (NTAPI *W_TRANSFER_DATA_HANDLER)(
- OUT PNDIS_PACKET Packet,
- OUT PUINT BytesTransferred,
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE MiniportReceiveContext,
- IN UINT ByteOffset,
- IN UINT BytesToTransfer);
- typedef NDIS_STATUS
- (NTAPI *WM_TRANSFER_DATA_HANDLER)(
- VOID);
- typedef VOID
- (NTAPI *ADAPTER_SHUTDOWN_HANDLER)(
- IN PVOID ShutdownContext);
- typedef VOID
- (NTAPI *W_RETURN_PACKET_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PNDIS_PACKET Packet);
- typedef VOID
- (NTAPI *W_SEND_PACKETS_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
- typedef VOID
- (NTAPI *W_ALLOCATE_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PVOID VirtualAddress,
- IN PNDIS_PHYSICAL_ADDRESS PhysicalAddress,
- IN ULONG Length,
- IN PVOID Context);
- /* NDIS structures available only to miniport drivers */
- #define NDIS30_MINIPORT_CHARACTERISTICS_S \
- UCHAR MajorNdisVersion; \
- UCHAR MinorNdisVersion; \
- UINT Reserved; \
- W_CHECK_FOR_HANG_HANDLER CheckForHangHandler; \
- W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler; \
- W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler; \
- W_HALT_HANDLER HaltHandler; \
- W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler; \
- W_INITIALIZE_HANDLER InitializeHandler; \
- W_ISR_HANDLER ISRHandler; \
- W_QUERY_INFORMATION_HANDLER QueryInformationHandler; \
- W_RECONFIGURE_HANDLER ReconfigureHandler; \
- W_RESET_HANDLER ResetHandler; \
- W_SEND_HANDLER SendHandler; \
- W_SET_INFORMATION_HANDLER SetInformationHandler; \
- W_TRANSFER_DATA_HANDLER TransferDataHandler;
- typedef struct _NDIS30_MINIPORT_CHARACTERISTICS {
- NDIS30_MINIPORT_CHARACTERISTICS_S
- } NDIS30_MINIPORT_CHARACTERISTICS, *PSNDIS30_MINIPORT_CHARACTERISTICS;
- #ifdef __cplusplus
- #define NDIS40_MINIPORT_CHARACTERISTICS_S \
- NDIS30_MINIPORT_CHARACTERISTICS Ndis30Chars; \
- W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
- W_SEND_PACKETS_HANDLER SendPacketsHandler; \
- W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
- #else /* !__cplusplus */
- #define NDIS40_MINIPORT_CHARACTERISTICS_S \
- NDIS30_MINIPORT_CHARACTERISTICS_S \
- W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
- W_SEND_PACKETS_HANDLER SendPacketsHandler; \
- W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
- #endif /* !__cplusplus */
- typedef struct _NDIS40_MINIPORT_CHARACTERISTICS {
- NDIS40_MINIPORT_CHARACTERISTICS_S
- } NDIS40_MINIPORT_CHARACTERISTICS, *PNDIS40_MINIPORT_CHARACTERISTICS;
- /* Extensions for NDIS 5.0 miniports */
- typedef NDIS_STATUS
- (NTAPI MINIPORT_CO_CREATE_VC)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE NdisVcHandle,
- OUT PNDIS_HANDLE MiniportVcContext);
- typedef MINIPORT_CO_CREATE_VC *W_CO_CREATE_VC_HANDLER;
- typedef NDIS_STATUS
- (NTAPI MINIPORT_CO_DELETE_VC)(
- IN NDIS_HANDLE MiniportVcContext);
- typedef MINIPORT_CO_DELETE_VC *W_CO_DELETE_VC_HANDLER;
- typedef NDIS_STATUS
- (NTAPI MINIPORT_CO_ACTIVATE_VC)(
- IN NDIS_HANDLE MiniportVcContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters);
- typedef MINIPORT_CO_ACTIVATE_VC *W_CO_ACTIVATE_VC_HANDLER;
- typedef NDIS_STATUS
- (NTAPI MINIPORT_CO_DEACTIVATE_VC)(
- IN NDIS_HANDLE MiniportVcContext);
- typedef MINIPORT_CO_DEACTIVATE_VC *W_CO_DEACTIVATE_VC_HANDLER;
- typedef VOID
- (NTAPI *W_CO_SEND_PACKETS_HANDLER)(
- IN NDIS_HANDLE MiniportVcContext,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
- typedef NDIS_STATUS
- (NTAPI *W_CO_REQUEST_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE MiniportVcContext OPTIONAL,
- IN OUT PNDIS_REQUEST NdisRequest);
- #ifdef __cplusplus
- #define NDIS50_MINIPORT_CHARACTERISTICS_S \
- NDIS40_MINIPORT_CHARACTERISTICS Ndis40Chars; \
- W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
- W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
- W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
- W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
- W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
- W_CO_REQUEST_HANDLER CoRequestHandler;
- #else /* !__cplusplus */
- #define NDIS50_MINIPORT_CHARACTERISTICS_S \
- NDIS40_MINIPORT_CHARACTERISTICS_S \
- W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
- W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
- W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
- W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
- W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
- W_CO_REQUEST_HANDLER CoRequestHandler;
- #endif /* !__cplusplus */
- typedef struct _NDIS50_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
- } NDIS50_MINIPORT_CHARACTERISTICS, *PSNDIS50_MINIPORT_CHARACTERISTICS;
- /* Extensions for NDIS 5.1 miniports */
- typedef VOID
- (NTAPI *W_CANCEL_SEND_PACKETS_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PVOID CancelId);
- typedef VOID
- (NTAPI *W_PNP_EVENT_NOTIFY_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_DEVICE_PNP_EVENT PnPEvent,
- IN PVOID InformationBuffer,
- IN ULONG InformationBufferLength);
- typedef VOID
- (NTAPI *W_MINIPORT_SHUTDOWN_HANDLER)(
- IN PVOID ShutdownContext);
- #ifdef __cplusplus
- #define NDIS51_MINIPORT_CHARACTERISTICS_S \
- NDIS50_MINIPORT_CHARACTERISTICS Ndis50Chars; \
- W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
- W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \
- W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; \
- PVOID Reserved1; \
- PVOID Reserved2; \
- PVOID Reserved3; \
- PVOID Reserved4;
- #else
- #define NDIS51_MINIPORT_CHARACTERISTICS_S \
- NDIS50_MINIPORT_CHARACTERISTICS_S \
- W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
- W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \
- W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; \
- PVOID Reserved1; \
- PVOID Reserved2; \
- PVOID Reserved3; \
- PVOID Reserved4;
- #endif
- typedef struct _NDIS51_MINIPORT_CHARACTERISTICS {
- NDIS51_MINIPORT_CHARACTERISTICS_S
- } NDIS51_MINIPORT_CHARACTERISTICS, *PSNDIS51_MINIPORT_CHARACTERISTICS;
- #if defined(NDIS51_MINIPORT)
- typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS51_MINIPORT_CHARACTERISTICS_S
- } NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
- #elif defined(NDIS50_MINIPORT)
- typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
- } NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
- #elif defined(NDIS40_MINIPORT)
- typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS40_MINIPORT_CHARACTERISTICS_S
- } NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
- #else /* NDIS30 */
- typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS30_MINIPORT_CHARACTERISTICS_S
- } NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
- #endif
- typedef struct _NDIS_MINIPORT_INTERRUPT {
- PKINTERRUPT InterruptObject;
- KSPIN_LOCK DpcCountLock;
- PVOID Reserved;
- W_ISR_HANDLER MiniportIsr;
- W_HANDLE_INTERRUPT_HANDLER MiniportDpc;
- KDPC InterruptDpc;
- PNDIS_MINIPORT_BLOCK Miniport;
- UCHAR DpcCount;
- BOOLEAN Filler1;
- KEVENT DpcsCompletedEvent;
- BOOLEAN SharedInterrupt;
- BOOLEAN IsrRequested;
- } NDIS_MINIPORT_INTERRUPT, *PNDIS_MINIPORT_INTERRUPT;
- /* Structures available only to full MAC drivers */
- typedef BOOLEAN
- (NTAPI *PNDIS_INTERRUPT_SERVICE)(
- IN PVOID InterruptContext);
- typedef VOID
- (NTAPI *PNDIS_DEFERRED_PROCESSING)(
- IN PVOID SystemSpecific1,
- IN PVOID InterruptContext,
- IN PVOID SystemSpecific2,
- IN PVOID SystemSpecific3);
- typedef struct _NDIS_WRAPPER_HANDLE NDIS_WRAPPER_HANDLE, *PNDIS_WRAPPER_HANDLE;
- typedef struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK, *PNDIS_PROTOCOL_BLOCK;
- typedef struct _NDIS_OPEN_BLOCK NDIS_OPEN_BLOCK, *PNDIS_OPEN_BLOCK;
- typedef struct _NDIS_M_DRIVER_BLOCK NDIS_M_DRIVER_BLOCK, *PNDIS_M_DRIVER_BLOCK;
- typedef struct _NDIS_OFFLOAD NDIS_OFFLOAD, *PNDIS_OFFLOAD;
- typedef struct _NDIS_AF_LIST NDIS_AF_LIST, *PNDIS_AF_LIST;
- typedef struct _X_FILTER ETH_FILTER, *PETH_FILTER;
- #if NDIS_SUPPORT_NDIS6
- typedef USHORT NET_FRAME_TYPE, *PNET_FRAME_TYPE;
- #endif
- typedef struct _NDIS_MINIPORT_TIMER {
- KTIMER Timer;
- KDPC Dpc;
- PNDIS_TIMER_FUNCTION MiniportTimerFunction;
- PVOID MiniportTimerContext;
- PNDIS_MINIPORT_BLOCK Miniport;
- struct _NDIS_MINIPORT_TIMER *NextDeferredTimer;
- } NDIS_MINIPORT_TIMER, *PNDIS_MINIPORT_TIMER;
- typedef struct _NDIS_INTERRUPT {
- PKINTERRUPT InterruptObject;
- KSPIN_LOCK DpcCountLock;
- PNDIS_INTERRUPT_SERVICE MacIsr;
- PNDIS_DEFERRED_PROCESSING MacDpc;
- KDPC InterruptDpc;
- PVOID InterruptContext;
- UCHAR DpcCount;
- BOOLEAN Removing;
- KEVENT DpcsCompletedEvent;
- } NDIS_INTERRUPT, *PNDIS_INTERRUPT;
- typedef enum _NDIS_WORK_ITEM_TYPE {
- NdisWorkItemRequest,
- NdisWorkItemSend,
- NdisWorkItemReturnPackets,
- NdisWorkItemResetRequested,
- NdisWorkItemResetInProgress,
- NdisWorkItemHalt,
- NdisWorkItemSendLoopback,
- NdisWorkItemMiniportCallback,
- NdisMaxWorkItems
- } NDIS_WORK_ITEM_TYPE, *PNDIS_WORK_ITEM_TYPE;
- #define NUMBER_OF_WORK_ITEM_TYPES NdisMaxWorkItems
- #define NUMBER_OF_SINGLE_WORK_ITEMS 6
- typedef struct _NDIS_MINIPORT_WORK_ITEM {
- SINGLE_LIST_ENTRY Link;
- NDIS_WORK_ITEM_TYPE WorkItemType;
- PVOID WorkItemContext;
- } NDIS_MINIPORT_WORK_ITEM, *PNDIS_MINIPORT_WORK_ITEM;
- struct _NDIS_WORK_ITEM;
- typedef VOID (*NDIS_PROC)(struct _NDIS_WORK_ITEM *, PVOID);
- typedef struct _NDIS_WORK_ITEM {
- PVOID Context;
- NDIS_PROC Routine;
- UCHAR WrapperReserved[8*sizeof(PVOID)];
- } NDIS_WORK_ITEM, *PNDIS_WORK_ITEM;
- typedef struct _NDIS_BIND_PATHS {
- UINT Number;
- NDIS_STRING Paths[1];
- } NDIS_BIND_PATHS, *PNDIS_BIND_PATHS;
- typedef VOID
- (NTAPI *ETH_RCV_COMPLETE_HANDLER)(
- IN PETH_FILTER Filter);
- typedef VOID
- (NTAPI *ETH_RCV_INDICATE_HANDLER)(
- IN PETH_FILTER Filter,
- IN NDIS_HANDLE MacReceiveContext,
- IN PCHAR Address,
- IN PVOID HeaderBuffer,
- IN UINT HeaderBufferSize,
- IN PVOID LookaheadBuffer,
- IN UINT LookaheadBufferSize,
- IN UINT PacketSize);
- typedef VOID
- (NTAPI *FDDI_RCV_COMPLETE_HANDLER)(
- IN PFDDI_FILTER Filter);
- typedef VOID
- (NTAPI *FDDI_RCV_INDICATE_HANDLER)(
- IN PFDDI_FILTER Filter,
- IN NDIS_HANDLE MacReceiveContext,
- IN PCHAR Address,
- IN UINT AddressLength,
- IN PVOID HeaderBuffer,
- IN UINT HeaderBufferSize,
- IN PVOID LookaheadBuffer,
- IN UINT LookaheadBufferSize,
- IN UINT PacketSize);
- typedef VOID
- (NTAPI *FILTER_PACKET_INDICATION_HANDLER)(
- IN NDIS_HANDLE Miniport,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
- typedef VOID
- (NTAPI *TR_RCV_COMPLETE_HANDLER)(
- IN PTR_FILTER Filter);
- typedef VOID
- (NTAPI *TR_RCV_INDICATE_HANDLER)(
- IN PTR_FILTER Filter,
- IN NDIS_HANDLE MacReceiveContext,
- IN PVOID HeaderBuffer,
- IN UINT HeaderBufferSize,
- IN PVOID LookaheadBuffer,
- IN UINT LookaheadBufferSize,
- IN UINT PacketSize);
- typedef VOID
- (NTAPI *WAN_RCV_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisLinkContext);
- typedef VOID
- (NTAPI *WAN_RCV_HANDLER)(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisLinkContext,
- IN PUCHAR Packet,
- IN ULONG PacketSize);
- typedef VOID
- (FASTCALL *NDIS_M_DEQUEUE_WORK_ITEM)(
- IN PNDIS_MINIPORT_BLOCK Miniport,
- IN NDIS_WORK_ITEM_TYPE WorkItemType,
- OUT PVOID *WorkItemContext);
- typedef NDIS_STATUS
- (FASTCALL *NDIS_M_QUEUE_NEW_WORK_ITEM)(
- IN PNDIS_MINIPORT_BLOCK Miniport,
- IN NDIS_WORK_ITEM_TYPE WorkItemType,
- IN PVOID WorkItemContext);
- typedef NDIS_STATUS
- (FASTCALL *NDIS_M_QUEUE_WORK_ITEM)(
- IN PNDIS_MINIPORT_BLOCK Miniport,
- IN NDIS_WORK_ITEM_TYPE WorkItemType,
- IN PVOID WorkItemContext);
- typedef VOID
- (NTAPI *NDIS_M_REQ_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_STATUS Status);
- typedef VOID
- (NTAPI *NDIS_M_RESET_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_STATUS Status,
- IN BOOLEAN AddressingReset);
- typedef VOID
- (NTAPI *NDIS_M_SEND_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status);
- typedef VOID
- (NTAPI *NDIS_M_SEND_RESOURCES_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle);
- typedef BOOLEAN
- (FASTCALL *NDIS_M_START_SENDS)(
- IN PNDIS_MINIPORT_BLOCK Miniport);
- typedef VOID
- (NTAPI *NDIS_M_STATUS_HANDLER)(
- IN NDIS_HANDLE MiniportHandle,
- IN NDIS_STATUS GeneralStatus,
- IN PVOID StatusBuffer,
- IN UINT StatusBufferSize);
- typedef VOID
- (NTAPI *NDIS_M_STS_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle);
- typedef VOID
- (NTAPI *NDIS_M_TD_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status,
- IN UINT BytesTransferred);
- typedef VOID (NTAPI *NDIS_WM_SEND_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PVOID Packet,
- IN NDIS_STATUS Status);
- #if ARCNET
- #define ARC_SEND_BUFFERS 8
- #define ARC_HEADER_SIZE 4
- typedef struct _NDIS_ARC_BUF {
- NDIS_HANDLE ArcnetBufferPool;
- PUCHAR ArcnetLookaheadBuffer;
- UINT NumFree;
- ARC_BUFFER_LIST ArcnetBuffers[ARC_SEND_BUFFERS];
- } NDIS_ARC_BUF, *PNDIS_ARC_BUF;
- #endif /* ARCNET */
- typedef struct _NDIS_LOG {
- PNDIS_MINIPORT_BLOCK Miniport;
- KSPIN_LOCK LogLock;
- PIRP Irp;
- UINT TotalSize;
- UINT CurrentSize;
- UINT InPtr;
- UINT OutPtr;
- UCHAR LogBuf[1];
- } NDIS_LOG, *PNDIS_LOG;
- #if ARCNET
- #define FILTERDBS_ARCNET_S \
- PARC_FILTER ArcDB;
- #else /* !ARCNET */
- #define FILTERDBS_ARCNET_S \
- PVOID XXXDB;
- #endif /* !ARCNET */
- #define FILTERDBS_S \
- _ANONYMOUS_UNION union { \
- PETH_FILTER EthDB; \
- PNULL_FILTER NullDB; \
- } DUMMYUNIONNAME; \
- PTR_FILTER TrDB; \
- PFDDI_FILTER FddiDB; \
- FILTERDBS_ARCNET_S
- typedef struct _FILTERDBS {
- FILTERDBS_S
- } FILTERDBS, *PFILTERDBS;
- struct _NDIS_MINIPORT_BLOCK {
- NDIS_OBJECT_HEADER Header;
- PNDIS_MINIPORT_BLOCK NextMiniport;
- PNDIS_M_DRIVER_BLOCK DriverHandle;
- NDIS_HANDLE MiniportAdapterContext;
- UNICODE_STRING MiniportName;
- PNDIS_BIND_PATHS BindPaths;
- NDIS_HANDLE OpenQueue;
- REFERENCE ShortRef;
- NDIS_HANDLE DeviceContext;
- UCHAR Padding1;
- UCHAR LockAcquired;
- UCHAR PmodeOpens;
- UCHAR AssignedProcessor;
- KSPIN_LOCK Lock;
- PNDIS_REQUEST MediaRequest;
- PNDIS_MINIPORT_INTERRUPT Interrupt;
- ULONG Flags;
- ULONG PnPFlags;
- LIST_ENTRY PacketList;
- PNDIS_PACKET FirstPendingPacket;
- PNDIS_PACKET ReturnPacketsQueue;
- ULONG RequestBuffer;
- PVOID SetMCastBuffer;
- PNDIS_MINIPORT_BLOCK PrimaryMiniport;
- PVOID WrapperContext;
- PVOID BusDataContext;
- ULONG PnPCapabilities;
- PCM_RESOURCE_LIST Resources;
- NDIS_TIMER WakeUpDpcTimer;
- UNICODE_STRING BaseName;
- UNICODE_STRING SymbolicLinkName;
- ULONG CheckForHangSeconds;
- USHORT CFHangTicks;
- USHORT CFHangCurrentTick;
- NDIS_STATUS ResetStatus;
- NDIS_HANDLE ResetOpen;
- FILTERDBS_S
- FILTER_PACKET_INDICATION_HANDLER PacketIndicateHandler;
- NDIS_M_SEND_COMPLETE_HANDLER SendCompleteHandler;
- NDIS_M_SEND_RESOURCES_HANDLER SendResourcesHandler;
- NDIS_M_RESET_COMPLETE_HANDLER ResetCompleteHandler;
- NDIS_MEDIUM MediaType;
- ULONG BusNumber;
- NDIS_INTERFACE_TYPE BusType;
- NDIS_INTERFACE_TYPE AdapterType;
- PDEVICE_OBJECT DeviceObject;
- PDEVICE_OBJECT PhysicalDeviceObject;
- PDEVICE_OBJECT NextDeviceObject;
- PMAP_REGISTER_ENTRY MapRegisters;
- PNDIS_AF_LIST CallMgrAfList;
- PVOID MiniportThread;
- PVOID SetInfoBuf;
- USHORT SetInfoBufLen;
- USHORT MaxSendPackets;
- NDIS_STATUS FakeStatus;
- PVOID LockHandler;
- PUNICODE_STRING pAdapterInstanceName;
- PNDIS_MINIPORT_TIMER TimerQueue;
- UINT MacOptions;
- PNDIS_REQUEST PendingRequest;
- UINT MaximumLongAddresses;
- UINT MaximumShortAddresses;
- UINT CurrentLookahead;
- UINT MaximumLookahead;
- W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler;
- W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler;
- W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler;
- W_SEND_PACKETS_HANDLER SendPacketsHandler;
- NDIS_M_START_SENDS DeferredSendHandler;
- ETH_RCV_INDICATE_HANDLER EthRxIndicateHandler;
- TR_RCV_INDICATE_HANDLER TrRxIndicateHandler;
- FDDI_RCV_INDICATE_HANDLER FddiRxIndicateHandler;
- ETH_RCV_COMPLETE_HANDLER EthRxCompleteHandler;
- TR_RCV_COMPLETE_HANDLER TrRxCompleteHandler;
- FDDI_RCV_COMPLETE_HANDLER FddiRxCompleteHandler;
- NDIS_M_STATUS_HANDLER StatusHandler;
- NDIS_M_STS_COMPLETE_HANDLER StatusCompleteHandler;
- NDIS_M_TD_COMPLETE_HANDLER TDCompleteHandler;
- NDIS_M_REQ_COMPLETE_HANDLER QueryCompleteHandler;
- NDIS_M_REQ_COMPLETE_HANDLER SetCompleteHandler;
- NDIS_WM_SEND_COMPLETE_HANDLER WanSendCompleteHandler;
- WAN_RCV_HANDLER WanRcvHandler;
- WAN_RCV_COMPLETE_HANDLER WanRcvCompleteHandler;
- #if defined(NDIS_WRAPPER)
- PNDIS_MINIPORT_BLOCK NextGlobalMiniport;
- SINGLE_LIST_ENTRY WorkQueue[NUMBER_OF_WORK_ITEM_TYPES];
- SINGLE_LIST_ENTRY SingleWorkItems[NUMBER_OF_SINGLE_WORK_ITEMS];
- UCHAR SendFlags;
- UCHAR TrResetRing;
- UCHAR ArcnetAddress;
- UCHAR XState;
- _ANONYMOUS_UNION union {
- #if ARCNET
- PNDIS_ARC_BUF ArcBuf;
- #endif
- PVOID BusInterface;
- } DUMMYUNIONNAME;
- PNDIS_LOG Log;
- ULONG SlotNumber;
- PCM_RESOURCE_LIST AllocatedResources;
- PCM_RESOURCE_LIST AllocatedResourcesTranslated;
- SINGLE_LIST_ENTRY PatternList;
- NDIS_PNP_CAPABILITIES PMCapabilities;
- DEVICE_CAPABILITIES DeviceCaps;
- ULONG WakeUpEnable;
- DEVICE_POWER_STATE CurrentDevicePowerState;
- PIRP pIrpWaitWake;
- SYSTEM_POWER_STATE WaitWakeSystemState;
- LARGE_INTEGER VcIndex;
- KSPIN_LOCK VcCountLock;
- LIST_ENTRY WmiEnabledVcs;
- PNDIS_GUID pNdisGuidMap;
- PNDIS_GUID pCustomGuidMap;
- USHORT VcCount;
- USHORT cNdisGuidMap;
- USHORT cCustomGuidMap;
- USHORT CurrentMapRegister;
- PKEVENT AllocationEvent;
- USHORT BaseMapRegistersNeeded;
- USHORT SGMapRegistersNeeded;
- ULONG MaximumPhysicalMapping;
- NDIS_TIMER MediaDisconnectTimer;
- USHORT MediaDisconnectTimeOut;
- USHORT InstanceNumber;
- NDIS_EVENT OpenReadyEvent;
- NDIS_PNP_DEVICE_STATE PnPDeviceState;
- NDIS_PNP_DEVICE_STATE OldPnPDeviceState;
- PGET_SET_DEVICE_DATA SetBusData;
- PGET_SET_DEVICE_DATA GetBusData;
- KDPC DeferredDpc;
- #if 0
- /* FIXME: */
- NDIS_STATS NdisStats;
- #else
- ULONG NdisStats;
- #endif
- PNDIS_PACKET IndicatedPacket[MAXIMUM_PROCESSORS];
- PKEVENT RemoveReadyEvent;
- PKEVENT AllOpensClosedEvent;
- PKEVENT AllRequestsCompletedEvent;
- ULONG InitTimeMs;
- NDIS_MINIPORT_WORK_ITEM WorkItemBuffer[NUMBER_OF_SINGLE_WORK_ITEMS];
- PDMA_ADAPTER SystemAdapterObject;
- ULONG DriverVerifyFlags;
- POID_LIST OidList;
- USHORT InternalResetCount;
- USHORT MiniportResetCount;
- USHORT MediaSenseConnectCount;
- USHORT MediaSenseDisconnectCount;
- PNDIS_PACKET *xPackets;
- ULONG UserModeOpenReferences;
- _ANONYMOUS_UNION union {
- PVOID SavedSendHandler;
- PVOID SavedWanSendHandler;
- } DUMMYUNIONNAME2;
- PVOID SavedSendPacketsHandler;
- PVOID SavedCancelSendPacketsHandler;
- W_SEND_PACKETS_HANDLER WSendPacketsHandler;
- ULONG MiniportAttributes;
- PDMA_ADAPTER SavedSystemAdapterObject;
- USHORT NumOpens;
- USHORT CFHangXTicks;
- ULONG RequestCount;
- ULONG IndicatedPacketsCount;
- ULONG PhysicalMediumType;
- PNDIS_REQUEST LastRequest;
- LONG DmaAdapterRefCount;
- PVOID FakeMac;
- ULONG LockDbg;
- ULONG LockDbgX;
- PVOID LockThread;
- ULONG InfoFlags;
- KSPIN_LOCK TimerQueueLock;
- PKEVENT ResetCompletedEvent;
- PKEVENT QueuedBindingCompletedEvent;
- PKEVENT DmaResourcesReleasedEvent;
- FILTER_PACKET_INDICATION_HANDLER SavedPacketIndicateHandler;
- ULONG RegisteredInterrupts;
- PNPAGED_LOOKASIDE_LIST SGListLookasideList;
- ULONG ScatterGatherListSize;
- #endif /* _NDIS_ */
- };
- #if NDIS_LEGACY_DRIVER
- typedef NDIS_STATUS
- (NTAPI *WAN_SEND_HANDLER)(
- IN NDIS_HANDLE MacBindingHandle,
- IN NDIS_HANDLE LinkHandle,
- IN PVOID Packet);
- typedef VOID
- (NTAPI *SEND_PACKETS_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
- typedef NDIS_STATUS
- (NTAPI *SEND_HANDLER)(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PNDIS_PACKET Packet);
- typedef NDIS_STATUS
- (NTAPI *TRANSFER_DATA_HANDLER)(
- IN NDIS_HANDLE NdisBindingHandle,
- IN NDIS_HANDLE MacReceiveContext,
- IN UINT ByteOffset,
- IN UINT BytesToTransfer,
- OUT PNDIS_PACKET Packet,
- OUT PUINT BytesTransferred);
- typedef NDIS_STATUS
- (NTAPI *RESET_HANDLER)(
- IN NDIS_HANDLE NdisBindingHandle);
- typedef NDIS_STATUS
- (NTAPI *REQUEST_HANDLER)(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PNDIS_REQUEST NdisRequest);
- #endif /* NDIS_LEGACY_DRIVER */
- #if defined(NDIS_WRAPPER)
- #define NDIS_COMMON_OPEN_BLOCK_WRAPPER_S \
- ULONG Flags; \
- ULONG References; \
- KSPIN_LOCK SpinLock; \
- NDIS_HANDLE FilterHandle; \
- ULONG ProtocolOptions; \
- USHORT CurrentLookahead; \
- USHORT ConnectDampTicks; \
- USHORT DisconnectDampTicks; \
- W_SEND_HANDLER WSendHandler; \
- W_TRANSFER_DATA_HANDLER WTransferDataHandler; \
- W_SEND_PACKETS_HANDLER WSendPacketsHandler; \
- W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
- ULONG WakeUpEnable; \
- PKEVENT CloseCompleteEvent; \
- QUEUED_CLOSE QC; \
- ULONG AfReferences; \
- PNDIS_OPEN_BLOCK NextGlobalOpen;
- #else
- #define NDIS_COMMON_OPEN_BLOCK_WRAPPER_S
- #endif
- #define NDIS_COMMON_OPEN_BLOCK_S \
- PVOID MacHandle; \
- NDIS_HANDLE BindingHandle; \
- PNDIS_MINIPORT_BLOCK MiniportHandle; \
- PNDIS_PROTOCOL_BLOCK ProtocolHandle; \
- NDIS_HANDLE ProtocolBindingContext; \
- PNDIS_OPEN_BLOCK MiniportNextOpen; \
- PNDIS_OPEN_BLOCK ProtocolNextOpen; \
- NDIS_HANDLE MiniportAdapterContext; \
- BOOLEAN Reserved1; \
- BOOLEAN Reserved2; \
- BOOLEAN Reserved3; \
- BOOLEAN Reserved4; \
- PNDIS_STRING BindDeviceName; \
- KSPIN_LOCK Reserved5; \
- PNDIS_STRING RootDeviceName; \
- _ANONYMOUS_UNION union { \
- SEND_HANDLER SendHandler; \
- WAN_SEND_HANDLER WanSendHandler; \
- } DUMMYUNIONNAME; \
- TRANSFER_DATA_HANDLER TransferDataHandler; \
- SEND_COMPLETE_HANDLER SendCompleteHandler; \
- TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \
- RECEIVE_HANDLER ReceiveHandler; \
- RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \
- WAN_RECEIVE_HANDLER WanReceiveHandler; \
- REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \
- RECEIVE_PACKET_HANDLER ReceivePacketHandler; \
- SEND_PACKETS_HANDLER SendPacketsHandler; \
- RESET_HANDLER ResetHandler; \
- REQUEST_HANDLER RequestHandler; \
- RESET_COMPLETE_HANDLER ResetCompleteHandler; \
- STATUS_HANDLER StatusHandler; \
- STATUS_COMPLETE_HANDLER StatusCompleteHandler; \
- NDIS_COMMON_OPEN_BLOCK_WRAPPER_S
- typedef struct _NDIS_COMMON_OPEN_BLOCK {
- NDIS_COMMON_OPEN_BLOCK_S
- } NDIS_COMMON_OPEN_BLOCK;
- struct _NDIS_OPEN_BLOCK
- {
- #ifdef __cplusplus
- NDIS_COMMON_OPEN_BLOCK NdisCommonOpenBlock;
- #else
- NDIS_COMMON_OPEN_BLOCK_S
- #endif
- };
- #include <xfilter.h>
- #define NDIS_M_MAX_LOOKAHEAD 526
- NDISAPI
- VOID
- NTAPI
- NdisInitializeTimer(
- PNDIS_TIMER Timer,
- PNDIS_TIMER_FUNCTION TimerFunction,
- PVOID FunctionContext);
- NDISAPI
- VOID
- NTAPI
- NdisCancelTimer(
- PNDIS_TIMER Timer,
- PBOOLEAN TimerCancelled);
- NDISAPI
- VOID
- NTAPI
- NdisSetTimer(
- PNDIS_TIMER Timer,
- UINT MillisecondsToDelay);
- NDISAPI
- VOID
- NTAPI
- NdisSetPeriodicTimer(
- PNDIS_TIMER NdisTimer,
- UINT MillisecondsPeriod);
- NDISAPI
- VOID
- NTAPI
- NdisSetTimerEx(
- PNDIS_TIMER NdisTimer,
- UINT MillisecondsToDelay,
- PVOID FunctionContext);
- NDISAPI
- PVOID
- NTAPI
- NdisGetRoutineAddress(
- PNDIS_STRING NdisRoutineName);
- NDISAPI
- UINT
- NTAPI
- NdisGetVersion(VOID);
- #if NDIS_LEGACY_DRIVER
- NDISAPI
- VOID
- NTAPI
- NdisAllocateBuffer(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_BUFFER *Buffer,
- IN NDIS_HANDLE PoolHandle OPTIONAL,
- IN PVOID VirtualAddress,
- IN UINT Length);
- NDISAPI
- VOID
- NTAPI
- NdisAllocateBufferPool(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE PoolHandle,
- IN UINT NumberOfDescriptors);
- NDISAPI
- VOID
- NTAPI
- NdisFreeBufferPool(
- IN NDIS_HANDLE PoolHandle);
- /*
- NDISAPI
- VOID
- NTAPI
- NdisFreeBuffer(
- IN PNDIS_BUFFER Buffer);
- */
- #define NdisFreeBuffer IoFreeMdl
- NDISAPI
- VOID
- NTAPI
- NdisAllocatePacketPool(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE PoolHandle,
- IN UINT NumberOfDescriptors,
- IN UINT ProtocolReservedLength);
- NDISAPI
- VOID
- NTAPI
- NdisAllocatePacketPoolEx(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE PoolHandle,
- IN UINT NumberOfDescriptors,
- IN UINT NumberOfOverflowDescriptors,
- IN UINT ProtocolReservedLength);
- NDISAPI
- VOID
- NTAPI
- NdisSetPacketPoolProtocolId(
- IN NDIS_HANDLE PacketPoolHandle,
- IN UINT ProtocolId);
- NDISAPI
- UINT
- NTAPI
- NdisPacketPoolUsage(
- IN NDIS_HANDLE PoolHandle);
- NDISAPI
- UINT
- NTAPI
- NdisPacketSize(
- IN UINT ProtocolReservedSize);
- NDISAPI
- NDIS_HANDLE
- NTAPI
- NdisGetPoolFromPacket(
- IN PNDIS_PACKET Packet);
- NDISAPI
- PNDIS_PACKET_STACK
- NTAPI
- NdisIMGetCurrentPacketStack(
- IN PNDIS_PACKET Packet,
- OUT BOOLEAN * StacksRemaining);
- NDISAPI
- VOID
- NTAPI
- NdisFreePacketPool(
- IN NDIS_HANDLE PoolHandle);
- NDISAPI
- VOID
- NTAPI
- NdisFreePacket(
- IN PNDIS_PACKET Packet);
- NDISAPI
- VOID
- NTAPI
- NdisDprFreePacket(
- IN PNDIS_PACKET Packet);
- NDISAPI
- VOID
- NTAPI
- NdisDprFreePacketNonInterlocked(
- IN PNDIS_PACKET Packet);
- NDISAPI
- VOID
- NTAPI
- NdisAllocatePacket(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_PACKET *Packet,
- IN NDIS_HANDLE PoolHandle);
- NDISAPI
- VOID
- NTAPI
- NdisDprAllocatePacket(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_PACKET *Packet,
- IN NDIS_HANDLE PoolHandle);
- NDISAPI
- VOID
- NTAPI
- NdisDprAllocatePacketNonInterlocked(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_PACKET *Packet,
- IN NDIS_HANDLE PoolHandle);
- /*
- * VOID
- * NdisReinitializePacket(
- * IN OUT PNDIS_PACKET Packet);
- */
- #define NdisReinitializePacket(Packet) { \
- (Packet)->Private.Head = (PNDIS_BUFFER)NULL; \
- (Packet)->Private.ValidCounts = FALSE; \
- }
- /*
- NDISAPI
- VOID
- NTAPI
- NdisQueryBuffer(
- IN PNDIS_BUFFER Buffer,
- OUT PVOID *VirtualAddress OPTIONAL,
- OUT PUINT Length);
- */
- #define NdisQueryBuffer(_Buffer, _VirtualAddress, _Length) { \
- if (ARGUMENT_PRESENT(_VirtualAddress)) { \
- *(PVOID *)(_VirtualAddress) = MmGetSystemAddressForMdl(_Buffer); \
- } \
- *(_Length) = MmGetMdlByteCount(_Buffer); \
- }
- NDISAPI
- VOID
- NTAPI
- NdisGetFirstBufferFromPacket(
- IN PNDIS_PACKET _Packet,
- OUT PNDIS_BUFFER *_FirstBuffer,
- OUT PVOID *_FirstBufferVA,
- OUT PUINT _FirstBufferLength,
- OUT PUINT _TotalBufferLength);
- /*
- * VOID
- * NdisGetFirstBufferFromPacketSafe(
- * IN PNDIS_PACKET _Packet,
- * OUT PNDIS_BUFFER * _FirstBuffer,
- * OUT PVOID * _FirstBufferVA,
- * OUT PUINT _FirstBufferLength,
- * OUT PUINT _TotalBufferLength),
- * IN MM_PAGE_PRIORITY _Priority)
- */
- #define NdisGetFirstBufferFromPacketSafe(_Packet, \
- _FirstBuffer, \
- _FirstBufferVA, \
- _FirstBufferLength, \
- _TotalBufferLength, \
- _Priority) \
- { \
- PNDIS_BUFFER _Buffer; \
- \
- _Buffer = (_Packet)->Private.Head; \
- *(_FirstBuffer) = _Buffer; \
- if (_Buffer != NULL) { \
- *(_FirstBufferVA) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \
- *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- *(_TotalBufferLength) = *(_FirstBufferLength); \
- while (_Buffer != NULL) { \
- *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- } \
- } \
- else { \
- *(_FirstBufferVA) = 0; \
- *(_FirstBufferLength) = 0; \
- *(_TotalBufferLength) = 0; \
- } \
- }
- /*
- * VOID
- * NdisRecalculatePacketCounts(
- * IN OUT PNDIS_PACKET Packet);
- */
- #define NdisRecalculatePacketCounts(Packet) { \
- PNDIS_BUFFER _Buffer = (Packet)->Private.Head; \
- if (_Buffer != NULL) { \
- while (_Buffer->Next != NULL) { \
- _Buffer = _Buffer->Next; \
- } \
- (Packet)->Private.Tail = _Buffer; \
- } \
- (Packet)->Private.ValidCounts = FALSE; \
- }
- /*
- * VOID
- * NdisChainBufferAtFront(
- * IN OUT PNDIS_PACKET Packet,
- * IN OUT PNDIS_BUFFER Buffer)
- */
- #define NdisChainBufferAtFront(Packet, \
- Buffer) \
- { \
- PNDIS_BUFFER _NdisBuffer = (Buffer); \
- \
- while (_NdisBuffer->Next != NULL) \
- _NdisBuffer = _NdisBuffer->Next; \
- \
- if ((Packet)->Private.Head == NULL) \
- (Packet)->Private.Tail = _NdisBuffer; \
- \
- _NdisBuffer->Next = (Packet)->Private.Head; \
- (Packet)->Private.Head = (Buffer); \
- (Packet)->Private.ValidCounts = FALSE; \
- }
- /*
- * VOID
- * NdisChainBufferAtBack(
- * IN OUT PNDIS_PACKET Packet,
- * IN OUT PNDIS_BUFFER Buffer)
- */
- #define NdisChainBufferAtBack(Packet, \
- Buffer) \
- { \
- PNDIS_BUFFER _NdisBuffer = (Buffer); \
- \
- while (_NdisBuffer->Next != NULL) \
- _NdisBuffer = _NdisBuffer->Next; \
- \
- _NdisBuffer->Next = NULL; \
- \
- if ((Packet)->Private.Head != NULL) \
- (Packet)->Private.Tail->Next = (Buffer); \
- else \
- (Packet)->Private.Head = (Buffer); \
- \
- (Packet)->Private.Tail = _NdisBuffer; \
- (Packet)->Private.ValidCounts = FALSE; \
- }
- NDISAPI
- VOID
- NTAPI
- NdisUnchainBufferAtFront(
- IN OUT PNDIS_PACKET Packet,
- OUT PNDIS_BUFFER *Buffer);
- NDISAPI
- VOID
- NTAPI
- NdisUnchainBufferAtBack(
- IN OUT PNDIS_PACKET Packet,
- OUT PNDIS_BUFFER *Buffer);
- NDISAPI
- VOID
- NTAPI
- NdisCopyFromPacketToPacket(
- IN PNDIS_PACKET Destination,
- IN UINT DestinationOffset,
- IN UINT BytesToCopy,
- IN PNDIS_PACKET Source,
- IN UINT SourceOffset,
- OUT PUINT BytesCopied);
- NDISAPI
- VOID
- NTAPI
- NdisCopyFromPacketToPacketSafe(
- IN PNDIS_PACKET Destination,
- IN UINT DestinationOffset,
- IN UINT BytesToCopy,
- IN PNDIS_PACKET Source,
- IN UINT SourceOffset,
- OUT PUINT BytesCopied,
- IN MM_PAGE_PRIORITY Priority);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisAllocateMemory(
- OUT PVOID *VirtualAddress,
- IN UINT Length,
- IN UINT MemoryFlags,
- IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress);
- #define NdisInitializeWorkItem(_WI_, _R_, _C_) { \
- (_WI_)->Context = _C_; \
- (_WI_)->Routine = _R_; \
- }
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisScheduleWorkItem(
- IN PNDIS_WORK_ITEM WorkItem);
- NDISAPI
- VOID
- NTAPI
- NdisSetPacketStatus(
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE Handle,
- IN ULONG Code);
- #endif /* NDIS_LEGACY_DRIVER */
- NDISAPI
- VOID
- NTAPI
- NdisOpenFile(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE FileHandle,
- OUT PUINT FileLength,
- IN PNDIS_STRING FileName,
- IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress);
- NDISAPI
- VOID
- NTAPI
- NdisCloseFile(
- IN NDIS_HANDLE FileHandle);
- NDISAPI
- VOID
- NTAPI
- NdisMapFile(
- OUT PNDIS_STATUS Status,
- OUT PVOID *MappedBuffer,
- IN NDIS_HANDLE FileHandle);
- NDISAPI
- VOID
- NTAPI
- NdisUnmapFile(
- IN NDIS_HANDLE FileHandle);
- NDISAPI
- ULONG
- NTAPI
- NdisGetSharedDataAlignment(VOID);
- #define NdisFlushBuffer(Buffer,WriteToDevice) \
- KeFlushIoBuffers((Buffer),!(WriteToDevice), TRUE)
- NDISAPI
- VOID
- NTAPI
- NdisCopyBuffer(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_BUFFER *Buffer,
- IN NDIS_HANDLE PoolHandle,
- IN PVOID MemoryDescriptor,
- IN UINT Offset,
- IN UINT Length);
- /*
- * VOID
- * NdisCopyLookaheadData(
- * IN PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length,
- * IN ULONG ReceiveFlags);
- */
- #if defined(_M_IX86) || defined(_M_AMD64)
- #define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \
- RtlCopyMemory(Destination, Source, Length)
- #else
- #define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \
- { \
- if ((MacOptions) & NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA) \
- { \
- RtlCopyMemory(_Destination, _Source, _Length); \
- } \
- else \
- { \
- PUCHAR _Src = (PUCHAR)(Source); \
- PUCHAR _Dest = (PUCHAR)(Destination); \
- PUCHAR _End = _Dest + (Length); \
- while (_Dest < _End) \
- *_Dest++ = *_Src++; \
- } \
- }
- #endif
- /*
- NDISAPI
- VOID
- NTAPI
- NdisAdjustBufferLength(
- IN PNDIS_BUFFER Buffer,
- IN UINT Length);
- */
- #define NdisAdjustBufferLength(Buffer, Length) \
- (((Buffer)->ByteCount) = (Length))
- #if NDIS_SUPPORT_NDIS6
- #define NdisAdjustMdlLength(_Mdl, _Length) \
- (((_Mdl)->ByteCount) = (_Length))
- #endif
- /*
- NDISAPI
- ULONG
- NTAPI
- NdisBufferLength(
- IN PNDIS_BUFFER Buffer);
- */
- #define NdisBufferLength MmGetMdlByteCount
- /*
- NDISAPI
- PVOID
- NTAPI
- NdisBufferVirtualAddress(
- IN PNDIS_BUFFER Buffer);
- */
- #define NdisBufferVirtualAddress MmGetSystemAddressForMdl
- #define NdisBufferVirtualAddressSafe MmGetSystemAddressForMdlSafe
- NDISAPI
- ULONG
- NTAPI
- NDIS_BUFFER_TO_SPAN_PAGES(
- IN PNDIS_BUFFER Buffer);
- /*
- NDISAPI
- VOID
- NTAPI
- NdisGetBufferPhysicalArraySize(
- IN PNDIS_BUFFER Buffer,
- OUT PUINT ArraySize);
- */
- #define NdisGetBufferPhysicalArraySize(Buffer, ArraySize) \
- (*(ArraySize) = NDIS_BUFFER_TO_SPAN_PAGES(Buffer))
- /*
- NDISAPI
- VOID
- NTAPI
- NdisQueryBufferOffset(
- IN PNDIS_BUFFER Buffer,
- OUT PUINT Offset,
- OUT PUINT Length);
- */
- #define NdisQueryBufferOffset(_Buffer, _Offset, _Length) { \
- *(_Offset) = MmGetMdlByteOffset(_Buffer); \
- *(_Length) = MmGetMdlByteCount(_Buffer); \
- }
- /*
- * PVOID
- * NDIS_BUFFER_LINKAGE(
- * IN PNDIS_BUFFER Buffer);
- */
- #define NDIS_BUFFER_LINKAGE(Buffer) (Buffer)->Next
- /*
- * VOID
- * NdisGetNextBuffer(
- * IN PNDIS_BUFFER CurrentBuffer,
- * OUT PNDIS_BUFFER * NextBuffer)
- */
- #define NdisGetNextBuffer(CurrentBuffer, \
- NextBuffer) \
- { \
- *(NextBuffer) = (CurrentBuffer)->Next; \
- }
- #if NDIS_LEGACY_DRIVER
- #define NDIS_PACKET_FIRST_NDIS_BUFFER(_Packet) ((_Packet)->Private.Head)
- #define NDIS_PACKET_LAST_NDIS_BUFFER(_Packet) ((_Packet)->Private.Tail)
- #define NDIS_PACKET_VALID_COUNTS(_Packet) ((_Packet)->Private.ValidCounts)
- /*
- * UINT
- * NdisGetPacketFlags(
- * IN PNDIS_PACKET Packet);
- */
- #define NdisGetPacketFlags(Packet) (Packet)->Private.Flags
- /*
- * ULONG
- * NDIS_GET_PACKET_PROTOCOL_TYPE(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_GET_PACKET_PROTOCOL_TYPE(_Packet) \
- ((_Packet)->Private.Flags & NDIS_PROTOCOL_ID_MASK)
- /*
- * PNDIS_PACKET_OOB_DATA
- * NDIS_OOB_DATA_FROM_PACKET(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_OOB_DATA_FROM_PACKET(_Packet) \
- (PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset)
- /*
- * ULONG
- * NDIS_GET_PACKET_HEADER_SIZE(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_GET_PACKET_HEADER_SIZE(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->HeaderSize
- /*
- * NDIS_STATUS
- * NDIS_GET_PACKET_STATUS(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_GET_PACKET_STATUS(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->Status
- /*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_TO_SEND(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_GET_PACKET_TIME_TO_SEND(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeToSend
- /*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_SENT(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_GET_PACKET_TIME_SENT(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeSent
- /*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_RECEIVED(
- * IN PNDIS_PACKET Packet);
- */
- #define NDIS_GET_PACKET_TIME_RECEIVED(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeReceived
- /*
- * VOID
- * NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(
- * IN PNDIS_PACKET Packet,
- * IN PPVOID pMediaSpecificInfo,
- * IN PUINT pSizeMediaSpecificInfo);
- */
- #define NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
- _pMediaSpecificInfo, \
- _pSizeMediaSpecificInfo) \
- { \
- if (!((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) || \
- !((_Packet)->Private.NdisPacketFlags & fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO)) \
- { \
- *(_pMediaSpecificInfo) = NULL; \
- *(_pSizeMediaSpecificInfo) = 0; \
- } \
- else \
- { \
- *(_pMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation; \
- *(_pSizeMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo; \
- } \
- }
- /*
- * VOID
- * NDIS_SET_PACKET_HEADER_SIZE(
- * IN PNDIS_PACKET Packet,
- * IN UINT HdrSize);
- */
- #define NDIS_SET_PACKET_HEADER_SIZE(_Packet, _HdrSize) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->HeaderSize = (_HdrSize)
- /*
- * VOID
- * NDIS_SET_PACKET_STATUS(
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status);
- */
- #define NDIS_SET_PACKET_STATUS(_Packet, _Status) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->Status = (_Status)
- /*
- * VOID
- * NDIS_SET_PACKET_TIME_TO_SEND(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeToSend);
- */
- #define NDIS_SET_PACKET_TIME_TO_SEND(_Packet, _TimeToSend) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeToSend = (_TimeToSend)
- /*
- * VOID
- * NDIS_SET_PACKET_TIME_SENT(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeSent);
- */
- #define NDIS_SET_PACKET_TIME_SENT(_Packet, _TimeSent) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeSent = (_TimeSent)
- /*
- * VOID
- * NDIS_SET_PACKET_TIME_RECEIVED(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeReceived);
- */
- #define NDIS_SET_PACKET_TIME_RECEIVED(_Packet, _TimeReceived) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeReceived = (_TimeReceived)
- /*
- * VOID
- * NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(
- * IN PNDIS_PACKET Packet,
- * IN PVOID MediaSpecificInfo,
- * IN UINT SizeMediaSpecificInfo);
- */
- #define NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
- _MediaSpecificInfo, \
- _SizeMediaSpecificInfo) \
- { \
- if ((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) \
- { \
- (_Packet)->Private.NdisPacketFlags |= fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO; \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation = \
- (_MediaSpecificInfo); \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo = \
- (_SizeMediaSpecificInfo); \
- } \
- }
- /*
- * VOID
- * NdisSetPacketFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
- #define NdisSetPacketFlags(Packet, Flags) (Packet)->Private.Flags |= (Flags)
- /*
- * VOID
- * NdisClearPacketFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
- #define NdisClearPacketFlags(Packet, Flags) (Packet)->Private.Flags &= ~(Flags)
- /*
- * VOID
- * NdisQueryPacket(
- * IN PNDIS_PACKET Packet,
- * OUT PUINT PhysicalBufferCount OPTIONAL,
- * OUT PUINT BufferCount OPTIONAL,
- * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
- * OUT PUINT TotalPacketLength OPTIONAL);
- */
- static __inline
- VOID
- NdisQueryPacket(
- IN PNDIS_PACKET Packet,
- OUT PUINT PhysicalBufferCount OPTIONAL,
- OUT PUINT BufferCount OPTIONAL,
- OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
- OUT PUINT TotalPacketLength OPTIONAL)
- {
- if (FirstBuffer)
- *FirstBuffer = Packet->Private.Head;
- if (TotalPacketLength || BufferCount || PhysicalBufferCount) {
- if (!Packet->Private.ValidCounts) {
- UINT Offset;
- UINT PacketLength;
- PNDIS_BUFFER NdisBuffer;
- UINT PhysicalBufferCount = 0;
- UINT TotalPacketLength = 0;
- UINT Count = 0;
- for (NdisBuffer = Packet->Private.Head;
- NdisBuffer != (PNDIS_BUFFER)NULL;
- NdisBuffer = NdisBuffer->Next) {
- PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(NdisBuffer);
- NdisQueryBufferOffset(NdisBuffer, &Offset, &PacketLength);
- TotalPacketLength += PacketLength;
- Count++;
- }
- Packet->Private.PhysicalCount = PhysicalBufferCount;
- Packet->Private.TotalLength = TotalPacketLength;
- Packet->Private.Count = Count;
- Packet->Private.ValidCounts = TRUE;
- }
- if (PhysicalBufferCount)
- *PhysicalBufferCount = Packet->Private.PhysicalCount;
- if (BufferCount)
- *BufferCount = Packet->Private.Count;
- if (TotalPacketLength)
- *TotalPacketLength = Packet->Private.TotalLength;
- }
- }
- /*
- * VOID
- * NdisQueryPacketLength(
- * IN PNDIS_PACKET Packet,
- * OUT PUINT PhysicalBufferCount OPTIONAL,
- * OUT PUINT BufferCount OPTIONAL,
- * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
- * OUT PUINT TotalPacketLength OPTIONAL);
- */
- #define NdisQueryPacketLength(_Packet, \
- _TotalPacketLength) \
- { \
- if (!(_Packet)->Private.ValidCounts) { \
- NdisQueryPacket(_Packet, NULL, NULL, NULL, _TotalPacketLength); \
- } \
- else *(_TotalPacketLength) = (_Packet)->Private.TotalLength; \
- }
- #endif /* NDIS_LEGACY_DRIVER */
- /* Memory management routines */
- /*
- NDISAPI
- VOID
- NTAPI
- NdisCreateLookaheadBufferFromSharedMemory(
- IN PVOID pSharedMemory,
- IN UINT LookaheadLength,
- OUT PVOID *pLookaheadBuffer);
- */
- #define NdisCreateLookaheadBufferFromSharedMemory(_S, _L, _B) ((*(_B)) = (_S))
- NDISAPI
- VOID
- NTAPI
- NdisDestroyLookaheadBufferFromSharedMemory(
- IN PVOID pLookaheadBuffer);
- #if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_PPC)
- /*
- * VOID
- * NdisMoveMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
- #define NdisMoveMappedMemory(Destination, Source, Length) \
- RtlCopyMemory(Destination, Source, Length)
- /*
- * VOID
- * NdisZeroMappedMemory(
- * IN PVOID Destination,
- * IN ULONG Length);
- */
- #define NdisZeroMappedMemory(Destination, Length) \
- RtlZeroMemory(Destination, Length)
- #else
- #define NdisMoveMappedMemory(Destination, Source, Length) \
- { \
- PUCHAR _Dest = Destination, _Src = Source, _End = _Dest + Length; \
- while (_Dest < _End) \
- *_Dest++ = _Src++; \
- }
- #define NdisZeroMappedMemory(Destination, Length) \
- { \
- PUCHAR _Dest = Destination, _End = _Dest + Length; \
- while (_Dest < _End) \
- *_Dest++ = 0; \
- }
- #endif /* _M_IX86 or _M_AMD64 */
- /*
- * VOID
- * NdisMoveFromMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
- #define NdisMoveFromMappedMemory(Destination, Source, Length) \
- NdisMoveMappedMemory(Destination, Source, Length)
- /*
- * VOID
- * NdisMoveToMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
- #define NdisMoveToMappedMemory(Destination, Source, Length) \
- NdisMoveMappedMemory(Destination, Source, Length)
- /*
- * VOID
- * NdisMUpdateSharedMemory(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN ULONG Length,
- * IN PVOID VirtualAddress,
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
- #define NdisMUpdateSharedMemory(_H, _L, _V, _P) \
- NdisUpdateSharedMemory(_H, _L, _V, _P)
- NDISAPI
- VOID
- NTAPI
- NdisFreeMemory(
- IN PVOID VirtualAddress,
- IN UINT Length,
- IN UINT MemoryFlags);
- NDISAPI
- VOID
- NTAPI
- NdisFreeMemoryWithTag(
- IN PVOID VirtualAddress,
- IN ULONG Tag);
- NDISAPI
- VOID
- NTAPI
- NdisImmediateReadSharedMemory(
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN ULONG SharedMemoryAddress,
- OUT PUCHAR Buffer,
- IN ULONG Length);
- NDISAPI
- VOID
- NTAPI
- NdisImmediateWriteSharedMemory(
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN ULONG SharedMemoryAddress,
- IN PUCHAR Buffer,
- IN ULONG Length);
- NDISAPI
- VOID
- NTAPI
- NdisMAllocateSharedMemory(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN ULONG Length,
- IN BOOLEAN Cached,
- OUT PVOID *VirtualAddress,
- OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMAllocateSharedMemoryAsync(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN ULONG Length,
- IN BOOLEAN Cached,
- IN PVOID Context);
- #if defined(NDIS50)
- #define NdisUpdateSharedMemory(NdisAdapterHandle, \
- Length, \
- VirtualAddress, \
- PhysicalAddress)
- #else
- NDISAPI
- VOID
- NTAPI
- NdisUpdateSharedMemory(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG Length,
- IN PVOID VirtualAddress,
- IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- #endif /* defined(NDIS50) */
- /*
- * ULONG
- * NdisGetPhysicalAddressHigh(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
- #define NdisGetPhysicalAddressHigh(PhysicalAddress) \
- ((PhysicalAddress).HighPart)
- /*
- * VOID
- * NdisSetPhysicalAddressHigh(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- * IN ULONG Value);
- */
- #define NdisSetPhysicalAddressHigh(PhysicalAddress, Value) \
- ((PhysicalAddress).HighPart) = (Value)
- /*
- * ULONG
- * NdisGetPhysicalAddressLow(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
- #define NdisGetPhysicalAddressLow(PhysicalAddress) \
- ((PhysicalAddress).LowPart)
- /*
- * VOID
- * NdisSetPhysicalAddressLow(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- * IN ULONG Value);
- */
- #define NdisSetPhysicalAddressLow(PhysicalAddress, Value) \
- ((PhysicalAddress).LowPart) = (Value)
- /*
- * VOID
- * NDIS_PHYSICAL_ADDRESS_CONST(
- * IN ULONG Low,
- * IN LONG High);
- */
- #define NDIS_PHYSICAL_ADDRESS_CONST(Low, High) \
- { {(ULONG)(Low), (LONG)(High)} }
- /*
- * ULONG
- * NdisEqualMemory(
- * IN CONST VOID *Source1,
- * IN CONST VOID *Source2,
- * IN ULONG Length);
- */
- #define NdisEqualMemory(Source1, Source2, Length) \
- RtlEqualMemory(Source1, Source2, Length)
- /*
- * VOID
- * NdisFillMemory(
- * IN PVOID Destination,
- * IN ULONG Length,
- * IN UCHAR Fill);
- */
- #define NdisFillMemory(Destination, Length, Fill) \
- RtlFillMemory(Destination, Length, Fill)
- /*
- * VOID
- * NdisMoveMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
- #define NdisMoveMemory(Destination, Source, Length) \
- RtlCopyMemory(Destination, Source, Length)
- /*
- * VOID
- * NdisRetrieveUlong(
- * IN PULONG DestinationAddress,
- * IN PULONG SourceAddress);
- */
- #define NdisRetrieveUlong(DestinationAddress, SourceAddress) \
- RtlRetrieveUlong(DestinationAddress, SourceAddress)
- /*
- * VOID
- * NdisStoreUlong(
- * IN PULONG DestinationAddress,
- * IN ULONG Value);
- */
- #define NdisStoreUlong(DestinationAddress, Value) \
- RtlStoreUlong(DestinationAddress, Value)
- /*
- * VOID
- * NdisZeroMemory(
- * IN PVOID Destination,
- * IN ULONG Length)
- */
- #define NdisZeroMemory(Destination, Length) \
- RtlZeroMemory(Destination, Length)
- typedef VOID
- (NTAPI *NDIS_BLOCK_INITIALIZER) (
- IN PUCHAR Block,
- IN SIZE_T NumberOfBytes
- );
- /* Configuration routines */
- #if NDIS_LEGACY_DRIVER
- NDISAPI
- VOID
- NTAPI
- NdisOpenConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE ConfigurationHandle,
- IN NDIS_HANDLE WrapperConfigurationContext);
- #endif
- NDISAPI
- VOID
- NTAPI
- NdisReadNetworkAddress(
- OUT PNDIS_STATUS Status,
- OUT PVOID *NetworkAddress,
- OUT PUINT NetworkAddressLength,
- IN NDIS_HANDLE ConfigurationHandle);
- NDISAPI
- VOID
- NTAPI
- NdisReadEisaSlotInformation(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- OUT PUINT SlotNumber,
- OUT PNDIS_EISA_FUNCTION_INFORMATION EisaData);
- NDISAPI
- VOID
- NTAPI
- NdisReadEisaSlotInformationEx(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- OUT PUINT SlotNumber,
- OUT PNDIS_EISA_FUNCTION_INFORMATION *EisaData,
- OUT PUINT NumberOfFunctions);
- #if NDIS_LEGACY_MINIPORT
- NDISAPI
- ULONG
- NTAPI
- NdisReadPciSlotInformation(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG SlotNumber,
- IN ULONG Offset,
- OUT PVOID Buffer,
- IN ULONG Length);
- NDISAPI
- ULONG
- NTAPI
- NdisWritePciSlotInformation(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG SlotNumber,
- IN ULONG Offset,
- IN PVOID Buffer,
- IN ULONG Length);
- NDISAPI
- ULONG
- NTAPI
- NdisReadPcmciaAttributeMemory(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG Offset,
- OUT PVOID Buffer,
- IN ULONG Length);
- NDISAPI
- ULONG
- NTAPI
- NdisWritePcmciaAttributeMemory(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG Offset,
- IN PVOID Buffer,
- IN ULONG Length);
- #endif /* NDIS_LEGACY_MINIPORT */
- /* String management routines */
- /*
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisAnsiStringToUnicodeString(
- IN OUT PNDIS_STRING DestinationString,
- IN PNDIS_ANSI_STRING SourceString);
- */
- #define NdisAnsiStringToUnicodeString(_us, _as) RtlAnsiStringToUnicodeString(_us, _as, FALSE)
- /*
- * BOOLEAN
- * NdisEqualString(
- * IN PNDIS_STRING String1,
- * IN PNDIS_STRING String2,
- * IN BOOLEAN CaseInsensitive);
- */
- #define NdisEqualString RtlEqualString
- #define NdisEqualUnicodeString RtlEqualUnicodeString
- /*
- NDISAPI
- VOID
- NTAPI
- NdisInitAnsiString(
- IN OUT PNDIS_ANSI_STRING DestinationString,
- IN PCSTR SourceString);
- */
- #define NdisInitAnsiString RtlInitString
- NDISAPI
- VOID
- NTAPI
- NdisInitUnicodeString(
- IN OUT PNDIS_STRING DestinationString,
- IN PCWSTR SourceString);
- /*
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisUnicodeStringToAnsiString(
- IN OUT PNDIS_ANSI_STRING DestinationString,
- IN PNDIS_STRING SourceString);
- */
- #define NdisUnicodeStringToAnsiString(_as, _us) RtlUnicodeStringToAnsiString(_as, _us, FALSE)
- #define NdisFreeString(_s) NdisFreeMemory((_s).Buffer, (_s).MaximumLength, 0)
- #define NdisPrintString(_s) DbgPrint("%ls", (_s).Buffer)
- /* Spin lock reoutines */
- /*
- NDISAPI
- VOID
- NTAPI
- NdisAllocateSpinLock(
- IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisAllocateSpinLock(_SpinLock) KeInitializeSpinLock(&(_SpinLock)->SpinLock)
- /*
- NDISAPI
- VOID
- NTAPI
- NdisFreeSpinLock(
- IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisFreeSpinLock(_SpinLock)
- /*
- NDISAPI
- VOID
- NTAPI
- NdisAcquireSpinLock(
- IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisAcquireSpinLock(_SpinLock) KeAcquireSpinLock(&(_SpinLock)->SpinLock, &(_SpinLock)->OldIrql)
- /*
- NDISAPI
- VOID
- NTAPI
- NdisReleaseSpinLock(
- IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisReleaseSpinLock(_SpinLock) KeReleaseSpinLock(&(_SpinLock)->SpinLock,(_SpinLock)->OldIrql)
- /*
- NDISAPI
- VOID
- NTAPI
- NdisDprAcquireSpinLock(
- IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisDprAcquireSpinLock(_SpinLock) KeAcquireSpinLockAtDpcLevel(&(_SpinLock)->SpinLock)
- /*
- NDISAPI
- VOID
- NTAPI
- NdisDprReleaseSpinLock(
- IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisDprReleaseSpinLock(_SpinLock) KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
- /* I/O routines */
- /*
- * VOID
- * NdisRawReadPortBufferUchar(
- * IN ULONG Port,
- * OUT PUCHAR Buffer,
- * IN ULONG Length);
- */
- #define NdisRawReadPortBufferUchar(Port, Buffer, Length) \
- READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
- /*
- * VOID
- * NdisRawReadPortBufferUlong(
- * IN ULONG Port,
- * OUT PULONG Buffer,
- * IN ULONG Length);
- */
- #define NdisRawReadPortBufferUlong(Port, Buffer, Length) \
- READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
- /*
- * VOID
- * NdisRawReadPortBufferUshort(
- * IN ULONG Port,
- * OUT PUSHORT Buffer,
- * IN ULONG Length);
- */
- #define NdisRawReadPortBufferUshort(Port, Buffer, Length) \
- READ_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
- /*
- * VOID
- * NdisRawReadPortUchar(
- * IN ULONG Port,
- * OUT PUCHAR Data);
- */
- #define NdisRawReadPortUchar(Port, Data) \
- *(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
- /*
- * VOID
- * NdisRawReadPortUlong(
- * IN ULONG Port,
- * OUT PULONG Data);
- */
- #define NdisRawReadPortUlong(Port, Data) \
- *(Data) = READ_PORT_ULONG((PULONG)(Port))
- /*
- * VOID
- * NdisRawReadPortUshort(
- * IN ULONG Port,
- * OUT PUSHORT Data);
- */
- #define NdisRawReadPortUshort(Port, Data) \
- *(Data) = READ_PORT_USHORT((PUSHORT)(Port))
- /*
- * VOID
- * NdisRawWritePortBufferUchar(
- * IN ULONG Port,
- * IN PUCHAR Buffer,
- * IN ULONG Length);
- */
- #define NdisRawWritePortBufferUchar(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
- /*
- * VOID
- * NdisRawWritePortBufferUlong(
- * IN ULONG Port,
- * IN PULONG Buffer,
- * IN ULONG Length);
- */
- #define NdisRawWritePortBufferUlong(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
- /*
- * VOID
- * NdisRawWritePortBufferUshort(
- * IN ULONG Port,
- * IN PUSHORT Buffer,
- * IN ULONG Length);
- */
- #define NdisRawWritePortBufferUshort(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
- /*
- * VOID
- * NdisRawWritePortUchar(
- * IN ULONG Port,
- * IN UCHAR Data);
- */
- #define NdisRawWritePortUchar(Port, Data) \
- WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
- /*
- * VOID
- * NdisRawWritePortUlong(
- * IN ULONG Port,
- * IN ULONG Data);
- */
- #define NdisRawWritePortUlong(Port, Data) \
- WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
- /*
- * VOID
- * NdisRawWritePortUshort(
- * IN ULONG Port,
- * IN USHORT Data);
- */
- #define NdisRawWritePortUshort(Port, Data) \
- WRITE_PORT_USHORT((PUSHORT)(Port), (USHORT)(Data))
- /*
- * VOID
- * NdisReadRegisterUchar(
- * IN PUCHAR Register,
- * OUT PUCHAR Data);
- */
- #define NdisReadRegisterUchar(Register, Data) \
- *(Data) = *(Register)
- /*
- * VOID
- * NdisReadRegisterUlong(
- * IN PULONG Register,
- * OUT PULONG Data);
- */
- #define NdisReadRegisterUlong(Register, Data) \
- *(Data) = *(Register)
- /*
- * VOID
- * NdisReadRegisterUshort(
- * IN PUSHORT Register,
- * OUT PUSHORT Data);
- */
- #define NdisReadRegisterUshort(Register, Data) \
- *(Data) = *(Register)
- /*
- * VOID
- * NdisReadRegisterUchar(
- * IN PUCHAR Register,
- * IN UCHAR Data);
- */
- #define NdisWriteRegisterUchar(Register, Data) \
- WRITE_REGISTER_UCHAR((Register), (Data))
- /*
- * VOID
- * NdisReadRegisterUlong(
- * IN PULONG Register,
- * IN ULONG Data);
- */
- #define NdisWriteRegisterUlong(Register, Data) \
- WRITE_REGISTER_ULONG((Register), (Data))
- /*
- * VOID
- * NdisReadRegisterUshort(
- * IN PUSHORT Register,
- * IN USHORT Data);
- */
- #define NdisWriteRegisterUshort(Register, Data) \
- WRITE_REGISTER_USHORT((Register), (Data))
- /* Linked lists */
- /*
- * VOID
- * NdisInitializeListHead(
- * IN PLIST_ENTRY ListHead);
- */
- #define NdisInitializeListHead InitializeListHead
- /*
- * PLIST_ENTRY
- * NdisInterlockedInsertHeadList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY ListEntry,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisInterlockedInsertHeadList(_ListHead, _ListEntry, _SpinLock) \
- ExInterlockedInsertHeadList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
- /*
- * PLIST_ENTRY
- * NdisInterlockedInsertTailList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY ListEntry,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisInterlockedInsertTailList(_ListHead, _ListEntry, _SpinLock) \
- ExInterlockedInsertTailList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
- /*
- * PLIST_ENTRY
- * NdisInterlockedRemoveHeadList(
- * IN PLIST_ENTRY ListHead,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisInterlockedRemoveHeadList(_ListHead, _SpinLock) \
- ExInterlockedRemoveHeadList(_ListHead, &(_SpinLock)->SpinLock)
- /*
- * VOID
- * NdisInitializeSListHead(
- * IN PSLIST_HEADER SListHead);
- */
- #define NdisInitializeSListHead(SListHead) ExInitializeSListHead(SListHead)
- /*
- * USHORT NdisQueryDepthSList(
- * IN PSLIST_HEADER SListHead);
- */
- #define NdisQueryDepthSList(SListHead) ExQueryDepthSList(SListHead)
- #define NdisInterlockedPushEntryList(ListHead, ListEntry, Lock) \
- ExInterlockedPushEntryList(ListHead, ListEntry, &(Lock)->SpinLock)
- #define NdisInterlockedPopEntryList(ListHead, Lock) \
- ExInterlockedPopEntryList(ListHead, &(Lock)->SpinLock)
- /* Non-paged lookaside lists */
- #define NdisInitializeNPagedLookasideList(_L, _AR, _FR, _Fl, _S, _T, _D) \
- ExInitializeNPagedLookasideList(_L, _AR, _FR, _Fl, _S, _T, _D)
- #define NdisDeleteNPagedLookasideList(_L) ExDeleteNPagedLookasideList(_L)
- #define NdisAllocateFromNPagedLookasideList(_L) ExAllocateFromNPagedLookasideList(_L)
- #define NdisFreeToNPagedLookasideList(_L, _E) ExFreeToNPagedLookasideList(_L, _E)
- /* Interlocked routines */
- /*
- * LONG
- * NdisInterlockedDecrement(
- * IN PLONG Addend);
- */
- #define NdisInterlockedDecrement(Addend) InterlockedDecrement(Addend)
- /*
- * LONG
- * NdisInterlockedIncrement(
- * IN PLONG Addend);
- */
- #define NdisInterlockedIncrement(Addend) InterlockedIncrement(Addend)
- /*
- * VOID
- * NdisInterlockedAddUlong(
- * IN PULONG Addend,
- * IN ULONG Increment,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
- #define NdisInterlockedAddUlong(_Addend, _Increment, _SpinLock) \
- ExInterlockedAddUlong(_Addend, _Increment, &(_SpinLock)->SpinLock)
- /* Miscellaneous routines */
- NDISAPI
- VOID
- NTAPI
- NdisCloseConfiguration(
- IN NDIS_HANDLE ConfigurationHandle);
- NDISAPI
- VOID
- NTAPI
- NdisReadConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
- IN NDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING Keyword,
- IN NDIS_PARAMETER_TYPE ParameterType);
- NDISAPI
- VOID
- NTAPI
- NdisWriteConfiguration(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN PNDIS_STRING Keyword,
- IN PNDIS_CONFIGURATION_PARAMETER ParameterValue);
- NDISAPI
- VOID
- __cdecl
- NdisWriteErrorLogEntry(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN NDIS_ERROR_CODE ErrorCode,
- IN ULONG NumberOfErrorValues,
- IN ...);
- NDISAPI
- VOID
- NTAPI
- NdisInitializeString(
- OUT PNDIS_STRING Destination,
- IN PUCHAR Source);
- /*
- * VOID
- * NdisStallExecution(
- * IN UINT MicrosecondsToStall)
- */
- #define NdisStallExecution KeStallExecutionProcessor
- /*
- NDISAPI
- VOID
- NTAPI
- NdisGetCurrentSystemTime(
- IN PLARGE_INTEGER pSystemTime);
- */
- #define NdisGetCurrentSystemTime KeQuerySystemTime
- #if NDIS_SUPPORT_60_COMPATIBLE_API
- NDISAPI
- CCHAR
- NTAPI
- NdisSystemProcessorCount(VOID);
- #endif
- NDISAPI
- VOID
- NTAPI
- NdisGetCurrentProcessorCpuUsage(
- OUT PULONG pCpuUsage);
- /* NDIS helper macros */
- /*
- * VOID
- * NDIS_INIT_FUNCTION(FunctionName)
- */
- #define NDIS_INIT_FUNCTION(FunctionName) \
- alloc_text(init, FunctionName)
- /*
- * VOID
- * NDIS_PAGABLE_FUNCTION(FunctionName)
- */
- #define NDIS_PAGEABLE_FUNCTION(FunctionName) \
- alloc_text(page, FunctionName)
- #define NDIS_PAGABLE_FUNCTION NDIS_PAGEABLE_FUNCTION
- /* NDIS 4.0 extensions */
- NDISAPI
- VOID
- NTAPI
- NdisMFreeSharedMemory(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN ULONG Length,
- IN BOOLEAN Cached,
- IN PVOID VirtualAddress,
- IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- NDISAPI
- VOID
- NTAPI
- NdisMWanIndicateReceive(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisLinkContext,
- IN PUCHAR PacketBuffer,
- IN UINT PacketSize);
- NDISAPI
- VOID
- NTAPI
- NdisMWanIndicateReceiveComplete(
- IN NDIS_HANDLE MiniportAdapterHandle
- IN NDIS_HANDLE NdisLinkContext);
- NDISAPI
- VOID
- NTAPI
- NdisMWanSendComplete(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_WAN_PACKET Packet,
- IN NDIS_STATUS Status);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisPciAssignResources(
- IN NDIS_HANDLE NdisMacHandle,
- IN NDIS_HANDLE NdisWrapperHandle,
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN ULONG SlotNumber,
- OUT PNDIS_RESOURCE_LIST *AssignedResources);
- /* NDIS 5.0 extensions */
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisAllocateMemoryWithTag(
- OUT PVOID *VirtualAddress,
- IN UINT Length,
- IN ULONG Tag);
- NDISAPI
- VOID
- NTAPI
- NdisGetCurrentProcessorCounts(
- OUT PULONG pIdleCount,
- OUT PULONG pKernelAndUser,
- OUT PULONG pIndex);
- #if NDIS_LEGACY_DRIVER
- NDISAPI
- VOID
- NTAPI
- NdisGetSystemUpTime(
- OUT PULONG pSystemUpTime);
- #endif
- #if NDIS_SUPPORT_60_COMPATIBLE_API
- NDISAPI
- VOID
- NTAPI
- NdisAcquireReadWriteLock(
- IN OUT PNDIS_RW_LOCK Lock,
- IN BOOLEAN fWrite,
- OUT PLOCK_STATE LockState);
- NDISAPI
- VOID
- NTAPI
- NdisInitializeReadWriteLock(
- OUT PNDIS_RW_LOCK Lock);
- NDISAPI
- VOID
- NTAPI
- NdisReleaseReadWriteLock(
- IN OUT PNDIS_RW_LOCK Lock,
- IN PLOCK_STATE LockState);
- #if NDIS_SUPPORT_NDIS6
- NDISAPI
- VOID
- NTAPI
- NdisDprAcquireReadWriteLock(
- IN PNDIS_RW_LOCK Lock,
- IN BOOLEAN fWrite,
- IN PLOCK_STATE LockState);
- NDISAPI
- VOID
- NTAPI
- NdisDprReleaseReadWriteLock(
- IN PNDIS_RW_LOCK Lock,
- IN PLOCK_STATE LockState);
- #endif /* NDIS_SUPPORT_NDIS6 */
- #endif /* NDIS_SUPPORT_60_COMPATIBLE_API */
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMDeregisterDevice(
- IN NDIS_HANDLE NdisDeviceHandle);
- NDISAPI
- VOID
- NTAPI
- NdisMGetDeviceProperty(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN OUT PDEVICE_OBJECT *PhysicalDeviceObject OPTIONAL,
- IN OUT PDEVICE_OBJECT *FunctionalDeviceObject OPTIONAL,
- IN OUT PDEVICE_OBJECT *NextDeviceObject OPTIONAL,
- IN OUT PCM_RESOURCE_LIST *AllocatedResources OPTIONAL,
- IN OUT PCM_RESOURCE_LIST *AllocatedResourcesTranslated OPTIONAL);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMInitializeScatterGatherDma(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN BOOLEAN Dma64BitAddresses,
- IN ULONG MaximumPhysicalMapping);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMPromoteMiniport(
- IN NDIS_HANDLE MiniportAdapterHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMQueryAdapterInstanceName(
- OUT PNDIS_STRING AdapterInstanceName,
- IN NDIS_HANDLE MiniportAdapterHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMRegisterDevice(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PNDIS_STRING DeviceName,
- IN PNDIS_STRING SymbolicName,
- IN PDRIVER_DISPATCH MajorFunctions[],
- OUT PDEVICE_OBJECT *pDeviceObject,
- OUT NDIS_HANDLE *NdisDeviceHandle);
- NDISAPI
- VOID
- NTAPI
- NdisMRegisterUnloadHandler(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PDRIVER_UNLOAD UnloadHandler);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMRemoveMiniport(
- IN NDIS_HANDLE MiniportAdapterHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMSetMiniportSecondary(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE PrimaryMiniportAdapterHandle);
- NDISAPI
- VOID
- NTAPI
- NdisOpenConfigurationKeyByIndex(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE ConfigurationHandle,
- IN ULONG Index,
- OUT PNDIS_STRING KeyName,
- OUT PNDIS_HANDLE KeyHandle);
- NDISAPI
- VOID
- NTAPI
- NdisOpenConfigurationKeyByName(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING SubKeyName,
- OUT PNDIS_HANDLE SubKeyHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisQueryAdapterInstanceName(
- OUT PNDIS_STRING AdapterInstanceName,
- IN NDIS_HANDLE NdisBindingHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisQueryBindInstanceName(
- OUT PNDIS_STRING pAdapterInstanceName,
- IN NDIS_HANDLE BindingContext);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisWriteEventLogEntry(
- IN PVOID LogHandle,
- IN NDIS_STATUS EventCode,
- IN ULONG UniqueEventValue,
- IN USHORT NumStrings,
- IN PVOID StringsList OPTIONAL,
- IN ULONG DataSize,
- IN PVOID Data OPTIONAL);
- /* Connectionless services */
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClAddParty(
- IN NDIS_HANDLE NdisVcHandle,
- IN NDIS_HANDLE ProtocolPartyContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters,
- OUT PNDIS_HANDLE NdisPartyHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClCloseAddressFamily(
- IN NDIS_HANDLE NdisAfHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClCloseCall(
- IN NDIS_HANDLE NdisVcHandle,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN PVOID Buffer OPTIONAL,
- IN UINT Size);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClDeregisterSap(
- IN NDIS_HANDLE NdisSapHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClDropParty(
- IN NDIS_HANDLE NdisPartyHandle,
- IN PVOID Buffer OPTIONAL,
- IN UINT Size);
- NDISAPI
- VOID
- NTAPI
- NdisClIncomingCallComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClMakeCall(
- IN NDIS_HANDLE NdisVcHandle,
- IN OUT PCO_CALL_PARAMETERS CallParameters,
- IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
- OUT PNDIS_HANDLE NdisPartyHandle OPTIONAL);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClModifyCallQoS(
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClOpenAddressFamily(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PCO_ADDRESS_FAMILY AddressFamily,
- IN NDIS_HANDLE ProtocolAfContext,
- IN PNDIS_CLIENT_CHARACTERISTICS ClCharacteristics,
- IN UINT SizeOfClCharacteristics,
- OUT PNDIS_HANDLE NdisAfHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisClRegisterSap(
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE ProtocolSapContext,
- IN PCO_SAP Sap,
- OUT PNDIS_HANDLE NdisSapHandle);
- /* Call Manager services */
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisCmActivateVc(
- IN NDIS_HANDLE NdisVcHandle,
- IN OUT PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- VOID
- NTAPI
- NdisCmAddPartyComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisPartyHandle,
- IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- VOID
- NTAPI
- NdisCmCloseAddressFamilyComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisAfHandle);
- NDISAPI
- VOID
- NTAPI
- NdisCmCloseCallComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisCmDeactivateVc(
- IN NDIS_HANDLE NdisVcHandle);
- NDISAPI
- VOID
- NTAPI
- NdisCmDeregisterSapComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisSapHandle);
- NDISAPI
- VOID
- NTAPI
- NdisCmDispatchCallConnected(
- IN NDIS_HANDLE NdisVcHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisCmDispatchIncomingCall(
- IN NDIS_HANDLE NdisSapHandle,
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- VOID
- NTAPI
- NdisCmDispatchIncomingCallQoSChange(
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- VOID
- NTAPI
- NdisCmDispatchIncomingCloseCall(
- IN NDIS_STATUS CloseStatus,
- IN NDIS_HANDLE NdisVcHandle,
- IN PVOID Buffer OPTIONAL,
- IN UINT Size);
- NDISAPI
- VOID
- NTAPI
- NdisCmDispatchIncomingDropParty(
- IN NDIS_STATUS DropStatus,
- IN NDIS_HANDLE NdisPartyHandle,
- IN PVOID Buffer OPTIONAL,
- IN UINT Size);
- NDISAPI
- VOID
- NTAPI
- NdisCmDropPartyComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisPartyHandle);
- NDISAPI
- VOID
- NTAPI
- NdisCmMakeCallComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- VOID
- NTAPI
- NdisCmModifyCallQoSComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- VOID
- NTAPI
- NdisCmOpenAddressFamilyComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE CallMgrAfContext);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisCmRegisterAddressFamily(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PCO_ADDRESS_FAMILY AddressFamily,
- IN PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics,
- IN UINT SizeOfCmCharacteristics);
- NDISAPI
- VOID
- NTAPI
- NdisCmRegisterSapComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisSapHandle,
- IN NDIS_HANDLE CallMgrSapContext);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMCmActivateVc(
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMCmCreateVc(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE MiniportVcContext,
- OUT PNDIS_HANDLE NdisVcHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMCmDeactivateVc(
- IN NDIS_HANDLE NdisVcHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMCmDeleteVc(
- IN NDIS_HANDLE NdisVcHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMCmRegisterAddressFamily(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PCO_ADDRESS_FAMILY AddressFamily,
- IN PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics,
- IN UINT SizeOfCmCharacteristics);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMCmRequest(
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE NdisVcHandle OPTIONAL,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN OUT PNDIS_REQUEST NdisRequest);
- /* Connection-oriented services */
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisCoCreateVc(
- IN NDIS_HANDLE NdisBindingHandle,
- IN NDIS_HANDLE NdisAfHandle OPTIONAL,
- IN NDIS_HANDLE ProtocolVcContext,
- IN OUT PNDIS_HANDLE NdisVcHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisCoDeleteVc(
- IN NDIS_HANDLE NdisVcHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisCoRequest(
- IN NDIS_HANDLE NdisBindingHandle,
- IN NDIS_HANDLE NdisAfHandle OPTIONAL,
- IN NDIS_HANDLE NdisVcHandle OPTIONAL,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN OUT PNDIS_REQUEST NdisRequest);
- NDISAPI
- VOID
- NTAPI
- NdisCoRequestComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE NdisVcHandle OPTIONAL,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN PNDIS_REQUEST NdisRequest);
- NDISAPI
- VOID
- NTAPI
- NdisCoSendPackets(
- IN NDIS_HANDLE NdisVcHandle,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
- NDISAPI
- VOID
- NTAPI
- NdisMCoActivateVcComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
- NDISAPI
- VOID
- NTAPI
- NdisMCoDeactivateVcComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle);
- NDISAPI
- VOID
- NTAPI
- NdisMCoIndicateReceivePacket(
- IN NDIS_HANDLE NdisVcHandle,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
- NDISAPI
- VOID
- NTAPI
- NdisMCoIndicateStatus(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisVcHandle OPTIONAL,
- IN NDIS_STATUS GeneralStatus,
- IN PVOID StatusBuffer OPTIONAL,
- IN ULONG StatusBufferSize);
- NDISAPI
- VOID
- NTAPI
- NdisMCoReceiveComplete(
- IN NDIS_HANDLE MiniportAdapterHandle);
- NDISAPI
- VOID
- NTAPI
- NdisMCoRequestComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_REQUEST Request);
- NDISAPI
- VOID
- NTAPI
- NdisMCoSendComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN PNDIS_PACKET Packet);
- /* NDIS 5.0 extensions for intermediate drivers */
- NDISAPI
- VOID
- NTAPI
- NdisIMAssociateMiniport(
- IN NDIS_HANDLE DriverHandle,
- IN NDIS_HANDLE ProtocolHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisIMCancelInitializeDeviceInstance(
- IN NDIS_HANDLE DriverHandle,
- IN PNDIS_STRING DeviceInstance);
- NDISAPI
- VOID
- NTAPI
- NdisIMCopySendCompletePerPacketInfo(
- IN PNDIS_PACKET DstPacket,
- IN PNDIS_PACKET SrcPacket);
- NDISAPI
- VOID
- NTAPI
- NdisIMCopySendPerPacketInfo(
- IN PNDIS_PACKET DstPacket,
- IN PNDIS_PACKET SrcPacket);
- NDISAPI
- VOID
- NTAPI
- NdisIMDeregisterLayeredMiniport(
- IN NDIS_HANDLE DriverHandle);
- NDISAPI
- NDIS_HANDLE
- NTAPI
- NdisIMGetBindingContext(
- IN NDIS_HANDLE NdisBindingHandle);
- NDISAPI
- NDIS_HANDLE
- NTAPI
- NdisIMGetDeviceContext(
- IN NDIS_HANDLE MiniportAdapterHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisIMInitializeDeviceInstanceEx(
- IN NDIS_HANDLE DriverHandle,
- IN PNDIS_STRING DriverInstance,
- IN NDIS_HANDLE DeviceContext OPTIONAL);
- /*
- NDISAPI
- PSINGLE_LIST_ENTRY
- NTAPI
- NdisInterlockedPopEntrySList(
- IN PSLIST_HEADER ListHead,
- IN PKSPIN_LOCK Lock);
- */
- #define NdisInterlockedPopEntrySList(SListHead, Lock) \
- ExInterlockedPopEntrySList(SListHead, &(Lock)->SpinLock)
- /*
- NDISAPI
- PSINGLE_LIST_ENTRY
- NTAPI
- NdisInterlockedPushEntrySList(
- IN PSLIST_HEADER ListHead,
- IN PSINGLE_LIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
- */
- #define NdisInterlockedPushEntrySList(SListHead, SListEntry, Lock) \
- ExInterlockedPushEntrySList(SListHead, SListEntry, &(Lock)->SpinLock)
- #define NdisInterlockedFlushSList(SListHead) ExInterlockedFlushSList(SListHead)
- /*
- NDISAPI
- VOID
- NTAPI
- NdisQueryBufferSafe(
- IN PNDIS_BUFFER Buffer,
- OUT PVOID *VirtualAddress OPTIONAL,
- OUT PUINT Length,
- IN UINT Priority);
- */
- #define NdisQueryBufferSafe(_Buffer, _VirtualAddress, _Length, _Priority) { \
- if (ARGUMENT_PRESENT(_VirtualAddress)) { \
- *(PVOID *)(_VirtualAddress) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \
- } \
- *(_Length) = MmGetMdlByteCount(_Buffer); \
- }
- /* Routines for NDIS miniport drivers */
- #if NDIS_SUPPORT_NDIS6
- NDISAPI
- PNDIS_GENERIC_OBJECT
- NTAPI
- NdisAllocateGenericObject(
- PDRIVER_OBJECT DriverObject OPTIONAL,
- ULONG Tag,
- USHORT Size);
- NDISAPI
- VOID
- NTAPI
- NdisFreeGenericObject(
- IN PNDIS_GENERIC_OBJECT NdisObject);
- #endif /* NDIS_SUPPORT_NDIS6 */
- NDISAPI
- VOID
- NTAPI
- NdisInitializeWrapper(
- OUT PNDIS_HANDLE NdisWrapperHandle,
- IN PVOID SystemSpecific1,
- IN PVOID SystemSpecific2,
- IN PVOID SystemSpecific3);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMAllocateMapRegisters(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT DmaChannel,
- IN NDIS_DMA_SIZE DmaSize,
- IN ULONG PhysicalMapRegistersNeeded,
- IN ULONG MaximumPhysicalMapping);
- /*
- * VOID
- * NdisMArcIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PUCHAR HeaderBuffer,
- * IN PUCHAR DataBuffer,
- * IN UINT Length);
- */
- #define NdisMArcIndicateReceive(MiniportAdapterHandle, \
- HeaderBuffer, \
- DataBuffer, \
- Length) \
- { \
- ArcFilterDprIndicateReceive( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ArcDB), \
- (HeaderBuffer), \
- (DataBuffer), \
- (Length)); \
- }
- /*
- * VOID
- * NdisMArcIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
- #define NdisMArcIndicateReceiveComplete(MiniportAdapterHandle) \
- { \
- if (((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB) \
- { \
- NdisMEthIndicateReceiveComplete(_H); \
- } \
- \
- ArcFilterDprIndicateReceiveComplete( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->ArcDB); \
- }
- NDISAPI
- VOID
- NTAPI
- NdisMCloseLog(
- IN NDIS_HANDLE LogHandle);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMCreateLog(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT Size,
- OUT PNDIS_HANDLE LogHandle);
- NDISAPI
- VOID
- NTAPI
- NdisMDeregisterAdapterShutdownHandler(
- IN NDIS_HANDLE MiniportHandle);
- #if NDIS_LEGACY_MINIPORT
- NDISAPI
- VOID
- NTAPI
- NdisMDeregisterInterrupt(
- IN PNDIS_MINIPORT_INTERRUPT Interrupt);
- NDISAPI
- VOID
- NTAPI
- NdisMRegisterAdapterShutdownHandler(
- IN NDIS_HANDLE MiniportHandle,
- IN PVOID ShutdownContext,
- IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMRegisterInterrupt(
- OUT PNDIS_MINIPORT_INTERRUPT Interrupt,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT InterruptVector,
- IN UINT InterruptLevel,
- IN BOOLEAN RequestIsr,
- IN BOOLEAN SharedInterrupt,
- IN NDIS_INTERRUPT_MODE InterruptMode);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMRegisterMiniport(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
- IN UINT CharacteristicsLength);
- NDISAPI
- BOOLEAN
- NTAPI
- NdisMSynchronizeWithInterrupt(
- IN PNDIS_MINIPORT_INTERRUPT Interrupt,
- IN PVOID SynchronizeFunction,
- IN PVOID SynchronizeContext);
- #endif /* NDIS_LEGACY_MINIPORT */
- NDISAPI
- VOID
- NTAPI
- NdisMDeregisterIoPortRange(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT InitialPort,
- IN UINT NumberOfPorts,
- IN PVOID PortOffset);
- /*
- * VOID
- * NdisMEthIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
- #define NdisMEthIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
- ((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthDB, \
- (MiniportReceiveContext), \
- (HeaderBuffer), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
- }
- /*
- * VOID
- * NdisMEthIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
- #define NdisMEthIndicateReceiveComplete(MiniportAdapterHandle) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB); \
- }
- /*
- * VOID
- * NdisMFddiIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
- #define NdisMFddiIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxIndicateHandler)( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiDB), \
- (MiniportReceiveContext), \
- (PUCHAR)(HeaderBuffer) + 1, \
- (((*(PUCHAR*)(HeaderBuffer)) & 0x40) ? \
- FDDI_LENGTH_OF_LONG_ADDRESS : \
- FDDI_LENGTH_OF_SHORT_ADDRESS), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
- }
- /*
- * VOID
- * NdisMFddiIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
- #define NdisMFddiIndicateReceiveComplete(MiniportAdapterHandle) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FddiDB); \
- }
- NDISAPI
- VOID
- NTAPI
- NdisMFlushLog(
- IN NDIS_HANDLE LogHandle);
- NDISAPI
- VOID
- NTAPI
- NdisMFreeMapRegisters(
- IN NDIS_HANDLE MiniportAdapterHandle);
- /*
- * VOID
- * EXPORT
- * NdisMIndicateReceivePacket(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PPNDIS_PACKET ReceivePackets,
- * IN UINT NumberOfPackets);
- */
- #define NdisMIndicateReceivePacket(MiniportAdapterHandle, \
- ReceivePackets, NumberOfPackets) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->PacketIndicateHandler)( \
- MiniportAdapterHandle, ReceivePackets, NumberOfPackets)
- /*
- * VOID
- * NdisMIndicateStatus(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS GeneralStatus,
- * IN PVOID StatusBuffer,
- * IN UINT StatusBufferSize);
- */
- #define NdisMIndicateStatus(MiniportAdapterHandle, \
- GeneralStatus, StatusBuffer, StatusBufferSize) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusHandler)( \
- MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize)
- /*
- * VOID
- * NdisMIndicateStatusComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
- #define NdisMIndicateStatusComplete(MiniportAdapterHandle) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusCompleteHandler)( \
- MiniportAdapterHandle)
- /*
- * VOID
- * NdisMInitializeWrapper(
- * OUT PNDIS_HANDLE NdisWrapperHandle,
- * IN PVOID SystemSpecific1,
- * IN PVOID SystemSpecific2,
- * IN PVOID SystemSpecific3);
- */
- #define NdisMInitializeWrapper(NdisWrapperHandle, \
- SystemSpecific1, \
- SystemSpecific2, \
- SystemSpecific3) \
- NdisInitializeWrapper((NdisWrapperHandle), \
- (SystemSpecific1), \
- (SystemSpecific2), \
- (SystemSpecific3))
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMMapIoSpace(
- OUT PVOID *VirtualAddress,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- IN UINT Length);
- /*
- * VOID
- * NdisMQueryInformationComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status);
- */
- #define NdisMQueryInformationComplete(MiniportAdapterHandle, Status) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->QueryCompleteHandler)(MiniportAdapterHandle, Status)
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMRegisterIoPortRange(
- OUT PVOID *PortOffset,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT InitialPort,
- IN UINT NumberOfPorts);
- NDISAPI
- VOID
- NTAPI
- NdisMSetTimer(
- IN PNDIS_MINIPORT_TIMER Timer,
- IN UINT MillisecondsToDelay);
- NDISAPI
- VOID
- NTAPI
- NdisMInitializeTimer(
- IN OUT PNDIS_MINIPORT_TIMER Timer,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_TIMER_FUNCTION TimerFunction,
- IN PVOID FunctionContext);
- NDISAPI
- VOID
- NTAPI
- NdisMSetPeriodicTimer(
- IN PNDIS_MINIPORT_TIMER Timer,
- IN UINT MillisecondPeriod);
- NDISAPI
- VOID
- NTAPI
- NdisMCancelTimer(
- IN PNDIS_MINIPORT_TIMER Timer,
- OUT PBOOLEAN TimerCancelled);
- #if !defined(NDIS_WRAPPER)
- /*
- * VOID
- * NdisMResetComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status,
- * IN BOOLEAN AddressingReset);
- */
- #define NdisMResetComplete(MiniportAdapterHandle, \
- Status, \
- AddressingReset) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ResetCompleteHandler)( \
- MiniportAdapterHandle, Status, AddressingReset); \
- }
- /*
- * VOID
- * NdisMSendComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status);
- */
- #define NdisMSendComplete(MiniportAdapterHandle, \
- Packet, \
- Status) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendCompleteHandler)( \
- MiniportAdapterHandle, Packet, Status); \
- }
- /*
- * VOID
- * NdisMSendResourcesAvailable(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
- #define NdisMSendResourcesAvailable(MiniportAdapterHandle) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendResourcesHandler)( \
- MiniportAdapterHandle); \
- }
- /*
- * VOID
- * NdisMTransferDataComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status,
- * IN UINT BytesTransferred);
- */
- #define NdisMTransferDataComplete(MiniportAdapterHandle, \
- Packet, \
- Status, \
- BytesTransferred) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TDCompleteHandler)( \
- MiniportAdapterHandle, Packet, Status, BytesTransferred) \
- }
- #endif /* !_NDIS_ */
- /*
- * VOID
- * NdisMSetAttributes(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportAdapterContext,
- * IN BOOLEAN BusMaster,
- * IN NDIS_INTERFACE_TYPE AdapterType);
- */
- #define NdisMSetAttributes(MiniportAdapterHandle, \
- MiniportAdapterContext, \
- BusMaster, \
- AdapterType) \
- NdisMSetAttributesEx(MiniportAdapterHandle, \
- MiniportAdapterContext, \
- 0, \
- (BusMaster) ? NDIS_ATTRIBUTE_BUS_MASTER : 0, \
- AdapterType)
- NDISAPI
- VOID
- NTAPI
- NdisMSetAttributesEx(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE MiniportAdapterContext,
- IN UINT CheckForHangTimeInSeconds OPTIONAL,
- IN ULONG AttributeFlags,
- IN NDIS_INTERFACE_TYPE AdapterType);
- /*
- * VOID
- * NdisMSetInformationComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status);
- */
- #define NdisMSetInformationComplete(MiniportAdapterHandle, \
- Status) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SetCompleteHandler)( \
- MiniportAdapterHandle, Status)
- NDISAPI
- VOID
- NTAPI
- NdisMSleep(
- IN ULONG MicrosecondsToSleep);
- /*
- * VOID
- * NdisMTrIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
- #define NdisMTrIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxIndicateHandler)( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrDB), \
- (MiniportReceiveContext), \
- (HeaderBuffer), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
- }
- /*
- * VOID
- * NdisMTrIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
- #define NdisMTrIndicateReceiveComplete(MiniportAdapterHandle) \
- { \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->TrDB); \
- }
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisMWriteLogData(
- IN NDIS_HANDLE LogHandle,
- IN PVOID LogBuffer,
- IN UINT LogBufferSize);
- NDISAPI
- VOID
- NTAPI
- NdisMQueryAdapterResources(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- OUT PNDIS_RESOURCE_LIST ResourceList,
- IN OUT PUINT BufferSize);
- NDISAPI
- VOID
- NTAPI
- NdisTerminateWrapper(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PVOID SystemSpecific);
- NDISAPI
- VOID
- NTAPI
- NdisMUnmapIoSpace(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PVOID VirtualAddress,
- IN UINT Length);
- /* Event functions */
- NDISAPI
- VOID
- NTAPI
- NdisInitializeEvent(
- OUT PNDIS_EVENT Event);
- NDISAPI
- VOID
- NTAPI
- NdisSetEvent(
- IN PNDIS_EVENT Event);
- NDISAPI
- VOID
- NTAPI
- NdisResetEvent(
- IN PNDIS_EVENT Event);
- NDISAPI
- BOOLEAN
- NTAPI
- NdisWaitEvent(
- IN PNDIS_EVENT Event,
- IN UINT MsToWait);
- /* NDIS intermediate miniport structures */
- typedef VOID (NTAPI *W_MINIPORT_CALLBACK)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PVOID CallbackContext);
- /* Routines for intermediate miniport drivers */
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisIMDeInitializeDeviceInstance(
- IN NDIS_HANDLE NdisMiniportHandle);
- /*
- * NDIS_STATUS
- * NdisIMInitializeDeviceInstance(
- * IN NDIS_HANDLE DriverHandle,
- * IN PNDIS_STRING DeviceInstance);
- */
- #define NdisIMInitializeDeviceInstance(DriverHandle, DeviceInstance) \
- NdisIMInitializeDeviceInstanceEx(DriverHandle, DeviceInstance, NULL)
- /* Functions obsoleted by NDIS 5.0 */
- NDISAPI
- VOID
- NTAPI
- NdisFreeDmaChannel(
- IN PNDIS_HANDLE NdisDmaHandle);
- NDISAPI
- VOID
- NTAPI
- NdisSetupDmaTransfer(
- OUT PNDIS_STATUS Status,
- IN PNDIS_HANDLE NdisDmaHandle,
- IN PNDIS_BUFFER Buffer,
- IN ULONG Offset,
- IN ULONG Length,
- IN BOOLEAN WriteToDevice);
- /*
- NDISAPI
- NTSTATUS
- NTAPI
- NdisUpcaseUnicodeString(
- OUT PUNICODE_STRING DestinationString,
- IN PUNICODE_STRING SourceString);
- */
- #define NdisUpcaseUnicodeString(_d, _s) RtlUpcaseUnicodeString(_d, _s, FALSE)
- /* Routines for NDIS protocol drivers */
- #if NDIS_LEGACY_PROTOCOL
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisIMRegisterLayeredMiniport(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
- IN UINT CharacteristicsLength,
- OUT PNDIS_HANDLE DriverHandle);
- NDISAPI
- VOID
- NTAPI
- NdisTransferData(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN NDIS_HANDLE MacReceiveContext,
- IN UINT ByteOffset,
- IN UINT BytesToTransfer,
- IN OUT PNDIS_PACKET Packet,
- OUT PUINT BytesTransferred);
- NDISAPI
- VOID
- NTAPI
- NdisSend(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN PNDIS_PACKET Packet);
- NDISAPI
- VOID
- NTAPI
- NdisSendPackets(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
- NDISAPI
- VOID
- NTAPI
- NdisRequest(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN PNDIS_REQUEST NdisRequest);
- NDISAPI
- VOID
- NTAPI
- NdisReset(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle);
- NDISAPI
- VOID
- NTAPI
- NdisDeregisterProtocol(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisProtocolHandle);
- NDISAPI
- VOID
- NTAPI
- NdisOpenAdapter(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_STATUS OpenErrorStatus,
- OUT PNDIS_HANDLE NdisBindingHandle,
- OUT PUINT SelectedMediumIndex,
- IN PNDIS_MEDIUM MediumArray,
- IN UINT MediumArraySize,
- IN NDIS_HANDLE NdisProtocolHandle,
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_STRING AdapterName,
- IN UINT OpenOptions,
- IN PSTRING AddressingInformation OPTIONAL);
- NDISAPI
- VOID
- NTAPI
- NdisCloseAdapter(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle);
- NDISAPI
- VOID
- NTAPI
- NdisCompleteBindAdapter(
- IN NDIS_HANDLE BindAdapterContext,
- IN NDIS_STATUS Status,
- IN NDIS_STATUS OpenStatus);
- NDISAPI
- VOID
- NTAPI
- NdisCompleteUnbindAdapter(
- IN NDIS_HANDLE UnbindAdapterContext,
- IN NDIS_STATUS Status);
- NDISAPI
- VOID
- NTAPI
- NdisSetProtocolFilter(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN RECEIVE_HANDLER ReceiveHandler,
- IN RECEIVE_PACKET_HANDLER ReceivePacketHandler,
- IN NDIS_MEDIUM Medium,
- IN UINT Offset,
- IN UINT Size,
- IN PUCHAR Pattern);
- NDISAPI
- VOID
- NTAPI
- NdisGetDriverHandle(
- IN PNDIS_HANDLE NdisBindingHandle,
- OUT PNDIS_HANDLE NdisDriverHandle);
- NDISAPI
- VOID
- NTAPI
- NdisOpenProtocolConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING ProtocolSection);
- NDISAPI
- VOID
- NTAPI
- NdisCompletePnPEvent(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN PNET_PNP_EVENT NetPnPEvent);
- /*
- * VOID
- * NdisSetSendFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
- #define NdisSetSendFlags(_Packet,_Flags)(_Packet)->Private.Flags = (_Flags)
- #define NdisQuerySendFlags(_Packet,_Flags) *(_Flags) = (_Packet)->Private.Flags
- NDISAPI
- VOID
- NTAPI
- NdisReturnPackets(
- IN PNDIS_PACKET *PacketsToReturn,
- IN UINT NumberOfPackets);
- NDISAPI
- PNDIS_PACKET
- NTAPI
- NdisGetReceivedPacket(
- IN PNDIS_HANDLE NdisBindingHandle,
- IN PNDIS_HANDLE MacContext);
- NDISAPI
- VOID
- NTAPI
- NdisCancelSendPackets(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PVOID CancelId);
- NDISAPI
- NDIS_STATUS
- NTAPI
- NdisQueryPendingIOCount(
- IN PVOID NdisBindingHandle,
- OUT PULONG IoCount);
- NDISAPI
- VOID
- NTAPI
- NdisRegisterProtocol(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE NdisProtocolHandle,
- IN PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics,
- IN UINT CharacteristicsLength);
- #endif /* NDIS_LEGACY_PROTOCOL */
- NDISAPI
- UCHAR
- NTAPI
- NdisGeneratePartialCancelId(VOID);
- NDISAPI
- VOID
- NTAPI
- NdisReEnumerateProtocolBindings(
- IN NDIS_HANDLE NdisProtocolHandle);
- NDISAPI
- VOID
- NTAPI
- NdisRegisterTdiCallBack(
- IN TDI_REGISTER_CALLBACK RegisterCallback,
- IN TDI_PNP_HANDLER PnPHandler);
- NDISAPI
- VOID
- NTAPI
- NdisDeregisterTdiCallBack(VOID);
- /* Obsoleted in Windows XP */
- /* Prototypes for NDIS_MAC_CHARACTERISTICS */
- typedef NDIS_STATUS (*OPEN_ADAPTER_HANDLER)(
- OUT PNDIS_STATUS OpenErrorStatus,
- OUT NDIS_HANDLE *MacBindingHandle,
- OUT PUINT SelectedMediumIndex,
- IN PNDIS_MEDIUM MediumArray,
- IN UINT MediumArraySize,
- IN NDIS_HANDLE NdisBindingContext,
- IN NDIS_HANDLE MacAdapterContext,
- IN UINT OpenOptions,
- IN PSTRING AddressingInformation OPTIONAL);
- typedef NDIS_STATUS (NTAPI *CLOSE_ADAPTER_HANDLER)(
- IN NDIS_HANDLE MacBindingHandle);
- typedef NDIS_STATUS (NTAPI *WAN_TRANSFER_DATA_HANDLER)(
- VOID);
- typedef NDIS_STATUS (NTAPI *QUERY_GLOBAL_STATISTICS_HANDLER)(
- IN NDIS_HANDLE MacAdapterContext,
- IN PNDIS_REQUEST NdisRequest);
- typedef VOID (NTAPI *UNLOAD_MAC_HANDLER)(
- IN NDIS_HANDLE MacMacContext);
- typedef NDIS_STATUS (NTAPI *ADD_ADAPTER_HANDLER)(
- IN NDIS_HANDLE MacMacContext,
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN PNDIS_STRING AdapterName);
- typedef VOID (*REMOVE_ADAPTER_HANDLER)(
- IN NDIS_HANDLE MacAdapterContext);
- typedef struct _NDIS_MAC_CHARACTERISTICS {
- UCHAR MajorNdisVersion;
- UCHAR MinorNdisVersion;
- USHORT Filler;
- UINT Reserved;
- OPEN_ADAPTER_HANDLER OpenAdapterHandler;
- CLOSE_ADAPTER_HANDLER CloseAdapterHandler;
- SEND_HANDLER SendHandler;
- TRANSFER_DATA_HANDLER TransferDataHandler;
- RESET_HANDLER ResetHandler;
- REQUEST_HANDLER RequestHandler;
- QUERY_GLOBAL_STATISTICS_HANDLER QueryGlobalStatisticsHandler;
- UNLOAD_MAC_HANDLER UnloadMacHandler;
- ADD_ADAPTER_HANDLER AddAdapterHandler;
- REMOVE_ADAPTER_HANDLER RemoveAdapterHandler;
- NDIS_STRING Name;
- } NDIS_MAC_CHARACTERISTICS, *PNDIS_MAC_CHARACTERISTICS;
- typedef NDIS_MAC_CHARACTERISTICS NDIS_WAN_MAC_CHARACTERISTICS;
- typedef NDIS_WAN_MAC_CHARACTERISTICS *PNDIS_WAN_MAC_CHARACTERISTICS;
- #ifdef __cplusplus
- }
- #endif
- #endif /* _NDIS_ */
- /* EOF */
|