Lines Matching defs:IORegistryEntry
46 class IORegistryEntry;
50 typedef void (*IORegistryEntryApplierFunction)(IORegistryEntry * entry,
58 /*! @class IORegistryEntry : public OSObject
60 @discussion The IORegistryEntry base class provides functions for describing graphs of connected registry entries, each with a dictionary-based property table. Entries may be connected in different planes, with differing topologies. Access to the registry is protected against multiple threads. Inside the kernel planes are specified with plane objects and are published by the creator - IOService exports the gIOServicePlane plane object for example. Non kernel clients specify planes by their name.
63 class IORegistryEntry : public OSObject
67 OSDeclareDefaultStructors(IORegistryEntry)
89 @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will lookup and return the value of the property, using the OSDictionary::getObject semantics. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
100 OSMetaClassDeclareReservedUsed(IORegistryEntry, 0);
104 @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will lookup and return the value of the property, using the OSDictionary::getObject semantics. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
115 OSMetaClassDeclareReservedUsed(IORegistryEntry, 1);
119 @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will lookup and return the value of the property, using the OSDictionary::getObject semantics. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
130 OSMetaClassDeclareReservedUsed(IORegistryEntry, 2);
138 virtual IORegistryEntry * copyParentEntry( const IORegistryPlane * plane ) const;
139 OSMetaClassDeclareReservedUsed(IORegistryEntry, 3);
147 virtual IORegistryEntry * copyChildEntry( const IORegistryPlane * plane ) const;
148 OSMetaClassDeclareReservedUsed(IORegistryEntry, 4);
182 OSMetaClassDeclareReservedUsed(IORegistryEntry, 5);
186 OSMetaClassDeclareReservedUnused(IORegistryEntry, 6);
187 OSMetaClassDeclareReservedUnused(IORegistryEntry, 7);
188 OSMetaClassDeclareReservedUnused(IORegistryEntry, 8);
189 OSMetaClassDeclareReservedUnused(IORegistryEntry, 9);
190 OSMetaClassDeclareReservedUnused(IORegistryEntry, 10);
191 OSMetaClassDeclareReservedUnused(IORegistryEntry, 11);
192 OSMetaClassDeclareReservedUnused(IORegistryEntry, 12);
193 OSMetaClassDeclareReservedUnused(IORegistryEntry, 13);
194 OSMetaClassDeclareReservedUnused(IORegistryEntry, 14);
195 OSMetaClassDeclareReservedUnused(IORegistryEntry, 15);
196 OSMetaClassDeclareReservedUnused(IORegistryEntry, 16);
197 OSMetaClassDeclareReservedUnused(IORegistryEntry, 17);
198 OSMetaClassDeclareReservedUnused(IORegistryEntry, 18);
199 OSMetaClassDeclareReservedUnused(IORegistryEntry, 19);
200 OSMetaClassDeclareReservedUnused(IORegistryEntry, 20);
201 OSMetaClassDeclareReservedUnused(IORegistryEntry, 21);
202 OSMetaClassDeclareReservedUnused(IORegistryEntry, 22);
203 OSMetaClassDeclareReservedUnused(IORegistryEntry, 23);
204 OSMetaClassDeclareReservedUnused(IORegistryEntry, 24);
205 OSMetaClassDeclareReservedUnused(IORegistryEntry, 25);
206 OSMetaClassDeclareReservedUnused(IORegistryEntry, 26);
207 OSMetaClassDeclareReservedUnused(IORegistryEntry, 27);
208 OSMetaClassDeclareReservedUnused(IORegistryEntry, 28);
209 OSMetaClassDeclareReservedUnused(IORegistryEntry, 29);
210 OSMetaClassDeclareReservedUnused(IORegistryEntry, 30);
211 OSMetaClassDeclareReservedUnused(IORegistryEntry, 31);
220 @result A pointer to the IORegistryEntry root instance. It should not be released by the caller. */
222 static IORegistryEntry * getRegistryRoot( void );
226 @discussion This method provides an accessor to the current generation count (or seed) of the registry which changes when any topology change occurs in the registry - this does not include property table changes. It may be used to invalidate any caching of the results from IORegistryEntry methods.
241 @abstract Standard init method for all IORegistryEntry subclasses.
249 @abstract Standard free method for all IORegistryEntry subclasses.
266 @discussion This method will add or replace a property in a registry entry's property table, using the OSDictionary::setObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
275 @discussion This method will add or replace a property in a registry entry's property table, using the OSDictionary::setObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
284 @discussion This method will add or replace a property in a registry entry's property table, using the OSDictionary::setObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
293 @discussion This method will add or replace a property in a registry entry's property table, using the OSDictionary::setObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table. The property is created as an OSString from the supplied C-string, set in the property table with the given name, and released.
302 @discussion This method will add or replace a property in a registry entry's property table, using the OSDictionary::setObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table. The property is created as an OSBoolean from the supplied value, set in the property table with the given name, and released.
311 @discussion This method will add or replace a property in a registry entry's property table, using the OSDictionary::setObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table. The property is created as an OSNumber from the supplied value and size, set in the property table with the given name, and released.
323 @discussion This method will add or replace a property in a registry entry's property table, using the OSDictionary::setObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table. The property is created as an OSData copied from the supplied data and length, set in the property table with the given name, and released.
335 @discussion This method will remove a property from a registry entry's property table, using the OSDictionary::removeObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
342 @discussion This method will remove a property from a registry entry's property table, using the OSDictionary::removeObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
349 @discussion This method will remove a property from a registry entry's property table, using the OSDictionary::removeObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
356 @discussion This method will lookup a property in a registry entry's property table, using the OSDictionary::getObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
364 @discussion This method will lookup a property in a registry entry's property table, using the OSDictionary::getObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
372 @discussion This method will lookup a property in a registry entry's property table, using the OSDictionary::getObject semantics. This method is synchronized with other IORegistryEntry accesses to the property table.
380 @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will lookup and return the value of the property, using the OSDictionary::getObject semantics. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
394 @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will lookup and return the value of the property, using the OSDictionary::getObject semantics. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
408 @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will lookup and return the value of the property, using the OSDictionary::getObject semantics. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
422 @discussion This method will lookup a property in a registry entry's property table, using the OSDictionary::getObject semantics, and return a reference to the caller. This method is synchronized with other IORegistryEntry accesses to the property table.
430 @discussion This method will lookup a property in a registry entry's property table, using the OSDictionary::getObject semantics, and return a reference to the caller. This method is synchronized with other IORegistryEntry accesses to the property table.
438 @discussion This method will lookup a property in a registry entry's property table, using the OSDictionary::getObject semantics, and return a reference to the caller. This method is synchronized with other IORegistryEntry accesses to the property table.
446 @discussion This method will copy a registry entry's property table, using the OSDictionary::withDictionary semantics. This method is synchronized with other IORegistryEntry accesses to the property table. Since OSDictionary will only copy property values by reference, synchronization is not guaranteed to any collection values.
453 @discussion This method will serialize a registry entry's property table, using the OSDictionary::serialize semantics. This method is synchronized with other IORegistryEntry accesses to the property table. Many non-kernel clients of IOKit read information from the registry via properties, and will invoke this method in a registry entry to create a serialization of all the entry's properties, which is then reconstructed in the client's task as a CFDictionary. This method may be intercepted by subclasses to update their properties or implement a different serialization method, though it is usually better to implement such functionality by creating objects in the property table and implementing their serialize methods, avoiding any need to implement serializeProperties.
463 @discussion This method will return a pointer to the live property table as an OSDictionery. Its use is not recommended in most cases, instead use the synchronized accessors and helper functions of IORegistryEntry to access properties. It can only safely be used by one thread, which usually means it can only be used before a registry entry is entered into the registry.
473 @discussion This method is not implemented by IORegistryEntry, but is available to kernel and non-kernel clients to set properties in a registry entry. IOUserClient provides connection based, more controlled access to this functionality and may be more appropriate for many uses, since there is no differentiation between clients available to this method.
498 virtual IORegistryEntry * getParentEntry( const IORegistryPlane * plane ) const;
519 virtual IORegistryEntry * getChildEntry( const IORegistryPlane * plane ) const;
529 virtual bool isChild( IORegistryEntry * child,
541 virtual bool isParent( IORegistryEntry * parent,
570 virtual bool attachToParent( IORegistryEntry * parent,
579 virtual void detachFromParent( IORegistryEntry * parent,
589 virtual bool attachToChild( IORegistryEntry * child,
598 virtual void detachFromChild( IORegistryEntry * child,
689 @discussion Entries can be given a location string in a particular plane, or globally. If the plane is specified the location applies only to that plane, otherwise the global location is set. The location string may be used during path lookups of registry entries, to distinguish between sibling entries with the same name. The default IORegistryEntry parsing of location strings expects a list of hex numbers separated by commas, though subclasses of IORegistryEntry might do their own parsing.
700 @discussion The path for a registry entry is copied to the caller's buffer. The path describes the entry's attachment in a particular plane, which must be specified. The path begins with the plane name followed by a colon, and then followed by '/' separated path components for each of the entries between the root and the registry entry. Each component is constructed with the getPathComponent method called in each entry. An alias may also exist for the entry, which are described as properties in a registry entry found at /aliases in the plane. If a property value interpreted as a path in a call to IORegistryEntry::fromPath yields the entry, then the property name is used as the entry's path.
730 static IORegistryEntry * fromPath( const char * path,
734 IORegistryEntry * fromEntry = 0 );
738 @discussion This function looks up a entry below the called entry by a relative path. It is just a convenience that calls IORegistryEntry::fromPath with this as the fromEntry parameter.
739 @param path See IORegistryEntry::fromPath.
740 @param plane See IORegistryEntry::fromPath.
741 @param residualPath See IORegistryEntry::fromPath.
742 @param residualLength See IORegistryEntry::fromPath.
743 @result See IORegistryEntry::fromPath. */
745 virtual IORegistryEntry * childFromPath( const char * path,
765 static IORegistryEntry * initialize( void );
768 virtual bool init( IORegistryEntry * from,
772 const IORegistryEntry * member,
775 bool makeLink( IORegistryEntry * to,
778 void breakLink( IORegistryEntry * to,
786 virtual IORegistryEntry * getChildFromComponent( const char ** path,
809 IORegistryEntry * current;
814 IORegistryEntry * root;
830 static IORegistryIterator * iterateOver( IORegistryEntry * start,
849 virtual IORegistryEntry * getNextObject( void );
856 virtual IORegistryEntry * getNextObjectFlat( void );
863 virtual IORegistryEntry * getNextObjectRecursive( void );
870 virtual IORegistryEntry * getCurrentEntry( void );