summaryrefslogtreecommitdiff
path: root/lcmodule/source/cnh1605204_ldr_transport_layer/include/t_a2_transport.h
blob: eb18598cea5ded17d1a1ee98dc6243aebb6bf061 (plain)
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
/*******************************************************************************
 * Copyright (C) ST-Ericsson SA 2011
 * License terms: 3-clause BSD license
 ******************************************************************************/
#ifndef INCLUSION_GUARD_T_A2_TRANSPORT_H
#define INCLUSION_GUARD_T_A2_TRANSPORT_H
/**
 *  @addtogroup ldr_communication_serv
 *  @{
 *    @addtogroup a2_family
 *    @{
 *      @addtogroup ldr_transport_layer
 *      @{
 */

/*******************************************************************************
 * Includes
 ******************************************************************************/
#include "t_basicdefinitions.h"
#include "t_a2_network.h"

/*******************************************************************************
 * Types, constants and external variables
 ******************************************************************************/
/** Callback function type for the A2 protocol handler */
typedef ErrorCode_e(* A2_Callback_fn)(void *Param_p, uint8 PDU, int PayloadLength, void *Payload_p, Communication_t *Communication_p);

/** Structure for transfer input parameters in "loader protocols" protocol family */
typedef struct {
    A2_Header_t      *Header_p;         /**< Pointer to A2 header data. */
    void             *Payload_p;        /**< Pointer to payload data.*/
    uint32           Time;              /**< Used time for retransmission.*/
    HandleFunction_t TimerCallBackFn_p; /**< Timer callback function for
                                           retransmission.*/
} A2_SendData_LP_t;

/** A2 Transport context */
typedef struct {
    A2_Callback_fn Callback;
} A2_TransportContext_t;

/** @} */
/** @} */
/** @} */
#endif // INCLUSION_GUARD_T_A2_TRANSPORT_H