linux/include/net/af_ieee802154.h
<<
>>
Prefs
   1/*
   2 * IEEE 802.15.4 interface 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