raw.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
  2. /*
  3. * linux/can/raw.h
  4. *
  5. * Definitions for raw CAN sockets
  6. *
  7. * Authors: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
  8. * Urs Thuermann <urs.thuermann@volkswagen.de>
  9. * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
  10. * All rights reserved.
  11. *
  12. * Redistribution and use in source and binary forms, with or without
  13. * modification, are permitted provided that the following conditions
  14. * are met:
  15. * 1. Redistributions of source code must retain the above copyright
  16. * notice, this list of conditions and the following disclaimer.
  17. * 2. Redistributions in binary form must reproduce the above copyright
  18. * notice, this list of conditions and the following disclaimer in the
  19. * documentation and/or other materials provided with the distribution.
  20. * 3. Neither the name of Volkswagen nor the names of its contributors
  21. * may be used to endorse or promote products derived from this software
  22. * without specific prior written permission.
  23. *
  24. * Alternatively, provided that this notice is retained in full, this
  25. * software may be distributed under the terms of the GNU General
  26. * Public License ("GPL") version 2, in which case the provisions of the
  27. * GPL apply INSTEAD OF those given above.
  28. *
  29. * The provided data structures and external interfaces from this code
  30. * are not restricted to be used by modules with a GPL compatible license.
  31. *
  32. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  33. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  34. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  35. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  36. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  37. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  38. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  39. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  40. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  41. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  42. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  43. * DAMAGE.
  44. */
  45. #ifndef _UAPI_CAN_RAW_H
  46. #define _UAPI_CAN_RAW_H
  47. #include <linux/can.h>
  48. #define SOL_CAN_RAW (SOL_CAN_BASE + CAN_RAW)
  49. /* for socket options affecting the socket (not the global system) */
  50. enum {
  51. CAN_RAW_FILTER = 1, /* set 0 .. n can_filter(s) */
  52. CAN_RAW_ERR_FILTER, /* set filter for error frames */
  53. CAN_RAW_LOOPBACK, /* local loopback (default:on) */
  54. CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */
  55. CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */
  56. CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */
  57. };
  58. #endif /* !_UAPI_CAN_RAW_H */