Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: mbedEndpointNetwork mbedEndpointNetworkMJK
Fork of Nanostack_lib by
inc/net/multicast_api.h@11:1b7aaf37a131, 2014-06-25 (annotated)
- Committer:
- jusu_81
- Date:
- Wed Jun 25 21:05:58 2014 +0000
- Revision:
- 11:1b7aaf37a131
- Parent:
- 4:c449bead5cf3
- Child:
- 12:acef6f596835
Added C++ & C Extern C sectors to hedaer files.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Mika Karjalainen |
4:c449bead5cf3 | 1 | #ifndef MULTICAST_API_H_ |
Mika Karjalainen |
4:c449bead5cf3 | 2 | #define MULTICAST_API_H_ |
Mika Karjalainen |
4:c449bead5cf3 | 3 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 4 | * \file multicast_api.h |
Mika Karjalainen |
4:c449bead5cf3 | 5 | * \brief Multicast Trickle Forwarding API. |
Mika Karjalainen |
4:c449bead5cf3 | 6 | * \section multi-init Init API: |
Mika Karjalainen |
4:c449bead5cf3 | 7 | * - multicast_set_parameters(), Set Trickle Parameters |
Mika Karjalainen |
4:c449bead5cf3 | 8 | * \section multi-cnf Configure API: |
Mika Karjalainen |
4:c449bead5cf3 | 9 | * - multicast_add_address(), Add new address to multicast group and control Trickle forwarding |
Mika Karjalainen |
4:c449bead5cf3 | 10 | * - multicast_free_address(), Remove supported Multicast address from List |
Mika Karjalainen |
4:c449bead5cf3 | 11 | * |
Mika Karjalainen |
4:c449bead5cf3 | 12 | * \section ZigBeeIP Trickle Setups for Multicast Init |
Mika Karjalainen |
4:c449bead5cf3 | 13 | * |
Mika Karjalainen |
4:c449bead5cf3 | 14 | * | Parameter | VALUE | |
Mika Karjalainen |
4:c449bead5cf3 | 15 | * | :---------------: | :---: | |
Mika Karjalainen |
4:c449bead5cf3 | 16 | * | imin | 10 | |
Mika Karjalainen |
4:c449bead5cf3 | 17 | * | imax | 0 | |
Mika Karjalainen |
4:c449bead5cf3 | 18 | * | k | 20 | |
Mika Karjalainen |
4:c449bead5cf3 | 19 | * | timer_expirations | 3 | |
Mika Karjalainen |
4:c449bead5cf3 | 20 | * | window_expiration | 75 | |
Mika Karjalainen |
4:c449bead5cf3 | 21 | * |
Mika Karjalainen |
4:c449bead5cf3 | 22 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 23 | |
jusu_81 | 11:1b7aaf37a131 | 24 | #ifdef __cplusplus |
jusu_81 | 11:1b7aaf37a131 | 25 | extern "C" { |
jusu_81 | 11:1b7aaf37a131 | 26 | #endif |
Mika Karjalainen |
4:c449bead5cf3 | 27 | |
Mika Karjalainen |
4:c449bead5cf3 | 28 | |
Mika Karjalainen |
4:c449bead5cf3 | 29 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 30 | * \brief Set new parameters for Trickle Multicast. |
Mika Karjalainen |
4:c449bead5cf3 | 31 | * |
Mika Karjalainen |
4:c449bead5cf3 | 32 | * \param i_min Minimum Trickle timer interval in 50ms resolution: Imin = i_min * 50ms. |
Mika Karjalainen |
4:c449bead5cf3 | 33 | * \param i_max Maximum Trickle timer interval as number if doubling of minimum interval. |
Mika Karjalainen |
4:c449bead5cf3 | 34 | * \param k Redundancy constant. |
Mika Karjalainen |
4:c449bead5cf3 | 35 | * \param timer_expirations Number if Trickle timer expirations before terminating Trickle process. |
Mika Karjalainen |
4:c449bead5cf3 | 36 | * \param window_expiration Time window state is kept after Trickle process has ended in 50ms resolution. |
Mika Karjalainen |
4:c449bead5cf3 | 37 | * NOTE: If window_expiration value is set too small an infinite retransmission loop may occur when using the trickle multicast. |
Mika Karjalainen |
4:c449bead5cf3 | 38 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 39 | extern void multicast_set_parameters(uint8_t i_min, uint8_t i_max, uint8_t k, uint8_t timer_expirations, uint8_t window_expiration); |
Mika Karjalainen |
4:c449bead5cf3 | 40 | |
Mika Karjalainen |
4:c449bead5cf3 | 41 | |
Mika Karjalainen |
4:c449bead5cf3 | 42 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 43 | * \brief Add new address to multicast group. |
Mika Karjalainen |
4:c449bead5cf3 | 44 | * |
Mika Karjalainen |
4:c449bead5cf3 | 45 | * \param address_ptr Pointer to a 16-byte array that includes the address to be added. |
Mika Karjalainen |
4:c449bead5cf3 | 46 | * \param use_trickle 0 = no trickle multicast forwarding, all other values = trickle multicast forwarding will be used with this address. |
Mika Karjalainen |
4:c449bead5cf3 | 47 | * |
Mika Karjalainen |
4:c449bead5cf3 | 48 | * \return 0 general error. |
Mika Karjalainen |
4:c449bead5cf3 | 49 | * \return 1 address updated. |
Mika Karjalainen |
4:c449bead5cf3 | 50 | * \return 2 address added. |
Mika Karjalainen |
4:c449bead5cf3 | 51 | * \return 255 link local not allowed when using multicast. |
Mika Karjalainen |
4:c449bead5cf3 | 52 | * |
Mika Karjalainen |
4:c449bead5cf3 | 53 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 54 | extern uint8_t multicast_add_address(uint8_t *address_ptr, uint8_t use_trickle); |
Mika Karjalainen |
4:c449bead5cf3 | 55 | |
Mika Karjalainen |
4:c449bead5cf3 | 56 | |
Mika Karjalainen |
4:c449bead5cf3 | 57 | |
Mika Karjalainen |
4:c449bead5cf3 | 58 | /** |
Mika Karjalainen |
4:c449bead5cf3 | 59 | * \brief Free address from multicast group. |
Mika Karjalainen |
4:c449bead5cf3 | 60 | * |
Mika Karjalainen |
4:c449bead5cf3 | 61 | * \param address_ptr Pointer to a 16-byte array that includes the address to be removed. |
Mika Karjalainen |
4:c449bead5cf3 | 62 | * |
Mika Karjalainen |
4:c449bead5cf3 | 63 | * \return 0 will be returned on successful execution, other values indicate an error on removing the address. |
Mika Karjalainen |
4:c449bead5cf3 | 64 | */ |
Mika Karjalainen |
4:c449bead5cf3 | 65 | extern uint8_t multicast_free_address(uint8_t *address_ptr); |
jusu_81 | 11:1b7aaf37a131 | 66 | #ifdef __cplusplus |
jusu_81 | 11:1b7aaf37a131 | 67 | } |
jusu_81 | 11:1b7aaf37a131 | 68 | #endif |
Mika Karjalainen |
4:c449bead5cf3 | 69 | #endif /* MULTICAST_API_H_ */ |