xref: /xnu-8796.121.2/iokit/Tests/TestServices/TestIOConnectMapMemoryPortLeak45265408.h (revision c54f35ca767986246321eb901baf8f5ff7923f6a)
1*c54f35caSApple OSS Distributions #ifndef _IOKIT_TESTIOCONNECTMAPMEMORYPORTLEAK45265408_H_
2*c54f35caSApple OSS Distributions #define _IOKIT_TESTIOCONNECTMAPMEMORYPORTLEAK45265408_H_
3*c54f35caSApple OSS Distributions 
4*c54f35caSApple OSS Distributions #include <IOKit/IOService.h>
5*c54f35caSApple OSS Distributions #include <IOKit/IOUserClient.h>
6*c54f35caSApple OSS Distributions #include <IOKit/IOBufferMemoryDescriptor.h>
7*c54f35caSApple OSS Distributions 
8*c54f35caSApple OSS Distributions #if DEVELOPMENT || DEBUG
9*c54f35caSApple OSS Distributions 
10*c54f35caSApple OSS Distributions class TestIOConnectMapMemoryPortLeak45265408 : public IOService {
11*c54f35caSApple OSS Distributions 	OSDeclareDefaultStructors(TestIOConnectMapMemoryPortLeak45265408)
12*c54f35caSApple OSS Distributions 
13*c54f35caSApple OSS Distributions public:
14*c54f35caSApple OSS Distributions 	virtual bool start(IOService *provider) override;
15*c54f35caSApple OSS Distributions };
16*c54f35caSApple OSS Distributions 
17*c54f35caSApple OSS Distributions class TestIOConnectMapMemoryPortLeak45265408UserClient : public IOUserClient {
18*c54f35caSApple OSS Distributions 	OSDeclareDefaultStructors(TestIOConnectMapMemoryPortLeak45265408UserClient);
19*c54f35caSApple OSS Distributions 
20*c54f35caSApple OSS Distributions public:
21*c54f35caSApple OSS Distributions 	// IOService overrides
22*c54f35caSApple OSS Distributions 	virtual bool start(IOService *provider) override;
23*c54f35caSApple OSS Distributions 	virtual void stop(IOService *provider) override;
24*c54f35caSApple OSS Distributions 
25*c54f35caSApple OSS Distributions 	// IOUserClient overrides
26*c54f35caSApple OSS Distributions 	virtual IOReturn clientClose() override;
27*c54f35caSApple OSS Distributions 	virtual IOReturn clientMemoryForType(UInt32 type, IOOptionBits *flags, IOMemoryDescriptor **memory) override;
28*c54f35caSApple OSS Distributions private:
29*c54f35caSApple OSS Distributions 	IOBufferMemoryDescriptor *  sharedMemory;
30*c54f35caSApple OSS Distributions };
31*c54f35caSApple OSS Distributions 
32*c54f35caSApple OSS Distributions #endif /* DEVELOPMENT || DEBUG */
33*c54f35caSApple OSS Distributions 
34*c54f35caSApple OSS Distributions #endif /* _IOKIT_TESTIOCONNECTMAPMEMORYPORTLEAK45265408_H_ */
35