m2mb API docs  25.30.004.0
m2mb API sets documentation
m2mb_usb.h
Go to the documentation of this file.
1 /* $version: 252203 */
2 /*===============================================================================================*/
3 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
29 #ifndef M2M_M2MB_USB_API_H
30 #define M2M_M2MB_USB_API_H
31 
32 /* Global declarations ==========================================================================*/
33 #ifndef NULL
34 #define NULL 0
35 #endif
36 
37 /* defines used to check if USB cable is connected or not */
38 #define M2MB_USB_CABLE_ATTACHED TRUE
39 #define M2MB_USB_CABLE_DETACHED FALSE
40 
41 
42 /* Global enums ==============================================================================*/
43 
49 typedef enum
50 {
73  M2MB_USB_IOCTL_NOF_REQ,
74  ENUM_TO_INT( M2MB_USB_IOCTL_REQUEST )
76 
77 /* Global typedefs ==============================================================================*/
78 
84 typedef enum
85 {
90  ENUM_TO_INT( M2MB_USB_IND_E )
92 
99 typedef enum
100 {
103  ENUM_TO_INT( M2MB_USB_SIGNAL_VALUE_E )
105 
112 typedef void ( *m2mb_usb_ind_callback )( INT32 fd, M2MB_USB_IND_E usb_event, UINT16 resp_size, void *resp_struct, void *userdata );
113 
120 typedef struct
121 {
126  void *userData;
129 
130 typedef struct M2MB_USB_HANDLE_TAG *M2MB_USB_HANDLE;
131 
132 
133 /* Global functions =============================================================================*/
134 
135 /*-----------------------------------------------------------------------------------------------*/
172 /*-----------------------------------------------------------------------------------------------*/
173 INT32 m2mb_usb_open( const CHAR *path, INT32 flags, ... );
174 
175 /*-----------------------------------------------------------------------------------------------*/
210 /*-----------------------------------------------------------------------------------------------*/
211 INT32 m2mb_usb_close( INT32 fd );
212 
213 /*-----------------------------------------------------------------------------------------------*/
478  /*---------------------------------------------------------------------------------------------*/
479 INT32 m2mb_usb_ioctl( INT32 fd, INT32 request, ... );
480 
481 /*-----------------------------------------------------------------------------------------------*/
525  /*---------------------------------------------------------------------------------------------*/
526 SSIZE_T m2mb_usb_read( INT32 fd, void *buf, SIZE_T nbyte );
527 
528 /*-----------------------------------------------------------------------------------------------*/
575  /*-----------------------------------------------------------------------------------------------*/
576 SSIZE_T m2mb_usb_write( INT32 fd, const void *buf, SIZE_T nbyte );
577 
578 
579 /*-----------------------------------------------------------------------------------------------*/
626  /*-----------------------------------------------------------------------------------------------*/
627 
628 INT32 m2mb_usb_isCableAttached( const CHAR *path );
629 
630 
631 #endif /* M2M_M2MB_USB_API_H */
632 
633 
M2MB_USB_SIGNAL_VALUE_E
M2MB_USB_SIGNAL_VALUE_E
USB control signal value.
Definition: m2mb_usb.h:99
M2MB_USB_IND_E
M2MB_USB_IND_E
USB event type.
Definition: m2mb_usb.h:84
m2mb_usb_write
SSIZE_T m2mb_usb_write(INT32 fd, const void *buf, SIZE_T nbyte)
m2mb_usb_write
M2MB_USB_IOCTL_SET_DTR_FCTL
Definition: m2mb_usb.h:61
M2MB_USB_IOCTL_SET_RX_TIMEOUT
Definition: m2mb_usb.h:69
M2MB_USB_IOCTL_SET_CB
Definition: m2mb_usb.h:53
M2MB_USB_IOCTL_SET_DCD
Definition: m2mb_usb.h:57
M2MB_USB_CFG_T
USB ioctl configuration.
Definition: m2mb_usb.h:120
M2MB_USB_LOW_VALUE
Definition: m2mb_usb.h:101
M2MB_USB_IOCTL_SET_RING
Definition: m2mb_usb.h:64
M2MB_USB_HIGH_VALUE
Definition: m2mb_usb.h:102
M2MB_USB_IOCTL_SET_CFG
Definition: m2mb_usb.h:51
m2mb_usb_read
SSIZE_T m2mb_usb_read(INT32 fd, void *buf, SIZE_T nbyte)
m2mb_usb_read
M2MB_USB_IOCTL_GET_USERDATA
Definition: m2mb_usb.h:56
M2MB_USB_IOCTL_GET_RTS_STATE
Definition: m2mb_usb.h:58
m2mb_usb_close
INT32 m2mb_usb_close(INT32 fd)
m2mb_usb_close closes a USB device.
M2MB_USB_IOCTL_GET_TX_TIMEOUT
Definition: m2mb_usb.h:67
M2MB_USB_RX_EVENT
Definition: m2mb_usb.h:86
M2MB_USB_IOCTL_GET_RX_TIMEOUT
Definition: m2mb_usb.h:71
M2MB_USB_IOCTL_GET_CB
Definition: m2mb_usb.h:54
M2MB_USB_DTR_EVENT
Definition: m2mb_usb.h:89
M2MB_USB_IOCTL_GET_CFG
Definition: m2mb_usb.h:52
m2mb_usb_ioctl
INT32 m2mb_usb_ioctl(INT32 fd, INT32 request,...)
m2mb_usb_ioctl configures an open USB device.
M2MB_USB_IOCTL_SET_TX_TIMEOUT
Definition: m2mb_usb.h:65
m2mb_usb_open
INT32 m2mb_usb_open(const CHAR *path, INT32 flags,...)
m2mb_usb_open opens a USB device.
m2mb_usb_ind_callback
void(* m2mb_usb_ind_callback)(INT32 fd, M2MB_USB_IND_E usb_event, UINT16 resp_size, void *resp_struct, void *userdata)
Transmit and receive operation callback type.
Definition: m2mb_usb.h:112
M2MB_USB_IOCTL_GET_CABLE_STATE
Definition: m2mb_usb.h:60
m2mb_usb_isCableAttached
INT32 m2mb_usb_isCableAttached(const CHAR *path)
m2mb_usb_isCableAttached
M2MB_USB_IOCTL_GET_DTR_FCTL
Definition: m2mb_usb.h:62
M2MB_USB_CABLE_CONNECTED_EVENT
Definition: m2mb_usb.h:88
M2MB_USB_IOCTL_REQUEST
M2MB_USB_IOCTL_REQUEST
USB configuration requests.
Definition: m2mb_usb.h:49
M2MB_USB_TX_EVENT
Definition: m2mb_usb.h:87
M2MB_USB_CFG_T::userData
void * userData
Definition: m2mb_usb.h:126
M2MB_USB_IOCTL_SET_USERDATA
Definition: m2mb_usb.h:55
M2MB_USB_IOCTL_GET_DTR_STATE
Definition: m2mb_usb.h:59
M2MB_USB_IOCTL_SET_DSR
Definition: m2mb_usb.h:63
M2MB_USB_CFG_T::m2mb_usb_app_cb_func
m2mb_usb_ind_callback m2mb_usb_app_cb_func
Definition: m2mb_usb.h:122