package com.ochafik.lang.jnaerator.nativesupport.machoexport;
/**
 * <i>native declaration : sources/com/ochafik/lang/jnaerator/nativesupport/machoexport.h:78</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 nlist extends com.ochafik.lang.jnaerator.runtime.Structure<nlist, nlist.ByValue, nlist.ByReference> {
	public n_un_union n_un;
	/// type flag; see below
	public byte n_type;
	/// section number or NO_SECT
	public byte n_sect;
	/// see the header file stab.h
	public short n_desc;
	/**
	 * value of this symbol table entry<br>
	 * (or stab offset)
	 */
	public int n_value;
	/// <i>native declaration : sources/com/ochafik/lang/jnaerator/nativesupport/machoexport.h:79</i>
	public static class n_un_union extends com.ochafik.lang.jnaerator.runtime.Union<n_un_union, n_un_union.ByValue, n_un_union.ByReference> {
		/// for use when in-core
		public com.sun.jna.ptr.ByteByReference n_name;
		/// index into file string table
		public int n_strx;
		public n_un_union() {
			super();
		}
		/// @param n_strx index into file string table
		public n_un_union(int n_strx) {
			super();
			this.n_strx = n_strx;
			setType(Integer.TYPE);
		}
		/// @param n_name for use when in-core
		public n_un_union(com.sun.jna.ptr.ByteByReference n_name) {
			super();
			this.n_name = n_name;
			setType(com.sun.jna.ptr.ByteByReference.class);
		}
		protected ByReference newByReference() { return new ByReference(); }
		protected ByValue newByValue() { return new ByValue(); }
		protected n_un_union newInstance() { return new n_un_union(); }
		public static class ByReference extends n_un_union implements com.sun.jna.Structure.ByReference {}
		public static class ByValue extends n_un_union implements com.sun.jna.Structure.ByValue {}
	}
	public nlist() {
		super();
	}
	/**
	 * @param n_type type flag; see below<br>
	 * @param n_sect section number or NO_SECT<br>
	 * @param n_desc see the header file stab.h<br>
	 * @param n_value value of this symbol table entry<br>
	 * (or stab offset)
	 */
	public nlist(n_un_union n_un, byte n_type, byte n_sect, short n_desc, int n_value) {
		super();
		this.n_un = n_un;
		this.n_type = n_type;
		this.n_sect = n_sect;
		this.n_desc = n_desc;
		this.n_value = n_value;
	}
	protected ByReference newByReference() { return new ByReference(); }
	protected ByValue newByValue() { return new ByValue(); }
	protected nlist newInstance() { return new nlist(); }
	public static class ByReference extends nlist implements com.sun.jna.Structure.ByReference {}
	public static class ByValue extends nlist implements com.sun.jna.Structure.ByValue {}
}
