Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/windows/classes/sun/security/smartcardio/PlatformPCSC.java
32288 views
/*1* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425package sun.security.smartcardio;2627import java.security.AccessController;28import java.security.PrivilegedAction;2930// Platform specific code and constants31class PlatformPCSC {3233static final Throwable initException;3435PlatformPCSC() {36// empty37}3839static {40initException = loadLibrary();41}4243private static Throwable loadLibrary() {44try {45AccessController.doPrivileged(new PrivilegedAction<Void>() {46public Void run() {47System.loadLibrary("j2pcsc");48return null;49}50});51return null;52} catch (Throwable e) {53return e;54}55}5657// PCSC constants defined differently under Windows and MUSCLE58// Windows version59final static int SCARD_PROTOCOL_T0 = 0x0001;60final static int SCARD_PROTOCOL_T1 = 0x0002;61final static int SCARD_PROTOCOL_RAW = 0x10000;6263final static int SCARD_UNKNOWN = 0x0000;64final static int SCARD_ABSENT = 0x0001;65final static int SCARD_PRESENT = 0x0002;66final static int SCARD_SWALLOWED = 0x0003;67final static int SCARD_POWERED = 0x0004;68final static int SCARD_NEGOTIABLE = 0x0005;69final static int SCARD_SPECIFIC = 0x0006;7071}727374