X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/ecc0ceb4089d506a0b8d16686a95817b331af9cb..a39ff7e25e19b3a8c3020042a3872ca9ec9659f1:/iokit/IOKit/IOPolledInterface.h diff --git a/iokit/IOKit/IOPolledInterface.h b/iokit/IOKit/IOPolledInterface.h index 3b3a663ec..84d27043b 100644 --- a/iokit/IOKit/IOPolledInterface.h +++ b/iokit/IOKit/IOPolledInterface.h @@ -54,7 +54,8 @@ enum enum { kIOPolledWrite = 1, - kIOPolledRead = 2 + kIOPolledRead = 2, + kIOPolledFlush = 3 }; typedef void (*IOPolledCompletionAction)( void * target, @@ -90,7 +91,9 @@ public: virtual IOReturn checkForWork(void) = 0; - OSMetaClassDeclareReservedUnused(IOPolledInterface, 0); + virtual IOReturn setEncryptionKey(const uint8_t * key, size_t keySize); + + OSMetaClassDeclareReservedUsed(IOPolledInterface, 0); OSMetaClassDeclareReservedUnused(IOPolledInterface, 1); OSMetaClassDeclareReservedUnused(IOPolledInterface, 2); OSMetaClassDeclareReservedUnused(IOPolledInterface, 3); @@ -176,7 +179,7 @@ IOReturn IOPolledFileOpen(const char * filename, void * write_file_addr, size_t write_file_len, IOPolledFileIOVars ** fileVars, OSData ** imagePath, - uint8_t * volumeCryptKey, size_t keySize); + uint8_t * volumeCryptKey, size_t * keySize); IOReturn IOPolledFileClose(IOPolledFileIOVars ** pVars, off_t write_offset, void * addr, size_t write_length, @@ -203,10 +206,15 @@ extern __C IOReturn IOPolledFileRead(IOPolledFileIOVars * vars, uint8_t * bytes, IOByteCount size, IOPolledFileCryptVars * cryptvars); +extern __C IOReturn IOPolledFileFlush(IOPolledFileIOVars * vars); + extern __C IOReturn IOPolledFilePollersOpen(IOPolledFileIOVars * vars, uint32_t state, bool abortable); extern __C IOReturn IOPolledFilePollersClose(IOPolledFileIOVars * vars, uint32_t state); +extern __C IOReturn IOPolledFilePollersSetEncryptionKey(IOPolledFileIOVars * vars, + const uint8_t * key, size_t keySize); + extern __C IOPolledFileIOVars * gCoreFileVars; #ifdef _SYS_CONF_H_