X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..04b8595b18b1b41ac7a206e4b3d51a635f8413d7:/iokit/IOKit/OSMessageNotification.h diff --git a/iokit/IOKit/OSMessageNotification.h b/iokit/IOKit/OSMessageNotification.h index 1c62d7b0c..bd6bc1cb1 100644 --- a/iokit/IOKit/OSMessageNotification.h +++ b/iokit/IOKit/OSMessageNotification.h @@ -50,7 +50,12 @@ enum { kIOServiceTerminatedNotificationType = 102, kIOAsyncCompletionNotificationType = 150, kIOServiceMessageNotificationType = 160, - kLastIOKitNotificationType = 199 + kLastIOKitNotificationType = 199, + + // reserved bits + kIOKitNoticationTypeMask = 0x00000FFF, + kIOKitNoticationTypeSizeAdjShift = 30, + kIOKitNoticationMsgSizeMask = 3, }; enum { @@ -82,7 +87,7 @@ enum { // -------------- enum { kOSAsyncRef64Count = 8, - kOSAsyncRef64Size = kOSAsyncRef64Count * sizeof(io_user_reference_t) + kOSAsyncRef64Size = kOSAsyncRef64Count * ((int) sizeof(io_user_reference_t)) }; typedef io_user_reference_t OSAsyncReference64[kOSAsyncRef64Count]; @@ -98,10 +103,12 @@ struct OSNotificationHeader64 { #endif }; +#pragma pack(4) struct IOServiceInterestContent64 { natural_t messageType; io_user_reference_t messageArgument[1]; }; +#pragma pack() // -------------- #if !KERNEL_USER32 @@ -136,9 +143,9 @@ struct IOServiceInterestContent { struct IOAsyncCompletionContent { IOReturn result; #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) - void * args[]; + void * args[] __attribute__ ((packed)); #else - void * args[0]; + void * args[0] __attribute__ ((packed)); #endif };