package com.nativelibs4java.mono.library;
/**
 * 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 MonoArrayType extends com.ochafik.lang.jnaerator.runtime.Structure<MonoArrayType, MonoArrayType.ByValue, MonoArrayType.ByReference> {
	/// C type : MonoClass*
	public com.nativelibs4java.mono.library.MonoLibrary.MonoClass eklass;
	public byte rank;
	public byte numsizes;
	public byte numlobounds;
	/// C type : int*
	public com.sun.jna.ptr.IntByReference sizes;
	/// C type : int*
	public com.sun.jna.ptr.IntByReference lobounds;
	public MonoArrayType() {
		super();
	}
	/**
	 * @param eklass C type : MonoClass*<br>
	 * @param sizes C type : int*<br>
	 * @param lobounds C type : int*
	 */
	public MonoArrayType(com.nativelibs4java.mono.library.MonoLibrary.MonoClass eklass, byte rank, byte numsizes, byte numlobounds, com.sun.jna.ptr.IntByReference sizes, com.sun.jna.ptr.IntByReference lobounds) {
		super();
		this.eklass = eklass;
		this.rank = rank;
		this.numsizes = numsizes;
		this.numlobounds = numlobounds;
		this.sizes = sizes;
		this.lobounds = lobounds;
	}
	protected ByReference newByReference() { return new ByReference(); }
	protected ByValue newByValue() { return new ByValue(); }
	protected MonoArrayType newInstance() { return new MonoArrayType(); }
	public static MonoArrayType[] newArray(int arrayLength) {
		return com.ochafik.lang.jnaerator.runtime.Structure.newArray(MonoArrayType.class, arrayLength);
	}
	public static class ByReference extends MonoArrayType implements com.sun.jna.Structure.ByReference {}
	public static class ByValue extends MonoArrayType implements com.sun.jna.Structure.ByValue {}
}
