af_ieee802154.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * IEEE 802.15.4 interface for userspace
  4. *
  5. * Copyright 2007, 2008 Siemens AG
  6. *
  7. * Written by:
  8. * Sergey Lapin <[email protected]>
  9. * Dmitry Eremin-Solenikov <[email protected]>
  10. */
  11. #ifndef _AF_IEEE802154_H
  12. #define _AF_IEEE802154_H
  13. #include <linux/socket.h> /* for sa_family_t */
  14. enum {
  15. IEEE802154_ADDR_NONE = 0x0,
  16. /* RESERVED = 0x01, */
  17. IEEE802154_ADDR_SHORT = 0x2, /* 16-bit address + PANid */
  18. IEEE802154_ADDR_LONG = 0x3, /* 64-bit address + PANid */
  19. };
  20. /* address length, octets */
  21. #define IEEE802154_ADDR_LEN 8
  22. struct ieee802154_addr_sa {
  23. int addr_type;
  24. u16 pan_id;
  25. union {
  26. u8 hwaddr[IEEE802154_ADDR_LEN];
  27. u16 short_addr;
  28. };
  29. };
  30. #define IEEE802154_PANID_BROADCAST 0xffff
  31. #define IEEE802154_ADDR_BROADCAST 0xffff
  32. #define IEEE802154_ADDR_UNDEF 0xfffe
  33. struct sockaddr_ieee802154 {
  34. sa_family_t family; /* AF_IEEE802154 */
  35. struct ieee802154_addr_sa addr;
  36. };
  37. /* get/setsockopt */
  38. #define SOL_IEEE802154 0
  39. #define WPAN_WANTACK 0
  40. #define WPAN_SECURITY 1
  41. #define WPAN_SECURITY_LEVEL 2
  42. #define WPAN_WANTLQI 3
  43. #define WPAN_SECURITY_DEFAULT 0
  44. #define WPAN_SECURITY_OFF 1
  45. #define WPAN_SECURITY_ON 2
  46. #define WPAN_SECURITY_LEVEL_DEFAULT (-1)
  47. #endif