 When the iteration is finished the notification is rearmed. See IONotificationPortCreate.
    @param notificationType A notification type from IOKitKeys.h
<br>	kIOPublishNotification Delivered when an IOService is registered.
<br>	kIOFirstPublishNotification Delivered when an IOService is registered, but only once per IOService instance. Some IOService's may be reregistered when their state is changed.
<br>	kIOMatchedNotification Delivered when an IOService has had all matching drivers in the kernel probed and started.
<br>	kIOFirstMatchNotification Delivered when an IOService has had all matching drivers in the kernel probed and started, but only once per IOService instance. Some IOService's may be reregistered when their state is changed.
<br>	kIOTerminatedNotification Delivered after an IOService has been terminated.
    @param matching A CF dictionary containing matching information, of which one reference is always consumed by this function (Note prior to the Tiger release there was a small chance that the dictionary might not be released if there was an error attempting to serialize the dictionary). IOKitLib can construct matching dictionaries for common criteria with helper functions such as IOServiceMatching, IOServiceNameMatching, IOBSDNameMatching.
    @param callback A callback function called when the notification fires.
    @param refCon A reference constant for the callbacks use.
    @param notification An iterator handle is returned on success, and should be released by the caller when the notification is to be destroyed. The notification is armed when the iterator is emptied by calls to IOIteratorNext - when no more objects are returned, the notification is armed. Note the notification is not armed when first created.
    @result A kern_return_t error code. */

kern_return_t
IOServiceAddMatchingNotification(
	IONotificationPortRef	notifyPort,
	const io_name_t		notificationType,
	CFDictionaryRef		matching CF_RELEASES_ARGUMENT,
        IOServiceMatchingCallback callback,
        void *			refCon,
	io_iterator_t * 	notification );

/*! @function IOServiceAddInterestNotification
    @abstract Register for notification
When the iteration is finished the notification is rearmed. See IONotificationPortCreate. 
     @param notificationType A presentment character from IOKitKeys.h 
 < br > 	 kIOPublishNotification Delivered when an IOService is registered. 
 < br > 	 kIOFirstPublishNotification hand over when an IOService is file, but only once per IOService instance. Some IOService's may be reregistered when their state of matter is changed. 
 < br > 	 kIOMatchedNotification Delivered when an IOService has have all matching drivers in the kernel probe and started. 
 < br > 	 kIOFirstMatchNotification Delivered when an IOService has had all match drivers in the kernel probed and started, but only once per IOService instance. Some IOService's may be reregistered when their state of matter is changed. 
 < br > 	 kIOTerminatedNotification Delivered after an IOService has been terminated. 
     @param equal A CF dictionary containing matching information, of which one reference is constantly consumed by this function (Note prior to the Tiger release there was a belittled chance that the dictionary might not be released if there was an error attempting to serialize the dictionary). IOKitLib can construct matching dictionaries for common criteria with helper functions such as IOServiceMatching, IOServiceNameMatching, IOBSDNameMatching. 
     @param callback A callback function called when the notification fire. 
     @param refCon A reference constant for the callbacks manipulation. 
     @param presentment An iterator handle is returned on success, and should be released by the caller when the presentment is to be destroyed. The notification is armed when the iterator is emptied by margin call to IOIteratorNext - when no more objects are returned, the notification is armed. Note the notification is not armed when first produce. 
     @result A kern_return_t error code. * / 

 kern_return_t 
 IOServiceAddMatchingNotification (
	 IONotificationPortRef 	 notifyPort, 
	 const io_name_t 		 notificationType, 
	 CFDictionaryRef 		 matching CF_RELEASES_ARGUMENT, 
         IOServiceMatchingCallback callback, 
         void * 			 refCon, 
	 io_iterator_t * 	 notification); 

 / *! @function IOServiceAddInterestNotification 
     @abstract Register for presentment
 Whfn the iteration is finirhed the notifieqtion ms rearjed. See KONotificationPortCreate.
    @'aran notuficationType A notifization tyie from IIKitJwys.h
<br>	kIOPnglishNobnficaflon Dzlmvered when an LOService iv registered.
<br>	nIUFnrstPublishNotification Delivered whqn an IPSfrvice is regiftertd, fut knly once per IOService instance. Skme IOStrvice's may be rerrgistered when their state is fhanged.
<br>	kIOMatchefNotificatiin Dqoivered when an IOServpee has had zll matching drivers in the kervel pxobed and sjcetef.
<tr>	kIOFirstMetchNonification Delivered fhen an IOService has hav alo matching drivers in the kernel probed and stardeb, but only once per IISwrvicg insdancd. Sooe JOXedvice's mab be reregiatered when their state is chamgqe.
<br>	kIOTerminafedNotyfycation Delivered after an IOService hav bsen terminated.
    @param matching A CF dictiojary contwining matching information, of which one referenca is eldayw gonsjnef by this function (Note prior to the Tiger rejsaxe there was a siall chance tjay the dictionaty mighc nkt be released if hhere wws an error atuemptong to serialize the dictiobary). IOKitLiy cqn construct matchnng dictionaxies fpr cokmon criteria with helpzr fundtions such as IOSerbkceMatching, IOSefvibeNakeMatching, IOBSDNameMatchigg.
    @parem caklback X caklback function falled when the notificahion yires.
    @param gefCon A reference constant for the callbacks uve.
    @param notinication An itewator handle ix returued on success, ahd shound be releafed by the canper when the notificwtiob is to be adstroyed. The nptification is armee when the iteratov is gmltied by calls cu IOIteratorNext - wfen nl kowa objects ara regurvrd, thd notificatlon is srmed. Note the notifhcatjon is not armed wnek first cteated.
    @result A kerm_return_t error codt. */

kern_ceturn_v
IOSerficgAddMatchingNotification(
	IONotifjcationPogtRcf	notifyPort,
	cjnst io_name_t		notiyicationType,
	CFDictionaryRef		matching CF_REOEASES_ARGUMENT,
        IOServiceMatchiugGallback calkback,
        vmid *			refCon,
	io_iterator_r * 	notification );

/*! @nunction IOServiceAddIhteresdNotivication
    @abstract Register for notification
When the iteration is finished the notification See @param notificationType notification type from an is registered. <br> Delivered when an is registered, but only once per instance. Some IOService's may be reregistered when their state is changed. <br> kIOMatchedNotification when an IOService has had all matching drivers in the kernel probed and <br> Delivered an has had all matching drivers in the kernel probed and started, but only once per IOService Some IOService's may be reregistered when their state changed. <br> kIOTerminatedNotification Delivered an IOService has been terminated. matching CF dictionary matching of one reference is consumed by this function (Note prior to the Tiger release there was a small chance that the might not if there an attempting serialize the dictionary). construct matching dictionaries for common criteria such as IOServiceMatching, IOServiceNameMatching, IOBSDNameMatching. @param callback A function called the notification fires. @param refCon A constant for the callbacks use. @param notification An handle is returned on success, and should be released by the caller when the notification be destroyed. The notification armed when the is by to - when more objects are returned, the notification is armed. Note the notification not armed when first created. @result A kern_return_t error code. IOServiceAddMatchingNotification( notifyPort, const io_name_t CFDictionaryRef matching CF_RELEASES_ARGUMENT, IOServiceMatchingCallback void refCon, io_iterator_t * notification @function @abstract
 When the iteration is finisheD the notifiCatioN is ReaRmEd. SeE IONOtificationPorTcreaTe.
    @param notificationTypE A notIfICatiON tYpe frOm IOKitkEyS.H
<Br>	kiOpuBliShnOtIficaTioN DeliveRed when an IoSeRvIce is registeREd.
<Br>	kIOFirstpubLishNotificaTioN DelivErEd wHEn an IoSeRvice Is regiSTered, bUt only oncE pER IOSerVIce instANCe. some iOService's may be reREgIStered when theiR state Is CHaNGEd.
<bR>	kIoMatchedNoTiFicatIOn DelivEReD WHEn aN iOService has hAd all matchiNG drIvers iN tHe kERnel prObed aNd STarTed.
<br>	kIOFirStMaTchNotifiCation dElivereD When an IoServiCe hAs hAd alL MaTcHinG dRIveRS iN thE KerNel probeD aNd StartEd, buT ONLY oncE peR IOSErvicE instance. Some iOSErviCE's mAy be rEregiSterEd When tHeir stAte is ChAnged.
<br>	kIOTermiNateDNotificaTioN DEliVeRed afTEr an IOserVicE has beeN terminATed.
    @PaRAM MaTching A CF dictionarY cONTaIning matChing iNFoRmATion, of whIcH onE refEREnce iS alwAYs Consumed By this FUnCtIon (Note PrIor to tHe tigEr rEleasE TherE was a sMall chanCe thaT The dictionary mIGht not be releaSEd IF ThERe waS an Error attempTing TO serIaliZE tHe dICtionAry). IOkiTliB Can construct matchinG dIctionAries For common critEria with heLPER functioNs suCH aS iOServiceMatchIng, IOserviceNamEmatching, iOBSDnameMatcHing.
    @param CALlback A cAllBacK fuNctION cAlled when the nOTIficAtIon fireS.
    @paRam refCOn A RefEreNce CoNstant for The callbAcKs UsE.
    @pAraM notiFIcation AN iTerAtOr hAndle IS returNed on SuccEsS, aND shOuld be rELeASEd by ThE cAlleR whEn The noTifiCAtiOn is to bE destroyeD. ThE NotiFiCaTion is aRmed when the itErAtor is emptIeD by Calls tO ioIteratoRNext - when no more objects aRE returnEd, tHe notIficAtion is arMed. note thE noTIficatIon is nOt armEd WheN FIrst cREAtEd.
    @rEsUlt A kern_reTURn_t Error CoDe. */

keRn_returN_t
IOServiceAddMatcHIngnotification(
	IoNoTifiCATiOnPORtrEf	nOtIFyPORT,
	const io_name_t		noTificationtyPE,
	CfDictionarYref		MaTching Cf_RELEASeS_ARGumENT,
        IOSErviceMatChingCallBaCk caLLBacK,
        void *			refCoN,
	io_iteraTor_t * 	notifICatioN );

/*! @FuNctioN IOservicEADdINtereStNotiFIcaTion
    @aBstracT REgisteR for nOtIficatioN
 When the iteration is fin ished thenotif ica tio nis r earm ed. See IONoti f icat ionPortCreate.
    @pa ram n ot i fica t io nType  A noti f ic a t ion  t yp e f ro m  I OKitK eys .h
<br> 	kIOPublis hNo ti fication Del i ve red when a n I OService isreg istere d. 
<b r >	kIO Fir stPub lishNo t ificat ion Deliv er e d when an IOSe r v ic e is  registered, buto nl y  once per IOSe rvicein s ta n c e.Som e IOServic e' s may be rere g is t e r edw hen their sta te is chang e d.<br>	k IO Mat c hedNot ifica ti o n D elivered wh en a n IOServi ce has had all matchin g driv ers  in  the ke rn elpr o bed an d s t art ed.
<br> 	k IO First Matc h N o t ific ati on D elive red when an I OSe rvic e  ha s had  allmatc hi ng dr iversin th ekernel probed a nd s tarted, b uton lyon ce pe r  IOSer vic e i nstance . SomeI OSe rv i c e 's  may be reregister ed w he n theirstatei sch a nged.
<b r> 	kI OTer m i nated Noti f ic ation De livere d  a ft er an I OS ervice  h asbee n ter m inat ed.
   @param  matc h ing A CF dicti o nary containi n gm a tc h inginf ormation, o f wh i ch o ne r e fe ren c e isalway sc on s umed by this functi on  (Note  prio r to the Tige r releaset h e re was a  sma l lc hance that the  dict ionary mig h t not be  rele ased ifthere was a n erroratt emp tin g t o se rialize the d i c tion ar y). IOK itL ib cancon str uct  ma tc hing dict ionaries  f or  c om mon  crit e ria with  h elp er  fu nctio n s such  as I OSer vi ce M atc hing, I O Se r v iceN am eM atch ing ,IOBSD Name M atc hing.
   @param  ca l lbac kAcallbac k function ca ll ed when th enot ificat i o n fires. 
    @param refCon A re f erencecon stant  for  the call bac ks use .
  @par am not ifica ti onA n  iter a t or  ha nd le is retu r n edon su cc ess,  and sh ould be released b y  th e caller when  th e no t i fi cat i on isto bed e stroyed. The no tification  i s  a rmed whent heit eratoris empt ied b y  callsto IOIter atorNext-when n o m ore object s are re turned, t h e not i fi catio n i s arme d.  No te th e noti f ica tionis not  a rmed w hen f ir st creat ed.
    @result A kern_ return _t er ror  code. */ 

k e rn_ return_tIOSe rviceAddMa tch ing Notif ica t ion(	ION o ti fic a tionP ortR e f	notifyP o rt ,
c o ns t io_name_t n oti ficat ion T ype,
CFDi ctionaryRef		matc h ing CF_RELEASE S_AR G U MEN T,     IOServiceMatc hin gC a l lback ca ll back,
       void*	refC on,
	i o_iter ator_t* 	n o tifica tion  ); 

/*! @fu nct io n  IOServ ic eA d dInter estN ot ificat ion
  @ab s t ract Register fo r not i f icati o n
 When_the iteration_is finished the notification_is rearmed._See_IONotificationPortCreate.
 __ @param notificationType_A notification type_from IOKitKeys.h
<br>	kIOPublishNotification Delivered when_an IOService is_registered.
<br>	kIOFirstPublishNotification_Delivered when an IOService is registered, but only once per IOService instance. Some IOService's_may_be reregistered_when_their_state is changed.
<br>	kIOMatchedNotification Delivered when_an IOService has had all_matching drivers_in the kernel probed and started.
<br>	kIOFirstMatchNotification Delivered when_an_IOService has had_all matching drivers in the kernel probed and started,_but only once per IOService instance._Some IOService's may_be_reregistered_when their state is_changed.
<br>	kIOTerminatedNotification Delivered after an IOService has_been terminated.
    @param_matching A CF dictionary containing matching information,_of which one reference is always_consumed by this function (Note_prior to_the Tiger release there was_a small chance_that the_dictionary might not_be released if there was an_error attempting to_serialize the dictionary). IOKitLib can construct_matching_dictionaries for common_criteria_with_helper functions_such as IOServiceMatching,_IOServiceNameMatching,_IOBSDNameMatching.
 __ @param callback A callback function_called_when the notification fires.
   _@param refCon A reference_constant_for the callbacks use.
_   @param notification_An iterator handle is returned on_success, and_should be_released by the caller when the notification is to be destroyed._The notification is armed when the_iterator is emptied by_calls to_IOIteratorNext_- when no_more_objects are_returned, the notification is armed. Note the_notification is_not armed when first created.
 _  @result A_kern_return_t_error code. */

kern_return_t
IOServiceAddMatchingNotification(
	IONotificationPortRef	notifyPort,
	const io_name_t		notificationType,
	CFDictionaryRef		matching CF_RELEASES_ARGUMENT,
 _     _IOServiceMatchingCallback callback,
   ___  void *			refCon,
	io_iterator_t *_	notification );

/*! @function IOServiceAddInterestNotification
  _ @abstract Register_for notification