1/* 2 * IEEE 802.15.4 inteface for userspace 3 * 4 * Copyright 2007, 2008 Siemens AG 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 8 * as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * Written by: 16 * Sergey Lapin <slapin@ossfans.org> 17 * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 18 */ 19 20#ifndef _AF_IEEE802154_H 21#define _AF_IEEE802154_H 22 23#include <linux/socket.h> /* for sa_family_t */ 24 25enum { 26 IEEE802154_ADDR_NONE = 0x0, 27 /* RESERVED = 0x01, */ 28 IEEE802154_ADDR_SHORT = 0x2, /* 16-bit address + PANid */ 29 IEEE802154_ADDR_LONG = 0x3, /* 64-bit address + PANid */ 30}; 31 32/* address length, octets */ 33#define IEEE802154_ADDR_LEN 8 34 35struct ieee802154_addr_sa { 36 int addr_type; 37 u16 pan_id; 38 union { 39 u8 hwaddr[IEEE802154_ADDR_LEN]; 40 u16 short_addr; 41 }; 42}; 43 44#define IEEE802154_PANID_BROADCAST 0xffff 45#define IEEE802154_ADDR_BROADCAST 0xffff 46#define IEEE802154_ADDR_UNDEF 0xfffe 47 48struct sockaddr_ieee802154 { 49 sa_family_t family; /* AF_IEEE802154 */ 50 struct ieee802154_addr_sa addr; 51}; 52 53/* get/setsockopt */ 54#define SOL_IEEE802154 0 55 56#define WPAN_WANTACK 0 57#define WPAN_SECURITY 1 58#define WPAN_SECURITY_LEVEL 2 59 60#define WPAN_SECURITY_DEFAULT 0 61#define WPAN_SECURITY_OFF 1 62#define WPAN_SECURITY_ON 2 63 64#define WPAN_SECURITY_LEVEL_DEFAULT (-1) 65 66#endif 67