pafe_sys/
lib.rs

1/* automatically generated by rust-bindgen 0.58.1 */
2
3pub const FELICA_IDM_LENGTH: u16 = 8;
4pub const FELICA_PMM_LENGTH: u16 = 8;
5pub const FELICA_BLOCK_LENGTH: u16 = 16;
6pub const FELICA_AREA_NUM_MAX: u16 = 121;
7pub const FELICA_POLLING_ANY: u16 = 65535;
8pub const FELICA_POLLING_SUICA: u16 = 3;
9pub const FELICA_POLLING_EDY: u16 = 65024;
10pub const FELICA_SERVICE_SUICA_IN_OUT: u16 = 4239;
11pub const FELICA_SERVICE_SUICA_HISTORY: u16 = 2319;
12pub const FELICA_SERVICE_IRUCA_HISTORY: u16 = 56960;
13pub const FELICA_SERVICE_EDY_NUMBER: u16 = 4363;
14pub const FELICA_SERVICE_EDY_HISTORY: u16 = 5903;
15pub const FELICA_CMD_POLLING: u16 = 0;
16pub const FELICA_ANS_POLLING: u16 = 1;
17pub const FELICA_CMD_REQUEST_SERVICE: u16 = 2;
18pub const FELICA_ANS_REQUEST_SERVCCE: u16 = 3;
19pub const FELICA_CMD_REQUEST_RESPONSE: u16 = 4;
20pub const FELICA_ANS_REQUEST_RESPONSE: u16 = 5;
21pub const FELICA_CMD_READ_WITHOUT_ENCRYPTION: u16 = 6;
22pub const FELICA_ANS_READ_WITHOUT_ENCRYPTION: u16 = 7;
23pub const FELICA_CMD_WRITE_WITHOUT_ENCRYPTION: u16 = 8;
24pub const FELICA_ANS_WRITE_WITHOUT_ENCRYPTION: u16 = 9;
25pub const FELICA_CMD_AUTHENTICATION1: u16 = 16;
26pub const FELICA_ANS_AUTHENTICATION1: u16 = 17;
27pub const FELICA_CMD_AUTHENTICATION2: u16 = 18;
28pub const FELICA_ANS_AUTHENTICATION2: u16 = 19;
29pub const FELICA_CMD_READ_FROM_SECURE_FILE: u16 = 20;
30pub const FELICA_ANS_READ_FROM_SECURE_FILE: u16 = 21;
31pub const FELICA_CMD_WRITE_TO_SECURE_FILE: u16 = 22;
32pub const FELICA_ANS_WRITE_TO_SECURE_FILE: u16 = 23;
33pub const FELICA_CMD_SEARCH_SERVICE_CODE: u16 = 10;
34pub const FELICA_ANS_SEARCH_SERVICE_CODE: u16 = 11;
35pub const FELICA_CMD_REQUEST_SYSTEM: u16 = 12;
36pub const FELICA_ANS_REQUEST_SYSTEM: u16 = 13;
37pub const PASORI2_CMD_SELF_DIAGNOSIS: u16 = 82;
38pub const PASORI2_ANS_SELF_DIAGNOSIS: u16 = 83;
39pub const PASORI2_CMD_GET_FIRMWARE_VERSION: u16 = 88;
40pub const PASORI2_ANS_GET_FIRMWARE_VERSION: u16 = 89;
41pub const PASORI2_CMD_SEND_PACKET: u16 = 92;
42pub const PASORI2_ANS_SEND_PACKET: u16 = 93;
43pub const PASORI2_DIAG_COMMUNICATION_LINE_TEST: u16 = 0;
44pub const PASORI2_DIAG_EEPROM_TEST: u16 = 1;
45pub const PASORI2_DIAG_RAM_TEST: u16 = 2;
46pub const PASORI2_DIAG_CPU_FUNCTION_TEST: u16 = 3;
47pub const PASORI2_DIAG_CPU_FANCTION_TEST: u16 = 3;
48pub const PASORI2_DIAG_POLLING_TEST_TO_CARD: u16 = 16;
49pub const PASORI_ERR_PARM: u16 = 1;
50pub const PASORI_ERR_MEM: u16 = 2;
51pub const PASORI_ERR_COM: u16 = 3;
52pub const PASORI_ERR_DATA: u16 = 4;
53pub const PASORI_ERR_CHKSUM: u16 = 5;
54pub const PASORI_ERR_FORMAT: u16 = 6;
55pub const PASORI_ERR_TYPE: u16 = 7;
56pub type Uint8 = ::std::os::raw::c_uchar;
57pub type Uint16 = ::std::os::raw::c_ushort;
58pub const PASORI_TYPE_PASORI_TYPE_S310: PasoriType = 0;
59pub const PASORI_TYPE_PASORI_TYPE_S320: PasoriType = 1;
60pub const PASORI_TYPE_PASORI_TYPE_S330: PasoriType = 2;
61pub type PasoriType = ::std::os::raw::c_uint;
62#[repr(C)]
63#[derive(Debug, Copy, Clone)]
64pub struct tag_pasori {
65    _unused: [u8; 0],
66}
67pub type Pasori = tag_pasori;
68#[repr(C)]
69#[derive(Debug, Copy, Clone)]
70pub struct _ferica_area {
71    pub code: Uint16,
72    pub attr: Uint16,
73    pub bin: Uint16,
74    pub next: *mut _ferica_area,
75}
76#[test]
77fn bindgen_test_layout_ferica_area() {
78    assert_eq!(
79        ::std::mem::size_of::<_ferica_area>(),
80        16usize,
81        concat!("Size of: ", stringify!(_ferica_area))
82    );
83    assert_eq!(
84        ::std::mem::align_of::<_ferica_area>(),
85        8usize,
86        concat!("Alignment of ", stringify!(_ferica_area))
87    );
88    assert_eq!(
89        unsafe { &(*(::std::ptr::null::<_ferica_area>())).code as *const _ as usize },
90        0usize,
91        concat!(
92            "Offset of field: ",
93            stringify!(_ferica_area),
94            "::",
95            stringify!(code)
96        )
97    );
98    assert_eq!(
99        unsafe { &(*(::std::ptr::null::<_ferica_area>())).attr as *const _ as usize },
100        2usize,
101        concat!(
102            "Offset of field: ",
103            stringify!(_ferica_area),
104            "::",
105            stringify!(attr)
106        )
107    );
108    assert_eq!(
109        unsafe { &(*(::std::ptr::null::<_ferica_area>())).bin as *const _ as usize },
110        4usize,
111        concat!(
112            "Offset of field: ",
113            stringify!(_ferica_area),
114            "::",
115            stringify!(bin)
116        )
117    );
118    assert_eq!(
119        unsafe { &(*(::std::ptr::null::<_ferica_area>())).next as *const _ as usize },
120        8usize,
121        concat!(
122            "Offset of field: ",
123            stringify!(_ferica_area),
124            "::",
125            stringify!(next)
126        )
127    );
128}
129pub type FelicaArea = _ferica_area;
130#[repr(C)]
131#[derive(Copy, Clone)]
132#[allow(non_snake_case)]
133pub struct tag_felica {
134    pub p: *mut Pasori,
135    pub systemcode: Uint16,
136    pub IDm: [Uint8; 8usize],
137    pub PMm: [Uint8; 8usize],
138    pub area_num: Uint16,
139    pub area: [FelicaArea; 256usize],
140    pub service_num: Uint16,
141    pub service: [FelicaArea; 256usize],
142    pub next: *mut tag_felica,
143}
144#[test]
145fn bindgen_test_layout_tag_felica() {
146    assert_eq!(
147        ::std::mem::size_of::<tag_felica>(),
148        8240usize,
149        concat!("Size of: ", stringify!(tag_felica))
150    );
151    assert_eq!(
152        ::std::mem::align_of::<tag_felica>(),
153        8usize,
154        concat!("Alignment of ", stringify!(tag_felica))
155    );
156    assert_eq!(
157        unsafe { &(*(::std::ptr::null::<tag_felica>())).p as *const _ as usize },
158        0usize,
159        concat!(
160            "Offset of field: ",
161            stringify!(tag_felica),
162            "::",
163            stringify!(p)
164        )
165    );
166    assert_eq!(
167        unsafe { &(*(::std::ptr::null::<tag_felica>())).systemcode as *const _ as usize },
168        8usize,
169        concat!(
170            "Offset of field: ",
171            stringify!(tag_felica),
172            "::",
173            stringify!(systemcode)
174        )
175    );
176    assert_eq!(
177        unsafe { &(*(::std::ptr::null::<tag_felica>())).IDm as *const _ as usize },
178        10usize,
179        concat!(
180            "Offset of field: ",
181            stringify!(tag_felica),
182            "::",
183            stringify!(IDm)
184        )
185    );
186    assert_eq!(
187        unsafe { &(*(::std::ptr::null::<tag_felica>())).PMm as *const _ as usize },
188        18usize,
189        concat!(
190            "Offset of field: ",
191            stringify!(tag_felica),
192            "::",
193            stringify!(PMm)
194        )
195    );
196    assert_eq!(
197        unsafe { &(*(::std::ptr::null::<tag_felica>())).area_num as *const _ as usize },
198        26usize,
199        concat!(
200            "Offset of field: ",
201            stringify!(tag_felica),
202            "::",
203            stringify!(area_num)
204        )
205    );
206    assert_eq!(
207        unsafe { &(*(::std::ptr::null::<tag_felica>())).area as *const _ as usize },
208        32usize,
209        concat!(
210            "Offset of field: ",
211            stringify!(tag_felica),
212            "::",
213            stringify!(area)
214        )
215    );
216    assert_eq!(
217        unsafe { &(*(::std::ptr::null::<tag_felica>())).service_num as *const _ as usize },
218        4128usize,
219        concat!(
220            "Offset of field: ",
221            stringify!(tag_felica),
222            "::",
223            stringify!(service_num)
224        )
225    );
226    assert_eq!(
227        unsafe { &(*(::std::ptr::null::<tag_felica>())).service as *const _ as usize },
228        4136usize,
229        concat!(
230            "Offset of field: ",
231            stringify!(tag_felica),
232            "::",
233            stringify!(service)
234        )
235    );
236    assert_eq!(
237        unsafe { &(*(::std::ptr::null::<tag_felica>())).next as *const _ as usize },
238        8232usize,
239        concat!(
240            "Offset of field: ",
241            stringify!(tag_felica),
242            "::",
243            stringify!(next)
244        )
245    );
246}
247pub type Felica = tag_felica;
248#[repr(C)]
249#[derive(Debug, Copy, Clone)]
250pub struct tag_felica_block {
251    pub data: [Uint8; 8usize],
252}
253#[test]
254fn bindgen_test_layout_tag_felica_block() {
255    assert_eq!(
256        ::std::mem::size_of::<tag_felica_block>(),
257        8usize,
258        concat!("Size of: ", stringify!(tag_felica_block))
259    );
260    assert_eq!(
261        ::std::mem::align_of::<tag_felica_block>(),
262        1usize,
263        concat!("Alignment of ", stringify!(tag_felica_block))
264    );
265    assert_eq!(
266        unsafe { &(*(::std::ptr::null::<tag_felica_block>())).data as *const _ as usize },
267        0usize,
268        concat!(
269            "Offset of field: ",
270            stringify!(tag_felica_block),
271            "::",
272            stringify!(data)
273        )
274    );
275}
276pub type FelicaBlock = tag_felica_block;
277#[repr(C)]
278#[derive(Debug, Copy, Clone)]
279pub struct _felica_block_info {
280    pub service: Uint16,
281    pub mode: Uint8,
282    pub block: Uint16,
283}
284#[test]
285fn bindgen_test_layout_felica_block_info() {
286    assert_eq!(
287        ::std::mem::size_of::<_felica_block_info>(),
288        6usize,
289        concat!("Size of: ", stringify!(_felica_block_info))
290    );
291    assert_eq!(
292        ::std::mem::align_of::<_felica_block_info>(),
293        2usize,
294        concat!("Alignment of ", stringify!(_felica_block_info))
295    );
296    assert_eq!(
297        unsafe { &(*(::std::ptr::null::<_felica_block_info>())).service as *const _ as usize },
298        0usize,
299        concat!(
300            "Offset of field: ",
301            stringify!(_felica_block_info),
302            "::",
303            stringify!(service)
304        )
305    );
306    assert_eq!(
307        unsafe { &(*(::std::ptr::null::<_felica_block_info>())).mode as *const _ as usize },
308        2usize,
309        concat!(
310            "Offset of field: ",
311            stringify!(_felica_block_info),
312            "::",
313            stringify!(mode)
314        )
315    );
316    assert_eq!(
317        unsafe { &(*(::std::ptr::null::<_felica_block_info>())).block as *const _ as usize },
318        4usize,
319        concat!(
320            "Offset of field: ",
321            stringify!(_felica_block_info),
322            "::",
323            stringify!(block)
324        )
325    );
326}
327pub type FelicaBlockInfo = _felica_block_info;
328
329#[link(name = "pafe")]
330extern "C" {
331    pub fn pasori_open() -> *mut Pasori;
332    pub fn pasori_init(p: *mut Pasori) -> ::std::os::raw::c_int;
333    pub fn pasori_close(p: *mut Pasori);
334    pub fn pasori_send(
335        p: *mut Pasori,
336        data: *mut Uint8,
337        size: *mut ::std::os::raw::c_int,
338    ) -> ::std::os::raw::c_int;
339    pub fn pasori_recv(
340        p: *mut Pasori,
341        data: *mut Uint8,
342        size: *mut ::std::os::raw::c_int,
343    ) -> ::std::os::raw::c_int;
344    pub fn pasori_packet_write(
345        p: *mut Pasori,
346        data: *mut Uint8,
347        size: *mut ::std::os::raw::c_int,
348    ) -> ::std::os::raw::c_int;
349    pub fn pasori_packet_read(
350        p: *mut Pasori,
351        data: *mut Uint8,
352        size: *mut ::std::os::raw::c_int,
353    ) -> ::std::os::raw::c_int;
354    pub fn pasori_write(
355        p: *mut Pasori,
356        data: *mut Uint8,
357        size: *mut ::std::os::raw::c_int,
358    ) -> ::std::os::raw::c_int;
359    pub fn pasori_read(
360        p: *mut Pasori,
361        data: *mut Uint8,
362        size: *mut ::std::os::raw::c_int,
363    ) -> ::std::os::raw::c_int;
364    pub fn pasori_reset(p: *mut Pasori) -> ::std::os::raw::c_int;
365    pub fn pasori_version(
366        p: *mut Pasori,
367        v1: *mut ::std::os::raw::c_int,
368        v2: *mut ::std::os::raw::c_int,
369    ) -> ::std::os::raw::c_int;
370    pub fn pasori_type(p: *mut Pasori) -> ::std::os::raw::c_uint;
371    pub fn pasori_test(
372        p: *mut Pasori,
373        code: ::std::os::raw::c_int,
374        data: *mut Uint8,
375        size: *mut ::std::os::raw::c_int,
376        rdata: *mut Uint8,
377        rsize: *mut ::std::os::raw::c_int,
378    ) -> ::std::os::raw::c_int;
379    pub fn pasori_test_echo(
380        p: *mut Pasori,
381        data: *mut Uint8,
382        size: *mut ::std::os::raw::c_int,
383    ) -> ::std::os::raw::c_int;
384    pub fn pasori_test_eprom(p: *mut Pasori) -> ::std::os::raw::c_int;
385    pub fn pasori_test_ram(p: *mut Pasori) -> ::std::os::raw::c_int;
386    pub fn pasori_test_cpu(p: *mut Pasori) -> ::std::os::raw::c_int;
387    pub fn pasori_test_polling(p: *mut Pasori) -> ::std::os::raw::c_int;
388    pub fn pasori_list_passive_target(
389        pp: *mut Pasori,
390        payload: *mut ::std::os::raw::c_uchar,
391        size: *mut ::std::os::raw::c_int,
392    ) -> ::std::os::raw::c_int;
393    pub fn pasori_set_timeout(p: *mut Pasori, timeout: ::std::os::raw::c_int);
394    pub fn felica_polling(
395        p: *mut Pasori,
396        systemcode: Uint16,
397        RFU: Uint8,
398        timeslot: Uint8,
399    ) -> *mut Felica;
400    pub fn felica_get_idm(f: *mut Felica, idm: *mut Uint8) -> ::std::os::raw::c_int;
401    pub fn felica_get_pmm(f: *mut Felica, idm: *mut Uint8) -> ::std::os::raw::c_int;
402    pub fn felica_read(
403        f: *mut Felica,
404        n: *mut ::std::os::raw::c_int,
405        info: *mut FelicaBlockInfo,
406        data: *mut Uint8,
407    ) -> ::std::os::raw::c_int;
408    pub fn felica_read_single(
409        f: *mut Felica,
410        servicecode: ::std::os::raw::c_int,
411        mode: ::std::os::raw::c_int,
412        addr: Uint8,
413        data: *mut Uint8,
414    ) -> ::std::os::raw::c_int;
415    pub fn felica_write(
416        f: *mut Felica,
417        servicecode: ::std::os::raw::c_int,
418        mode: ::std::os::raw::c_int,
419        addr: Uint8,
420        data: *mut Uint8,
421    ) -> ::std::os::raw::c_int;
422    pub fn felica_request_service(
423        f: *mut Felica,
424        n: *mut ::std::os::raw::c_int,
425        list: *mut Uint16,
426        data: *mut Uint16,
427    ) -> ::std::os::raw::c_int;
428    pub fn felica_request_response(f: *mut Felica, mode: *mut Uint8) -> ::std::os::raw::c_int;
429    pub fn felica_search_service(f: *mut Felica) -> ::std::os::raw::c_int;
430    pub fn felica_request_system(
431        f: *mut Felica,
432        n: *mut ::std::os::raw::c_int,
433        data: *mut Uint16,
434    ) -> ::std::os::raw::c_int;
435}