package edu.wpi.first.wpilibj.can;
//import com.ochafik.lang.jnaerator.runtime.LibraryExtractor;
//import com.ochafik.lang.jnaerator.runtime.MangledFunctionMapper;
//import com.sun.jna.Library;
//import com.sun.jna.Native;
//import com.sun.jna.NativeLibrary;
//import com.sun.jna.Pointer;
//import com.sun.jna.ptr.IntByReference;
import edu.wpi.first.wpilibj.hal.JNIWrapper;
import java.nio.ByteBuffer;
import java.nio.IntBuffer;
/**
 * JNA Wrapper for library <b>CAN</b><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 CANJNI extends JNIWrapper{
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_LIMIT_REV = 0x02;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_MAX_VOUT = ((0x00020000 | 0x02000000 | 0x00001c00) | (7 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_CANERR_B0 = 30;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_DIS = ((0x00020000 | 0x02000000 | 0x00000400) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_ACCEL = 0x05000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_FAULT = ((0x00020000 | 0x02000000 | 0x00001400) | (7 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_FIRMVER = 0x00000200;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_EN = ((0x00020000 | 0x02000000 | 0x00001000) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_ENUMERATE = 0x00000240;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_EN = ((0x00020000 | 0x02000000 | 0x00000400) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_LIMIT_REV = ((0x00020000 | 0x02000000 | 0x00001c00) | (6 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_POS_B2 = 11;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_POS_B3 = 12;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_EN = ((0x00020000 | 0x02000000 | 0x00000800) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_POS_B0 = 9;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_POS_B1 = 10;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_HWVER = ((0x00020000 | 0x1f000000) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_FAULT_ILIMIT = 0x01;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_DC = ((0x00020000 | 0x02000000 | 0x00001000) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT = (0x00020000 | 0x02000000 | 0x00000000);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_VCOMP = 0x00000800;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_END = 0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_LIMIT_FWD = ((0x00020000 | 0x02000000 | 0x00001c00) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_M = 0x1f000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_ICTRL = 0x00001000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_CFG = 0x00001c00;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_MFR_DEKA = 0x00030000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_SYSRST = 0x00000040;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_REF_QUAD_ENCODER = 0x03;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SYNC_PEND_NOW = 0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_CMODE_CURRENT = 0x01;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_TEMP = ((0x00020000 | 0x02000000 | 0x00001400) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_DC = ((0x00020000 | 0x02000000 | 0x00000400) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_POS = 0x00000c00;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_LIMIT_SFWD = 0x04;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_DIS = ((0x00020000 | 0x02000000 | 0x00001000) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_SET = ((0x00020000 | 0x02000000 | 0x00000000) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_HEARTBEAT = 0x00000140;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_FAULT_CURRENT = 0x01;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_GYRO = 0x04000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_FAULT_TLIMIT = 0x02;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_MFR_S = 16;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000400) | (10 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_MFR_M = 0x00ff0000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_CMODE_POS = 0x03;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_REF_POT = 0x01;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_HWVER_UNKNOWN = 0x00;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_BRAKE_COAST = ((0x00020000 | 0x02000000 | 0x00001c00) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_HWVER_JAG_1_0 = 0x01;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DEVNO_BCAST = 0x00000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_T_SET = ((0x00020000 | 0x02000000 | 0x00000000) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_LIMIT_STKY_SREV = 0x80;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_IC = ((0x00020000 | 0x02000000 | 0x00001000) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_FAULT_COMM = 0x10;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00001000) | (9 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_SPD_B2 = 15;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_SPD_B1 = 14;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_STKY_FLT_CLR = 21;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_SPD_B3 = 16;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_STATUS_MFG_S = 16;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000400) | (11 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_LIMIT = ((0x00020000 | 0x02000000 | 0x00001400) | (6 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_EN = ((0x00020000 | 0x02000000 | 0x00000000) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_RAMP_DIS = 0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_TEMP_B0 = 7;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_TEMP_B1 = 8;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_IC = ((0x00020000 | 0x02000000 | 0x00000c00) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_MOTOR = 0x02000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_T_EN = ((0x00020000 | 0x02000000 | 0x00000400) | (7 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DEVNO_M = 0x0000003f;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_VOLTBUS_B1 = 4;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_UPD_PING = ((0x00020000 | 0x1f000000) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000c00) | (10 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DEVNO_S = 0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_TRUST_HEARTBEAT = ((0x00020000 | 0x1f000000) | (13 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_VOLTBUS_B0 = 3;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_SPD_B0 = 13;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG = (0x00020000 | 0x02000000 | 0x00001c00);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_FLT_COUNT_COMM = 28;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_SYSHALT = 0x00000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_UPD_DOWNLOAD = ((0x00020000 | 0x1f000000) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_CMODE = ((0x00020000 | 0x02000000 | 0x00001400) | (9 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_IN_RAMP = ((0x00020000 | 0x02000000 | 0x00000800) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_FAULT_VLIMIT = 0x04;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_LIMIT_SREV = 0x08;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_S = 24;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_FLT_COUNT_VOLTBUS = 26;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_STATUS = 0x00001400;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_T_EN = ((0x00020000 | 0x02000000 | 0x00000000) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_VOLTBUS = ((0x00020000 | 0x02000000 | 0x00001400) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_UPD = (0x00020000 | 0x1f000000);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_UPD_REQUEST = ((0x00020000 | 0x1f000000) | (6 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_VOLTAGE = 0x00000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_PER_EN_S3 = ((0x00020000 | 0x02000000 | 0x00001800) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_PER_EN_S2 = ((0x00020000 | 0x02000000 | 0x00001800) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_PSTAT = 0x00001800;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_CANERR_B1 = 31;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_PER_EN_S1 = ((0x00020000 | 0x02000000 | 0x00001800) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_REF_ENCODER = 0x00;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_PER_EN_S0 = ((0x00020000 | 0x02000000 | 0x00001800) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_CURRENT = ((0x00020000 | 0x02000000 | 0x00001400) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_SET = ((0x00020000 | 0x02000000 | 0x00000c00) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_LIMIT_STKY_FWD = 0x10;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL = (0x00020000 | 0x02000000 | 0x00001000);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_HWVER_JAG_2_0 = 0x02;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_STATUS_MFG_M = 0x00ff0000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_LIMIT_CLR = 18;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_POT_TURNS = ((0x00020000 | 0x02000000 | 0x00001c00) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_REF = ((0x00020000 | 0x02000000 | 0x00000c00) | (6 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_PC = ((0x00020000 | 0x02000000 | 0x00000400) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_VOUT = ((0x00020000 | 0x02000000 | 0x00001400) | (10 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_SYSRESUME = 0x00000280;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_UNTRUST_EN = ((0x00020000 | 0x1f000000) | (11 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_CANSTS = 29;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_DC = ((0x00020000 | 0x02000000 | 0x00000c00) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_POS = ((0x00020000 | 0x02000000 | 0x00001400) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_SET = ((0x00020000 | 0x02000000 | 0x00000400) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_FULL_M = 0x1fffffff;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_SPD = ((0x00020000 | 0x02000000 | 0x00001400) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_STKY_FLT_NCLR = 20;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS = (0x00020000 | 0x02000000 | 0x00001400);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_TRUST_EN = ((0x00020000 | 0x1f000000) | (12 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_T_SET = ((0x00020000 | 0x02000000 | 0x00001000) | (7 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_STATUS_CODE_M = 0x0000ffff;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_STATUS_CODE_S = 0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_T_EN = ((0x00020000 | 0x02000000 | 0x00000c00) | (7 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT = (0x00020000 | 0x02000000 | 0x00001800);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_FAULT = 19;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_FLT_COUNT_GATE = 27;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_T_EN = ((0x00020000 | 0x02000000 | 0x00001000) | (6 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_DEVQUERY = 0x000000c0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_USONIC = 0x06000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_CMODE_VCOMP = 0x04;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_T_SET = ((0x00020000 | 0x02000000 | 0x00000400) | (8 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_EN = ((0x00020000 | 0x02000000 | 0x00000c00) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_DIS = ((0x00020000 | 0x02000000 | 0x00000000) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_LIMIT_FWD = 0x01;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_DIS = ((0x00020000 | 0x02000000 | 0x00000800) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_REF_INV_ENCODER = 0x02;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_NUM_BRUSHES = ((0x00020000 | 0x02000000 | 0x00001c00) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_RELAY = 0x03000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_DEVASSIGN = 0x00000080;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000000) | (7 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_SPD = 0x00000400;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_ENC_LINES = ((0x00020000 | 0x02000000 | 0x00001c00) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_REF_NONE = 0xff;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_FAULT_VBUS = 0x04;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_SET_RAMP = ((0x00020000 | 0x02000000 | 0x00000000) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_REF = ((0x00020000 | 0x02000000 | 0x00000400) | (6 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_POWER = ((0x00020000 | 0x02000000 | 0x00001400) | (8 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_VOLTOUT_B1 = 2;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000800) | (9 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_VOLTOUT_B0 = 1;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_LIMIT_MODE = ((0x00020000 | 0x02000000 | 0x00001c00) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_VOUT_B1 = 23;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_UPD_SEND_DATA = ((0x00020000 | 0x1f000000) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_FLT_COUNT_CURRENT = 24;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_VOUT_B0 = 22;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_CFG_S0 = ((0x00020000 | 0x02000000 | 0x00001800) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_LIMIT_NCLR = 17;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_CFG_S1 = ((0x00020000 | 0x02000000 | 0x00001800) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_CFG_S2 = ((0x00020000 | 0x02000000 | 0x00001800) | (6 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_CFG_S3 = ((0x00020000 | 0x02000000 | 0x00001800) | (7 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_SET = ((0x00020000 | 0x02000000 | 0x00000800) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_UPDATE = 0x000001c0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_CFG_FAULT_TIME = ((0x00020000 | 0x02000000 | 0x00001c00) | (8 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_VOLTOUT = ((0x00020000 | 0x02000000 | 0x00001400) | (0 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_SET = ((0x00020000 | 0x02000000 | 0x00001000) | (2 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_M = 0x0000ffc0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_CMODE_SPEED = 0x02;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_CLASS_M = 0x0000fc00;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_DATA_S3 = ((0x00020000 | 0x02000000 | 0x00001800) | (11 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_S = 6;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_FLT_COUNT = ((0x00020000 | 0x02000000 | 0x00001400) | (12 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_DATA_S2 = ((0x00020000 | 0x02000000 | 0x00001800) | (10 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_DATA_S1 = ((0x00020000 | 0x02000000 | 0x00001800) | (9 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_PSTAT_DATA_S0 = ((0x00020000 | 0x02000000 | 0x00001800) | (8 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_PC = ((0x00020000 | 0x02000000 | 0x00001000) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_PC = ((0x00020000 | 0x02000000 | 0x00000c00) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_MFR_LM = 0x00020000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_DIS = ((0x00020000 | 0x02000000 | 0x00000c00) | (1 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_BCAST = 0x00000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_CMODE_VOLT = 0x00;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_STATUS_DTYPE_S = 24;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000c00) | (11 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_FAULT_GATE_DRIVE = 0x08;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_STATUS_DTYPE_M = 0x1f000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_LIMIT_STKY_REV = 0x20;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_ROBOT = 0x01000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_API_MC_ACK = 0x00002000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP = (0x00020000 | 0x02000000 | 0x00000800);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_UPD_ACK = ((0x00020000 | 0x1f000000) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_COMP_RAMP = ((0x00020000 | 0x02000000 | 0x00000800) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000800) | (8 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS = (0x00020000 | 0x02000000 | 0x00000c00);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_SYNC = 0x00000180;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ICTRL_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00001000) | (10 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_CURRENT_B1 = 6;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD = (0x00020000 | 0x02000000 | 0x00000400);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_CURRENT_B0 = 5;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_UPDATE = 0x1f000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_SPD_IC = ((0x00020000 | 0x02000000 | 0x00000400) | (4 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_ACK = (0x00020000 | 0x02000000 | 0x00002000);
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_FAULT_TEMP = 0x02;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_T_SET = ((0x00020000 | 0x02000000 | 0x00000800) | (6 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_PSTAT_FLT_COUNT_TEMP = 25;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VOLT_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000000) | (8 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_DTYPE_GEART = 0x07000000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_MFR_NI = 0x00010000;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_POS_T_SET = ((0x00020000 | 0x02000000 | 0x00000c00) | (8 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_STATUS_STKY_FLT = ((0x00020000 | 0x02000000 | 0x00001400) | (11 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_UPD_RESET = ((0x00020000 | 0x1f000000) | (3 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int CAN_MSGID_API_ID_M = 0x000003c0;
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_API_VCOMP_T_EN = ((0x00020000 | 0x02000000 | 0x00000800) | (5 << 6));
	/** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
	public static final int LM_STATUS_LIMIT_STKY_SFWD = 0x40;
	
	public static final int CAN_SEND_PERIOD_NO_REPEAT = 0;
	public static final int CAN_SEND_PERIOD_STOP_REPEATING = -1;

	/* Flags in the upper bits of the messageID */
	public static final int CAN_IS_FRAME_REMOTE = 0x80000000;
	public static final int CAN_IS_FRAME_11BIT = 0x40000000;

	public static native void FRCNetworkCommunicationCANSessionMuxSendMessage(int messageID, ByteBuffer data, int periodMs, IntBuffer status);
	public static native ByteBuffer FRCNetworkCommunicationCANSessionMuxReceiveMessage(IntBuffer messageID, int messageIDMask, ByteBuffer timeStamp, IntBuffer status);
}
