/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef CAN_ERROR_H
#define CAN_ERROR_H
#define CAN_ERR_DLC 8
#define CAN_ERR_TX_TIMEOUT 0x00000001U
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_LOSTARB 0x00000002U
#define CAN_ERR_CRTL 0x00000004U
#define CAN_ERR_PROT 0x00000008U
#define CAN_ERR_TRX 0x00000010U
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_ACK 0x00000020U
#define CAN_ERR_BUSOFF 0x00000040U
#define CAN_ERR_BUSERROR 0x00000080U
#define CAN_ERR_RESTARTED 0x00000100U
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_LOSTARB_UNSPEC 0x00
#define CAN_ERR_CRTL_UNSPEC 0x00
#define CAN_ERR_CRTL_RX_OVERFLOW 0x01
#define CAN_ERR_CRTL_TX_OVERFLOW 0x02
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_CRTL_RX_WARNING 0x04
#define CAN_ERR_CRTL_TX_WARNING 0x08
#define CAN_ERR_CRTL_RX_PASSIVE 0x10
#define CAN_ERR_CRTL_TX_PASSIVE 0x20
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_PROT_UNSPEC 0x00
#define CAN_ERR_PROT_BIT 0x01
#define CAN_ERR_PROT_FORM 0x02
#define CAN_ERR_PROT_STUFF 0x04
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_PROT_BIT0 0x08
#define CAN_ERR_PROT_BIT1 0x10
#define CAN_ERR_PROT_OVERLOAD 0x20
#define CAN_ERR_PROT_ACTIVE 0x40
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_PROT_TX 0x80
#define CAN_ERR_PROT_LOC_UNSPEC 0x00
#define CAN_ERR_PROT_LOC_SOF 0x03
#define CAN_ERR_PROT_LOC_ID28_21 0x02
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_PROT_LOC_ID20_18 0x06
#define CAN_ERR_PROT_LOC_SRTR 0x04
#define CAN_ERR_PROT_LOC_IDE 0x05
#define CAN_ERR_PROT_LOC_ID17_13 0x07
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_PROT_LOC_ID12_05 0x0F
#define CAN_ERR_PROT_LOC_ID04_00 0x0E
#define CAN_ERR_PROT_LOC_RTR 0x0C
#define CAN_ERR_PROT_LOC_RES1 0x0D
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_PROT_LOC_RES0 0x09
#define CAN_ERR_PROT_LOC_DLC 0x0B
#define CAN_ERR_PROT_LOC_DATA 0x0A
#define CAN_ERR_PROT_LOC_CRC_SEQ 0x08
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_PROT_LOC_CRC_DEL 0x18
#define CAN_ERR_PROT_LOC_ACK 0x19
#define CAN_ERR_PROT_LOC_ACK_DEL 0x1B
#define CAN_ERR_PROT_LOC_EOF 0x1A
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_PROT_LOC_INTERM 0x12
#define CAN_ERR_TRX_UNSPEC 0x00
#define CAN_ERR_TRX_CANH_NO_WIRE 0x04
#define CAN_ERR_TRX_CANH_SHORT_TO_BAT 0x05
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_TRX_CANH_SHORT_TO_VCC 0x06
#define CAN_ERR_TRX_CANH_SHORT_TO_GND 0x07
#define CAN_ERR_TRX_CANL_NO_WIRE 0x40
#define CAN_ERR_TRX_CANL_SHORT_TO_BAT 0x50
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define CAN_ERR_TRX_CANL_SHORT_TO_VCC 0x60
#define CAN_ERR_TRX_CANL_SHORT_TO_GND 0x70
#define CAN_ERR_TRX_CANL_SHORT_TO_CANH 0x80
#endif
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
