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 <slapin@ossfans.org> 9 * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 10 */ 11 12#ifndef _AF_IEEE802154_H 13#define _AF_IEEE802154_H 14 15#include <linux/socket.h> /* for sa_family_t */ 16 17enum { 18 IEEE802154_ADDR_NONE = 0x0, 19 /* RESERVED = 0x01, */ 20 IEEE802154_ADDR_SHORT = 0x2, /* 16-bit address + PANid */ 21 IEEE802154_ADDR_LONG = 0x3, /* 64-bit address + PANid */ 22}; 23 24/* address length, octets */ 25#define IEEE802154_ADDR_LEN 8 26 27struct ieee802154_addr_sa { 28 int addr_type; 29 u16 pan_id; 30 union { 31 u8 hwaddr[IEEE802154_ADDR_LEN]; 32 u16 short_addr; 33 }; 34}; 35 36#define IEEE802154_PANID_BROADCAST 0xffff 37#define IEEE802154_ADDR_BROADCAST 0xffff 38#define IEEE802154_ADDR_UNDEF 0xfffe 39 40struct sockaddr_ieee802154 { 41 sa_family_t family; /* AF_IEEE802154 */ 42 struct ieee802154_addr_sa addr; 43}; 44 45/* get/setsockopt */ 46#define SOL_IEEE802154 0 47 48#define WPAN_WANTACK 0 49#define WPAN_SECURITY 1 50#define WPAN_SECURITY_LEVEL 2 51#define WPAN_WANTLQI 3 52 53#define WPAN_SECURITY_DEFAULT 0 54#define WPAN_SECURITY_OFF 1 55#define WPAN_SECURITY_ON 2 56 57#define WPAN_SECURITY_LEVEL_DEFAULT (-1) 58 59#endif 60