1*a325d9c4SApple OSS Distributions /* * Copyright (c) 2019 Apple Inc. All rights reserved. */ 2*a325d9c4SApple OSS Distributions 3*a325d9c4SApple OSS Distributions #include <IOKit/IOService.h> 4*a325d9c4SApple OSS Distributions #include <IOKit/IOUserClient.h> 5*a325d9c4SApple OSS Distributions 6*a325d9c4SApple OSS Distributions 7*a325d9c4SApple OSS Distributions class IOKitDiagnosticsClient : public IOUserClient 8*a325d9c4SApple OSS Distributions { 9*a325d9c4SApple OSS Distributions OSDeclareDefaultStructors(IOKitDiagnosticsClient); 10*a325d9c4SApple OSS Distributions 11*a325d9c4SApple OSS Distributions public: 12*a325d9c4SApple OSS Distributions static IOUserClient * withTask(task_t owningTask); 13*a325d9c4SApple OSS Distributions virtual IOReturn clientClose(void) APPLE_KEXT_OVERRIDE; 14*a325d9c4SApple OSS Distributions virtual IOReturn setProperties(OSObject * properties) APPLE_KEXT_OVERRIDE; 15*a325d9c4SApple OSS Distributions virtual IOReturn externalMethod(uint32_t selector, IOExternalMethodArguments * args, 16*a325d9c4SApple OSS Distributions IOExternalMethodDispatch * dispatch, OSObject * target, void * reference) APPLE_KEXT_OVERRIDE; 17*a325d9c4SApple OSS Distributions }; 18