Blame view

RIOT/sys/net/gnrc/link_layer/lwmac/include/tx_state_machine.h 1.42 KB
a752c7ab   elopes   add first test an...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
  /*
   * Copyright (C) 2015 Daniel Krebs
   *               2016 INRIA
   *
   * This file is subject to the terms and conditions of the GNU Lesser
   * General Public License v2.1. See the file LICENSE in the top level
   * directory for more details.
   */
  
  /**
   * @ingroup     net_gnrc_lwmac
   * @{
   *
   * @file
   * @brief       Implementation of TX state machine
   *
   * @author      Daniel Krebs <github@daniel-krebs.net>
   * @author      Shuguo Zhuo  <shuguo.zhuo@inria.fr>
   * @}
   */
  
  #ifndef TX_STATE_MACHINE_H
  #define TX_STATE_MACHINE_H
  
  #include "net/gnrc/pkt.h"
  #include "net/gnrc/netdev.h"
  #include "net/gnrc/mac/types.h"
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  /**
   * @brief Start LWMAC TX procedure to transmit packet @p pkt to @p neighbor
   *
   * @param[in,out]   gnrc_netdev   gnrc_netdev structure
   * @param[in]       pkt           packet to transmit
   * @param[in]       neighbor      Tx neighbor
   *
   */
  void gnrc_lwmac_tx_start(gnrc_netdev_t *gnrc_netdev,
                           gnrc_pktsnip_t *pkt,
                           gnrc_mac_tx_neighbor_t *neighbor);
  
  /**
   * @brief Stop LWMAC TX procedure
   *
   * @param[in,out]   gnrc_netdev   gnrc_netdev structure
   *
   */
  void gnrc_lwmac_tx_stop(gnrc_netdev_t *gnrc_netdev);
  
  /**
   * @brief Update LWMAC TX procedure for transmission
   *
   * @param[in,out]   gnrc_netdev   gnrc_netdev structure
   *
   */
  void gnrc_lwmac_tx_update(gnrc_netdev_t *gnrc_netdev);
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* TX_STATE_MACHINE_H */