package com.nativelibs4java.mono.bridj;
import org.bridj.Pointer;
import org.bridj.StructObject;
import org.bridj.ann.Field;
import org.bridj.ann.Library;
/**
 * <i>native declaration : /Library/Frameworks/Mono.framework/Headers/mono-2.0/mono/metadata/reflection.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> or <a href="http://bridj.googlecode.com/">BridJ</a> .
 */
@Library("mono") 
public class MonoReflectionMethodAux extends StructObject {
	public MonoReflectionMethodAux() {
		super();
	}
	public MonoReflectionMethodAux(Pointer pointer) {
		super(pointer);
	}
	/// C type : char**
	@Field(0) 
	public Pointer<Pointer<Byte > > param_names() {
		return this.io.getPointerField(this, 0);
	}
	/// C type : char**
	@Field(0) 
	public MonoReflectionMethodAux param_names(Pointer<Pointer<Byte > > param_names) {
		this.io.setPointerField(this, 0, param_names);
		return this;
	}
	/// C type : MonoMarshalSpec**
	@Field(1) 
	public Pointer<Pointer<MonoMarshalSpec > > param_marshall() {
		return this.io.getPointerField(this, 1);
	}
	/// C type : MonoMarshalSpec**
	@Field(1) 
	public MonoReflectionMethodAux param_marshall(Pointer<Pointer<MonoMarshalSpec > > param_marshall) {
		this.io.setPointerField(this, 1, param_marshall);
		return this;
	}
	/// C type : MonoCustomAttrInfo**
	@Field(2) 
	public Pointer<Pointer<MonoCustomAttrInfo > > param_cattr() {
		return this.io.getPointerField(this, 2);
	}
	/// C type : MonoCustomAttrInfo**
	@Field(2) 
	public MonoReflectionMethodAux param_cattr(Pointer<Pointer<MonoCustomAttrInfo > > param_cattr) {
		this.io.setPointerField(this, 2, param_cattr);
		return this;
	}
	/// C type : uint8_t**
	@Field(3) 
	public Pointer<Pointer<Byte > > param_defaults() {
		return this.io.getPointerField(this, 3);
	}
	/// C type : uint8_t**
	@Field(3) 
	public MonoReflectionMethodAux param_defaults(Pointer<Pointer<Byte > > param_defaults) {
		this.io.setPointerField(this, 3, param_defaults);
		return this;
	}
	/// C type : uint32_t*
	@Field(4) 
	public Pointer<Integer > param_default_types() {
		return this.io.getPointerField(this, 4);
	}
	/// C type : uint32_t*
	@Field(4) 
	public MonoReflectionMethodAux param_default_types(Pointer<Integer > param_default_types) {
		this.io.setPointerField(this, 4, param_default_types);
		return this;
	}
	/// C type : char*
	@Field(5) 
	public Pointer<Byte > dllentry() {
		return this.io.getPointerField(this, 5);
	}
	/// C type : char*
	@Field(5) 
	public MonoReflectionMethodAux dllentry(Pointer<Byte > dllentry) {
		this.io.setPointerField(this, 5, dllentry);
		return this;
	}
	/// C type : char*
	@Field(6) 
	public Pointer<Byte > dll() {
		return this.io.getPointerField(this, 6);
	}
	/// C type : char*
	@Field(6) 
	public MonoReflectionMethodAux dll(Pointer<Byte > dll) {
		this.io.setPointerField(this, 6, dll);
		return this;
	}
}
