162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * IEEE 802.15.4 interface for userspace 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright 2007, 2008 Siemens AG 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Written by: 862306a36Sopenharmony_ci * Sergey Lapin <slapin@ossfans.org> 962306a36Sopenharmony_ci * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 1062306a36Sopenharmony_ci */ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#ifndef _AF_IEEE802154_H 1362306a36Sopenharmony_ci#define _AF_IEEE802154_H 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#include <linux/socket.h> /* for sa_family_t */ 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cienum { 1862306a36Sopenharmony_ci IEEE802154_ADDR_NONE = 0x0, 1962306a36Sopenharmony_ci /* RESERVED = 0x01, */ 2062306a36Sopenharmony_ci IEEE802154_ADDR_SHORT = 0x2, /* 16-bit address + PANid */ 2162306a36Sopenharmony_ci IEEE802154_ADDR_LONG = 0x3, /* 64-bit address + PANid */ 2262306a36Sopenharmony_ci}; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci/* address length, octets */ 2562306a36Sopenharmony_ci#define IEEE802154_ADDR_LEN 8 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_cistruct ieee802154_addr_sa { 2862306a36Sopenharmony_ci int addr_type; 2962306a36Sopenharmony_ci u16 pan_id; 3062306a36Sopenharmony_ci union { 3162306a36Sopenharmony_ci u8 hwaddr[IEEE802154_ADDR_LEN]; 3262306a36Sopenharmony_ci u16 short_addr; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci}; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#define IEEE802154_PANID_BROADCAST 0xffff 3762306a36Sopenharmony_ci#define IEEE802154_ADDR_BROADCAST 0xffff 3862306a36Sopenharmony_ci#define IEEE802154_ADDR_UNDEF 0xfffe 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_cistruct sockaddr_ieee802154 { 4162306a36Sopenharmony_ci sa_family_t family; /* AF_IEEE802154 */ 4262306a36Sopenharmony_ci struct ieee802154_addr_sa addr; 4362306a36Sopenharmony_ci}; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci/* get/setsockopt */ 4662306a36Sopenharmony_ci#define SOL_IEEE802154 0 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci#define WPAN_WANTACK 0 4962306a36Sopenharmony_ci#define WPAN_SECURITY 1 5062306a36Sopenharmony_ci#define WPAN_SECURITY_LEVEL 2 5162306a36Sopenharmony_ci#define WPAN_WANTLQI 3 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci#define WPAN_SECURITY_DEFAULT 0 5462306a36Sopenharmony_ci#define WPAN_SECURITY_OFF 1 5562306a36Sopenharmony_ci#define WPAN_SECURITY_ON 2 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci#define WPAN_SECURITY_LEVEL_DEFAULT (-1) 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci#endif 60