1 /*---------------------------------------------------------------------------*
2   Project:  Dolphin OS Expansion Interface API
3   File:     OSSerial.h
4 
5   Copyright 2001 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   $Log: OSExpansion.h,v $
14   Revision 1.2  2006/02/04 11:56:47  hashida
15   (none)
16 
17   Revision 1.1.1.1  2005/12/29 06:53:28  hiratsu
18   Initial import.
19 
20   Revision 1.1.1.1  2005/05/12 02:41:07  yasuh-to
21   Ported from dolphin source tree.
22 
23 
24     4     2002/10/25 14:27 Shiki
25     Added support for Memory Card 1019 and 2043.
26 
27     3     2002/08/08 12:40 Shiki
28     Added EXI_ETHER.
29 
30     2     2002/03/26 8:59 Shiki
31     Added EXI_IS_VIEWER.
32 
33     1     2001/10/18 13:49 Shiki
34     Initial check-in.
35   $NoKeywords: $
36  *---------------------------------------------------------------------------*/
37 
38 #ifndef __OS_EXPANSION_H__
39 #define __OS_EXPANSION_H__
40 
41 #include <revolution/types.h>
42 #include <revolution/os.h>
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 #define EXI_MEMORY_CARD_59      0x00000004
49 #define EXI_MEMORY_CARD_123     0x00000008
50 #define EXI_MEMORY_CARD_251     0x00000010
51 #define EXI_MEMORY_CARD_507     0x00000020
52 
53 #ifndef EXI_MEMORY_CARD_1019
54 
55 #define EXI_MEMORY_CARD_1019    0x00000040
56 #define EXI_MEMORY_CARD_2043    0x00000080
57 
58 // Since SDK 9/5/02 Patch 1, EXI_MEMORY_CARD_*[A-G] are not
59 // returned with EXIGetType(). EXIGetType() returns EXI_MEMORY_CARD_1019
60 // for any type of Memory Card 1019 and EXI_MEMORY_CARD_2043 for any type
61 // of Memory Card 2043.
62 #define EXI_MEMORY_CARD_1019A   0x00000140
63 #define EXI_MEMORY_CARD_1019B   0x00000240
64 #define EXI_MEMORY_CARD_1019C   0x00000340
65 #define EXI_MEMORY_CARD_1019D   0x00000440
66 #define EXI_MEMORY_CARD_1019E   0x00000540
67 #define EXI_MEMORY_CARD_1019F   0x00000640
68 #define EXI_MEMORY_CARD_1019G   0x00000740
69 
70 #define EXI_MEMORY_CARD_2043A   0x00000180
71 #define EXI_MEMORY_CARD_2043B   0x00000280
72 #define EXI_MEMORY_CARD_2043C   0x00000380
73 #define EXI_MEMORY_CARD_2043D   0x00000480
74 #define EXI_MEMORY_CARD_2043E   0x00000580
75 #define EXI_MEMORY_CARD_2043F   0x00000680
76 #define EXI_MEMORY_CARD_2043G   0x00000780
77 
78 #endif  // EXI_MEMORY_CARD_1019
79 
80 #define EXI_USB_ADAPTER         0x01010000
81 #define EXI_NPDP_GDEV           0x01020000
82 
83 #define EXI_MODEM               0x02020000
84 #define EXI_ETHER               0x04020200
85 
86 #define EXI_MARLIN              0x03010000
87 
88 #define EXI_IS_VIEWER           0x05070000
89 
90 BOOL  EXIProbe        ( s32 chan );
91 s32   EXIProbeEx      ( s32 chan );
92 
93 s32   EXIGetType      ( s32 chan, u32 dev, u32* type );
94 char* EXIGetTypeString( u32 type );
95 
96 #ifdef __cplusplus
97 }
98 #endif
99 
100 #endif  // __OS_EXPANSION_H__
101