package com.mutar.libav.bridge.avformat;
import org.bridj.BridJ;
import org.bridj.Pointer;
import org.bridj.StructObject;
import org.bridj.ann.Field;
import org.bridj.ann.Library;
/**
 * <i>native declaration : ffmpeg_build/include/libavformat/avio.h:49</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("avformat") 
public class AVIODirEntry extends StructObject {
	static {
		BridJ.register();
	}
	/**
	 * < Filename<br>
	 * C type : char*
	 */
	@Field(0) 
	public Pointer<Byte > name() {
		return this.io.getPointerField(this, 0);
	}
	/**
	 * < Filename<br>
	 * C type : char*
	 */
	@Field(0) 
	public AVIODirEntry name(Pointer<Byte > name) {
		this.io.setPointerField(this, 0, name);
		return this;
	}
	/** < Type of the entry */
	@Field(1) 
	public int type() {
		return this.io.getIntField(this, 1);
	}
	/** < Type of the entry */
	@Field(1) 
	public AVIODirEntry type(int type) {
		this.io.setIntField(this, 1, type);
		return this;
	}
	/**
	 * < Set to 1 when name is encoded with UTF-8, 0 otherwise.<br>
	 * Name can be encoded with UTF-8 even though 0 is set.
	 */
	@Field(2) 
	public int utf8() {
		return this.io.getIntField(this, 2);
	}
	/**
	 * < Set to 1 when name is encoded with UTF-8, 0 otherwise.<br>
	 * Name can be encoded with UTF-8 even though 0 is set.
	 */
	@Field(2) 
	public AVIODirEntry utf8(int utf8) {
		this.io.setIntField(this, 2, utf8);
		return this;
	}
	/** < File size in bytes, -1 if unknown. */
	@Field(3) 
	public long size() {
		return this.io.getLongField(this, 3);
	}
	/** < File size in bytes, -1 if unknown. */
	@Field(3) 
	public AVIODirEntry size(long size) {
		this.io.setLongField(this, 3, size);
		return this;
	}
	/**
	 * < Time of last modification in microseconds since unix<br>
	 * epoch, -1 if unknown.
	 */
	@Field(4) 
	public long modification_timestamp() {
		return this.io.getLongField(this, 4);
	}
	/**
	 * < Time of last modification in microseconds since unix<br>
	 * epoch, -1 if unknown.
	 */
	@Field(4) 
	public AVIODirEntry modification_timestamp(long modification_timestamp) {
		this.io.setLongField(this, 4, modification_timestamp);
		return this;
	}
	/**
	 * < Time of last access in microseconds since unix epoch,<br>
	 * -1 if unknown.
	 */
	@Field(5) 
	public long access_timestamp() {
		return this.io.getLongField(this, 5);
	}
	/**
	 * < Time of last access in microseconds since unix epoch,<br>
	 * -1 if unknown.
	 */
	@Field(5) 
	public AVIODirEntry access_timestamp(long access_timestamp) {
		this.io.setLongField(this, 5, access_timestamp);
		return this;
	}
	/**
	 * < Time of last status change in microseconds since unix<br>
	 * epoch, -1 if unknown.
	 */
	@Field(6) 
	public long status_change_timestamp() {
		return this.io.getLongField(this, 6);
	}
	/**
	 * < Time of last status change in microseconds since unix<br>
	 * epoch, -1 if unknown.
	 */
	@Field(6) 
	public AVIODirEntry status_change_timestamp(long status_change_timestamp) {
		this.io.setLongField(this, 6, status_change_timestamp);
		return this;
	}
	/** < User ID of owner, -1 if unknown. */
	@Field(7) 
	public long user_id() {
		return this.io.getLongField(this, 7);
	}
	/** < User ID of owner, -1 if unknown. */
	@Field(7) 
	public AVIODirEntry user_id(long user_id) {
		this.io.setLongField(this, 7, user_id);
		return this;
	}
	/** < Group ID of owner, -1 if unknown. */
	@Field(8) 
	public long group_id() {
		return this.io.getLongField(this, 8);
	}
	/** < Group ID of owner, -1 if unknown. */
	@Field(8) 
	public AVIODirEntry group_id(long group_id) {
		this.io.setLongField(this, 8, group_id);
		return this;
	}
	/** < Unix file mode, -1 if unknown. */
	@Field(9) 
	public long filemode() {
		return this.io.getLongField(this, 9);
	}
	/** < Unix file mode, -1 if unknown. */
	@Field(9) 
	public AVIODirEntry filemode(long filemode) {
		this.io.setLongField(this, 9, filemode);
		return this;
	}
	public AVIODirEntry() {
		super();
	}
	public AVIODirEntry(Pointer pointer) {
		super(pointer);
	}
}
