/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ /* * j1939.h * * Copyright (c) 2010-2011 EIA Electronics * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef _UAPI_CAN_J1939_H_ #define _UAPI_CAN_J1939_H_ #include <linux/types.h> #include <linux/socket.h> #include <linux/can.h> #define J1939_MAX_UNICAST_ADDR … #define J1939_IDLE_ADDR … #define J1939_NO_ADDR … #define J1939_NO_NAME … #define J1939_PGN_REQUEST … #define J1939_PGN_ADDRESS_CLAIMED … #define J1939_PGN_ADDRESS_COMMANDED … #define J1939_PGN_PDU1_MAX … #define J1939_PGN_MAX … #define J1939_NO_PGN … /* J1939 Parameter Group Number * * bit 0-7 : PDU Specific (PS) * bit 8-15 : PDU Format (PF) * bit 16 : Data Page (DP) * bit 17 : Reserved (R) * bit 19-31 : set to zero */ pgn_t; /* J1939 Priority * * bit 0-2 : Priority (P) * bit 3-7 : set to zero */ priority_t; /* J1939 NAME * * bit 0-20 : Identity Number * bit 21-31 : Manufacturer Code * bit 32-34 : ECU Instance * bit 35-39 : Function Instance * bit 40-47 : Function * bit 48 : Reserved * bit 49-55 : Vehicle System * bit 56-59 : Vehicle System Instance * bit 60-62 : Industry Group * bit 63 : Arbitrary Address Capable */ name_t; /* J1939 socket options */ #define SOL_CAN_J1939 … enum { … }; enum { … }; enum { … }; enum { … }; struct j1939_filter { … }; #define J1939_FILTER_MAX … #endif /* !_UAPI_CAN_J1939_H_ */