Fun
0.41.5
The programming language that makes You have fun
Main Page
Data Structures
Files
File List
Globals
Loading...
Searching...
No Matches
src
vm
pcsc
disconnect.c
Go to the documentation of this file.
1
/*
2
* This file is part of the Fun programming language.
3
* https://fun-lang.xyz/
4
*
5
* Copyright 2025 Johannes Findeisen <you@hanez.org>
6
* Licensed under the terms of the Apache-2.0 license.
7
* https://opensource.org/license/apache-2-0
8
*/
9
18
26
27
/* PCSC disconnect */
28
case
OP_PCSC_DISCONNECT
: {
29
#ifdef FUN_WITH_PCSC
30
Value
vh
= pop_value(vm);
31
int
hid = (int)
vh
.i;
32
free_value
(
vh
);
33
pcsc_card_entry *ce = pcsc_get_card(hid);
34
if
(!ce) {
35
push_value
(vm,
make_int
(0));
36
break
;
37
}
38
SCardDisconnect(ce->h, SCARD_LEAVE_CARD);
39
ce->in_use = 0;
40
ce->h = 0;
41
ce->proto = 0;
42
push_value
(vm,
make_int
(1));
43
#else
44
Value
vh
= pop_value(vm);
45
free_value
(
vh
);
46
push_value
(vm,
make_int
(0));
47
#endif
48
break
;
49
}
OP_PCSC_DISCONNECT
@ OP_PCSC_DISCONNECT
Definition
bytecode.h:188
free_value
free_value(vh)
push_value
push_value(vm, make_int(0))
Value
Tagged union representing a Fun value.
Definition
value.h:68
vh
Value vh
Definition
stubs.c:44
make_int
Value make_int(int64_t v)
Construct a Value representing a 64-bit integer.
Definition
value.c:51
Generated on
for Fun by
1.16.1