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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/* automatically generated by rust-bindgen */
#![allow(dead_code,
non_camel_case_types,
non_upper_case_globals,
non_snake_case)]
#[derive(Copy, Clone)]
#[repr(u32)]
#[derive(Debug)]
pub enum NFC_OpType { NFC_OpType_1 = 1, NFC_OpType_NFCTag = 2, }
#[derive(Copy, Clone)]
#[repr(u32)]
#[derive(Debug)]
pub enum NFC_TagState {
NFC_TagState_Uninitialized = 0,
NFC_TagState_ScanningStopped = 1,
NFC_TagState_Scanning = 2,
NFC_TagState_InRange = 3,
NFC_TagState_OutOfRange = 4,
NFC_TagState_DataReady = 5,
}
#[derive(Copy, Clone)]
#[repr(u32)]
#[derive(Debug)]
pub enum Enum_Unnamed1 {
NFC_amiiboFlag_Setup = 16,
NFC_amiiboFlag_AppDataSetup = 32,
}
#[repr(C)]
#[derive(Copy)]
pub struct NFC_TagInfo {
pub id_offset_size: u16_,
pub unk_x2: u8_,
pub unk_x3: u8_,
pub id: [u8_; 40usize],
}
impl ::core::clone::Clone for NFC_TagInfo {
fn clone(&self) -> Self { *self }
}
impl ::core::default::Default for NFC_TagInfo {
fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy)]
pub struct NFC_AmiiboSettings {
pub mii: [u8_; 96usize],
pub nickname: [u16_; 11usize],
pub flags: u8_,
pub countrycodeid: u8_,
pub setupdate_year: u16_,
pub setupdate_month: u8_,
pub setupdate_day: u8_,
pub unk_x7c: [u8_; 44usize],
}
impl ::core::clone::Clone for NFC_AmiiboSettings {
fn clone(&self) -> Self { *self }
}
impl ::core::default::Default for NFC_AmiiboSettings {
fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy)]
pub struct NFC_AmiiboConfig {
pub lastwritedate_year: u16_,
pub lastwritedate_month: u8_,
pub lastwritedate_day: u8_,
pub write_counter: u16_,
pub val_x6: u16_,
pub val_x8: u8_,
pub val_x9: u8_,
pub val_xa: u16_,
pub val_xc: u8_,
pub pagex4_byte3: u8_,
pub appdata_size: u8_,
pub zeros: [u8_; 49usize],
}
impl ::core::clone::Clone for NFC_AmiiboConfig {
fn clone(&self) -> Self { *self }
}
impl ::core::default::Default for NFC_AmiiboConfig {
fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy)]
pub struct NFC_AppDataInitStruct {
pub data_x0: [u8_; 12usize],
pub data_xc: [u8_; 48usize],
}
impl ::core::clone::Clone for NFC_AppDataInitStruct {
fn clone(&self) -> Self { *self }
}
impl ::core::default::Default for NFC_AppDataInitStruct {
fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy, Clone)]
#[derive(Debug)]
pub struct NFC_AppDataWriteStruct {
pub id: [u8_; 10usize],
pub id_size: u8_,
pub unused_xb: [u8_; 21usize],
}
impl ::core::default::Default for NFC_AppDataWriteStruct {
fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
extern "C" {
pub fn nfcInit(type_: NFC_OpType) -> Result;
pub fn nfcExit();
pub fn nfcGetSessionHandle() -> Handle;
pub fn nfcStartScanning(inval: u16_) -> Result;
pub fn nfcStopScanning();
pub fn nfcLoadAmiiboData() -> Result;
pub fn nfcResetTagScanState() -> Result;
pub fn nfcUpdateStoredAmiiboData() -> Result;
pub fn nfcGetTagState(state: *mut NFC_TagState) -> Result;
pub fn nfcGetTagInfo(out: *mut NFC_TagInfo) -> Result;
pub fn nfcOpenAppData(amiibo_appid: u32_) -> Result;
pub fn nfcInitializeWriteAppData(amiibo_appid: u32_,
buf: *const ::libc::c_void, size: ::libc::size_t)
-> Result;
pub fn nfcReadAppData(buf: *mut ::libc::c_void, size: ::libc::size_t) -> Result;
pub fn nfcWriteAppData(buf: *const ::libc::c_void, size: ::libc::size_t,
taginfo: *mut NFC_TagInfo) -> Result;
pub fn nfcGetAmiiboSettings(out: *mut NFC_AmiiboSettings) -> Result;
pub fn nfcGetAmiiboConfig(out: *mut NFC_AmiiboConfig) -> Result;
}
use ::types::*;
|