ieee802154: move headers out of extra directory
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 23 Jul 2009 12:56:29 +0000 (16:56 +0400)
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 23 Jul 2009 13:08:51 +0000 (17:08 +0400)
include/net/ieee802154/af_ieee802154.h (and others) naming seems to be too long
and redundant. Drop one level of subdirectories.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
13 files changed:
drivers/ieee802154/fakehard.c
include/net/af_ieee802154.h [new file with mode: 0644]
include/net/ieee802154.h [new file with mode: 0644]
include/net/ieee802154/af_ieee802154.h [deleted file]
include/net/ieee802154/mac_def.h [deleted file]
include/net/ieee802154/netdevice.h [deleted file]
include/net/ieee802154/nl802154.h [deleted file]
include/net/ieee802154_netdev.h [new file with mode: 0644]
include/net/nl802154.h [new file with mode: 0644]
net/ieee802154/af_ieee802154.c
net/ieee802154/dgram.c
net/ieee802154/netlink.c
net/ieee802154/raw.c

index 9ec07e8552f20c6d8473c9db4cebebc9aee13736..8a52e6efa2395e121b3b0a5a2c264dc4d2e554f2 100644 (file)
 #include <linux/skbuff.h>
 #include <linux/if_arp.h>
 
-#include <net/ieee802154/af_ieee802154.h>
-#include <net/ieee802154/netdevice.h>
-#include <net/ieee802154/mac_def.h>
-#include <net/ieee802154/nl802154.h>
+#include <net/af_ieee802154.h>
+#include <net/ieee802154_netdev.h>
+#include <net/ieee802154.h>
+#include <net/nl802154.h>
 
 /**
  * fake_get_pan_id - Retrieve the PAN ID of the device.
diff --git a/include/net/af_ieee802154.h b/include/net/af_ieee802154.h
new file mode 100644 (file)
index 0000000..0d78605
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * IEEE 802.15.4 inteface for userspace
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * 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
+
+struct ieee802154_addr {
+       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 */
+       struct ieee802154_addr addr;
+};
+
+/* master device */
+#define IEEE802154_SIOC_ADD_SLAVE              (SIOCDEVPRIVATE + 0)
+
+#endif
diff --git a/include/net/ieee802154.h b/include/net/ieee802154.h
new file mode 100644 (file)
index 0000000..d52685d
--- /dev/null
@@ -0,0 +1,160 @@
+/*
+ * IEEE802.15.4-2003 specification
+ *
+ * Copyright (C) 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.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Written by:
+ * Pavel Smolenskiy <pavel.smolenskiy@gmail.com>
+ * Maxim Gorbachyov <maxim.gorbachev@siemens.com>
+ * Maxim Osipov <maxim.osipov@siemens.com>
+ * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+ */
+
+#ifndef NET_IEEE802154_H
+#define NET_IEEE802154_H
+
+#define IEEE802154_FC_TYPE_BEACON      0x0     /* Frame is beacon */
+#define        IEEE802154_FC_TYPE_DATA         0x1     /* Frame is data */
+#define IEEE802154_FC_TYPE_ACK         0x2     /* Frame is acknowledgment */
+#define IEEE802154_FC_TYPE_MAC_CMD     0x3     /* Frame is MAC command */
+
+#define IEEE802154_FC_TYPE_SHIFT               0
+#define IEEE802154_FC_TYPE_MASK                ((1 << 3) - 1)
+#define IEEE802154_FC_TYPE(x)          ((x & IEEE802154_FC_TYPE_MASK) >> IEEE802154_FC_TYPE_SHIFT)
+#define IEEE802154_FC_SET_TYPE(v, x)   do {    \
+       v = (((v) & ~IEEE802154_FC_TYPE_MASK) | \
+           (((x) << IEEE802154_FC_TYPE_SHIFT) & IEEE802154_FC_TYPE_MASK)); \
+       } while (0)
+
+#define IEEE802154_FC_SECEN            (1 << 3)
+#define IEEE802154_FC_FRPEND           (1 << 4)
+#define IEEE802154_FC_ACK_REQ          (1 << 5)
+#define IEEE802154_FC_INTRA_PAN                (1 << 6)
+
+#define IEEE802154_FC_SAMODE_SHIFT     14
+#define IEEE802154_FC_SAMODE_MASK      (3 << IEEE802154_FC_SAMODE_SHIFT)
+#define IEEE802154_FC_DAMODE_SHIFT     10
+#define IEEE802154_FC_DAMODE_MASK      (3 << IEEE802154_FC_DAMODE_SHIFT)
+
+#define IEEE802154_FC_SAMODE(x)                \
+       (((x) & IEEE802154_FC_SAMODE_MASK) >> IEEE802154_FC_SAMODE_SHIFT)
+
+#define IEEE802154_FC_DAMODE(x)                \
+       (((x) & IEEE802154_FC_DAMODE_MASK) >> IEEE802154_FC_DAMODE_SHIFT)
+
+
+/* MAC's Command Frames Identifiers */
+#define IEEE802154_CMD_ASSOCIATION_REQ         0x01
+#define IEEE802154_CMD_ASSOCIATION_RESP                0x02
+#define IEEE802154_CMD_DISASSOCIATION_NOTIFY   0x03
+#define IEEE802154_CMD_DATA_REQ                        0x04
+#define IEEE802154_CMD_PANID_CONFLICT_NOTIFY   0x05
+#define IEEE802154_CMD_ORPHAN_NOTIFY           0x06
+#define IEEE802154_CMD_BEACON_REQ              0x07
+#define IEEE802154_CMD_COORD_REALIGN_NOTIFY    0x08
+#define IEEE802154_CMD_GTS_REQ                 0x09
+
+/*
+ * The return values of MAC operations
+ */
+enum {
+       /*
+        * The requested operation was completed successfully.
+        * For a transmission request, this value indicates
+        * a successful transmission.
+        */
+       IEEE802154_SUCCESS = 0x0,
+
+       /* The beacon was lost following a synchronization request. */
+       IEEE802154_BEACON_LOSS = 0xe0,
+       /*
+        * A transmission could not take place due to activity on the
+        * channel, i.e., the CSMA-CA mechanism has failed.
+        */
+       IEEE802154_CHNL_ACCESS_FAIL = 0xe1,
+       /* The GTS request has been denied by the PAN coordinator. */
+       IEEE802154_DENINED = 0xe2,
+       /* The attempt to disable the transceiver has failed. */
+       IEEE802154_DISABLE_TRX_FAIL = 0xe3,
+       /*
+        * The received frame induces a failed security check according to
+        * the security suite.
+        */
+       IEEE802154_FAILED_SECURITY_CHECK = 0xe4,
+       /*
+        * The frame resulting from secure processing has a length that is
+        * greater than aMACMaxFrameSize.
+        */
+       IEEE802154_FRAME_TOO_LONG = 0xe5,
+       /*
+        * The requested GTS transmission failed because the specified GTS
+        * either did not have a transmit GTS direction or was not defined.
+        */
+       IEEE802154_INVALID_GTS = 0xe6,
+       /*
+        * A request to purge an MSDU from the transaction queue was made using
+        * an MSDU handle that was not found in the transaction table.
+        */
+       IEEE802154_INVALID_HANDLE = 0xe7,
+       /* A parameter in the primitive is out of the valid range.*/
+       IEEE802154_INVALID_PARAMETER = 0xe8,
+       /* No acknowledgment was received after aMaxFrameRetries. */
+       IEEE802154_NO_ACK = 0xe9,
+       /* A scan operation failed to find any network beacons.*/
+       IEEE802154_NO_BEACON = 0xea,
+       /* No response data were available following a request. */
+       IEEE802154_NO_DATA = 0xeb,
+       /* The operation failed because a short address was not allocated. */
+       IEEE802154_NO_SHORT_ADDRESS = 0xec,
+       /*
+        * A receiver enable request was unsuccessful because it could not be
+        * completed within the CAP.
+        */
+       IEEE802154_OUT_OF_CAP = 0xed,
+       /*
+        * A PAN identifier conflict has been detected and communicated to the
+        * PAN coordinator.
+        */
+       IEEE802154_PANID_CONFLICT = 0xee,
+       /* A coordinator realignment command has been received. */
+       IEEE802154_REALIGMENT = 0xef,
+       /* The transaction has expired and its information discarded. */
+       IEEE802154_TRANSACTION_EXPIRED = 0xf0,
+       /* There is no capacity to store the transaction. */
+       IEEE802154_TRANSACTION_OVERFLOW = 0xf1,
+       /*
+        * The transceiver was in the transmitter enabled state when the
+        * receiver was requested to be enabled.
+        */
+       IEEE802154_TX_ACTIVE = 0xf2,
+       /* The appropriate key is not available in the ACL. */
+       IEEE802154_UNAVAILABLE_KEY = 0xf3,
+       /*
+        * A SET/GET request was issued with the identifier of a PIB attribute
+        * that is not supported.
+        */
+       IEEE802154_UNSUPPORTED_ATTR = 0xf4,
+       /*
+        * A request to perform a scan operation failed because the MLME was
+        * in the process of performing a previously initiated scan operation.
+        */
+       IEEE802154_SCAN_IN_PROGRESS = 0xfc,
+};
+
+
+#endif
+
+
diff --git a/include/net/ieee802154/af_ieee802154.h b/include/net/ieee802154/af_ieee802154.h
deleted file mode 100644 (file)
index 0d78605..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * IEEE 802.15.4 inteface for userspace
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * 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
-
-struct ieee802154_addr {
-       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 */
-       struct ieee802154_addr addr;
-};
-
-/* master device */
-#define IEEE802154_SIOC_ADD_SLAVE              (SIOCDEVPRIVATE + 0)
-
-#endif
diff --git a/include/net/ieee802154/mac_def.h b/include/net/ieee802154/mac_def.h
deleted file mode 100644 (file)
index 8cb6846..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * IEEE802.15.4-2003 specification
- *
- * Copyright (C) 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.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Written by:
- * Pavel Smolenskiy <pavel.smolenskiy@gmail.com>
- * Maxim Gorbachyov <maxim.gorbachev@siemens.com>
- * Maxim Osipov <maxim.osipov@siemens.com>
- * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
- */
-
-#ifndef IEEE802154_MAC_DEF_H
-#define IEEE802154_MAC_DEF_H
-
-#define IEEE802154_FC_TYPE_BEACON      0x0     /* Frame is beacon */
-#define        IEEE802154_FC_TYPE_DATA         0x1     /* Frame is data */
-#define IEEE802154_FC_TYPE_ACK         0x2     /* Frame is acknowledgment */
-#define IEEE802154_FC_TYPE_MAC_CMD     0x3     /* Frame is MAC command */
-
-#define IEEE802154_FC_TYPE_SHIFT               0
-#define IEEE802154_FC_TYPE_MASK                ((1 << 3) - 1)
-#define IEEE802154_FC_TYPE(x)          ((x & IEEE802154_FC_TYPE_MASK) >> IEEE802154_FC_TYPE_SHIFT)
-#define IEEE802154_FC_SET_TYPE(v, x)   do {    \
-       v = (((v) & ~IEEE802154_FC_TYPE_MASK) | \
-           (((x) << IEEE802154_FC_TYPE_SHIFT) & IEEE802154_FC_TYPE_MASK)); \
-       } while (0)
-
-#define IEEE802154_FC_SECEN            (1 << 3)
-#define IEEE802154_FC_FRPEND           (1 << 4)
-#define IEEE802154_FC_ACK_REQ          (1 << 5)
-#define IEEE802154_FC_INTRA_PAN                (1 << 6)
-
-#define IEEE802154_FC_SAMODE_SHIFT     14
-#define IEEE802154_FC_SAMODE_MASK      (3 << IEEE802154_FC_SAMODE_SHIFT)
-#define IEEE802154_FC_DAMODE_SHIFT     10
-#define IEEE802154_FC_DAMODE_MASK      (3 << IEEE802154_FC_DAMODE_SHIFT)
-
-#define IEEE802154_FC_SAMODE(x)                \
-       (((x) & IEEE802154_FC_SAMODE_MASK) >> IEEE802154_FC_SAMODE_SHIFT)
-
-#define IEEE802154_FC_DAMODE(x)                \
-       (((x) & IEEE802154_FC_DAMODE_MASK) >> IEEE802154_FC_DAMODE_SHIFT)
-
-
-/* MAC's Command Frames Identifiers */
-#define IEEE802154_CMD_ASSOCIATION_REQ         0x01
-#define IEEE802154_CMD_ASSOCIATION_RESP                0x02
-#define IEEE802154_CMD_DISASSOCIATION_NOTIFY   0x03
-#define IEEE802154_CMD_DATA_REQ                        0x04
-#define IEEE802154_CMD_PANID_CONFLICT_NOTIFY   0x05
-#define IEEE802154_CMD_ORPHAN_NOTIFY           0x06
-#define IEEE802154_CMD_BEACON_REQ              0x07
-#define IEEE802154_CMD_COORD_REALIGN_NOTIFY    0x08
-#define IEEE802154_CMD_GTS_REQ                 0x09
-
-/*
- * The return values of MAC operations
- */
-enum {
-       /*
-        * The requested operation was completed successfully.
-        * For a transmission request, this value indicates
-        * a successful transmission.
-        */
-       IEEE802154_SUCCESS = 0x0,
-
-       /* The beacon was lost following a synchronization request. */
-       IEEE802154_BEACON_LOSS = 0xe0,
-       /*
-        * A transmission could not take place due to activity on the
-        * channel, i.e., the CSMA-CA mechanism has failed.
-        */
-       IEEE802154_CHNL_ACCESS_FAIL = 0xe1,
-       /* The GTS request has been denied by the PAN coordinator. */
-       IEEE802154_DENINED = 0xe2,
-       /* The attempt to disable the transceiver has failed. */
-       IEEE802154_DISABLE_TRX_FAIL = 0xe3,
-       /*
-        * The received frame induces a failed security check according to
-        * the security suite.
-        */
-       IEEE802154_FAILED_SECURITY_CHECK = 0xe4,
-       /*
-        * The frame resulting from secure processing has a length that is
-        * greater than aMACMaxFrameSize.
-        */
-       IEEE802154_FRAME_TOO_LONG = 0xe5,
-       /*
-        * The requested GTS transmission failed because the specified GTS
-        * either did not have a transmit GTS direction or was not defined.
-        */
-       IEEE802154_INVALID_GTS = 0xe6,
-       /*
-        * A request to purge an MSDU from the transaction queue was made using
-        * an MSDU handle that was not found in the transaction table.
-        */
-       IEEE802154_INVALID_HANDLE = 0xe7,
-       /* A parameter in the primitive is out of the valid range.*/
-       IEEE802154_INVALID_PARAMETER = 0xe8,
-       /* No acknowledgment was received after aMaxFrameRetries. */
-       IEEE802154_NO_ACK = 0xe9,
-       /* A scan operation failed to find any network beacons.*/
-       IEEE802154_NO_BEACON = 0xea,
-       /* No response data were available following a request. */
-       IEEE802154_NO_DATA = 0xeb,
-       /* The operation failed because a short address was not allocated. */
-       IEEE802154_NO_SHORT_ADDRESS = 0xec,
-       /*
-        * A receiver enable request was unsuccessful because it could not be
-        * completed within the CAP.
-        */
-       IEEE802154_OUT_OF_CAP = 0xed,
-       /*
-        * A PAN identifier conflict has been detected and communicated to the
-        * PAN coordinator.
-        */
-       IEEE802154_PANID_CONFLICT = 0xee,
-       /* A coordinator realignment command has been received. */
-       IEEE802154_REALIGMENT = 0xef,
-       /* The transaction has expired and its information discarded. */
-       IEEE802154_TRANSACTION_EXPIRED = 0xf0,
-       /* There is no capacity to store the transaction. */
-       IEEE802154_TRANSACTION_OVERFLOW = 0xf1,
-       /*
-        * The transceiver was in the transmitter enabled state when the
-        * receiver was requested to be enabled.
-        */
-       IEEE802154_TX_ACTIVE = 0xf2,
-       /* The appropriate key is not available in the ACL. */
-       IEEE802154_UNAVAILABLE_KEY = 0xf3,
-       /*
-        * A SET/GET request was issued with the identifier of a PIB attribute
-        * that is not supported.
-        */
-       IEEE802154_UNSUPPORTED_ATTR = 0xf4,
-       /*
-        * A request to perform a scan operation failed because the MLME was
-        * in the process of performing a previously initiated scan operation.
-        */
-       IEEE802154_SCAN_IN_PROGRESS = 0xfc,
-};
-
-
-#endif
-
-
diff --git a/include/net/ieee802154/netdevice.h b/include/net/ieee802154/netdevice.h
deleted file mode 100644 (file)
index e2506af..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * An interface between IEEE802.15.4 device and rest of the kernel.
- *
- * Copyright (C) 2007, 2008, 2009 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.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Written by:
- * Pavel Smolenskiy <pavel.smolenskiy@gmail.com>
- * Maxim Gorbachyov <maxim.gorbachev@siemens.com>
- * Maxim Osipov <maxim.osipov@siemens.com>
- * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
- */
-
-#ifndef IEEE802154_NETDEVICE_H
-#define IEEE802154_NETDEVICE_H
-
-/*
- * A control block of skb passed between the ARPHRD_IEEE802154 device
- * and other stack parts.
- */
-struct ieee802154_mac_cb {
-       u8 lqi;
-       struct ieee802154_addr sa;
-       struct ieee802154_addr da;
-       u8 flags;
-       u8 seq;
-};
-
-static inline struct ieee802154_mac_cb *mac_cb(struct sk_buff *skb)
-{
-       return (struct ieee802154_mac_cb *)skb->cb;
-}
-
-#define MAC_CB_FLAG_TYPEMASK           ((1 << 3) - 1)
-
-#define MAC_CB_FLAG_ACKREQ             (1 << 3)
-#define MAC_CB_FLAG_SECEN              (1 << 4)
-#define MAC_CB_FLAG_INTRAPAN           (1 << 5)
-
-static inline int mac_cb_is_ackreq(struct sk_buff *skb)
-{
-       return mac_cb(skb)->flags & MAC_CB_FLAG_ACKREQ;
-}
-
-static inline int mac_cb_is_secen(struct sk_buff *skb)
-{
-       return mac_cb(skb)->flags & MAC_CB_FLAG_SECEN;
-}
-
-static inline int mac_cb_is_intrapan(struct sk_buff *skb)
-{
-       return mac_cb(skb)->flags & MAC_CB_FLAG_INTRAPAN;
-}
-
-static inline int mac_cb_type(struct sk_buff *skb)
-{
-       return mac_cb(skb)->flags & MAC_CB_FLAG_TYPEMASK;
-}
-
-#define IEEE802154_MAC_SCAN_ED         0
-#define IEEE802154_MAC_SCAN_ACTIVE     1
-#define IEEE802154_MAC_SCAN_PASSIVE    2
-#define IEEE802154_MAC_SCAN_ORPHAN     3
-
-/*
- * This should be located at net_device->ml_priv
- */
-struct ieee802154_mlme_ops {
-       int (*assoc_req)(struct net_device *dev,
-                       struct ieee802154_addr *addr,
-                       u8 channel, u8 cap);
-       int (*assoc_resp)(struct net_device *dev,
-                       struct ieee802154_addr *addr,
-                       u16 short_addr, u8 status);
-       int (*disassoc_req)(struct net_device *dev,
-                       struct ieee802154_addr *addr,
-                       u8 reason);
-       int (*start_req)(struct net_device *dev,
-                       struct ieee802154_addr *addr,
-                       u8 channel, u8 bcn_ord, u8 sf_ord,
-                       u8 pan_coord, u8 blx, u8 coord_realign);
-       int (*scan_req)(struct net_device *dev,
-                       u8 type, u32 channels, u8 duration);
-
-       /*
-        * FIXME: these should become the part of PIB/MIB interface.
-        * However we still don't have IB interface of any kind
-        */
-       u16 (*get_pan_id)(struct net_device *dev);
-       u16 (*get_short_addr)(struct net_device *dev);
-       u8 (*get_dsn)(struct net_device *dev);
-       u8 (*get_bsn)(struct net_device *dev);
-};
-
-static inline struct ieee802154_mlme_ops *ieee802154_mlme_ops(
-               struct net_device *dev)
-{
-       return dev->ml_priv;
-}
-
-#endif
-
-
diff --git a/include/net/ieee802154/nl802154.h b/include/net/ieee802154/nl802154.h
deleted file mode 100644 (file)
index 6096096..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * nl802154.h
- *
- * Copyright (C) 2007, 2008, 2009 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.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- */
-
-#ifndef IEEE802154_NL_H
-#define IEEE802154_NL_H
-
-struct net_device;
-struct ieee802154_addr;
-
-/**
- * ieee802154_nl_assoc_indic - Notify userland of an association request.
- * @dev: The network device on which this association request was
- *       received.
- * @addr: The address of the device requesting association.
- * @cap: The capability information field from the device.
- *
- * This informs a userland coordinator of a device requesting to
- * associate with the PAN controlled by the coordinator.
- *
- * Note: This is in section 7.3.1 of the IEEE 802.15.4-2006 document.
- */
-int ieee802154_nl_assoc_indic(struct net_device *dev,
-               struct ieee802154_addr *addr, u8 cap);
-
-/**
- * ieee802154_nl_assoc_confirm - Notify userland of association.
- * @dev: The device which has completed association.
- * @short_addr: The short address assigned to the device.
- * @status: The status of the association.
- *
- * Inform userland of the result of an association request. If the
- * association request included asking the coordinator to allocate
- * a short address then it is returned in @short_addr.
- *
- * Note: This is in section 7.3.2 of the IEEE 802.15.4 document.
- */
-int ieee802154_nl_assoc_confirm(struct net_device *dev,
-               u16 short_addr, u8 status);
-
-/**
- * ieee802154_nl_disassoc_indic - Notify userland of disassociation.
- * @dev: The device on which disassociation was indicated.
- * @addr: The device which is disassociating.
- * @reason: The reason for the disassociation.
- *
- * Inform userland that a device has disassociated from the network.
- *
- * Note: This is in section 7.3.3 of the IEEE 802.15.4 document.
- */
-int ieee802154_nl_disassoc_indic(struct net_device *dev,
-               struct ieee802154_addr *addr, u8 reason);
-
-/**
- * ieee802154_nl_disassoc_confirm - Notify userland of disassociation
- * completion.
- * @dev: The device on which disassociation was ordered.
- * @status: The result of the disassociation.
- *
- * Inform userland of the result of requesting that a device
- * disassociate, or the result of requesting that we disassociate from
- * a PAN managed by another coordinator.
- *
- * Note: This is in section 7.1.4.3 of the IEEE 802.15.4 document.
- */
-int ieee802154_nl_disassoc_confirm(struct net_device *dev,
-               u8 status);
-
-/**
- * ieee802154_nl_scan_confirm - Notify userland of completion of scan.
- * @dev: The device which was instructed to scan.
- * @status: The status of the scan operation.
- * @scan_type: What type of scan was performed.
- * @unscanned: Any channels that the device was unable to scan.
- * @edl: The energy levels (if a passive scan).
- *
- *
- * Note: This is in section 7.1.11 of the IEEE 802.15.4 document.
- * Note: This API does not permit the return of an active scan result.
- */
-int ieee802154_nl_scan_confirm(struct net_device *dev,
-               u8 status, u8 scan_type, u32 unscanned,
-               u8 *edl/*, struct list_head *pan_desc_list */);
-
-/**
- * ieee802154_nl_beacon_indic - Notify userland of a received beacon.
- * @dev: The device on which a beacon was received.
- * @panid: The PAN of the coordinator.
- * @coord_addr: The short address of the coordinator on that PAN.
- *
- * Note: This is in section 7.1.5 of the IEEE 802.15.4 document.
- * Note: This API does not provide extended information such as what
- * channel the PAN is on or what the LQI of the beacon frame was on
- * receipt.
- * Note: This API cannot indicate a beacon frame for a coordinator
- *       operating in long addressing mode.
- */
-int ieee802154_nl_beacon_indic(struct net_device *dev, u16 panid,
-               u16 coord_addr);
-
-#endif
diff --git a/include/net/ieee802154_netdev.h b/include/net/ieee802154_netdev.h
new file mode 100644 (file)
index 0000000..e2506af
--- /dev/null
@@ -0,0 +1,115 @@
+/*
+ * An interface between IEEE802.15.4 device and rest of the kernel.
+ *
+ * Copyright (C) 2007, 2008, 2009 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.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Written by:
+ * Pavel Smolenskiy <pavel.smolenskiy@gmail.com>
+ * Maxim Gorbachyov <maxim.gorbachev@siemens.com>
+ * Maxim Osipov <maxim.osipov@siemens.com>
+ * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+ */
+
+#ifndef IEEE802154_NETDEVICE_H
+#define IEEE802154_NETDEVICE_H
+
+/*
+ * A control block of skb passed between the ARPHRD_IEEE802154 device
+ * and other stack parts.
+ */
+struct ieee802154_mac_cb {
+       u8 lqi;
+       struct ieee802154_addr sa;
+       struct ieee802154_addr da;
+       u8 flags;
+       u8 seq;
+};
+
+static inline struct ieee802154_mac_cb *mac_cb(struct sk_buff *skb)
+{
+       return (struct ieee802154_mac_cb *)skb->cb;
+}
+
+#define MAC_CB_FLAG_TYPEMASK           ((1 << 3) - 1)
+
+#define MAC_CB_FLAG_ACKREQ             (1 << 3)
+#define MAC_CB_FLAG_SECEN              (1 << 4)
+#define MAC_CB_FLAG_INTRAPAN           (1 << 5)
+
+static inline int mac_cb_is_ackreq(struct sk_buff *skb)
+{
+       return mac_cb(skb)->flags & MAC_CB_FLAG_ACKREQ;
+}
+
+static inline int mac_cb_is_secen(struct sk_buff *skb)
+{
+       return mac_cb(skb)->flags & MAC_CB_FLAG_SECEN;
+}
+
+static inline int mac_cb_is_intrapan(struct sk_buff *skb)
+{
+       return mac_cb(skb)->flags & MAC_CB_FLAG_INTRAPAN;
+}
+
+static inline int mac_cb_type(struct sk_buff *skb)
+{
+       return mac_cb(skb)->flags & MAC_CB_FLAG_TYPEMASK;
+}
+
+#define IEEE802154_MAC_SCAN_ED         0
+#define IEEE802154_MAC_SCAN_ACTIVE     1
+#define IEEE802154_MAC_SCAN_PASSIVE    2
+#define IEEE802154_MAC_SCAN_ORPHAN     3
+
+/*
+ * This should be located at net_device->ml_priv
+ */
+struct ieee802154_mlme_ops {
+       int (*assoc_req)(struct net_device *dev,
+                       struct ieee802154_addr *addr,
+                       u8 channel, u8 cap);
+       int (*assoc_resp)(struct net_device *dev,
+                       struct ieee802154_addr *addr,
+                       u16 short_addr, u8 status);
+       int (*disassoc_req)(struct net_device *dev,
+                       struct ieee802154_addr *addr,
+                       u8 reason);
+       int (*start_req)(struct net_device *dev,
+                       struct ieee802154_addr *addr,
+                       u8 channel, u8 bcn_ord, u8 sf_ord,
+                       u8 pan_coord, u8 blx, u8 coord_realign);
+       int (*scan_req)(struct net_device *dev,
+                       u8 type, u32 channels, u8 duration);
+
+       /*
+        * FIXME: these should become the part of PIB/MIB interface.
+        * However we still don't have IB interface of any kind
+        */
+       u16 (*get_pan_id)(struct net_device *dev);
+       u16 (*get_short_addr)(struct net_device *dev);
+       u8 (*get_dsn)(struct net_device *dev);
+       u8 (*get_bsn)(struct net_device *dev);
+};
+
+static inline struct ieee802154_mlme_ops *ieee802154_mlme_ops(
+               struct net_device *dev)
+{
+       return dev->ml_priv;
+}
+
+#endif
+
+
diff --git a/include/net/nl802154.h b/include/net/nl802154.h
new file mode 100644 (file)
index 0000000..6096096
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ * nl802154.h
+ *
+ * Copyright (C) 2007, 2008, 2009 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.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#ifndef IEEE802154_NL_H
+#define IEEE802154_NL_H
+
+struct net_device;
+struct ieee802154_addr;
+
+/**
+ * ieee802154_nl_assoc_indic - Notify userland of an association request.
+ * @dev: The network device on which this association request was
+ *       received.
+ * @addr: The address of the device requesting association.
+ * @cap: The capability information field from the device.
+ *
+ * This informs a userland coordinator of a device requesting to
+ * associate with the PAN controlled by the coordinator.
+ *
+ * Note: This is in section 7.3.1 of the IEEE 802.15.4-2006 document.
+ */
+int ieee802154_nl_assoc_indic(struct net_device *dev,
+               struct ieee802154_addr *addr, u8 cap);
+
+/**
+ * ieee802154_nl_assoc_confirm - Notify userland of association.
+ * @dev: The device which has completed association.
+ * @short_addr: The short address assigned to the device.
+ * @status: The status of the association.
+ *
+ * Inform userland of the result of an association request. If the
+ * association request included asking the coordinator to allocate
+ * a short address then it is returned in @short_addr.
+ *
+ * Note: This is in section 7.3.2 of the IEEE 802.15.4 document.
+ */
+int ieee802154_nl_assoc_confirm(struct net_device *dev,
+               u16 short_addr, u8 status);
+
+/**
+ * ieee802154_nl_disassoc_indic - Notify userland of disassociation.
+ * @dev: The device on which disassociation was indicated.
+ * @addr: The device which is disassociating.
+ * @reason: The reason for the disassociation.
+ *
+ * Inform userland that a device has disassociated from the network.
+ *
+ * Note: This is in section 7.3.3 of the IEEE 802.15.4 document.
+ */
+int ieee802154_nl_disassoc_indic(struct net_device *dev,
+               struct ieee802154_addr *addr, u8 reason);
+
+/**
+ * ieee802154_nl_disassoc_confirm - Notify userland of disassociation
+ * completion.
+ * @dev: The device on which disassociation was ordered.
+ * @status: The result of the disassociation.
+ *
+ * Inform userland of the result of requesting that a device
+ * disassociate, or the result of requesting that we disassociate from
+ * a PAN managed by another coordinator.
+ *
+ * Note: This is in section 7.1.4.3 of the IEEE 802.15.4 document.
+ */
+int ieee802154_nl_disassoc_confirm(struct net_device *dev,
+               u8 status);
+
+/**
+ * ieee802154_nl_scan_confirm - Notify userland of completion of scan.
+ * @dev: The device which was instructed to scan.
+ * @status: The status of the scan operation.
+ * @scan_type: What type of scan was performed.
+ * @unscanned: Any channels that the device was unable to scan.
+ * @edl: The energy levels (if a passive scan).
+ *
+ *
+ * Note: This is in section 7.1.11 of the IEEE 802.15.4 document.
+ * Note: This API does not permit the return of an active scan result.
+ */
+int ieee802154_nl_scan_confirm(struct net_device *dev,
+               u8 status, u8 scan_type, u32 unscanned,
+               u8 *edl/*, struct list_head *pan_desc_list */);
+
+/**
+ * ieee802154_nl_beacon_indic - Notify userland of a received beacon.
+ * @dev: The device on which a beacon was received.
+ * @panid: The PAN of the coordinator.
+ * @coord_addr: The short address of the coordinator on that PAN.
+ *
+ * Note: This is in section 7.1.5 of the IEEE 802.15.4 document.
+ * Note: This API does not provide extended information such as what
+ * channel the PAN is on or what the LQI of the beacon frame was on
+ * receipt.
+ * Note: This API cannot indicate a beacon frame for a coordinator
+ *       operating in long addressing mode.
+ */
+int ieee802154_nl_beacon_indic(struct net_device *dev, u16 panid,
+               u16 coord_addr);
+
+#endif
index 3bb6bdb1dac1d95b537af4752b4039acfd1d52e2..69c8d9207aa7e48228d4af41b7f3b50fa8fc37f2 100644 (file)
@@ -34,8 +34,8 @@
 #include <net/tcp_states.h>
 #include <net/route.h>
 
-#include <net/ieee802154/af_ieee802154.h>
-#include <net/ieee802154/netdevice.h>
+#include <net/af_ieee802154.h>
+#include <net/ieee802154_netdev.h>
 
 #include "af802154.h"
 
index 14d39840dd62e736e9dfb96efc011c5b41dd92ab..53dd912d52b4cd1eb52132fbdacdee915e5b1f46 100644 (file)
@@ -26,9 +26,9 @@
 #include <linux/if_arp.h>
 #include <linux/list.h>
 #include <net/sock.h>
-#include <net/ieee802154/af_ieee802154.h>
-#include <net/ieee802154/mac_def.h>
-#include <net/ieee802154/netdevice.h>
+#include <net/af_ieee802154.h>
+#include <net/ieee802154.h>
+#include <net/ieee802154_netdev.h>
 
 #include <asm/ioctls.h>
 
index 27eda9fdf3c207f371864fa7ee81c2480f6999e9..a615b9d132129609d98d3a6d904548a037c9f933 100644 (file)
@@ -27,9 +27,9 @@
 #include <net/netlink.h>
 #include <net/genetlink.h>
 #include <linux/nl802154.h>
-#include <net/ieee802154/af_ieee802154.h>
-#include <net/ieee802154/nl802154.h>
-#include <net/ieee802154/netdevice.h>
+#include <net/af_ieee802154.h>
+#include <net/nl802154.h>
+#include <net/ieee802154_netdev.h>
 
 static unsigned int ieee802154_seq_num;
 
index fca44d59f97ec05ca02d9221da22d5b6b9fea3dc..ea8d1f15206e0599dcc274287d11a41559826138 100644 (file)
@@ -26,7 +26,7 @@
 #include <linux/if_arp.h>
 #include <linux/list.h>
 #include <net/sock.h>
-#include <net/ieee802154/af_ieee802154.h>
+#include <net/af_ieee802154.h>
 
 #include "af802154.h"