wut v1.8.0
Wii U Toolchain
Loading...
Searching...
No Matches
messagequeue.h
Go to the documentation of this file.
1#pragma once
2#include <wut.h>
3#include "threadqueue.h"
4
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct OSMessage OSMessage;
17
24
39
41{
42 void *message;
43 uint32_t args[3];
44};
45WUT_CHECK_OFFSET(OSMessage, 0x00, message);
46WUT_CHECK_OFFSET(OSMessage, 0x04, args);
47WUT_CHECK_SIZE(OSMessage, 0x10);
48
49#define OS_MESSAGE_QUEUE_TAG 0x6D536751u
50
52{
53 uint32_t tag;
54 const char *name;
55 WUT_UNKNOWN_BYTES(4);
59 uint32_t size;
60 uint32_t first;
61 uint32_t used;
62};
63WUT_CHECK_OFFSET(OSMessageQueue, 0x00, tag);
64WUT_CHECK_OFFSET(OSMessageQueue, 0x04, name);
65WUT_CHECK_OFFSET(OSMessageQueue, 0x0c, sendQueue);
66WUT_CHECK_OFFSET(OSMessageQueue, 0x1c, recvQueue);
67WUT_CHECK_OFFSET(OSMessageQueue, 0x2c, messages);
68WUT_CHECK_OFFSET(OSMessageQueue, 0x30, size);
69WUT_CHECK_OFFSET(OSMessageQueue, 0x34, first);
70WUT_CHECK_OFFSET(OSMessageQueue, 0x38, used);
71WUT_CHECK_SIZE(OSMessageQueue, 0x3c);
72
73void
75 OSMessage *messages,
76 int32_t size);
77
78void
80 OSMessage *messages,
81 int32_t size,
82 const char *name);
83
84BOOL
86 OSMessage *message,
87 OSMessageFlags flags);
88
89BOOL
91 OSMessage *message,
92 OSMessageFlags flags);
93
94BOOL
96 OSMessage *message);
97
100
103
104#ifdef __cplusplus
105}
106#endif
107
OSThreadQueue recvQueue
void * message
const char * name
OSMessage * messages
uint32_t args[3]
OSThreadQueue sendQueue
OSMessageQueue * OSGetDefaultAppIOQueue()
BOOL OSReceiveMessage(OSMessageQueue *queue, OSMessage *message, OSMessageFlags flags)
BOOL OSSendMessage(OSMessageQueue *queue, OSMessage *message, OSMessageFlags flags)
OSMessageFlags
void OSInitMessageQueueEx(OSMessageQueue *queue, OSMessage *messages, int32_t size, const char *name)
OSMessageQueue * OSGetSystemMessageQueue()
BOOL OSPeekMessage(OSMessageQueue *queue, OSMessage *message)
void OSInitMessageQueue(OSMessageQueue *queue, OSMessage *messages, int32_t size)
OSFunctionType
@ OS_MESSAGE_FLAGS_BLOCKING
@ OS_MESSAGE_FLAGS_HIGH_PRIORITY
@ OS_MESSAGE_FLAGS_NONE
@ OS_FUNCTION_TYPE_FSA_PR_CMD_ASYNC
@ OS_FUNCTION_TYPE_FSA_CMD_ASYNC
@ OS_FUNCTION_TYPE_FS_STATE_CHANGE_EVENT
@ OS_FUNCTION_TYPE_HIO_READ_ASYNC
@ OS_FUNCTION_TYPE_FS_CMD_ASYNC
@ OS_FUNCTION_TYPE_FSA_ATTACH_EVENT
@ OS_FUNCTION_TYPE_HIO_WRITE_ASYNC
@ OS_FUNCTION_TYPE_FS_ATTACH_EVENT
@ OS_FUNCTION_TYPE_HIO_OPEN
@ OS_FUNCTION_TYPE_FSA_PR_CMD_ASYNC_NO_ALLOC
@ OS_FUNCTION_TYPE_FS_CMD_HANDLER
int32_t BOOL
Definition wut_types.h:7