Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JHIComm.h
Go to the documentation of this file.
1
#ifndef JHICOMM_H
2
#define JHICOMM_H
3
4
#include "
JSystem/JHostIO/JHICommonMem.h
"
5
6
class
JHICommBufHeader
{
7
public
:
8
void
init
();
9
void
init
(
JHICommonMem
*,
u32
,
u32
,
u32
);
10
int
load
();
11
12
u32
getMsgBufSize
() {
return
m_msgBufSize
; }
13
14
/* 0x00 */
JHICommonMem
*
mp_memBuffer
;
15
/* 0x04 */
u32
field_0x4
;
16
/* 0x08 */
u32
m_msgBufSize
;
17
/* 0x0C */
u32
field_0xc
;
18
/* 0x10 */
u32
field_0x10
;
19
/* 0x14 */
u32
field_0x14
;
20
/* 0x18 */
u32
field_0x18
;
21
/* 0x1C */
u32
field_0x1c
;
22
/* 0x20 */
u32
field_0x20
;
23
/* 0x24 */
u32
field_0x24
;
24
/* 0x28 */
u32
m_alignment
;
25
/* 0x2C */
u32
field_0x2c
;
26
};
27
28
class
JHICommBufWriter
{
29
public
:
30
struct
Header
:
public
JHICommBufHeader
{
31
int
load
();
32
int
getRemSize
();
33
void
updatePutAdrs
();
34
u32
getWritebleSize
()
const
;
35
void
alignPutAdrs
();
36
void
addPutAdrs
(
int
);
37
u32
getPutAdrs
()
const
;
38
39
/* 0x30 */
u8
field_0x30
;
40
/* 0x31 */
u8
field_0x31
;
41
/* 0x32 */
u8
field_0x32
;
42
/* 0x33 */
u8
field_0x33
;
43
/* 0x34 */
u32
field_0x34
;
44
};
45
46
JHICommBufWriter
(
u32
,
u32
,
u32
alignment);
47
int
writeBegin
();
48
void
writeEnd
();
49
int
write
(
void
*,
int
);
50
51
void
init
() {
m_header
.
init
(); }
52
53
/* 0x00 */
Header
m_header
;
54
/* 0x38 */
JHIMemBuf
*
mp_memBuffer
;
55
};
56
57
class
JHICommBufReader
{
58
public
:
59
struct
Header
:
public
JHICommBufHeader
{
60
void
updateGetAdrs
();
61
u32
getReadableSize
()
const
;
62
void
addGetAdrs
(
int
);
63
u32
getGetAdrs
()
const
;
64
void
alignGetAdrs
();
65
int
getContSize
();
66
67
int
load
() {
68
int
result =
JHICommBufHeader::load
();
69
if
(!result) {
70
field_0x30
=
field_0xc
;
71
}
72
return
result;
73
}
74
75
/* 0x30 */
u32
field_0x30
;
76
};
77
78
JHICommBufReader
(
u32
,
u32
,
u32
alignment);
79
int
readBegin
();
80
void
readEnd
();
81
int
read
(
void
*,
int
);
82
83
u32
getMsgBufSize
() {
return
m_header
.
getMsgBufSize
(); }
84
void
init
() {
m_header
.
init
(); }
85
86
u32
available
() {
87
if
(
m_header
.
load
()) {
88
return
0xFFFFFFFF;
89
}
else
{
90
return
m_header
.
getReadableSize
();
91
}
92
}
93
94
/* 0x00 */
Header
m_header
;
95
/* 0x34 */
JHIMemBuf
*
mp_memBuffer
;
96
};
97
98
struct
JHICmnMem
{
99
u32
sendBegin
() {
return
mp_writeBuf
->
writeBegin
(); }
100
int
sendCont
(
const
void
* param_0,
int
param_1) {
return
mp_writeBuf
->
write
((
void
*)param_0, param_1); }
101
void
sendEnd
() {
mp_writeBuf
->
writeEnd
(); }
102
u32
available
() {
return
mp_readBuf
->
available
(); }
103
u32
getMaxReaderableSize
() {
return
mp_readBuf
->
getMsgBufSize
(); }
104
105
void
setBuf
(
JHICommBufReader
* pReader,
JHICommBufWriter
* pWriter) {
106
mp_readBuf
= pReader;
107
mp_writeBuf
= pWriter;
108
}
109
110
void
initBuffers
() {
111
mp_readBuf
->
init
();
112
mp_writeBuf
->
init
();
113
}
114
115
int
receive
(
void
* param_1,
int
param_2) {
116
int
result = 0;
117
result =
mp_readBuf
->
read
(param_1, param_2);
118
mp_readBuf
->
readEnd
();
119
return
result;
120
}
121
122
/* 0x0 */
JHICommBufReader
*
mp_readBuf
;
123
/* 0x4 */
JHICommBufWriter
*
mp_writeBuf
;
124
/* 0x8 */
u8
field_0x8
;
125
};
126
127
struct
JHIContext
{
128
JHICommBufReader
*
mp_reader
;
129
JHICommBufWriter
*
mp_writer
;
130
};
131
132
#endif
/* JHICOMM_H */
JHICommonMem.h
JHICommBufHeader
Definition
JHIComm.h:6
JHICommBufHeader::field_0x10
u32 field_0x10
Definition
JHIComm.h:18
JHICommBufHeader::field_0x20
u32 field_0x20
Definition
JHIComm.h:22
JHICommBufHeader::field_0x2c
u32 field_0x2c
Definition
JHIComm.h:25
JHICommBufHeader::field_0x1c
u32 field_0x1c
Definition
JHIComm.h:21
JHICommBufHeader::field_0xc
u32 field_0xc
Definition
JHIComm.h:17
JHICommBufHeader::init
void init()
Definition
JHIComm.cpp:7
JHICommBufHeader::mp_memBuffer
JHICommonMem * mp_memBuffer
Definition
JHIComm.h:14
JHICommBufHeader::m_alignment
u32 m_alignment
Definition
JHIComm.h:24
JHICommBufHeader::field_0x14
u32 field_0x14
Definition
JHIComm.h:19
JHICommBufHeader::load
int load()
Definition
JHIComm.cpp:41
JHICommBufHeader::field_0x4
u32 field_0x4
Definition
JHIComm.h:15
JHICommBufHeader::m_msgBufSize
u32 m_msgBufSize
Definition
JHIComm.h:16
JHICommBufHeader::getMsgBufSize
u32 getMsgBufSize()
Definition
JHIComm.h:12
JHICommBufHeader::field_0x24
u32 field_0x24
Definition
JHIComm.h:23
JHICommBufHeader::field_0x18
u32 field_0x18
Definition
JHIComm.h:20
JHICommBufReader
Definition
JHIComm.h:57
JHICommBufReader::JHICommBufReader
JHICommBufReader(u32, u32, u32 alignment)
Definition
JHIComm.cpp:53
JHICommBufReader::readEnd
void readEnd()
Definition
JHIComm.cpp:79
JHICommBufReader::init
void init()
Definition
JHIComm.h:84
JHICommBufReader::getMsgBufSize
u32 getMsgBufSize()
Definition
JHIComm.h:83
JHICommBufReader::mp_memBuffer
JHIMemBuf * mp_memBuffer
Definition
JHIComm.h:95
JHICommBufReader::m_header
Header m_header
Definition
JHIComm.h:94
JHICommBufReader::available
u32 available()
Definition
JHIComm.h:86
JHICommBufReader::readBegin
int readBegin()
Definition
JHIComm.cpp:75
JHICommBufReader::read
int read(void *, int)
Definition
JHIComm.cpp:83
JHICommBufWriter
Definition
JHIComm.h:28
JHICommBufWriter::write
int write(void *, int)
Definition
JHIComm.cpp:229
JHICommBufWriter::JHICommBufWriter
JHICommBufWriter(u32, u32, u32 alignment)
Definition
JHIComm.cpp:159
JHICommBufWriter::mp_memBuffer
JHIMemBuf * mp_memBuffer
Definition
JHIComm.h:54
JHICommBufWriter::init
void init()
Definition
JHIComm.h:51
JHICommBufWriter::m_header
Header m_header
Definition
JHIComm.h:53
JHICommBufWriter::writeBegin
int writeBegin()
Definition
JHIComm.cpp:214
JHICommBufWriter::writeEnd
void writeEnd()
Definition
JHIComm.cpp:225
JHICommonMem
Definition
JHICommonMem.h:50
JHIMemBuf
Definition
JHICommonMem.h:66
u32
unsigned long u32
Definition
types.h:12
u8
unsigned char u8
Definition
types.h:8
JHICmnMem
Definition
JHIComm.h:98
JHICmnMem::sendEnd
void sendEnd()
Definition
JHIComm.h:101
JHICmnMem::mp_readBuf
JHICommBufReader * mp_readBuf
Definition
JHIComm.h:122
JHICmnMem::mp_writeBuf
JHICommBufWriter * mp_writeBuf
Definition
JHIComm.h:123
JHICmnMem::sendBegin
u32 sendBegin()
Definition
JHIComm.h:99
JHICmnMem::initBuffers
void initBuffers()
Definition
JHIComm.h:110
JHICmnMem::field_0x8
u8 field_0x8
Definition
JHIComm.h:124
JHICmnMem::sendCont
int sendCont(const void *param_0, int param_1)
Definition
JHIComm.h:100
JHICmnMem::setBuf
void setBuf(JHICommBufReader *pReader, JHICommBufWriter *pWriter)
Definition
JHIComm.h:105
JHICmnMem::available
u32 available()
Definition
JHIComm.h:102
JHICmnMem::getMaxReaderableSize
u32 getMaxReaderableSize()
Definition
JHIComm.h:103
JHICmnMem::receive
int receive(void *param_1, int param_2)
Definition
JHIComm.h:115
JHICommBufReader::Header
Definition
JHIComm.h:59
JHICommBufReader::Header::getGetAdrs
u32 getGetAdrs() const
Definition
JHIComm.cpp:143
JHICommBufReader::Header::updateGetAdrs
void updateGetAdrs()
Definition
JHIComm.cpp:58
JHICommBufReader::Header::getContSize
int getContSize()
Definition
JHIComm.cpp:151
JHICommBufReader::Header::getReadableSize
u32 getReadableSize() const
Definition
JHIComm.cpp:64
JHICommBufReader::Header::field_0x30
u32 field_0x30
Definition
JHIComm.h:75
JHICommBufReader::Header::addGetAdrs
void addGetAdrs(int)
Definition
JHIComm.cpp:136
JHICommBufReader::Header::alignGetAdrs
void alignGetAdrs()
Definition
JHIComm.cpp:147
JHICommBufReader::Header::load
int load()
Definition
JHIComm.h:67
JHICommBufWriter::Header
Definition
JHIComm.h:30
JHICommBufWriter::Header::field_0x33
u8 field_0x33
Definition
JHIComm.h:42
JHICommBufWriter::Header::addPutAdrs
void addPutAdrs(int)
Definition
JHIComm.cpp:289
JHICommBufWriter::Header::field_0x34
u32 field_0x34
Definition
JHIComm.h:43
JHICommBufWriter::Header::getRemSize
int getRemSize()
Definition
JHIComm.cpp:183
JHICommBufWriter::Header::alignPutAdrs
void alignPutAdrs()
Definition
JHIComm.cpp:300
JHICommBufWriter::Header::load
int load()
Definition
JHIComm.cpp:164
JHICommBufWriter::Header::getWritebleSize
u32 getWritebleSize() const
Definition
JHIComm.cpp:201
JHICommBufWriter::Header::field_0x32
u8 field_0x32
Definition
JHIComm.h:41
JHICommBufWriter::Header::getPutAdrs
u32 getPutAdrs() const
Definition
JHIComm.cpp:296
JHICommBufWriter::Header::field_0x31
u8 field_0x31
Definition
JHIComm.h:40
JHICommBufWriter::Header::field_0x30
u8 field_0x30
Definition
JHIComm.h:39
JHICommBufWriter::Header::updatePutAdrs
void updatePutAdrs()
Definition
JHIComm.cpp:187
JHIContext
Definition
JHIComm.h:127
JHIContext::mp_reader
JHICommBufReader * mp_reader
Definition
JHIComm.h:128
JHIContext::mp_writer
JHICommBufWriter * mp_writer
Definition
JHIComm.h:129
include
JSystem
JHostIO
JHIComm.h
Generated by
1.12.0