m2mb API docs  25.30.003
m2mb API sets documentation
m2mb_pdp.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
23 #ifndef M2M_M2MB_PDP_API_H
24 #define M2M_M2MB_PDP_API_H
25 
26 
27 /* Global declarations ==========================================================================*/
28 
29 
30 /* Global typedefs ==============================================================================*/
31 
32 typedef HANDLE M2MB_PDP_HANDLE;
33 
34 typedef enum
35 {
36  M2MB_PDP_IPV4, /* PDP IP type IPV4 */
37  M2MB_PDP_IPV6, /* PDP IP type IPV6 */
38  M2MB_PDP_IPV4V6 /* PDP IP type IPV4V6 */
39 } M2MB_PDP_IP_TYPE_E;
40 
41 typedef enum
42 {
43  M2MB_PDP_TYPE_IPV4, /* PDP type IPV4 */
44  M2MB_PDP_TYPE_PPP, /* PDP type PPP -> NOTE: supported only for products supporting WCDMA*/
45  M2MB_PDP_TYPE_IPV6, /* PDP type IPV6 */
46  M2MB_PDP_TYPE_IPV4V6 /* PDP type IPV4V6 */
47 } M2MB_PDP_TYPE_E;
48 
49 typedef enum
50 {
51  M2MB_PDP_AUTHTYPE_NOAUTH, /* PDP auth type No Auth */
52  M2MB_PDP_AUTHTYPE_PAP, /* PDP auth type PAP */
53  M2MB_PDP_AUTHTYPE_CHAP, /* PDP auth type CHAP */
54  ENUM_TO_INT( M2MB_PDP_AUTHTYPE_E )
55 } M2MB_PDP_AUTHTYPE_E;
56 
57 typedef enum
58 {
59  M2MB_PDP_UP,
60  M2MB_PDP_DOWN
61 } M2MB_PDP_IND_E;
62 
63 typedef enum
64 {
65  M2MB_PDP_DATAVOL_RESET = 0,
66  M2MB_PDP_DATAVOL_GET_SESSION = 1,
67  M2MB_PDP_DATAVOL_GET_LIFE = 2,
68  ENUM_TO_INT( M2MB_PDP_DATAVOL_ACTION_E )
69 } M2MB_PDP_DATAVOL_ACTION_E;
70 
77 typedef enum
78 {
82  ENUM_TO_INT( M2MB_PDP_STATS_ACTION_E )
84 
91 typedef struct
92 {
93  UINT64 byteTX;
94  UINT64 byteRX;
95  UINT64 pktTX;
96  UINT64 pktRX;
97  UINT32 mtu;
99 
100 typedef void ( *m2mb_pdp_ind_callback )( M2MB_PDP_HANDLE h, M2MB_PDP_IND_E pdp_event, UINT8 cid, void *userdata );
101 
102 
103 /* Global functions =============================================================================*/
104 
105 /*-----------------------------------------------------------------------------------------------*/
146 /*-----------------------------------------------------------------------------------------------*/
147 
148 M2MB_RESULT_E m2mb_pdp_init( M2MB_PDP_HANDLE *h, m2mb_pdp_ind_callback callback, void *userdata );
149 
150 
151 /*-----------------------------------------------------------------------------------------------*/
183 /*-----------------------------------------------------------------------------------------------*/
184 M2MB_RESULT_E m2mb_pdp_deinit( M2MB_PDP_HANDLE h );
185 
186 
187 /*-----------------------------------------------------------------------------------------------*/
235 /*-----------------------------------------------------------------------------------------------*/
236 
237 M2MB_RESULT_E m2mb_pdp_activate( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN, CHAR *user, CHAR *password, M2MB_PDP_IP_TYPE_E pdpIPver );
238 
239 /*-----------------------------------------------------------------------------------------------*/
262 /*-----------------------------------------------------------------------------------------------*/
263 M2MB_RESULT_E m2mb_pdp_deactivate( M2MB_PDP_HANDLE h, UINT8 cid );
264 
265 /*-----------------------------------------------------------------------------------------------*/
305 /*-----------------------------------------------------------------------------------------------*/
306 M2MB_RESULT_E m2mb_pdp_get_my_ip( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_IP_TYPE_E pdpIPver, void *addr );
307 
308 
309 /*-----------------------------------------------------------------------------------------------*/
342 /*-----------------------------------------------------------------------------------------------*/
343 
344 M2MB_RESULT_E m2mb_pdp_get_DNS( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_IP_TYPE_E pdpIPver, void *pDNS, void *sDNS );
345 
346 
347 /*-----------------------------------------------------------------------------------------------*/
373 /*-----------------------------------------------------------------------------------------------*/
374 M2MB_RESULT_E m2mb_pdp_get_status( M2MB_PDP_HANDLE h, UINT8 cid, UINT8 *p_status );
375 
376 /*-----------------------------------------------------------------------------------------------*/
401 /*-----------------------------------------------------------------------------------------------*/
402 M2MB_RESULT_E m2mb_pdp_APN_set( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN );
403 
404 
405 /*-----------------------------------------------------------------------------------------------*/
432 /*-----------------------------------------------------------------------------------------------*/
433 M2MB_RESULT_E m2mb_pdp_APN_get( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN, UINT8 len );
434 
435 
436 /*-----------------------------------------------------------------------------------------------*/
458 /*-----------------------------------------------------------------------------------------------*/
459 M2MB_RESULT_E m2mb_pdp_apnclass2cid( M2MB_PDP_HANDLE h, UINT8 apnclass, UINT8 *p_cid );
460 
461 /*-----------------------------------------------------------------------------------------------*/
486 /*-----------------------------------------------------------------------------------------------*/
487 M2MB_RESULT_E m2mb_pdp_type_get( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_TYPE_E *pdp_type );
488 
489 /*-----------------------------------------------------------------------------------------------*/
514 /*-----------------------------------------------------------------------------------------------*/
515 M2MB_RESULT_E m2mb_pdp_type_set( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_TYPE_E pdp_type );
516 
517 /*-----------------------------------------------------------------------------------------------*/
547 /*-----------------------------------------------------------------------------------------------*/
548 M2MB_RESULT_E m2mb_pdp_profile_name_get( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *profname, UINT8 len );
549 
550 /*-----------------------------------------------------------------------------------------------*/
578 /*-----------------------------------------------------------------------------------------------*/
579 M2MB_RESULT_E m2mb_pdp_profile_name_set( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *profname );
580 
581 /*-----------------------------------------------------------------------------------------------*/
606 /*-----------------------------------------------------------------------------------------------*/
607 M2MB_RESULT_E m2mb_pdp_authtype_get( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_AUTHTYPE_E *pdp_authtype );
608 
609 /*-----------------------------------------------------------------------------------------------*/
634 /*-----------------------------------------------------------------------------------------------*/
635 M2MB_RESULT_E m2mb_pdp_authtype_set( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_AUTHTYPE_E pdp_authtype );
636 
637 /*-----------------------------------------------------------------------------------------------*/
667 /*-----------------------------------------------------------------------------------------------*/
668 M2MB_RESULT_E m2mb_pdp_datavol_get( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_DATAVOL_ACTION_E datavol_action, UINT32 *tx, UINT32 *rx );
669 
670 /*-----------------------------------------------------------------------------------------------*/
697 /*-----------------------------------------------------------------------------------------------*/
698 M2MB_RESULT_E m2mb_pdp_stats( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_STATS_ACTION_E stats_action, M2MB_PDP_STATS_T* stats );
699 
700 /*-----------------------------------------------------------------------------------------------*/
723 /*-----------------------------------------------------------------------------------------------*/
724 M2MB_RESULT_E m2mb_pdp_default_cid_get(M2MB_PDP_HANDLE h, UINT8* cid);
725 
726 
731 #endif /* M2M_M2MB_PDP_API_H */
732 
m2mb_pdp_get_status
M2MB_RESULT_E m2mb_pdp_get_status(M2MB_PDP_HANDLE h, UINT8 cid, UINT8 *p_status)
permits to get PDP context(or PDN connection) status
m2mb_pdp_deinit
M2MB_RESULT_E m2mb_pdp_deinit(M2MB_PDP_HANDLE h)
m2mb_pdp_deinit deinitializes PDP service for current client.
m2mb_pdp_authtype_get
M2MB_RESULT_E m2mb_pdp_authtype_get(M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_AUTHTYPE_E *pdp_authtype)
permits to get AUTH Type
m2mb_pdp_get_DNS
M2MB_RESULT_E m2mb_pdp_get_DNS(M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_IP_TYPE_E pdpIPver, void *pDNS, void *sDNS)
permits to get address of the DNS
m2mb_pdp_APN_set
M2MB_RESULT_E m2mb_pdp_APN_set(M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN)
permits to set APN
m2mb_pdp_APN_get
M2MB_RESULT_E m2mb_pdp_APN_get(M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN, UINT8 len)
permits to get APN
M2MB_PDP_STATS_GET_LIFE
Definition: m2mb_pdp.h:81
m2mb_pdp_type_set
M2MB_RESULT_E m2mb_pdp_type_set(M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_TYPE_E pdp_type)
permits to set PDP Type
m2mb_pdp_deactivate
M2MB_RESULT_E m2mb_pdp_deactivate(M2MB_PDP_HANDLE h, UINT8 cid)
m2mb_pdp_deactivate deactivates PDP context(or PDN connection)
m2mb_pdp_default_cid_get
M2MB_RESULT_E m2mb_pdp_default_cid_get(M2MB_PDP_HANDLE h, UINT8 *cid)
function used to get the dfefault PDP context number
m2mb_pdp_get_my_ip
M2MB_RESULT_E m2mb_pdp_get_my_ip(M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_IP_TYPE_E pdpIPver, void *addr)
m2mb_pdp_get_my_ip permits to get IP address
M2MB_PDP_STATS_T
Definition: m2mb_pdp.h:91
M2MB_PDP_STATS_T::byteTX
UINT64 byteTX
Definition: m2mb_pdp.h:93
M2MB_PDP_STATS_RESET
Definition: m2mb_pdp.h:79
M2MB_PDP_STATS_T::byteRX
UINT64 byteRX
Definition: m2mb_pdp.h:94
m2mb_pdp_datavol_get
M2MB_RESULT_E m2mb_pdp_datavol_get(M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_DATAVOL_ACTION_E datavol_action, UINT32 *tx, UINT32 *rx)
allows to get data traffic statistics (in bytes) on a given PDP
m2mb_pdp_authtype_set
M2MB_RESULT_E m2mb_pdp_authtype_set(M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_AUTHTYPE_E pdp_authtype)
permits to set AUTH Type
M2MB_PDP_STATS_T::mtu
UINT32 mtu
Definition: m2mb_pdp.h:97
M2MB_PDP_STATS_T::pktRX
UINT64 pktRX
Definition: m2mb_pdp.h:96
m2mb_pdp_type_get
M2MB_RESULT_E m2mb_pdp_type_get(M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_TYPE_E *pdp_type)
permits to get PDP Type
m2mb_pdp_init
M2MB_RESULT_E m2mb_pdp_init(M2MB_PDP_HANDLE *h, m2mb_pdp_ind_callback callback, void *userdata)
m2mb_pdp_init initializes PDP service for current client.
m2mb_pdp_apnclass2cid
M2MB_RESULT_E m2mb_pdp_apnclass2cid(M2MB_PDP_HANDLE h, UINT8 apnclass, UINT8 *p_cid)
permits to get cid related to specific APN class
M2MB_PDP_STATS_GET_SESSION
Definition: m2mb_pdp.h:80
m2mb_pdp_profile_name_get
M2MB_RESULT_E m2mb_pdp_profile_name_get(M2MB_PDP_HANDLE h, UINT8 cid, CHAR *profname, UINT8 len)
permits to get Profile Name
M2MB_PDP_STATS_T::pktTX
UINT64 pktTX
Definition: m2mb_pdp.h:95
m2mb_pdp_profile_name_set
M2MB_RESULT_E m2mb_pdp_profile_name_set(M2MB_PDP_HANDLE h, UINT8 cid, CHAR *profname)
permits to set Profile Name
M2MB_PDP_STATS_ACTION_E
M2MB_PDP_STATS_ACTION_E
Definition: m2mb_pdp.h:77
m2mb_pdp_stats
M2MB_RESULT_E m2mb_pdp_stats(M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_STATS_ACTION_E stats_action, M2MB_PDP_STATS_T *stats)
allows to get bytes and packets statistics (in bytes) on a given PDP
m2mb_pdp_activate
M2MB_RESULT_E m2mb_pdp_activate(M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN, CHAR *user, CHAR *password, M2MB_PDP_IP_TYPE_E pdpIPver)
m2mb_pdp_activate activates PDP context(or PDN connection)