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_SSL3_RANDOM_DATA extends Structure {
	/** C type : CK_BYTE_PTR */
	public Pointer pClientRandom;
	public Pointer getPClientRandom() {
		return pClientRandom;
	}
	public void setPClientRandom(Pointer pClientRandom) {
		this.pClientRandom = pClientRandom;
	}
	/** C type : CK_ULONG */
	public long ulClientRandomLen;
	public long getUlClientRandomLen() {
		return ulClientRandomLen;
	}
	public void setUlClientRandomLen(long ulClientRandomLen) {
		this.ulClientRandomLen = ulClientRandomLen;
	}
	/** C type : CK_BYTE_PTR */
	public Pointer pServerRandom;
	public Pointer getPServerRandom() {
		return pServerRandom;
	}
	public void setPServerRandom(Pointer pServerRandom) {
		this.pServerRandom = pServerRandom;
	}
	/** C type : CK_ULONG */
	public long ulServerRandomLen;
	public long getUlServerRandomLen() {
		return ulServerRandomLen;
	}
	public void setUlServerRandomLen(long ulServerRandomLen) {
		this.ulServerRandomLen = ulServerRandomLen;
	}
	public CK_SSL3_RANDOM_DATA() {
		super();
	}
	 protected List<String> getFieldOrder() {
		return Arrays.asList("pClientRandom", "ulClientRandomLen", "pServerRandom", "ulServerRandomLen");
	}
	/**
	 * @param pClientRandom C type : CK_BYTE_PTR<br>
	 * @param ulClientRandomLen C type : CK_ULONG<br>
	 * @param pServerRandom C type : CK_BYTE_PTR<br>
	 * @param ulServerRandomLen C type : CK_ULONG
	 */
	public CK_SSL3_RANDOM_DATA(Pointer pClientRandom, long ulClientRandomLen, Pointer pServerRandom, long ulServerRandomLen) {
		super();
		this.pClientRandom = pClientRandom;
		this.ulClientRandomLen = ulClientRandomLen;
		this.pServerRandom = pServerRandom;
		this.ulServerRandomLen = ulServerRandomLen;
	}
	public CK_SSL3_RANDOM_DATA(Pointer peer) {
		super(peer);
	}
	public static class ByReference extends CK_SSL3_RANDOM_DATA implements Structure.ByReference {
		
	};
	public static class ByValue extends CK_SSL3_RANDOM_DATA implements Structure.ByValue {
		
	};
}
