kIOServiceTerminatedNotificationType = 102,
kIOAsyncCompletionNotificationType = 150,
kIOServiceMessageNotificationType = 160,
- kLastIOKitNotificationType = 199
+ kLastIOKitNotificationType = 199,
+
+ // reserved bits
+ kIOKitNoticationTypeMask = 0x00000FFF,
+ kIOKitNoticationTypeSizeAdjShift = 30,
+ kIOKitNoticationMsgSizeMask = 3,
};
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];
#endif
};
+#pragma pack(4)
struct IOServiceInterestContent64 {
natural_t messageType;
io_user_reference_t messageArgument[1];
};
+#pragma pack()
// --------------
#if !KERNEL_USER32
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
};