|
52 | 52 |
|
53 | 53 | #include <IOKit/pwr_mgt/IOPMpowerState.h> |
54 | 54 | #include <IOKit/IOServicePM.h> |
| 55 | +#include <IOKit/IOReportTypes.h> |
55 | 56 |
|
56 | 57 | extern "C" { |
57 | 58 | #include <kern/thread_call.h> |
58 | 59 | } |
59 | 60 |
|
| 61 | +#include <Availability.h> |
60 | 62 | #include "LegacyLibkernMacros.h" |
61 | 63 |
|
62 | 64 | #ifndef UINT64_MAX |
@@ -378,25 +380,75 @@ class IOService : public IORegistryEntry |
378 | 380 |
|
379 | 381 | virtual IOService * copyClientWithCategory( const OSSymbol * category ); |
380 | 382 |
|
| 383 | +public: |
| 384 | + |
| 385 | +#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 |
| 386 | + |
| 387 | +/*! @function configureReport |
| 388 | + @abstract configure IOReporting channels |
| 389 | + @availability SPI on OS X v10.9 / iOS 7 and later |
| 390 | +
|
| 391 | + @param channels - channels to configure |
| 392 | + @param action - enable/disable/size, etc |
| 393 | + @param result - action-specific returned value |
| 394 | + @param destination - action-specific default destination |
| 395 | +*/ |
| 396 | + virtual IOReturn configureReport(IOReportChannelList *channels, |
| 397 | + IOReportConfigureAction action, |
| 398 | + void *result, |
| 399 | + void *destination); |
| 400 | + |
| 401 | +/*! @function updateReport |
| 402 | + @abstract request current data for the specified channels |
| 403 | + @availability SPI on OS X 10.9 / iOS 7 and later |
| 404 | +
|
| 405 | + @param channels - channels to be updated |
| 406 | + @param action - type/style of update |
| 407 | + @param result - returned details about what was updated |
| 408 | + @param destination - destination for this update (action-specific) |
| 409 | +*/ |
| 410 | + virtual IOReturn updateReport(IOReportChannelList *channels, |
| 411 | + IOReportUpdateAction action, |
| 412 | + void *result, |
| 413 | + void *destination); |
| 414 | + |
| 415 | +#endif |
| 416 | + |
381 | 417 | private: |
382 | 418 | #if __LP64__ |
| 419 | + |
| 420 | +#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 |
| 421 | + OSMetaClassDeclareReservedUsed(IOService, 0); |
| 422 | + OSMetaClassDeclareReservedUsed(IOService, 1); |
| 423 | +#else |
383 | 424 | OSMetaClassDeclareReservedUnused(IOService, 0); |
384 | 425 | OSMetaClassDeclareReservedUnused(IOService, 1); |
| 426 | +#endif |
| 427 | + |
385 | 428 | OSMetaClassDeclareReservedUnused(IOService, 2); |
386 | 429 | OSMetaClassDeclareReservedUnused(IOService, 3); |
387 | 430 | OSMetaClassDeclareReservedUnused(IOService, 4); |
388 | 431 | OSMetaClassDeclareReservedUnused(IOService, 5); |
| 432 | + OSMetaClassDeclareReservedUnused(IOService, 6); |
| 433 | + OSMetaClassDeclareReservedUnused(IOService, 7); |
389 | 434 | #else |
390 | 435 | OSMetaClassDeclareReservedUsed(IOService, 0); |
391 | 436 | OSMetaClassDeclareReservedUsed(IOService, 1); |
392 | 437 | OSMetaClassDeclareReservedUsed(IOService, 2); |
393 | 438 | OSMetaClassDeclareReservedUsed(IOService, 3); |
394 | 439 | OSMetaClassDeclareReservedUsed(IOService, 4); |
395 | 440 | OSMetaClassDeclareReservedUsed(IOService, 5); |
396 | | -#endif |
397 | 441 |
|
| 442 | +#ifdef defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 |
| 443 | + OSMetaClassDeclareReservedUsed(IOService, 6); |
| 444 | + OSMetaClassDeclareReservedUsed(IOService, 7); |
| 445 | +#else |
398 | 446 | OSMetaClassDeclareReservedUnused(IOService, 6); |
399 | 447 | OSMetaClassDeclareReservedUnused(IOService, 7); |
| 448 | +#endif |
| 449 | + |
| 450 | +#endif |
| 451 | + |
400 | 452 | OSMetaClassDeclareReservedUnused(IOService, 8); |
401 | 453 | OSMetaClassDeclareReservedUnused(IOService, 9); |
402 | 454 | OSMetaClassDeclareReservedUnused(IOService, 10); |
|
0 commit comments