MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / CARDOpen

Function CARDOpen

src/dolphin/src/card/CARDOpen.c:160–192  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

158}
159
160s32 CARDOpen(s32 chan, const char *fileName, CARDFileInfo *fileInfo)
161{
162 CARDControl *card;
163 CARDDir *dir;
164 CARDDir *ent;
165 s32 result;
166 s32 fileNo;
167
168 fileInfo->chan = -1;
169 result = __CARDGetControlBlock(chan, &card);
170 if (result < 0)
171 {
172 return result;
173 }
174 result = __CARDGetFileNo(card, fileName, &fileNo);
175 if (0 <= result)
176 {
177 dir = __CARDGetDirBlock(card);
178 ent = &dir[fileNo];
179 if (!CARDIsValidBlockNo(card, ent->startBlock))
180 {
181 result = CARD_RESULT_BROKEN;
182 }
183 else
184 {
185 fileInfo->chan = chan;
186 fileInfo->fileNo = fileNo;
187 fileInfo->offset = 0;
188 fileInfo->iBlock = ent->startBlock;
189 }
190 }
191 return __CARDPutControlBlock(card, result);
192}
193
194s32 CARDClose(CARDFileInfo *fileInfo)
195{

Callers 1

iSG_mc_fopenFunction · 0.85

Calls 4

__CARDGetControlBlockFunction · 0.85
__CARDGetFileNoFunction · 0.85
__CARDGetDirBlockFunction · 0.85
__CARDPutControlBlockFunction · 0.85

Tested by

no test coverage detected