#
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
module name java.smartcardio
header exports javax/smartcardio requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/smartcardio/SunPCSC flags 8000

class name javax/smartcardio/ATR
header extends java/lang/Object implements java/io/Serializable flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name <init> descriptor ([B)V flags 1
method name getBytes descriptor ()[B flags 1
method name getHistoricalBytes descriptor ()[B flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1

class name javax/smartcardio/Card
header extends java/lang/Object flags 421
method name <init> descriptor ()V flags 4
method name getATR descriptor ()Ljavax/smartcardio/ATR; flags 401
method name getProtocol descriptor ()Ljava/lang/String; flags 401
method name getBasicChannel descriptor ()Ljavax/smartcardio/CardChannel; flags 401
method name openLogicalChannel descriptor ()Ljavax/smartcardio/CardChannel; thrownTypes javax/smartcardio/CardException flags 401
method name beginExclusive descriptor ()V thrownTypes javax/smartcardio/CardException flags 401
method name endExclusive descriptor ()V thrownTypes javax/smartcardio/CardException flags 401
method name transmitControlCommand descriptor (I[B)[B thrownTypes javax/smartcardio/CardException flags 401
method name disconnect descriptor (Z)V thrownTypes javax/smartcardio/CardException flags 401

class name javax/smartcardio/CardChannel
header extends java/lang/Object flags 421
method name <init> descriptor ()V flags 4
method name getCard descriptor ()Ljavax/smartcardio/Card; flags 401
method name getChannelNumber descriptor ()I flags 401
method name transmit descriptor (Ljavax/smartcardio/CommandAPDU;)Ljavax/smartcardio/ResponseAPDU; thrownTypes javax/smartcardio/CardException flags 401
method name transmit descriptor (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I thrownTypes javax/smartcardio/CardException flags 401
method name close descriptor ()V thrownTypes javax/smartcardio/CardException flags 401

class name javax/smartcardio/CardException
header extends java/lang/Exception flags 21
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/Throwable;)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 1

class name javax/smartcardio/CardNotPresentException
header extends javax/smartcardio/CardException flags 21
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/Throwable;)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 1

class name javax/smartcardio/CardPermission
header extends java/security/Permission flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;)V flags 1
method name getActions descriptor ()Ljava/lang/String; flags 1
method name implies descriptor (Ljava/security/Permission;)Z flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1

class name javax/smartcardio/CardTerminal
header extends java/lang/Object flags 421
method name <init> descriptor ()V flags 4
method name getName descriptor ()Ljava/lang/String; flags 401
method name connect descriptor (Ljava/lang/String;)Ljavax/smartcardio/Card; thrownTypes javax/smartcardio/CardException flags 401
method name isCardPresent descriptor ()Z thrownTypes javax/smartcardio/CardException flags 401
method name waitForCardPresent descriptor (J)Z thrownTypes javax/smartcardio/CardException flags 401
method name waitForCardAbsent descriptor (J)Z thrownTypes javax/smartcardio/CardException flags 401

class name javax/smartcardio/CardTerminals
header extends java/lang/Object flags 421
innerclass innerClass javax/smartcardio/CardTerminals$State outerClass javax/smartcardio/CardTerminals innerClassName State flags 4019
method name <init> descriptor ()V flags 4
method name list descriptor ()Ljava/util/List; thrownTypes javax/smartcardio/CardException flags 1 signature ()Ljava/util/List<Ljavax/smartcardio/CardTerminal;>;
method name list descriptor (Ljavax/smartcardio/CardTerminals$State;)Ljava/util/List; thrownTypes javax/smartcardio/CardException flags 401 signature (Ljavax/smartcardio/CardTerminals$State;)Ljava/util/List<Ljavax/smartcardio/CardTerminal;>;
method name getTerminal descriptor (Ljava/lang/String;)Ljavax/smartcardio/CardTerminal; flags 1
method name waitForChange descriptor ()V thrownTypes javax/smartcardio/CardException flags 1
method name waitForChange descriptor (J)Z thrownTypes javax/smartcardio/CardException flags 401

class name javax/smartcardio/CardTerminals$State
header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljavax/smartcardio/CardTerminals$State;>;
innerclass innerClass javax/smartcardio/CardTerminals$State outerClass javax/smartcardio/CardTerminals innerClassName State flags 4019
field name ALL descriptor Ljavax/smartcardio/CardTerminals$State; flags 4019
field name CARD_PRESENT descriptor Ljavax/smartcardio/CardTerminals$State; flags 4019
field name CARD_ABSENT descriptor Ljavax/smartcardio/CardTerminals$State; flags 4019
field name CARD_INSERTION descriptor Ljavax/smartcardio/CardTerminals$State; flags 4019
field name CARD_REMOVAL descriptor Ljavax/smartcardio/CardTerminals$State; flags 4019
method name values descriptor ()[Ljavax/smartcardio/CardTerminals$State; flags 9
method name valueOf descriptor (Ljava/lang/String;)Ljavax/smartcardio/CardTerminals$State; flags 9

class name javax/smartcardio/CommandAPDU
header extends java/lang/Object implements java/io/Serializable flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name <init> descriptor ([B)V flags 1
method name <init> descriptor ([BII)V flags 1
method name <init> descriptor (Ljava/nio/ByteBuffer;)V flags 1
method name <init> descriptor (IIII)V flags 1
method name <init> descriptor (IIIII)V flags 1
method name <init> descriptor (IIII[B)V flags 1
method name <init> descriptor (IIII[BII)V flags 1
method name <init> descriptor (IIII[BI)V flags 1
method name <init> descriptor (IIII[BIII)V flags 1
method name getCLA descriptor ()I flags 1
method name getINS descriptor ()I flags 1
method name getP1 descriptor ()I flags 1
method name getP2 descriptor ()I flags 1
method name getNc descriptor ()I flags 1
method name getData descriptor ()[B flags 1
method name getNe descriptor ()I flags 1
method name getBytes descriptor ()[B flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1

class name javax/smartcardio/ResponseAPDU
header extends java/lang/Object implements java/io/Serializable flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name <init> descriptor ([B)V flags 1
method name getNr descriptor ()I flags 1
method name getData descriptor ()[B flags 1
method name getSW1 descriptor ()I flags 1
method name getSW2 descriptor ()I flags 1
method name getSW descriptor ()I flags 1
method name getBytes descriptor ()[B flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1

class name javax/smartcardio/TerminalFactory
header extends java/lang/Object flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name getDefaultType descriptor ()Ljava/lang/String; flags 9
method name getDefault descriptor ()Ljavax/smartcardio/TerminalFactory; flags 9
method name getInstance descriptor (Ljava/lang/String;Ljava/lang/Object;)Ljavax/smartcardio/TerminalFactory; thrownTypes java/security/NoSuchAlgorithmException flags 9
method name getInstance descriptor (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljavax/smartcardio/TerminalFactory; thrownTypes java/security/NoSuchAlgorithmException,java/security/NoSuchProviderException flags 9
method name getInstance descriptor (Ljava/lang/String;Ljava/lang/Object;Ljava/security/Provider;)Ljavax/smartcardio/TerminalFactory; thrownTypes java/security/NoSuchAlgorithmException flags 9
method name getProvider descriptor ()Ljava/security/Provider; flags 1
method name getType descriptor ()Ljava/lang/String; flags 1
method name terminals descriptor ()Ljavax/smartcardio/CardTerminals; flags 1
method name toString descriptor ()Ljava/lang/String; flags 1

class name javax/smartcardio/TerminalFactorySpi
header extends java/lang/Object flags 421
method name <init> descriptor ()V flags 4
method name engineTerminals descriptor ()Ljavax/smartcardio/CardTerminals; flags 404

