m2mb API docs  25.21.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 {
81  ENUM_TO_INT( M2MB_PDP_STATS_ACTION_E )
83 
90 typedef struct
91 {
92  UINT64 byteTX;
93  UINT64 byteRX;
94  UINT64 pktTX;
95  UINT64 pktRX;
96  UINT32 mtu;
98 
99 typedef void ( *m2mb_pdp_ind_callback )( M2MB_PDP_HANDLE h, M2MB_PDP_IND_E pdp_event, UINT8 cid, void *userdata );
100 
101 
102 /* Global functions =============================================================================*/
103 
104 /*-----------------------------------------------------------------------------------------------*/
145 /*-----------------------------------------------------------------------------------------------*/
146 
147 M2MB_RESULT_E m2mb_pdp_init( M2MB_PDP_HANDLE *h, m2mb_pdp_ind_callback callback, void *userdata );
148 
149 
150 /*-----------------------------------------------------------------------------------------------*/
182 /*-----------------------------------------------------------------------------------------------*/
183 M2MB_RESULT_E m2mb_pdp_deinit( M2MB_PDP_HANDLE h );
184 
185 
186 /*-----------------------------------------------------------------------------------------------*/
234 /*-----------------------------------------------------------------------------------------------*/
235 
236 M2MB_RESULT_E m2mb_pdp_activate( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN, CHAR *user, CHAR *password, M2MB_PDP_IP_TYPE_E pdpIPver );
237 
238 /*-----------------------------------------------------------------------------------------------*/
261 /*-----------------------------------------------------------------------------------------------*/
262 M2MB_RESULT_E m2mb_pdp_deactivate( M2MB_PDP_HANDLE h, UINT8 cid );
263 
264 /*-----------------------------------------------------------------------------------------------*/
304 /*-----------------------------------------------------------------------------------------------*/
305 M2MB_RESULT_E m2mb_pdp_get_my_ip( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_IP_TYPE_E pdpIPver, void *addr );
306 
307 
308 /*-----------------------------------------------------------------------------------------------*/
341 /*-----------------------------------------------------------------------------------------------*/
342 
343 M2MB_RESULT_E m2mb_pdp_get_DNS( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_IP_TYPE_E pdpIPver, void *pDNS, void *sDNS );
344 
345 
346 /*-----------------------------------------------------------------------------------------------*/
372 /*-----------------------------------------------------------------------------------------------*/
373 M2MB_RESULT_E m2mb_pdp_get_status( M2MB_PDP_HANDLE h, UINT8 cid, UINT8 *p_status );
374 
375 /*-----------------------------------------------------------------------------------------------*/
400 /*-----------------------------------------------------------------------------------------------*/
401 M2MB_RESULT_E m2mb_pdp_APN_set( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN );
402 
403 
404 /*-----------------------------------------------------------------------------------------------*/
431 /*-----------------------------------------------------------------------------------------------*/
432 M2MB_RESULT_E m2mb_pdp_APN_get( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *APN, UINT8 len );
433 
434 
435 /*-----------------------------------------------------------------------------------------------*/
457 /*-----------------------------------------------------------------------------------------------*/
458 M2MB_RESULT_E m2mb_pdp_apnclass2cid( M2MB_PDP_HANDLE h, UINT8 apnclass, UINT8 *p_cid );
459 
460 /*-----------------------------------------------------------------------------------------------*/
485 /*-----------------------------------------------------------------------------------------------*/
486 M2MB_RESULT_E m2mb_pdp_type_get( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_TYPE_E *pdp_type );
487 
488 /*-----------------------------------------------------------------------------------------------*/
513 /*-----------------------------------------------------------------------------------------------*/
514 M2MB_RESULT_E m2mb_pdp_type_set( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_TYPE_E pdp_type );
515 
516 /*-----------------------------------------------------------------------------------------------*/
546 /*-----------------------------------------------------------------------------------------------*/
547 M2MB_RESULT_E m2mb_pdp_profile_name_get( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *profname, UINT8 len );
548 
549 /*-----------------------------------------------------------------------------------------------*/
577 /*-----------------------------------------------------------------------------------------------*/
578 M2MB_RESULT_E m2mb_pdp_profile_name_set( M2MB_PDP_HANDLE h, UINT8 cid, CHAR *profname );
579 
580 /*-----------------------------------------------------------------------------------------------*/
605 /*-----------------------------------------------------------------------------------------------*/
606 M2MB_RESULT_E m2mb_pdp_authtype_get( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_AUTHTYPE_E *pdp_authtype );
607 
608 /*-----------------------------------------------------------------------------------------------*/
633 /*-----------------------------------------------------------------------------------------------*/
634 M2MB_RESULT_E m2mb_pdp_authtype_set( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_AUTHTYPE_E pdp_authtype );
635 
636 /*-----------------------------------------------------------------------------------------------*/
666 /*-----------------------------------------------------------------------------------------------*/
667 M2MB_RESULT_E m2mb_pdp_datavol_get( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_DATAVOL_ACTION_E datavol_action, UINT32 *tx, UINT32 *rx );
668 
669 /*-----------------------------------------------------------------------------------------------*/
696 /*-----------------------------------------------------------------------------------------------*/
697 M2MB_RESULT_E m2mb_pdp_stats( M2MB_PDP_HANDLE h, UINT8 cid, M2MB_PDP_STATS_ACTION_E stats_action, M2MB_PDP_STATS_T* stats );
698 
699 /*-----------------------------------------------------------------------------------------------*/
722 /*-----------------------------------------------------------------------------------------------*/
723 M2MB_RESULT_E m2mb_pdp_default_cid_get(M2MB_PDP_HANDLE h, UINT8* cid);
724 
725 
730 #endif /* M2M_M2MB_PDP_API_H */
731 
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_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:90
M2MB_PDP_STATS_T::byteTX
UINT64 byteTX
Definition: m2mb_pdp.h:92
M2MB_PDP_STATS_RESET
Definition: m2mb_pdp.h:79
M2MB_PDP_STATS_T::byteRX
UINT64 byteRX
Definition: m2mb_pdp.h:93
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:96
M2MB_PDP_STATS_T::pktRX
UINT64 pktRX
Definition: m2mb_pdp.h:95
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:94
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)