1 /* 2 * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. 3 */ 4 5 /* Copyright (c) 2002 Graz University of Technology. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are met: 9 * 10 * 1. Redistributions of source code must retain the above copyright notice, 11 * this list of conditions and the following disclaimer. 12 * 13 * 2. Redistributions in binary form must reproduce the above copyright notice, 14 * this list of conditions and the following disclaimer in the documentation 15 * and/or other materials provided with the distribution. 16 * 17 * 3. The end-user documentation included with the redistribution, if any, must 18 * include the following acknowledgment: 19 * 20 * "This product includes software developed by IAIK of Graz University of 21 * Technology." 22 * 23 * Alternately, this acknowledgment may appear in the software itself, if 24 * and wherever such third-party acknowledgments normally appear. 25 * 26 * 4. The names "Graz University of Technology" and "IAIK of Graz University of 27 * Technology" must not be used to endorse or promote products derived from 28 * this software without prior written permission. 29 * 30 * 5. Products derived from this software may not be called 31 * "IAIK PKCS Wrapper", nor may "IAIK" appear in their name, without prior 32 * written permission of Graz University of Technology. 33 * 34 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 35 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 36 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 37 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE 38 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 39 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 40 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 41 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 42 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 43 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 44 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 45 * POSSIBILITY OF SUCH DAMAGE. 46 */ 47 48 package sun.security.pkcs11.wrapper; 49 50 51 52 /** 53 * class CK_VERSION describes the version of a Cryptoki interface, a Cryptoki 54 * library, or an SSL implementation, or the hardware or firmware version of a 55 * slot or token.<p> 56 * <B>PKCS#11 structure:</B> 57 * <PRE> 58 * typedef struct CK_VERSION { 59 * CK_BYTE major; 60 * CK_BYTE minor; 61 * } CK_VERSION; 62 * </PRE> 63 * 64 * @author Karl Scheibelhofer <Karl.Scheibelhofer@iaik.at> 65 * @author Martin Schlaeffer <schlaeff@sbox.tugraz.at> 66 */ 67 public class CK_VERSION { 68 69 /** 70 * <B>PKCS#11:</B> 71 * <PRE> 72 * CK_BYTE major; 73 * </PRE> 74 */ 75 public byte major; /* integer portion of version number */ 76 77 /** 78 * <B>PKCS#11:</B> 79 * <PRE> 80 * CK_BYTE minor; 81 * </PRE> 82 */ 83 public byte minor; /* 1/100ths portion of version number */ 84 85 public CK_VERSION(int major, int minor) { 86 this.major = (byte)major; 87 this.minor = (byte)minor; 88 } 89 90 /** 91 * Returns the string representation of CK_VERSION. 92 * 93 * @return the string representation of CK_VERSION 94 */ 95 public String toString() { 96 StringBuilder buffer = new StringBuilder(); 97 98 buffer.append(major & 0xff); 99 buffer.append('.'); 100 int m = minor & 0xff; 101 if (m < 10) { 102 buffer.append('0'); 103 } 104 buffer.append(m); 105 106 return buffer.toString(); 107 } 108 109 }