1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     ndm_Types.h
4 
5   Copyright (C)2009-2012 Nintendo Co., Ltd.  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   $Rev: 46347 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_NDM_CTR_TYPES_H_
17 #define NN_NDM_CTR_TYPES_H_
18 
19 #include <nn/types.h>
20 
21 #ifdef __cplusplus
22 
23 namespace nn {
24 namespace ndm {
25 namespace CTR {
26 
27 enum ExclusiveMode
28 {
29     EM_NONE,                // Not mutex mode.
30     EM_INFRA,               // Infrastructure communication.
31     EM_LOCAL,               // Local communication. Also halt scheduler operation.
32     EM_CEC,                 // StreetPass. (Limited to StreetPass protocol)
33     EM_INTENT_CEC           // Communication for exchange of SteetPass data. (Does not limit protocol)
34 };
35 
36 /* Please see man pages for details
37 
38  */
39 enum DaemonName
40 {
41     DN_CEC,                         //
42     DN_BOSS,                        //
43     DN_NIM,                         //
44     DN_FRIENDS,                     //
45     NUM_OF_DAEMONS
46 };
47 
48 /* Please see man pages for details
49 
50  */
51 enum DaemonMask
52 {
53     DM_CEC      = 1 << DN_CEC,      //
54     DM_BOSS     = 1 << DN_BOSS,     //
55     DM_NIM      = 1 << DN_NIM,      //
56     DM_FRIENDS  = 1 << DN_FRIENDS   //
57 };
58 
59 const bit32 MASK_BACKGROUOND_DAEMONS        = DM_CEC | DM_BOSS | DM_NIM;
60 const bit32 MASK_ALL_DAEMONS                = DM_CEC | DM_BOSS | DM_NIM | DM_FRIENDS;
61 const bit32 MASK_DEFAULT_ENABLED_DAEMONS    = DM_CEC | DM_FRIENDS;
62 
63 } // namespace CTR
64 
65 using namespace CTR;
66 
67 const bit32 CONTROL_MASK_DEFAULT    = MASK_BACKGROUOND_DAEMONS;
68 const bit32 CONTROL_MASK_ALL        = MASK_ALL_DAEMONS;
69 const bit32 ENABLED_MASK_DEFAULT    = MASK_DEFAULT_ENABLED_DAEMONS;
70 
71 }
72 }
73 
74 #endif // __cplusplus
75 
76 #endif // NN_NDM_CTR_TYPES_H_
77