1 /*---------------------------------------------------------------------------*
2   Project:  OS
3   File:     OSDeviceThread.h
4 
5   Copyright (C) Nintendo.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13  *---------------------------------------------------------------------------*/
14 
15 #ifndef __OSDEVICE_THREAD_H__
16 #define __OSDEVICE_THREAD_H__
17 
18 #include <types.h>
19 #include <cafe/os/OSMessage.h>
20 #include <cafe/os/OSFunctionType.h>
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #define OS_DRVR_STACK_SIZE    (8 * 1024)
27 #define OS_APP_IO_STACK_SIZE  (8 * 1024)
28 
29 typedef struct OSDeviceMessage
30 {
31     void*           message;
32     u32             data0;
33     u32             data1;
34     OSFunctionType  type; // Type of async function which requests this I/O.
35 } OSDeviceMessage;
36 
37 OSMessageQueue* OSGetDefaultAppIOQueue(void);
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif  // __OSDEVICE_THREAD_H__
44