Lines Matching defs:OSMetaClass

28 /* OSMetaClass.cpp created by gvdl on Fri 1998-11-17 */
34 #include <libkern/c++/OSMetaClass.h>
102 * all OSMetaClass classes, the classes are queued up here. Only one
110 OSMetaClass ** classes;
165 const OSMetaClass * toType)
177 const OSMetaClass * toType = OSTypeIDInst(typeinst);
229 OSMetaClassBase::metaCast(const OSMetaClass * toMeta) const
239 return OSMetaClass::checkMetaCastWithName(toMetaSymb, this);
274 * OSMetaClassMeta - the bootstrap metaclass of OSMetaClass
276 class OSMetaClassMeta : public OSMetaClass
283 : OSMetaClass("OSMetaClass", 0, sizeof(OSMetaClass))
289 const OSMetaClass * const OSMetaClass::metaClass = &sOSMetaClassMeta;
290 const OSMetaClass * OSMetaClass::getMetaClass() const
294 #pragma mark OSMetaClass
297 * OSMetaClass
304 void OSMetaClass::_RESERVEDOSMetaClass0()
305 { panic("OSMetaClass::_RESERVEDOSMetaClass%d called", 0); }
306 void OSMetaClass::_RESERVEDOSMetaClass1()
307 { panic("OSMetaClass::_RESERVEDOSMetaClass%d called", 1); }
308 void OSMetaClass::_RESERVEDOSMetaClass2()
309 { panic("OSMetaClass::_RESERVEDOSMetaClass%d called", 2); }
310 void OSMetaClass::_RESERVEDOSMetaClass3()
311 { panic("OSMetaClass::_RESERVEDOSMetaClass%d called", 3); }
312 void OSMetaClass::_RESERVEDOSMetaClass4()
313 { panic("OSMetaClass::_RESERVEDOSMetaClass%d called", 4); }
314 void OSMetaClass::_RESERVEDOSMetaClass5()
315 { panic("OSMetaClass::_RESERVEDOSMetaClass%d called", 5); }
316 void OSMetaClass::_RESERVEDOSMetaClass6()
317 { panic("OSMetaClass::_RESERVEDOSMetaClass%d called", 6); }
318 void OSMetaClass::_RESERVEDOSMetaClass7()
319 { panic("OSMetaClass::_RESERVEDOSMetaClass%d called", 7); }
335 message = "OSMetaClass: preModLoad() wasn't called (runtime internal error).";
338 message = "OSMetaClass: Allocation failure for OSMetaClass internal dictionaries.";
341 message = "OSMetaClass: Allocation failure for internal kext recording set/set missing.";
344 message = "OSMetaClass: Failed to record class in kext.";
347 message = "OSMetaClass: Duplicate class encountered.";
350 message = "OSMetaClass: Can't associate a class with its superclass.";
353 message = "OSMetaClass: Instance construction error; unknown superclass.";
356 message = "OSMetaClass: Kext not found for metaclass.";
360 message = "OSMetaClass: Runtime internal error.";
371 OSMetaClass::logError(OSReturn error)
381 * in between calls to OSMetaClass::preModLoad(), which sets up for
382 * registration, and OSMetaClass::postModLoad(), which actually
385 OSMetaClass::OSMetaClass(
387 const OSMetaClass * inSuperClass,
408 "OSMetaClass: preModLoad() wasn't called for class %s "
414 OSMetaClass **oldStalled = sStalled->classes;
415 int oldSize = sStalled->capacity * sizeof(OSMetaClass *);
417 + kKModCapacityIncrement * sizeof(OSMetaClass *);
419 sStalled->classes = (OSMetaClass **)kalloc(newSize);
438 OSMetaClass::~OSMetaClass()
444 * OSMetaClass::postModLoad(). So only do this bit if we have an OSKext.
488 (sStalled->count - i) * sizeof(OSMetaClass *));
497 void * OSMetaClass::operator new(__unused size_t size) { return 0; }
498 void OSMetaClass::retain() const { }
499 void OSMetaClass::release() const { }
500 void OSMetaClass::release(__unused int when) const { }
501 void OSMetaClass::taggedRetain(__unused const void * tag) const { }
502 void OSMetaClass::taggedRelease(__unused const void * tag) const { }
503 void OSMetaClass::taggedRelease(__unused const void * tag, __unused const int when) const { }
504 int OSMetaClass::getRetainCount() const { return 0; }
509 OSMetaClass::getClassName() const
517 OSMetaClass::getClassNameSymbol() const
524 OSMetaClass::getClassSize() const
532 OSMetaClass::preModLoad(const char * kextIdentifier)
539 sStalled->classes = (OSMetaClass **)
540 kalloc(kKModCapacityIncrement * sizeof(OSMetaClass *));
545 ACCUMSIZE((kKModCapacityIncrement * sizeof(OSMetaClass *)) +
552 bzero(sStalled->classes, kKModCapacityIncrement * sizeof(OSMetaClass *));
563 OSMetaClass::checkModLoad(void * loadHandle)
572 OSMetaClass::postModLoad(void * loadHandle)
618 "OSMetaClass: Can't record classes for kext %s - kext not found.",
632 const OSMetaClass * me = sStalled->classes[i];
633 OSMetaClass * orig = OSDynamicCast(OSMetaClass,
642 "OSMetaClass: Kext %s class %s is a duplicate;"
665 OSMetaClass * me = sStalled->classes[i];
668 * We only release the OSSymbol in ~OSMetaClass()
714 ACCUMSIZE(-(sStalled->capacity * sizeof(OSMetaClass *) +
716 kfree(sStalled->classes, sStalled->capacity * sizeof(OSMetaClass *));
730 OSMetaClass::instanceConstructed() const
732 // if ((0 == OSIncrementAtomic(&(((OSMetaClass *) this)->instanceCount))) && superClassLink)
741 OSMetaClass::instanceDestructed() const
752 "OSMetaClass: Class %s - bad retain (%d)",
760 OSMetaClass::modHasInstance(const char * kextIdentifier)
780 OSMetaClass::reportModInstances(const char * kextIdentifier)
790 OSMetaClass::addInstance(const OSObject * instance, bool super) const
806 OSMetaClass::removeInstance(const OSObject * instance, bool super) const
825 OSMetaClass::applyToInstances(OSOrderedSet * set,
885 OSMetaClass::applyToInstances(OSMetaClassInstanceApplierFunction applier,
894 OSMetaClass::applyToInstancesOfClassName(
899 OSMetaClass * meta;
904 && (meta = (OSMetaClass *) sAllClassesDict->getObject(name))
922 OSMetaClass::considerUnloads()
929 const OSMetaClass *
930 OSMetaClass::getMetaClassWithName(const OSSymbol * name)
932 OSMetaClass * retMeta = 0;
940 retMeta = (OSMetaClass *) sAllClassesDict->getObject(name);
950 OSMetaClass::allocClassWithName(const OSSymbol * name)
954 const OSMetaClass * const meta = getMetaClassWithName(name);
966 OSMetaClass::allocClassWithName(const OSString * name)
977 OSMetaClass::allocClassWithName(const char * name)
989 OSMetaClass::checkMetaCastWithName(
995 const OSMetaClass * const meta = getMetaClassWithName(name);
1006 OSMetaClassBase * OSMetaClass::
1021 OSMetaClass::checkMetaCastWithName(
1033 * OSMetaClass::checkMetaCast()
1042 OSMetaClassBase * OSMetaClass::checkMetaCast(
1045 const OSMetaClass * const toMeta = this;
1046 const OSMetaClass * fromMeta;
1063 OSMetaClass::reservedCalled(int ind) const
1072 OSMetaClass *
1073 OSMetaClass::getSuperClass() const
1082 OSMetaClass::getKmodName() const
1094 OSMetaClass::getInstanceCount() const
1103 OSMetaClass::printInstanceCounts()
1107 OSMetaClass * meta;
1114 meta = (OSMetaClass *)sAllClassesDict->getObject(className);
1132 OSMetaClass::getClassDictionary()
1134 panic("OSMetaClass::getClassDictionary() is obsoleted.\n");
1141 OSMetaClass::serialize(__unused OSSerialize * s) const
1143 panic("OSMetaClass::serialize(): Obsoleted\n");
1151 OSMetaClass::serializeClassDictionary(OSDictionary * serializeDictionary)
1172 const OSMetaClass * meta;
1175 meta = (OSMetaClass *)sAllClassesDict->getObject(className);