2009-06-08 16:18:48 +04:00
/*
2015-09-03 17:31:35 +03:00
* IEEE 802.15 .4 interface for userspace
2009-06-08 16:18:48 +04:00
*
* Copyright 2007 , 2008 Siemens AG
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* 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
2014-03-15 00:23:57 +04:00
struct ieee802154_addr_sa {
2009-06-08 16:18:48 +04:00
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 */
2014-03-15 00:23:57 +04:00
struct ieee802154_addr_sa addr ;
2009-06-08 16:18:48 +04:00
} ;
2009-08-07 06:58:43 +04:00
/* get/setsockopt */
# define SOL_IEEE802154 0
2014-05-16 19:46:41 +04:00
# define WPAN_WANTACK 0
# define WPAN_SECURITY 1
# define WPAN_SECURITY_LEVEL 2
# define WPAN_SECURITY_DEFAULT 0
# define WPAN_SECURITY_OFF 1
# define WPAN_SECURITY_ON 2
# define WPAN_SECURITY_LEVEL_DEFAULT (-1)
2009-08-07 06:58:43 +04:00
2009-06-08 16:18:48 +04:00
# endif