mirror of
https://github.com/apache/nuttx.git
synced 2026-06-07 09:18:00 +08:00
Another baby step in removing MAC knowledge from 6loWPAN.
This commit is contained in:
@@ -72,50 +72,6 @@
|
||||
# define NET_6LOWPAN_ADDRSIZE NET_6LOWPAN_SADDRSIZE
|
||||
#endif
|
||||
|
||||
/* Frame format definitions *************************************************/
|
||||
/* These are some definitions of element values used in the FCF. See the
|
||||
* IEEE802.15.4 spec for details.
|
||||
*/
|
||||
|
||||
#define FRAME802154_FRAMETYPE_SHIFT (0) /* Bits 0-2: Frame type */
|
||||
#define FRAME802154_FRAMETYPE_MASK (7 << FRAME802154_FRAMETYPE_SHIFT)
|
||||
#define FRAME802154_SECENABLED_SHIFT (3) /* Bit 3: Security enabled */
|
||||
#define FRAME802154_FRAMEPENDING_SHIFT (4) /* Bit 4: Frame pending */
|
||||
#define FRAME802154_ACKREQUEST_SHIFT (5) /* Bit 5: ACK request */
|
||||
#define FRAME802154_PANIDCOMP_SHIFT (6) /* Bit 6: PANID compression */
|
||||
/* Bits 7-9: Reserved */
|
||||
#define FRAME802154_DSTADDR_SHIFT (2) /* Bits 10-11: Dest address mode */
|
||||
#define FRAME802154_DSTADDR_MASK (3 << FRAME802154_DSTADDR_SHIFT)
|
||||
#define FRAME802154_VERSION_SHIFT (4) /* Bit 12-13: Frame version */
|
||||
#define FRAME802154_VERSION_MASK (3 << FRAME802154_VERSION_SHIFT)
|
||||
#define FRAME802154_SRCADDR_SHIFT (6) /* Bits 14-15: Source address mode */
|
||||
#define FRAME802154_SRCADDR_MASK (3 << FRAME802154_SRCADDR_SHIFT)
|
||||
|
||||
/* Unshifted values for use in struct frame802154_fcf_s */
|
||||
|
||||
#define FRAME802154_BEACONFRAME (0)
|
||||
#define FRAME802154_DATAFRAME (1)
|
||||
#define FRAME802154_ACKFRAME (2)
|
||||
#define FRAME802154_CMDFRAME (3)
|
||||
|
||||
#define FRAME802154_BEACONREQ (7)
|
||||
|
||||
#define FRAME802154_IEEERESERVED (0)
|
||||
#define FRAME802154_NOADDR (0) /* Only valid for ACK or Beacon frames */
|
||||
#define FRAME802154_SHORTADDRMODE (2)
|
||||
#define FRAME802154_LONGADDRMODE (3)
|
||||
|
||||
#define FRAME802154_NOBEACONS 0x0f
|
||||
|
||||
#define FRAME802154_BROADCASTADDR 0xffff
|
||||
#define FRAME802154_BROADCASTPANDID 0xffff
|
||||
|
||||
#define FRAME802154_IEEE802154_2003 (0)
|
||||
#define FRAME802154_IEEE802154_2006 (1)
|
||||
|
||||
#define FRAME802154_SECURITY_LEVEL_NONE (0)
|
||||
#define FRAME802154_SECURITY_LEVEL_128 (3)
|
||||
|
||||
/* This maximum size of an IEEE802.15.4 frame. Certain, non-standard
|
||||
* devices may exceed this value, however.
|
||||
*/
|
||||
|
||||
@@ -437,9 +437,11 @@ int ipv6_input(FAR struct net_driver_s *dev);
|
||||
|
||||
#ifdef CONFIG_NET_6LOWPAN
|
||||
struct ieee802154_driver_s; /* See sixlowpan.h */
|
||||
struct eee802154_data_ind_s; /* See sixlowpan.h */
|
||||
struct iob_s; /* See iob.h */
|
||||
int sixlowpan_input(FAR struct ieee802154_driver_s *ieee,
|
||||
FAR struct iob_s *framelist);
|
||||
FAR struct iob_s *framelist,
|
||||
FAR const struct eee802154_data_ind_s *ind);
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
@@ -342,6 +342,7 @@
|
||||
*/
|
||||
|
||||
struct ieee802154_frame_meta_s; /* Forward reference */
|
||||
struct eee802154_data_ind_s; /* Forward reference */
|
||||
struct iob_s; /* Forward reference */
|
||||
|
||||
struct ieee802154_driver_s
|
||||
@@ -420,7 +421,7 @@ struct ieee802154_driver_s
|
||||
|
||||
/* The source MAC address of the fragments being merged */
|
||||
|
||||
struct sixlowpan_addr_s i_fragsrc;
|
||||
union sixlowpan_anyaddr_u i_fragsrc;
|
||||
|
||||
/* That time at which reassembly was started. If the elapsed time
|
||||
* exceeds CONFIG_NET_6LOWPAN_MAXAGE, then the reassembly will
|
||||
@@ -525,7 +526,12 @@ struct ieee802154_driver_s
|
||||
*
|
||||
* Input Parameters:
|
||||
* ieee - The IEEE802.15.4 MAC network driver interface.
|
||||
* framelist - The head of an incoming list of frames.
|
||||
* framelist - The head of an incoming list of frames. Normally this
|
||||
* would be a single frame. A list may be provided if
|
||||
* appropriate, however.
|
||||
* ind - Meta data characterizing the received packet. If there are
|
||||
* multilple frames in the list, this meta data must apply to
|
||||
* all of the frames!
|
||||
*
|
||||
* Returned Value:
|
||||
* Ok is returned on success; Othewise a negated errno value is returned.
|
||||
@@ -533,7 +539,8 @@ struct ieee802154_driver_s
|
||||
****************************************************************************/
|
||||
|
||||
int sixlowpan_input(FAR struct ieee802154_driver_s *ieee,
|
||||
FAR struct iob_s *framelist);
|
||||
FAR struct iob_s *framelist,
|
||||
FAR const struct eee802154_data_ind_s *ind);
|
||||
|
||||
#endif /* CONFIG_NET_6LOWPAN */
|
||||
#endif /* __INCLUDE_NUTTX_NET_SIXLOWPAN_H */
|
||||
|
||||
Reference in New Issue
Block a user