linux/include/net/af_ieee802154.h
<<
>>
Prefs
   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 * You should have received a copy of the GNU General Public License along
  16 * with this program; if not, write to the Free Software Foundation, Inc.,
  17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  18 *
  19 * Written by:
  20 * Sergey Lapin <slapin@ossfans.org>
  21 * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
  22 */
  23
  24#ifndef _AF_IEEE802154_H
  25#define _AF_IEEE802154_H
  26
  27#include <linux/socket.h> /* for sa_family_t */
  28
  29enum {
  30        IEEE802154_ADDR_NONE = 0x0,
  31        /* RESERVED = 0x01, */
  32        IEEE802154_ADDR_SHORT = 0x2, /* 16-bit address + PANid */
  33        IEEE802154_ADDR_LONG = 0x3, /* 64-bit address + PANid */
  34};
  35
  36/* address length, octets */
  37#define IEEE802154_ADDR_LEN     8
  38
  39struct ieee802154_addr {
  40        int addr_type;
  41        u16 pan_id;
  42        union {
  43                u8 hwaddr[IEEE802154_ADDR_LEN];
  44                u16 short_addr;
  45        };
  46};
  47
  48#define IEEE802154_PANID_BROADCAST      0xffff
  49#define IEEE802154_ADDR_BROADCAST       0xffff
  50#define IEEE802154_ADDR_UNDEF           0xfffe
  51
  52struct sockaddr_ieee802154 {
  53        sa_family_t family; /* AF_IEEE802154 */
  54        struct ieee802154_addr addr;
  55};
  56
  57/* get/setsockopt */
  58#define SOL_IEEE802154  0
  59
  60#define WPAN_WANTACK    0
  61
  62#endif
  63