4 * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Ja-young Gu <jygu@samsung.com>
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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.
23 * @ingroup TelephonyAPI
24 * @addtogroup GPRS_TAPI GPRS
27 * GPRS APIs allow an application to accomplish the following services: @n
28 * - activate , deactivate PDP service @n
35 #include <tapi_common.h>
36 #include <TelDefines.h>
38 #include <TapiUtility.h>
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
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 */
77 TAPI_PDP_MODE_ADD = 0x01, /*ADD*/
78 TAPI_PDP_MODE_DEL = 0x02 /*Delete*/
79 } tapi_pdp_mode_type_t;
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
87 } tapi_pdp_auth_type_t;
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,
98 /* HSDPA Status Variable */
102 } tapi_hspda_status_type;
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;
114 GPRS_SIGNAL_STATUS_OFF = 0x00,
115 GPRS_SIGNAL_STATUS_ON = 0x01,
116 } tapi_ps_btdun_pincontrol_status;
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;
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;
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;
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;
154 } tapi_gprs_data_status;
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;
186 INTERNAL_PS_CALL = 0x00,
187 EXTERNAL_PS_CALL = 0x01
188 } tapi_gprs_external_status;
191 PDP_DEVICE_INFO_GET = 0x00,
192 PDP_DEVICE_INFO_SET = 0x01
193 } tapi_gprs_device_info;
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;
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 */
210 TAPI_PDP_DATA_DORMANCY_SUCCESS,
211 TAPI_PDP_DATA_DORMANCY_FAILED
212 } TelTapiGprsDataDormancy_t;
214 /* Suspend Reason Type */
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;
227 tapi_gprs_type_t type;
228 tapi_phone_err_t cause;
229 } tapi_gprs_error_info_t;
234 } tapi_ps_pdp_info_t;
239 } tapi_ps_net_stop_rsp_t;
244 } tapi_ps_net_activation_rsp_t;
249 } tapi_ps_net_stop_ind_t;
251 /* ps attach response */
255 } tapi_ps_attach_response_t;
257 /* ps call statistics */
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;
265 tapi_ps_btdun_pincontrol_signal signal;
266 tapi_ps_btdun_pincontrol_status status;
267 } tapi_ps_btdun_pincontrol;
270 * This structure defines PDP information.
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;
288 tapi_pdp_info_t pdp_info;
289 } tapi_ps_net_start_req_t;
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;
302 tapi_pdpdeact_info_t pdp_info;
303 } tapi_ps_net_stop_req_t;
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;
317 tapi_pdp_resp_info_t pdp_info;
318 char devname[TAPI_PDP_NAME_LEN_MAX];
319 } tapi_ps_net_start_rsp_t;
321 typedef struct tagSetPDPActDeact {
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;
332 tapi_gprs_pdp_status state;
333 } tapi_gprs_pdp_status_info;
337 tapi_gprs_pdp_status_info info[3];
338 } tapi_gprs_pdp_status_res;
343 } tapi_gprs_pdp_address_res;
347 tapi_gprs_data_status status;
348 tapi_gprs_ds_status_reason reason;
349 unsigned char external;
350 } tapi_gprs_pdp_status_reason_info;
353 tapi_gprs_port_list_type type;
355 unsigned short list[MAX_GPRS_PORT_LIST];
356 } tapi_gprs_port_list;
359 tapi_gprs_port_list tcp_list;
360 tapi_gprs_port_list udp_list;
361 } tapi_gprs_pdp_port_list_setting_info_t;
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
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.
371 * @par Sync (or) Async:
372 * This is an Asynchronous API.
374 * @par Important Notes:
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
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.
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.
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
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)
405 * @par Prospective Clients:
409 * #include <ITapiPS.h>
412 * int request_id = 0;
413 * tapi_ps_net_start_req_t start_req;
415 * start_req.cont_id = CONTEXT_ID; //use proper id regarding upper layer usage
416 * strcpy(start_req.pdp_info.apn, APN_ADDRESS);
418 * ret_status = tel_activate_gprs_pdp (&start_req, &request_id);
427 /*================================================================================================*/
428 int tel_activate_gprs_pdp(const tapi_ps_net_start_req_t *pNet_start_req_info, int *pRequestID);
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
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.
438 * @par Sync (or) Async:
439 * This is an Asynchronous API.
441 * @par Important Notes:
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
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.
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.
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
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)
472 * @par Prospective Clients:
476 * #include <ITapiPS.h>
479 * int request_id = 0;
480 * tapi_ps_net_stop_req_t end_req;
482 * memset(&end_req, 0, sizeof(tapi_ps_net_stop_req_t));
484 * end_req.cont_id = CONTEXT_ID;
486 * ret_status = tel_deactivate_gprs_pdp (&end_req, &request_id); //use context id which is used in activate time
495 /*================================================================================================*/
496 int tel_deactivate_gprs_pdp(const tapi_ps_net_stop_req_t *net_stop_req_info, int *pRequestID);
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
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.
506 * @par Sync (or) Async:
507 * This is an Asynchronous API.
509 * @par Important Notes:
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.
520 * @par Async Response Message:
521 * -The event associated is TAPI_EVENT_PS_DATA_DORMANT_RESP and the event data is #TelTapiGprsDataDormancy_t.
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
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)
536 * @par Prospective Clients:
540 * #include <ITapiPS.h>
543 * int request_id = 0;
545 * ret_status = tel_set_gprs_dormant(&request_id); //if user want to dormant state
554 /*================================================================================================*/
555 int tel_set_gprs_dormant(int *pRequestID);
558 * @brief This API is used to get port list
559 * Access to this API is limited, we recommend you use Data Network API
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.
565 * @par Sync (or) Async:
566 * This is an Asynchronous API.
568 * @par Important Notes:
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.
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.
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
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)
595 * @par Prospective Clients:
599 * #include <ITapiPS.h>
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
613 /*================================================================================================*/
614 int tel_get_gprs_port_list(int *pRequestID);
617 * @brief This API is used to set port list
618 * Access to this API is limited, we recommend you use Data Network API
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.
624 * @par Sync (or) Async:
625 * This is an Asynchronous API.
627 * @par Important Notes:
634 * - This input has the TCP/UDP port list information info #tapi_gprs_pdp_port_list_setting_info_t
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.
641 * @par Async Response Message:
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
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)
657 * @par Prospective Clients:
661 * #include <ITapiPS.h>
665 * tapi_gprs_pdp_port_list_setting_info_t test;
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;
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
685 /*================================================================================================*/
686 int tel_set_gprs_port_list(tapi_gprs_pdp_port_list_setting_info_t *info, int *pRequestID);
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
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.
697 * @par Sync (or) Async:
698 * This is an Asynchronous API.
700 * @par Important Notes:
706 * @param[in] pincontrol
707 * - This input has the BT Dun pin control information #tapi_ps_btdun_pincontrol
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.
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.
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
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)
732 * @par Prospective Clients:
736 * #include <ITapiPS.h>
739 * int request_id = 0;
740 * tapi_ps_btdun_pincontrol bt_control;
742 * bt_control.signal = GPRS_SIGNAL_DCD;
743 * bt_control.status = GPRS_SIGNAL_STATUS_OFF;
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
754 /*================================================================================================*/
760 #endif //_ITAPI_PS_H_