186ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/**************************************************************************** 286ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes **************************************************************************** 386ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** 486ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** This header was automatically generated from a Linux kernel header 586ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** of the same name, to make information necessary for userspace to 686ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** call into the kernel available to libc. It contains only constants, 786ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** structures, and macros generated from the original header, and thus, 886ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** contains no copyrightable information. 986ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** 1086ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** To edit the content of this header, modify the corresponding 1186ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** source file (e.g. under external/kernel-headers/original/) then 1286ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** run bionic/libc/kernel/tools/update_all.py 1386ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** 1486ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** Any manual change here will be lost the next time this script will 1586ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** be run. You've been warned! 1686ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes *** 1786ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes **************************************************************************** 1886ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes ****************************************************************************/ 1986ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#ifndef CAN_H 2086ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_H 2186ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#include <linux/types.h> 2286ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#include <linux/socket.h> 2386ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2486ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_EFF_FLAG 0x80000000U 2586ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_RTR_FLAG 0x40000000U 2686ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_ERR_FLAG 0x20000000U 2786ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_SFF_MASK 0x000007FFU 2886ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2986ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_EFF_MASK 0x1FFFFFFFU 3086ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_ERR_MASK 0x1FFFFFFFU 3186ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughestypedef __u32 canid_t; 3286ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughestypedef __u32 can_err_mask_t; 3386ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3486ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughesstruct can_frame { 3586ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes canid_t can_id; 3686ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes __u8 can_dlc; 3786ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes __u8 data[8] __attribute__((aligned(8))); 3886ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3986ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes}; 4086ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_RAW 1 4186ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_BCM 2 4286ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_TP16 3 4386ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4486ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_TP20 4 4586ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_MCNET 5 4686ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_ISOTP 6 4786ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_NPROTO 7 4886ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4986ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define SOL_CAN_BASE 100 5086ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughesstruct sockaddr_can { 5186ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes __kernel_sa_family_t can_family; 5286ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes int can_ifindex; 5386ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5486ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes union { 5586ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes struct { canid_t rx_id, tx_id; } tp; 5686ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes } can_addr; 5786ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes}; 5886ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5986ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughesstruct can_filter { 6086ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes canid_t can_id; 6186ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes canid_t can_mask; 6286ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes}; 6386ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6486ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#define CAN_INV_FILTER 0x20000000U 6586ec05acc9df3098c4e99e5b3ad85dcef66712c7Elliott Hughes#endif 66