le_lpt_common.h

Go to the documentation of this file.
1 
2 /*
3  * ====================== WARNING ======================
4  *
5  * THE CONTENTS OF THIS FILE HAVE BEEN AUTO-GENERATED.
6  * DO NOT MODIFY IN ANY WAY.
7  *
8  * ====================== WARNING ======================
9  */
10 /**
11  * @file le_lpt_common.h
12  *
13  * Type definitions for le_lpt.
14  *
15  */
16 #ifndef LE_LPT_COMMON_H_INCLUDE_GUARD
17 #define LE_LPT_COMMON_H_INCLUDE_GUARD
18 
19 
20 #include "legato.h"
21 
22 #define IFGEN_LE_LPT_PROTOCOL_ID "ccfe759c5c98596d89903e7ec76a47b4"
23 #define IFGEN_LE_LPT_MSG_SIZE 18
24 /** @addtogroup le_lpt
25  * @{ **/
26 
27 
28 //--------------------------------------------------------------------------------------------------
29 /**
30  * eDRX Radio Access Technology enum
31  */
32 //--------------------------------------------------------------------------------------------------
33 typedef enum
34 {
36  ///< Unknown
38  ///< EC-GSM-IoT (A/Gb mode)
40  ///< GSM (A/Gb mode)
42  ///< UTRAN (Iu mode)
44  ///< E-UTRAN (WB-S1 mode)
46  ///< E-UTRAN (NB-S1 mode)
48  ///< Invalid
49 }
51 
52 
53 //--------------------------------------------------------------------------------------------------
54 /**
55  * Power management mode enum
56  */
57 //--------------------------------------------------------------------------------------------------
58 typedef enum
59 {
61  ///< Sleep
63  ///< Lite hibernation
65  ///< Hibernate
67  ///< Invalid
68 }
70 
71 
72 //--------------------------------------------------------------------------------------------------
73 /**
74  * Reference type used by Add/Remove functions for EVENT 'le_lpt_EDrxParamsChange'
75  */
76 //--------------------------------------------------------------------------------------------------
77 typedef struct le_lpt_EDrxParamsChangeHandler* le_lpt_EDrxParamsChangeHandlerRef_t;
78 
79 
80 //--------------------------------------------------------------------------------------------------
81 /**
82  * Handler to report a change in the network-provided eDRX parameters.
83  */
84 //--------------------------------------------------------------------------------------------------
86 (
87  le_lpt_EDrxRat_t rat,
88  ///< Radio Access Technology.
89  le_onoff_t activation,
90  ///< eDRX activation state.
91  uint8_t eDrxValue,
92  ///< eDRX cycle value, defined in 3GPP
93  ///< TS 24.008 Rel-13 section 10.5.5.32.
94  uint8_t pagingTimeWindow,
95  ///< Paging Time Window, defined in 3GPP
96  ///< TS 24.008 Rel-13 section 10.5.5.32.
97  void* contextPtr
98  ///<
99 );
100 
101 
102 //--------------------------------------------------------------------------------------------------
103 /**
104  * Get if this client bound locally.
105  */
106 //--------------------------------------------------------------------------------------------------
107 LE_SHARED bool ifgen_le_lpt_HasLocalBinding
108 (
109  void
110 );
111 
112 
113 //--------------------------------------------------------------------------------------------------
114 /**
115  * Init data that is common across all threads
116  */
117 //--------------------------------------------------------------------------------------------------
118 LE_SHARED void ifgen_le_lpt_InitCommonData
119 (
120  void
121 );
122 
123 
124 //--------------------------------------------------------------------------------------------------
125 /**
126  * Perform common initialization and open a session
127  */
128 //--------------------------------------------------------------------------------------------------
129 LE_SHARED le_result_t ifgen_le_lpt_OpenSession
130 (
131  le_msg_SessionRef_t _ifgen_sessionRef,
132  bool isBlocking
133 );
134 
135 //--------------------------------------------------------------------------------------------------
136 /**
137  * Set the eDRX activation state for the given Radio Access Technology.
138  *
139  * @return
140  * - LE_OK The function succeeded.
141  * - LE_BAD_PARAMETER A parameter is invalid.
142  * - LE_UNSUPPORTED eDRX is not supported by the platform.
143  * - LE_FAULT The function failed.
144  */
145 //--------------------------------------------------------------------------------------------------
146 LE_SHARED le_result_t ifgen_le_lpt_SetEDrxState
147 (
148  le_msg_SessionRef_t _ifgen_sessionRef,
149  le_lpt_EDrxRat_t rat,
150  ///< [IN] Radio Access Technology.
151  le_onoff_t activation
152  ///< [IN] eDRX activation state.
153 );
154 
155 //--------------------------------------------------------------------------------------------------
156 /**
157  * Set the requested eDRX cycle value for the given Radio Access Technology.
158  * The eDRX cycle value is defined in 3GPP TS 24.008 Release 13 section 10.5.5.32.
159  *
160  * @return
161  * - LE_OK The function succeeded.
162  * - LE_BAD_PARAMETER A parameter is invalid.
163  * - LE_UNSUPPORTED eDRX is not supported by the platform.
164  * - LE_FAULT The function failed.
165  */
166 //--------------------------------------------------------------------------------------------------
167 LE_SHARED le_result_t ifgen_le_lpt_SetRequestedEDrxValue
168 (
169  le_msg_SessionRef_t _ifgen_sessionRef,
170  le_lpt_EDrxRat_t rat,
171  ///< [IN] Radio Access Technology.
172  uint8_t eDrxValue
173  ///< [IN] Requested eDRX cycle value, defined in 3GPP
174  ///< TS 24.008 Rel-13 section 10.5.5.32.
175 );
176 
177 //--------------------------------------------------------------------------------------------------
178 /**
179  * Get the requested eDRX cycle value for the given Radio Access Technology.
180  * The eDRX cycle value is defined in 3GPP TS 24.008 Release 13 section 10.5.5.32.
181  *
182  * @return
183  * - LE_OK The function succeeded.
184  * - LE_BAD_PARAMETER A parameter is invalid.
185  * - LE_UNSUPPORTED eDRX is not supported by the platform.
186  * - LE_UNAVAILABLE No requested eDRX cycle value.
187  * - LE_FAULT The function failed.
188  */
189 //--------------------------------------------------------------------------------------------------
190 LE_SHARED le_result_t ifgen_le_lpt_GetRequestedEDrxValue
191 (
192  le_msg_SessionRef_t _ifgen_sessionRef,
193  le_lpt_EDrxRat_t rat,
194  ///< [IN] Radio Access Technology.
195  uint8_t* eDrxValuePtr
196  ///< [OUT] Requested eDRX cycle value, defined in 3GPP
197  ///< TS 24.008 Rel-13 section 10.5.5.32.
198 );
199 
200 //--------------------------------------------------------------------------------------------------
201 /**
202  * Get the network-provided eDRX cycle value for the given Radio Access Technology.
203  * The eDRX cycle value is defined in 3GPP TS 24.008 Release 13 section 10.5.5.32.
204  *
205  * @return
206  * - LE_OK The function succeeded.
207  * - LE_BAD_PARAMETER A parameter is invalid.
208  * - LE_UNSUPPORTED eDRX is not supported by the platform.
209  * - LE_UNAVAILABLE No network-provided eDRX cycle value.
210  * - LE_FAULT The function failed.
211  */
212 //--------------------------------------------------------------------------------------------------
213 LE_SHARED le_result_t ifgen_le_lpt_GetNetworkProvidedEDrxValue
214 (
215  le_msg_SessionRef_t _ifgen_sessionRef,
216  le_lpt_EDrxRat_t rat,
217  ///< [IN] Radio Access Technology.
218  uint8_t* eDrxValuePtr
219  ///< [OUT] Network-provided eDRX cycle value, defined in
220  ///< 3GPP TS 24.008 Rel-13 section 10.5.5.32.
221 );
222 
223 //--------------------------------------------------------------------------------------------------
224 /**
225  * Get the network-provided Paging Time Window for the given Radio Access Technology.
226  * The Paging Time Window is defined in 3GPP TS 24.008 Release 13 section 10.5.5.32.
227  *
228  * @return
229  * - LE_OK The function succeeded.
230  * - LE_BAD_PARAMETER A parameter is invalid.
231  * - LE_UNSUPPORTED eDRX is not supported by the platform.
232  * - LE_UNAVAILABLE No defined Paging Time Window.
233  * - LE_FAULT The function failed.
234  */
235 //--------------------------------------------------------------------------------------------------
236 LE_SHARED le_result_t ifgen_le_lpt_GetNetworkProvidedPagingTimeWindow
237 (
238  le_msg_SessionRef_t _ifgen_sessionRef,
239  le_lpt_EDrxRat_t rat,
240  ///< [IN] Radio Access Technology.
241  uint8_t* pagingTimeWindowPtr
242  ///< [OUT] Network-provided Paging Time Window, defined
243  ///< in 3GPP TS 24.008 Rel-13 section 10.5.5.32.
244 );
245 
246 //--------------------------------------------------------------------------------------------------
247 /**
248  * Add handler function for EVENT 'le_lpt_EDrxParamsChange'
249  *
250  * Event to report a change in the network-provided eDRX parameters.
251  */
252 //--------------------------------------------------------------------------------------------------
253 LE_SHARED le_lpt_EDrxParamsChangeHandlerRef_t ifgen_le_lpt_AddEDrxParamsChangeHandler
254 (
255  le_msg_SessionRef_t _ifgen_sessionRef,
257  ///< [IN]
258  void* contextPtr
259  ///< [IN]
260 );
261 
262 //--------------------------------------------------------------------------------------------------
263 /**
264  * Remove handler function for EVENT 'le_lpt_EDrxParamsChange'
265  */
266 //--------------------------------------------------------------------------------------------------
267 LE_SHARED void ifgen_le_lpt_RemoveEDrxParamsChangeHandler
268 (
269  le_msg_SessionRef_t _ifgen_sessionRef,
271  ///< [IN]
272 );
273 
274 //--------------------------------------------------------------------------------------------------
275 /**
276  * Set the lowest power management mode that the module can enter.
277  *
278  * @return
279  * - LE_OK The function succeeded.
280  * - LE_BAD_PARAMETER A parameter is invalid.
281  * - LE_UNSUPPORTED Operation is not supported.
282  * - LE_FAULT The function failed.
283  */
284 //--------------------------------------------------------------------------------------------------
285 LE_SHARED le_result_t ifgen_le_lpt_SetPmMode
286 (
287  le_msg_SessionRef_t _ifgen_sessionRef,
288  le_lpt_PMMode_t mode
289  ///< [IN]
290 );
291 
292 //--------------------------------------------------------------------------------------------------
293 /**
294  * Set the PSM activation state.
295  *
296  * @return
297  * - LE_OK The function succeeded.
298  * - LE_BAD_PARAMETER A parameter is invalid.
299  * - LE_UNSUPPORTED PSM is not supported by the platform.
300  * - LE_FAULT The function failed.
301  */
302 //--------------------------------------------------------------------------------------------------
303 LE_SHARED le_result_t ifgen_le_lpt_SetPSMState
304 (
305  le_msg_SessionRef_t _ifgen_sessionRef,
306  le_onoff_t activation
307  ///< [IN] PSM activation state.
308 );
309 
310 //--------------------------------------------------------------------------------------------------
311 /**
312  * Set the Power Saving Mode Setting.
313  *
314  * @return
315  * - LE_OK The function succeeded.
316  * - LE_BAD_PARAMETER A parameter is invalid.
317  * - LE_UNSUPPORTED PSM is not supported by the platform.
318  * - LE_FAULT The function failed.
319  */
320 //--------------------------------------------------------------------------------------------------
321 LE_SHARED le_result_t ifgen_le_lpt_SetPSMValue
322 (
323  le_msg_SessionRef_t _ifgen_sessionRef,
324  uint8_t rqstPeriodicRau,
325  ///< [IN] Requested periodic RAU.
326  uint8_t rqstGprsRdyTimer,
327  ///< [IN] Requested GPRS Ready timer.
328  uint8_t rqstPeriodicTau,
329  ///< [IN] Requested periodic TAU.
330  uint8_t rqstActiveTimer
331  ///< [IN] Requested active timer.
332 );
333 
334 //--------------------------------------------------------------------------------------------------
335 /**
336  * Set the Power Saving Mode Setting.
337  *
338  * @return
339  * - LE_OK The function succeeded.
340  * - LE_BAD_PARAMETER A parameter is invalid.
341  * - LE_UNSUPPORTED PSM is not supported by the platform.
342  * - LE_FAULT The function failed.
343  */
344 //--------------------------------------------------------------------------------------------------
345 LE_SHARED le_result_t ifgen_le_lpt_GetPSMValue
346 (
347  le_msg_SessionRef_t _ifgen_sessionRef,
348  uint8_t* rqstPeriodicRauPtr,
349  ///< [OUT] Requested periodic RAU.
350  uint8_t* rqstGprsRdyTimerPtr,
351  ///< [OUT] Requested GPRS Ready timer.
352  uint8_t* rqstPeriodicTauPtr,
353  ///< [OUT] Requested periodic TAU.
354  uint8_t* rqstActiveTimerPtr
355  ///< [OUT] Requested active timer.
356 );
357 /** @} **/
358 #endif // LE_LPT_COMMON_H_INCLUDE_GUARD
Hibernate.
Definition: le_lpt_common.h:64
#define LE_SHARED
Definition: le_basics.h:287
EC-GSM-IoT (A/Gb mode)
Definition: le_lpt_common.h:37
le_result_t
Definition: le_basics.h:46
Sleep.
Definition: le_lpt_common.h:60
struct le_lpt_EDrxParamsChangeHandler * le_lpt_EDrxParamsChangeHandlerRef_t
Definition: le_lpt_common.h:77
Invalid.
Definition: le_lpt_common.h:66
GSM (A/Gb mode)
Definition: le_lpt_common.h:39
le_lpt_EDrxRat_t
Definition: le_lpt_common.h:33
E-UTRAN (WB-S1 mode)
Definition: le_lpt_common.h:43
E-UTRAN (NB-S1 mode)
Definition: le_lpt_common.h:45
void(* le_lpt_EDrxParamsChangeHandlerFunc_t)(le_lpt_EDrxRat_t rat, le_onoff_t activation, uint8_t eDrxValue, uint8_t pagingTimeWindow, void *contextPtr)
Definition: le_lpt_common.h:86
struct le_msg_Session * le_msg_SessionRef_t
Definition: le_messaging.h:860
le_lpt_PMMode_t
Definition: le_lpt_common.h:58
UTRAN (Iu mode)
Definition: le_lpt_common.h:41
Lite hibernation.
Definition: le_lpt_common.h:62
Unknown.
Definition: le_lpt_common.h:35
Invalid.
Definition: le_lpt_common.h:47
le_onoff_t
Definition: le_basics.h:85