package org.openecard.mdlw.sal.cryptoki;
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_SKIPJACK_PRIVATE_WRAP_PARAMS extends Structure {
	/** C type : CK_ULONG */
	public long ulPasswordLen;
	public long getUlPasswordLen() {
		return ulPasswordLen;
	}
	public void setUlPasswordLen(long ulPasswordLen) {
		this.ulPasswordLen = ulPasswordLen;
	}
	/** C type : CK_BYTE_PTR */
	public Pointer pPassword;
	public Pointer getPPassword() {
		return pPassword;
	}
	public void setPPassword(Pointer pPassword) {
		this.pPassword = pPassword;
	}
	/** C type : CK_ULONG */
	public long ulPublicDataLen;
	public long getUlPublicDataLen() {
		return ulPublicDataLen;
	}
	public void setUlPublicDataLen(long ulPublicDataLen) {
		this.ulPublicDataLen = ulPublicDataLen;
	}
	/** C type : CK_BYTE_PTR */
	public Pointer pPublicData;
	public Pointer getPPublicData() {
		return pPublicData;
	}
	public void setPPublicData(Pointer pPublicData) {
		this.pPublicData = pPublicData;
	}
	/** C type : CK_ULONG */
	public long ulPAndGLen;
	public long getUlPAndGLen() {
		return ulPAndGLen;
	}
	public void setUlPAndGLen(long ulPAndGLen) {
		this.ulPAndGLen = ulPAndGLen;
	}
	/** C type : CK_ULONG */
	public long ulQLen;
	public long getUlQLen() {
		return ulQLen;
	}
	public void setUlQLen(long ulQLen) {
		this.ulQLen = ulQLen;
	}
	/** C type : CK_ULONG */
	public long ulRandomLen;
	public long getUlRandomLen() {
		return ulRandomLen;
	}
	public void setUlRandomLen(long ulRandomLen) {
		this.ulRandomLen = ulRandomLen;
	}
	/** C type : CK_BYTE_PTR */
	public Pointer pRandomA;
	public Pointer getPRandomA() {
		return pRandomA;
	}
	public void setPRandomA(Pointer pRandomA) {
		this.pRandomA = pRandomA;
	}
	/** C type : CK_BYTE_PTR */
	public Pointer pPrimeP;
	public Pointer getPPrimeP() {
		return pPrimeP;
	}
	public void setPPrimeP(Pointer pPrimeP) {
		this.pPrimeP = pPrimeP;
	}
	/** C type : CK_BYTE_PTR */
	public Pointer pBaseG;
	public Pointer getPBaseG() {
		return pBaseG;
	}
	public void setPBaseG(Pointer pBaseG) {
		this.pBaseG = pBaseG;
	}
	/** C type : CK_BYTE_PTR */
	public Pointer pSubprimeQ;
	public Pointer getPSubprimeQ() {
		return pSubprimeQ;
	}
	public void setPSubprimeQ(Pointer pSubprimeQ) {
		this.pSubprimeQ = pSubprimeQ;
	}
	public CK_SKIPJACK_PRIVATE_WRAP_PARAMS() {
		super();
	}
	 protected List<String> getFieldOrder() {
		return Arrays.asList("ulPasswordLen", "pPassword", "ulPublicDataLen", "pPublicData", "ulPAndGLen", "ulQLen", "ulRandomLen", "pRandomA", "pPrimeP", "pBaseG", "pSubprimeQ");
	}
	public CK_SKIPJACK_PRIVATE_WRAP_PARAMS(Pointer peer) {
		super(peer);
	}
	public static class ByReference extends CK_SKIPJACK_PRIVATE_WRAP_PARAMS implements Structure.ByReference {
		
	};
	public static class ByValue extends CK_SKIPJACK_PRIVATE_WRAP_PARAMS implements Structure.ByValue {
		
	};
}
