IOCoreSurfaceRoot is a kernel-extension for managing pixel buffers. It is controlled by the user-land framework IOSurface. You should use the IOSurface framework instead of directly operating on this service.
Methods
Selector | Action | Input | Output |
---|---|---|---|
0 | lookupFromMachPort | - | 1,208 bytes of stuff |
1 | release | IOSurfaceID surfaceID | - |
2 | lock | struct IOSurfaceLockArg | 1,208 bytes of stuff |
3 | unlock | struct IOSurfaceLockArg | struct IOSurfaceLockSeedArg |
4 | lockPlane | struct IOSurfaceLockArg | 1,208 bytes of stuff |
5 | unlockPlane | struct IOSurfaceLockArg | struct IOSurfaceLockSeedArg |
6 | lookup | void* ??? | 1,208 bytes of stuff |
7 | setYCbCrMatrix | IOSurfaceID surfaceID, uint32_t YCbCrMatrix | - |
8 | wrapClientImage | 28 bytes of stuff | 1,208 bytes of stuff |
9 | wrapClientMemory | void* param0, void* param1 | 1,208 bytes of stuff |
10 | getYCbCrMatrix | IOSurfaceID surfaceID | uint32_t YCbCrMatrix |
11 | setValue | ? | - |
12 | getValueMethod | ? | ? |
13 | kIOSurfaceMethodRemoveValue | ? | - |
14 | bindAccel | IOSurfaceID surfaceID, void* unknown0, void* unknown4 | - |
15 | bindAccelOnPlane | IOSurfaceID surfaceID, void* param1, void* param2, size_t planeIndex | - |
16 | readLimits | - | 20 bytes of stuff. |
17 | kIOSurfaceMethodIncrementUseCount | IOSurfaceID surfaceID | - |
18 | kIOSurfaceMethodDecrementUseCount | IOSurfaceID surfaceID | - |
19 | ? | void* ??? | void* ??? |
20 | setSurfaceNotify | 24 bytes of stuff | - |
21 | removeSurfaceNotify | 24 bytes of stuff | - |
where
struct IOSurfaceLockArg {
IOSurfaceID surfaceID;
uint32_t lockOptions;
size_t planeIndex;
};
struct IOSurfaceLockSeedArg {
uint32_t seed;
};
|