Initialize Tizen 2.3
[framework/telephony/libslp-tapi.git] / mobile / include / ITapiPS.h
1 /*
2  * libslp-tapi
3  *
4  * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Ja-young Gu <jygu@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 /**
22  * @open
23  * @ingroup             TelephonyAPI
24  * @addtogroup  GPRS_TAPI       GPRS
25  * @{
26  *
27  * GPRS APIs allow an application to accomplish the following services: @n
28  * - activate , deactivate PDP service @n
29  *
30  */
31
32 #ifndef _ITAPI_PS_H_
33 #define _ITAPI_PS_H_
34
35 #include <tapi_common.h>
36 #include <TelDefines.h>
37 #include <TelErr.h>
38 #include <TapiUtility.h>
39
40 #ifdef __cplusplus
41 extern "C"
42 {
43 #endif
44
45 /* Defining macros for PSMAN profiles */
46 #define TAPI_PDP_ADDR_LEN_MAX           20
47 #define TAPI_PDP_APN_LEN_MAX            101
48 #define TAPI_PDP_NAME_LEN_MAX           16
49 #define TAPI_PDP_MAX_USERNAME_LEN       32
50 #define TAPI_PDP_MAX_PASSWORD_LEN       32
51 #define TAPI_PDP_MAX_DNS_LEN            16
52 #define MAX_PDP_CONTEXTS_ALLOWED        3
53 #define MAX_GPRS_PORT_LIST                      200
54
55 typedef enum {
56      TAPI_GPRS_DEFINE_PDP_CONTEXT=0x01,         /* 0x01 : Define PDP Context */
57      TAPI_GSM_GPRS_QOS,                                         /* 0x02 : Quality of Service Profile */
58      TAPI_GSM_GPRS_PS,                                          /* 0x03 : PS attach or detach */
59      TAPI_GSM_GPRS_PDP_CONTEXT,                         /* 0x04 : PDP context activate or deactivate */
60      TAPI_GSM_GPRS_ENTER_DATA,                          /* 0x05 : Enter data */
61      TAPI_GSM_GPRS_SHOW_PDP_ADDR,                       /* 0x06 : Show PDP address*/
62      TAPI_GSM_GPRS_MS_CLASS,                                    /* 0x07 : GPRS mobile station class*/
63      TAPI_GSM_GPRS_3G_QUAL_SRVC_PROFILE,                /* 0x08 : 3G Quality of service profile */
64      TAPI_GSM_GPRS_IP_CONFIGURATION,                    /* 0x09 : Multiple PDP context IP configuration */
65      TAPI_GSM_GPRS_DEFINE_SEC_PDP_CONTEXT,              /* 0X0A : AT+CGDSCONT   05.10.07 ky.doo EDIT */
66      TAPI_GSM_GPRS_TFT,                                                 /* 0X0B : AT+CGTFT      05.10.07 ky.doo EDIT */
67      TAPI_GSM_GPRS_HSDPA_STATUS,                                /* 0x0C : HSDPA status */
68      TAPI_GSM_GPRS_CURRENT_SESSION_DATA_COUNTER,/* 0x0D : Current data session tx/rx total bytes */
69      TAPI_GSM_GPRS_DATA_DORMANT,                /* 0x0E : Force to set Dormant */
70      TAPI_GSM_GPRS_DUN_PIN_CTRL ,               /* 0x0F : Dial up Networking Pin Control Message */
71      TAPI_GSM_GPRS_CALL_STATUS,                     /* 0x10 : DS TE2 Data Call result(Multiple PDP) */
72      TAPI_GSM_GPRS_PORT_SEL,                            /* 0x11 : PORT SEL */
73      TAPI_GSM_GPRS_MAX
74 } tapi_gprs_type_t;
75
76 typedef enum{
77         TAPI_PDP_MODE_ADD = 0x01,                               /*ADD*/
78         TAPI_PDP_MODE_DEL = 0x02                                        /*Delete*/
79 } tapi_pdp_mode_type_t;
80
81 typedef enum{
82         TAPI_PDP_AUTH_NONE = 0x0,               /* No authentication           */
83         TAPI_PDP_AUTH_PAP  = 0x1,               /* PAP authentication          */
84         TAPI_PDP_AUTH_CHAP = 0x2,               /* CHAP authentication       */
85         TAPI_PDP_AUTH_MAX  = 0xff
86
87 } tapi_pdp_auth_type_t;
88
89 typedef enum {
90         GPRS_PDP_TYPE_UNKNOWN   = 0x00,
91         GPRS_PDP_TYPE_X25               = 0x01,
92         GPRS_PDP_TYPE_IP                = 0x02,
93         GPRS_PDP_TYPE_IHOSP     = 0x03,
94         GPRS_PDP_TYPE_PPP               = 0x04,
95         GPRS_PDP_TYPE_IPV6              = 0x05,
96 } tapi_pdp_type_t;
97
98 /* HSDPA Status Variable */
99 typedef enum {
100   HSDPA_INACTIVE,
101   HSDPA_ACTIVE
102 } tapi_hspda_status_type;
103
104 typedef enum {
105         GPRS_SIGNAL_DCD         = 0x01,
106         GPRS_DATA_SIGNAL_DTR    = 0x04,
107         GPRS_DATA_SIGNAL_DSR    = 0x06,
108         GPRS_DATA_SIGNAL_RTS    = 0x07,
109         GPRS_DATA_SIGNAL_CTS    = 0x08,
110         GPRS_DATA_SIGNAL_RI     = 0x09,
111 } tapi_ps_btdun_pincontrol_signal;
112
113 typedef enum {
114         GPRS_SIGNAL_STATUS_OFF  = 0x00,
115         GPRS_SIGNAL_STATUS_ON   = 0x01,
116 } tapi_ps_btdun_pincontrol_status;
117
118 typedef enum {
119         TAPI_GPRS_PS_STATUS_DETACH = 0x00,
120         TAPI_GPRS_PS_STATUS_ATTACH = 0x01,
121         TAPI_GPRS_PS_STATUS_MAX
122 } tapi_gprs_pdp_status;
123
124 typedef enum {
125         TAPI_GPRS_MO_SMS_SVC_CIRCUIT                    = 0x00,
126         TAPI_GPRS_MO_SMS_SVC_GPRS                               = 0x01,
127         TAPI_GPRS_MO_SMS_SVC_CIRCUITPREFERRED   = 0x02,
128         TAPI_GPRS_MO_SMS_SVC_GPRSPREFERRED              = 0x03,
129 } tapi_gprs_pdp_mo_sms_service;
130
131 typedef enum {
132         TAPI_GPRS_3G_QOS_TYPE_REQUEST                   = 0x01,
133         TAPI_GPRS_3G_QOS_TYPE_MIN_ACCEPT                = 0x02,
134         TAPI_GPRS_3G_QOS_TYPE_NEGOTIATE         = 0x03,
135 } tapi_gprs_pdp_3g_qos_type;
136
137 typedef enum {
138         TAPI_GPRS_3G_QOS_DELI_ORDER_NO                  = 0x00,
139         TAPI_GPRS_3G_QOS_DELI_ORDER_YES                 = 0x01,
140         TAPI_GPRS_3G_QOS_DELI_ORDER_SUBSCRIBE   = 0x02,
141 } tapi_gprs_pdp_3g_qos_deli_order;
142
143 typedef enum {
144         DSTATE_OK                       = 0x00,
145         DSTATE_CONNECT,
146         DSTATE_RING,
147         DSTATE_NO_CARRIER,
148         DSTATE_ERROR,
149         DSTATE_NO_DIALTONE,
150         DSTATE_BUSY,
151         DSTATE_NO_ANSWER,
152         DSTATE_RESULT_FDN,
153         DSTATE_MAX,
154 } tapi_gprs_data_status;
155
156 typedef enum {
157         PDP_ACT_FAILURE_CAUSE_NORMAL                                    = 0x00,                 // 0x00 : Normal Process ( no problem )
158         PDP_ACT_FAILURE_CAUSE_REL_BY_USER                               = 0x01,                 // Call Released by User
159         PDP_ACT_FAILURE_CAUSE_REGULAR_DEACTIVATION              = 0x02,                 // Regular deactivation
160         PDP_ACT_FAILURE_CAUSE_LLC_SNDCP                         = 0x03,                 // LLC SNDCP failure
161         PDP_ACT_FAILURE_CAUSE_INSUFFICIENT_RESOURCE     = 0x04,                 // Insufficient resources
162         PDP_ACT_FAILURE_CAUSE_UNKNOWN_APN                               = 0x05,                 // Missing or unknown apn
163         PDP_ACT_FAILURE_CAUSE_UNKNOWN_PDP_ADDRESS               = 0x06,         // Unknown PDP address or type
164         PDP_ACT_FAILURE_CAUSE_USER_AUTH_FAILED                  = 0x07,         // Unknown PDP address or type
165         PDP_ACT_FAILURE_CAUSE_ACT_REJ_GGSN                              = 0x08,                 // Unknown PDP address or type
166         PDP_ACT_FAILURE_CAUSE_ACT_REJ_UNSPECIFIED               = 0x09,                 // Unknown PDP address or type
167         PDP_ACT_FAILURE_CAUSE_SVC_OPTION_NOT_SUPPORTED  = 0x0A,         // Service option not supported
168         PDP_ACT_FAILURE_CAUSE_SVC_NOT_SUBSCRIBED                = 0x0B,         // Requested service option not subscribed
169         PDP_ACT_FAILURE_CAUSE_SVC_OPT_OUT_ORDER         = 0x0C,                 // Service out of order
170     PDP_ACT_FAILURE_CAUSE_NSAPI_USED                            = 0x0D,         // NSAPI already used
171         PDP_ACT_FAILURE_CAUSE_QOS_NOT_ACCEPTED                  = 0x0E,         // QoS not accepted
172         PDP_ACT_FAILURE_CAUSE_NETWORK_FAILURE                   = 0x0F,         // Network Failure
173     PDP_ACT_FAILURE_CAUSE_REACT_REQUIRED                        = 0x10,         // Reactivation Required
174         PDP_ACT_FAILURE_CAUSE_REATURE_NOT_SUPPORTED             = 0x11,         // Feature not supported
175         PDP_ACT_FAILURE_CAUSE_TFT_FILTER_ERROR                  = 0x12,         // TFT or filter error
176         PDP_ACT_FAILURE_CAUSE_UNKOWN_PDP_CONTEXT                = 0x13,         // Unknown PDP context
177         PDP_ACT_FAILURE_CAUSE_INVALID_MSG                               = 0x14,         // Invalid MSG
178         PDP_ACT_FAILURE_CAUSE_PROTOCOL_ERROR                    = 0x15,         // Protocol error
179         PDP_ACT_FAILURE_CAUSE_MOBILE_FAILURE_ERROR              = 0x16,         // Mobile failure error
180         PDP_ACT_FAILURE_CAUSE_TIMEOUT_ERROR                             = 0x17,         // Timeout error
181         PDP_ACT_FAILURE_CAUSE_UNKNOWN_ERROR                             = 0x18,         // Unknown error
182         PDP_ACT_FAILURE_CAUSE_MAX ,
183 } tapi_gprs_ds_status_reason;
184
185 typedef enum {
186         INTERNAL_PS_CALL = 0x00,
187         EXTERNAL_PS_CALL = 0x01
188 } tapi_gprs_external_status;
189
190 typedef enum {
191         PDP_DEVICE_INFO_GET = 0x00,
192         PDP_DEVICE_INFO_SET = 0x01
193 } tapi_gprs_device_info;
194
195 typedef enum{
196     TAPI_GPRS_PORT_LIST_NOT_USE,    // 0x00
197         TAPI_GPRS_PORT_LIST_WHITE,      // 0x01
198         TAPI_GPRS_PORT_LIST_BLACK,      // 0x02
199 } tapi_gprs_port_list_type;
200
201 typedef enum {
202         TAPI_PDP_STATE_NONE,             /* 0x00 Default state for a given PDP context*/
203     TAPI_PDP_STATE_ACTIVATING,           /* 0x01 TS will be in this state when there is a START PDP Request until it is  activated by modem - This state PDP is not yet UP*/
204     TAPI_PDP_STATE_ACTIVE,           /* 0x02 After PDP activation is completed by modem and sent to PDA - This state PDP is fully UP*/
205     TAPI_PDP_STATE_MODIFYING,        /* 0x03 This state is reserved for future use - When TS support modifying existing PDP*/
206     TAPI_PDP_STATE_DEACTIVATING,     /* 0x04 TS will be in this state when there is STOP PDP request from App until it is deactivated by modem */
207 } tapi_gprs_state;
208
209 typedef enum {
210         TAPI_PDP_DATA_DORMANCY_SUCCESS,
211         TAPI_PDP_DATA_DORMANCY_FAILED
212 } TelTapiGprsDataDormancy_t;
213
214 /* Suspend Reason Type */
215 typedef enum {
216   TAPI_PDP_SUSPEND_NO_SVC                       = 0x01,
217   TAPI_PDP_SUSPEND_RAT_CHANGE           = 0x02,
218   TAPI_PDP_SUSPEND_GPRS_HOLD            = 0x03,
219   TAPI_PDP_SUSPEND_FLOW_CONTROL = 0x04,
220   TAPI_PDP_SUSPEND_GPRS_SUSPEND = 0x05,
221   TAPI_PDP_SUSPEND_RAU                  = 0x06,
222   TAPI_PDP_SUSPEND_LU                       = 0x07,
223   TAPI_PDP_TRANSFER_STATUS_MAX
224 } tapi_gprs_suspend_type;
225
226 typedef struct {
227         tapi_gprs_type_t type;
228         tapi_phone_err_t cause;
229 } tapi_gprs_error_info_t;
230
231 typedef struct {
232         int cont_id;
233         tapi_pdp_err_t err;
234 } tapi_ps_pdp_info_t;
235
236 typedef struct {
237         int cont_id;
238         tapi_pdp_err_t err;
239 } tapi_ps_net_stop_rsp_t;
240
241 typedef struct {
242         int cont_id;
243         tapi_pdp_err_t err;
244 } tapi_ps_net_activation_rsp_t;
245
246 typedef struct {
247         int cont_id;
248         tapi_pdp_err_t err;
249 } tapi_ps_net_stop_ind_t;
250
251 /*      ps attach response      */
252 typedef struct {
253         int     state;
254         int     transfer_status;
255 } tapi_ps_attach_response_t;
256
257 /*      ps call statistics      */
258 typedef struct {
259         unsigned char       cid;        //      call id . for proper bit alignment prefer int than short
260         unsigned long int       rx;     //      total number of bytes received for this cid
261         unsigned long int       tx;             //      total number of bytes transmitted for this cid
262 } tapi_ps_call_statistics_t;
263
264 typedef struct {
265         tapi_ps_btdun_pincontrol_signal signal;
266         tapi_ps_btdun_pincontrol_status status;
267 } tapi_ps_btdun_pincontrol;
268
269 /**
270  * This structure defines PDP information.
271  * @see ps_net_info_t
272  */
273 typedef struct {
274    unsigned short       is_primary_cont;                /*Primary or secondary*/
275    int                          primary_cont;                   /*Primary context id, if the is the context is secondary*/
276    char                 apn[TAPI_PDP_APN_LEN_MAX];
277    unsigned char        pdp_address[TAPI_PDP_ADDR_LEN_MAX];
278    unsigned char        username[TAPI_PDP_MAX_USERNAME_LEN ];
279    unsigned char        password[TAPI_PDP_MAX_PASSWORD_LEN ];
280    unsigned char        dns1[TAPI_PDP_MAX_DNS_LEN ];               // @field Context activation DNS1
281    unsigned char        dns2[TAPI_PDP_MAX_DNS_LEN ];               // @field Context activation DNS2
282    tapi_pdp_auth_type_t auth_type;
283    tapi_pdp_type_t              pdp_type;
284 } tapi_pdp_info_t;
285
286 typedef struct {
287         int cont_id;
288         tapi_pdp_info_t pdp_info;
289 } tapi_ps_net_start_req_t;
290
291 typedef struct {
292         unsigned short  is_primary_cont;  /*Primary or secondary*/
293         unsigned char           username[TAPI_PDP_MAX_USERNAME_LEN ];
294         unsigned char   password[TAPI_PDP_MAX_PASSWORD_LEN ];
295         unsigned char   dns1[TAPI_PDP_MAX_DNS_LEN ];               // @field Context activation DNS1
296         unsigned char   dns2[TAPI_PDP_MAX_DNS_LEN ];               // @field Context activation DNS2
297     tapi_pdp_auth_type_t auth_type;
298 } tapi_pdpdeact_info_t;
299
300 typedef struct {
301         int cont_id;
302         tapi_pdpdeact_info_t pdp_info;
303 } tapi_ps_net_stop_req_t;
304
305 typedef struct {
306         unsigned char field_flag;
307         unsigned char ip_address[4];
308         unsigned char primary_dns[4];
309         unsigned char secondary_dns[4];
310         unsigned char gateway[4];
311         unsigned char subnet_mask[4];
312 } tapi_pdp_resp_info_t;
313
314 typedef struct {
315         int cont_id;
316         tapi_pdp_err_t err;
317         tapi_pdp_resp_info_t pdp_info;
318         char devname[TAPI_PDP_NAME_LEN_MAX];
319 } tapi_ps_net_start_rsp_t;
320
321 typedef struct tagSetPDPActDeact {
322         int cid;
323         unsigned char username[TAPI_PDP_MAX_USERNAME_LEN ];     // @field Context activation user name
324         unsigned char passwd[TAPI_PDP_MAX_PASSWORD_LEN ];               // @field Context activation password
325         unsigned char dns1[TAPI_PDP_MAX_DNS_LEN ];                              // @field Context activation DNS1
326         unsigned char dns2[TAPI_PDP_MAX_DNS_LEN ];                              // @field Context activation DNS2
327         tapi_pdp_auth_type_t    auth;
328 } tapi_gprs_pdp_act_deact_set;
329
330 typedef struct {
331         char cid;
332         tapi_gprs_pdp_status state;
333 } tapi_gprs_pdp_status_info;
334
335 typedef struct {
336         char num_act;
337         tapi_gprs_pdp_status_info info[3];
338 } tapi_gprs_pdp_status_res;
339
340 typedef struct {
341         char cid;
342         char address[20];
343 } tapi_gprs_pdp_address_res;
344
345 typedef struct {
346         unsigned char                           cid;
347         tapi_gprs_data_status           status;
348         tapi_gprs_ds_status_reason      reason;
349         unsigned char                           external;
350 } tapi_gprs_pdp_status_reason_info;
351
352 typedef struct {
353     tapi_gprs_port_list_type type;
354     unsigned char len;
355     unsigned short list[MAX_GPRS_PORT_LIST];
356 } tapi_gprs_port_list;
357
358 typedef struct {
359     tapi_gprs_port_list tcp_list;
360     tapi_gprs_port_list udp_list;
361 } tapi_gprs_pdp_port_list_setting_info_t;
362
363 /**
364  * @brief  This API is used to request to Telephony Server to set PDP context define info, PDP activation.
365  *  Access to this API is limited, we recommend you use Data Network API
366  *
367  * This function makes Dbus method call to Telephony Sever and returns immediate value.
368  * However it just means that the API request has been transfered to the CP successfully.
369  * The actual operation result is being delivered in the corresponding event asynchronously.
370  *
371  * @par Sync (or) Async:
372  * This is an Asynchronous API.
373  *
374  * @par Important Notes:
375  * -NONE
376  *
377  * @warning
378  * - None.
379  *
380  * @param[in] pNet_start_req_info
381  * - This input has the PDP context define info, PDP activation info #tapi_ps_net_start_req_t
382  *
383  * @param [out] pRequestID
384  *   - Unique identifier for a particular request.
385  *   - request_id value can be any value from 0 to 255 if the API is returned successfully
386  *   - -1 (INVALID_REQUEST_ID) will be sent in case of failure.
387  *
388  * @par Async Response Message:
389  * -The event associated is TAPI_EVENT_PS_PDP_ACT_RSP  and the event data is #tapi_ps_pdp_info_t.
390  *
391  *
392  * @pre
393  *  - A dbus connection is established with #tel_init
394  *  - The application name is registered with #tel_register_app_name
395  *  - The application is registered events to listen asynchronous response with #tel_register_event
396  *  - A event loop is running to listen events
397  *
398  * @post
399  *  - None.
400  *
401  * @return Return Type (int) \n
402  * - Integer '0' - indicating that the operation has completed successfully. \n
403  * - Negative integer : it provides an error code (Refer #TapiResult_t)
404  *
405  * @par Prospective Clients:
406  * External Apps.
407  *
408  * @code
409  * #include <ITapiPS.h>
410  *
411  * int ret_status;
412  * int request_id = 0;
413  * tapi_ps_net_start_req_t start_req;
414  *
415  * start_req.cont_id = CONTEXT_ID; //use proper id regarding upper layer usage
416  * strcpy(start_req.pdp_info.apn, APN_ADDRESS);
417  *
418  * ret_status = tel_activate_gprs_pdp (&start_req, &request_id);
419  * @endcode
420  *
421  * @see
422  *  - None.
423  *
424  * @remarks
425  *  - None.
426  */
427 /*================================================================================================*/
428 int     tel_activate_gprs_pdp(const tapi_ps_net_start_req_t *pNet_start_req_info, int *pRequestID);
429
430 /**
431  * @brief  This API is used to request to Telephony Server to deactivate PDP service
432  *  Access to this API is limited, we recommend you use Data Network API
433  *
434  * This function makes Dbus method call to Telephony Sever and returns immediate value.
435  * However it just means that the API request has been transfered to the CP successfully.
436  * The actual operation result is being delivered in the corresponding event asynchronously.
437  *
438  * @par Sync (or) Async:
439  * This is an Asynchronous API.
440  *
441  * @par Important Notes:
442  * -NONE
443  *
444  * @warning
445  * - None.
446  *
447  * @param[in] net_stop_req_info
448  * - This input has the PDP context define info, PDP activation info #tapi_ps_net_start_req_t
449  *
450  * @param [out] pRequestID
451  *   - Unique identifier for a particular request.
452  *   - request_id value can be any value from 0 to 255 if the API is returned successfully
453  *   - -1 (INVALID_REQUEST_ID) will be sent in case of failure.
454  *
455  * @par Async Response Message:
456  * -The event associated is TAPI_EVENT_PS_PDP_DEACT_RSP  and the event data is #tapi_ps_pdp_info_t.
457  *
458  *
459  * @pre
460  *  - A dbus connection is established with #tel_init
461  *  - The application name is registered with #tel_register_app_name
462  *  - The application is registered events to listen asynchronous response with #tel_register_event
463  *  - A event loop is running to listen events
464  *
465  * @post
466  *  - None.
467  *
468  * @return Return Type (int) \n
469  * - Integer '0' - indicating that the operation has completed successfully. \n
470  * - Negative integer : it provides an error code (Refer #TapiResult_t)
471  *
472  * @par Prospective Clients:
473  * External Apps.
474  *
475  * @code
476  * #include <ITapiPS.h>
477  *
478  * int ret_status;
479  * int request_id = 0;
480  * tapi_ps_net_stop_req_t end_req;
481  *
482  * memset(&end_req, 0, sizeof(tapi_ps_net_stop_req_t));
483  *
484  * end_req.cont_id = CONTEXT_ID;
485  *
486  * ret_status = tel_deactivate_gprs_pdp (&end_req, &request_id); //use context id which is used in activate time
487  * @endcode
488  *
489  * @see
490  *  - None.
491  *
492  * @remarks
493  *  - None.
494  */
495 /*================================================================================================*/
496 int     tel_deactivate_gprs_pdp(const tapi_ps_net_stop_req_t *net_stop_req_info, int *pRequestID);
497
498 /**
499  * @brief  This API is used to send modem data channels to dormant state for power saving when there is no data flowing for certain time
500  *         Access to this API is limited, we recommend you use Data Network API
501  *
502  * This function makes Dbus method call to Telephony Sever and returns immediate value.
503  * However it just means that the API request has been transfered to the CP successfully.
504  * The actual operation result is being delivered in the corresponding event asynchronously.
505  *
506  * @par Sync (or) Async:
507  * This is an Asynchronous API.
508  *
509  * @par Important Notes:
510  * -NONE
511  *
512  * @warning
513  * - None.
514  *
515  * @param [out] pRequestID
516  *   - Unique identifier for a particular request.
517  *   - request_id value can be any value from 0 to 255 if the API is returned successfully
518  *   - -1 (INVALID_REQUEST_ID) will be sent in case of failure.
519  *
520  * @par Async Response Message:
521  *  -The event associated is TAPI_EVENT_PS_DATA_DORMANT_RESP  and the event data is #TelTapiGprsDataDormancy_t.
522  *
523  * @pre
524  *  - A dbus connection is established with #tel_init
525  *  - The application name is registered with #tel_register_app_name
526  *  - The application is registered events to listen asynchronous response with #tel_register_event
527  *  - A event loop is running to listen events
528  *
529  * @post
530  *  - None.
531  *
532  * @return Return Type (int) \n
533  * - Integer '0' - indicating that the operation has completed successfully. \n
534  * - Negative integer : it provides an error code (Refer #TapiResult_t)
535  *
536  * @par Prospective Clients:
537  * External Apps.
538  *
539  * @code
540  * #include <ITapiPS.h>
541  *
542  * int ret_status;
543  * int request_id = 0;
544  *
545  * ret_status = tel_set_gprs_dormant(&request_id); //if user want to dormant state
546  * @endcode
547  *
548  * @see
549  *  - None.
550  *
551  * @remarks
552  *  - None.
553  */
554 /*================================================================================================*/
555 int     tel_set_gprs_dormant(int *pRequestID);
556
557 /**
558  * @brief  This API is used to get port list
559  *         Access to this API is limited, we recommend you use Data Network API
560  *
561  * This function makes Dbus method call to Telephony Sever and returns immediate value.
562  * However it just means that the API request has been transfered to the CP successfully.
563  * The actual operation result is being delivered in the corresponding event asynchronously.
564  *
565  * @par Sync (or) Async:
566  * This is an Asynchronous API.
567  *
568  * @par Important Notes:
569  * -NONE
570  *
571  * @warning
572  * - None.
573  *
574  * @param [out] pRequestID
575  *   - Unique identifier for a particular request.
576  *   - request_id value can be any value from 0 to 255 if the API is returned successfully
577  *   - -1 (INVALID_REQUEST_ID) will be sent in case of failure.
578  *
579  * @par Async Response Message:
580  *  -The event associated is TAPI_EVENT_PS_PDP_GET_PORTLIST_RSP  and the event data is #tapi_gprs_pdp_port_list_setting_info_t.
581  *
582  * @pre
583  *  - A dbus connection is established with #tel_init
584  *  - The application name is registered with #tel_register_app_name
585  *  - The application is registered events to listen asynchronous response with #tel_register_event
586  *  - A event loop is running to listen events
587  *
588  * @post
589  *  - None.
590  *
591  * @return Return Type (int) \n
592  * - Integer '0' - indicating that the operation has completed successfully. \n
593  * - Negative integer : it provides an error code (Refer #TapiResult_t)
594  *
595  * @par Prospective Clients:
596  * External Apps.
597  *
598  * @code
599  * #include <ITapiPS.h>
600  *
601  * int ret_val;
602  * int requestId = 0;
603  *
604  * ret_val = tel_get_gprs_port_list(&requestId); //get port list with async response. current return value means whether request send low layer properly or not
605  * @endcode
606  *
607  * @see
608  *  - None.
609  *
610  * @remarks
611  *  - None.
612  */
613 /*================================================================================================*/
614 int     tel_get_gprs_port_list(int *pRequestID);
615
616 /**
617  * @brief  This API is used to set port list
618  *         Access to this API is limited, we recommend you use Data Network API
619  *
620  * This function makes Dbus method call to Telephony Sever and returns immediate value.
621  * However it just means that the API request has been transfered to the CP successfully.
622  * The actual operation result is being delivered in the corresponding event asynchronously.
623  *
624  * @par Sync (or) Async:
625  * This is an Asynchronous API.
626  *
627  * @par Important Notes:
628  * -NONE
629  *
630  * @warning
631  * - None.
632  *
633  * @param[in] info
634  * - This input has the TCP/UDP port list information info #tapi_gprs_pdp_port_list_setting_info_t
635  *
636  * @param [out] pRequestID
637  *   - Unique identifier for a particular request.
638  *   - request_id value can be any value from 0 to 255 if the API is returned successfully
639  *   - -1 (INVALID_REQUEST_ID) will be sent in case of failure.
640  *
641  * @par Async Response Message:
642  *  -None
643  *
644  * @pre
645  *  - A dbus connection is established with #tel_init
646  *  - The application name is registered with #tel_register_app_name
647  *  - The application is registered events to listen asynchronous response with #tel_register_event
648  *  - A event loop is running to listen events
649  *
650  * @post
651  *  - None.
652  *
653  * @return Return Type (int) \n
654  * - Integer '0' - indicating that the operation has completed successfully. \n
655  * - Negative integer : it provides an error code (Refer #TapiResult_t)
656  *
657  * @par Prospective Clients:
658  * External Apps.
659  *
660  * @code
661  * #include <ITapiPS.h>
662  *
663  * int ret_val;
664  * int requestId = 0;
665  * tapi_gprs_pdp_port_list_setting_info_t test;
666  *
667  * memset(&test, 0, sizeof(tapi_gprs_pdp_port_list_setting_info_t));
668  * test.tcp_list.type = TAPI_GPRS_PORT_LIST_NOT_USE;
669  * test.tcp_list.len = 1;
670  * test.tcp_list.list[0] = 1004;
671  * test.udp_list.type = TAPI_GPRS_PORT_LIST_NOT_USE;
672  * test.udp_list.len = 1;
673  * test.udp_list.list[i] = 1111;
674  *
675  * ret_val = tel_set_gprs_port_list(&test, &requestId); //get operation result with async response. current return value means whether request send low layer properly or not
676  *
677  * @endcode
678  *
679  * @see
680  *  - None.
681  *
682  * @remarks
683  *  - None.
684  */
685 /*================================================================================================*/
686 int     tel_set_gprs_port_list(tapi_gprs_pdp_port_list_setting_info_t *info, int *pRequestID);
687
688
689 /**
690  * @brief  This API is used to request BT Dun enable or disable
691  *         Access to this API is limited, we recommend you use Data Network API
692  *
693  * This function makes Dbus method call to Telephony Sever and returns immediate value.
694  * However it just means that the API request has been transfered to the CP successfully.
695  * The actual operation result is being delivered in the corresponding event asynchronously.
696  *
697  * @par Sync (or) Async:
698  * This is an Asynchronous API.
699  *
700  * @par Important Notes:
701  * -NONE
702  *
703  * @warning
704  * - None.
705  *
706  * @param[in] pincontrol
707  * - This input has the BT Dun pin control information #tapi_ps_btdun_pincontrol
708  *
709  * @param [out] pRequestID
710  *   - Unique identifier for a particular request.
711  *   - request_id value can be any value from 0 to 255 if the API is returned successfully
712  *   - -1 (INVALID_REQUEST_ID) will be sent in case of failure.
713  *
714  * @par Async Response Message:
715  * -The event associated is TAPI_EVENT_PS_BTDUN_PINCONTROL_NOTI or TAPI_EVENT_PS_ERROR_IND.
716  * -In success, the event associated is TAPI_EVENT_PS_BTDUN_PINCONTROL_NOTI  and the event data is #tapi_ps_btdun_pincontrol.
717  *   In fail, the event associated is TAPI_EVENT_PS_ERROR_IND  and the event data is #tapi_gprs_error_info_t.
718  *
719  * @pre
720  *  - A dbus connection is established with #tel_init
721  *  - The application name is registered with #tel_register_app_name
722  *  - The application is registered events to listen asynchronous response with #tel_register_event
723  *  - A event loop is running to listen events
724  *
725  * @post
726  *  - None.
727  *
728  * @return Return Type (int) \n
729  * - Integer '0' - indicating that the operation has completed successfully. \n
730  * - Negative integer : it provides an error code (Refer #TapiResult_t)
731  *
732  * @par Prospective Clients:
733  * External Apps.
734  *
735  * @code
736  * #include <ITapiPS.h>
737  *
738  * int ret_status;
739  * int request_id = 0;
740  * tapi_ps_btdun_pincontrol bt_control;
741  *
742  * bt_control.signal = GPRS_SIGNAL_DCD;
743  * bt_control.status = GPRS_SIGNAL_STATUS_OFF;
744  *
745  * ret_status = tel_control_gprs_btdun_pin(bt_control, &request_id); //get control result with async response. current return value means whether request send low layer properly or not
746  * @endcode
747  *
748  * @see
749  *  - None.
750  *
751  * @remarks
752  *  - None.
753  */
754 /*================================================================================================*/
755
756 #ifdef __cplusplus
757 }
758 #endif
759
760 #endif   //_ITAPI_PS_H_
761
762 /**
763    *  @}
764    */