aboutsummaryrefslogtreecommitdiff
path: root/src/sdmc.rs
blob: 75a58a98b58673100453ebc0f23e0d819acb6b9f (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
use core::marker::PhantomData;

use libctru::sdmc::*;

pub struct Sdmc {
    pd: PhantomData<i32>,
}

impl Sdmc {
    pub fn init() -> Result<Sdmc, 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() };
    }
}