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

Function CARDSetAttributesAsync

src/dolphin/src/card/CARDNet.c:11–41  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9u8 __CARDPermMask = 28;
10
11s32 CARDSetAttributesAsync(s32 channel, s32 cardFile, u8 permissions, CARDCallback callback)
12{
13 CARDDir dir;
14 s32 res;
15 if (permissions & ~__CARDPermMask)
16 {
17 return CARD_RESULT_NOPERM;
18 }
19
20 res = __CARDGetStatusEx(channel, cardFile, &dir);
21 if (res < 0)
22 {
23 return res;
24 }
25
26 if (((dir.permission & 0x20u) && !(permissions & 0x20u)) ||
27 ((dir.permission & 0x40u) && !(permissions & 0x40u)))
28 {
29 return CARD_RESULT_NOPERM;
30 }
31
32 if (((permissions & 0x20u) && (permissions & 0x40u)) ||
33 ((permissions & 0x20u) && (dir.permission & 0x40u)) ||
34 ((permissions & 0x40u) && (dir.permission & 0x20u)))
35 {
36 return CARD_RESULT_NOPERM;
37 }
38
39 dir.permission = permissions;
40 return __CARDSetStatusExAsync(channel, cardFile, &dir, callback);
41}
42
43s32 CARDSetAttributes(s32 chan, s32 fileNo, u8 attr)
44{

Callers 1

CARDSetAttributesFunction · 0.85

Calls 2

__CARDGetStatusExFunction · 0.85
__CARDSetStatusExAsyncFunction · 0.85

Tested by

no test coverage detected