| /* SPDX-License-Identifier: GPL-2.0-only */ | 
 | /* | 
 |  * IEEE 802.15.4 interface for userspace | 
 |  * | 
 |  * Copyright 2007, 2008 Siemens AG | 
 |  * | 
 |  * Written by: | 
 |  * Sergey Lapin <slapin@ossfans.org> | 
 |  * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
 |  */ | 
 |  | 
 | #ifndef _AF_IEEE802154_H | 
 | #define _AF_IEEE802154_H | 
 |  | 
 | #include <linux/socket.h> /* for sa_family_t */ | 
 |  | 
 | enum { | 
 | 	IEEE802154_ADDR_NONE = 0x0, | 
 | 	/* RESERVED = 0x01, */ | 
 | 	IEEE802154_ADDR_SHORT = 0x2, /* 16-bit address + PANid */ | 
 | 	IEEE802154_ADDR_LONG = 0x3, /* 64-bit address + PANid */ | 
 | }; | 
 |  | 
 | /* address length, octets */ | 
 | #define IEEE802154_ADDR_LEN	8 | 
 |  | 
 | struct ieee802154_addr_sa { | 
 | 	int addr_type; | 
 | 	u16 pan_id; | 
 | 	union { | 
 | 		u8 hwaddr[IEEE802154_ADDR_LEN]; | 
 | 		u16 short_addr; | 
 | 	}; | 
 | }; | 
 |  | 
 | #define IEEE802154_PANID_BROADCAST	0xffff | 
 | #define IEEE802154_ADDR_BROADCAST	0xffff | 
 | #define IEEE802154_ADDR_UNDEF		0xfffe | 
 |  | 
 | struct sockaddr_ieee802154 { | 
 | 	sa_family_t family; /* AF_IEEE802154 */ | 
 | 	struct ieee802154_addr_sa addr; | 
 | }; | 
 |  | 
 | /* get/setsockopt */ | 
 | #define SOL_IEEE802154	0 | 
 |  | 
 | #define WPAN_WANTACK		0 | 
 | #define WPAN_SECURITY		1 | 
 | #define WPAN_SECURITY_LEVEL	2 | 
 | #define WPAN_WANTLQI		3 | 
 |  | 
 | #define WPAN_SECURITY_DEFAULT	0 | 
 | #define WPAN_SECURITY_OFF	1 | 
 | #define WPAN_SECURITY_ON	2 | 
 |  | 
 | #define WPAN_SECURITY_LEVEL_DEFAULT	(-1) | 
 |  | 
 | #endif |