package org.openecard.mdlw.sal.cryptoki;
import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
 * <i>native declaration : pkcs11_v2.40/pkcs11t.h</i><br>
 * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
 * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
 * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
 */
public class CK_MECHANISM_INFO extends Structure {
	/** C type : CK_ULONG */
	public NativeLong ulMinKeySize;
	public NativeLong getUlMinKeySize() {
		return ulMinKeySize;
	}
	public void setUlMinKeySize(NativeLong ulMinKeySize) {
		this.ulMinKeySize = ulMinKeySize;
	}
	/** C type : CK_ULONG */
	public NativeLong ulMaxKeySize;
	public NativeLong getUlMaxKeySize() {
		return ulMaxKeySize;
	}
	public void setUlMaxKeySize(NativeLong ulMaxKeySize) {
		this.ulMaxKeySize = ulMaxKeySize;
	}
	/** C type : CK_FLAGS */
	public NativeLong flags;
	public NativeLong getFlags() {
		return flags;
	}
	public void setFlags(NativeLong flags) {
		this.flags = flags;
	}
	public CK_MECHANISM_INFO() {
		super();
	}
	 protected List<String> getFieldOrder() {
		return Arrays.asList("ulMinKeySize", "ulMaxKeySize", "flags");
	}
	/**
	 * @param ulMinKeySize C type : CK_ULONG<br>
	 * @param ulMaxKeySize C type : CK_ULONG<br>
	 * @param flags C type : CK_FLAGS
	 */
	public CK_MECHANISM_INFO(NativeLong ulMinKeySize, NativeLong ulMaxKeySize, NativeLong flags) {
		super();
		this.ulMinKeySize = ulMinKeySize;
		this.ulMaxKeySize = ulMaxKeySize;
		this.flags = flags;
	}
	public CK_MECHANISM_INFO(Pointer peer) {
		super(peer);
	}
	public static class ByReference extends CK_MECHANISM_INFO implements Structure.ByReference {
		
	};
	public static class ByValue extends CK_MECHANISM_INFO implements Structure.ByValue {
		
	};
}
