aboutsummaryrefslogtreecommitdiff
path: root/src/sdmc.rs
blob: 45797898a5d79d015b8d74f67475a6d4ede76c1a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use core::marker::PhantomData;

use libctru::sdmc::*;

pub struct Sdmc {
    pd: PhantomData<i32>
}

impl Sdmc {
    pub fn new() -> Result<Self, i32> {
        unsafe {
            let r = sdmcInit();
            if r < 0 {
                Err(r)
            } else {
                Ok(Sdmc { pd: PhantomData })
            }
        }
    }
}

impl Drop for Sdmc {
    fn drop(&mut self) {
        unsafe {
            sdmcExit()
        };
    }
}