m2mb API docs  25.21.002
m2mb API sets documentation
m2mb_usb.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
28 #ifndef M2M_M2MB_USB_API_H
29 #define M2M_M2MB_USB_API_H
30 
31 /* Global declarations ==========================================================================*/
32 #ifndef NULL
33 #define NULL 0
34 #endif
35 
36 /* defines used to check if USB cable is connected or not */
37 #define M2MB_USB_CABLE_ATTACHED TRUE
38 #define M2MB_USB_CABLE_DETACHED FALSE
39 
40 
41 /* Global enums ==============================================================================*/
42 
48 typedef enum
49 {
72  M2MB_USB_IOCTL_NOF_REQ,
73  ENUM_TO_INT( M2MB_USB_IOCTL_REQUEST )
75 
76 /* Global typedefs ==============================================================================*/
77 
83 typedef enum
84 {
89  ENUM_TO_INT( M2MB_USB_IND_E )
91 
98 typedef enum
99 {
102  ENUM_TO_INT( M2MB_USB_SIGNAL_VALUE_E )
104 
111 typedef void ( *m2mb_usb_ind_callback )( INT32 fd, M2MB_USB_IND_E usb_event, UINT16 resp_size, void *resp_struct, void *userdata );
112 
119 typedef struct
120 {
125  void *userData;
128 
129 typedef struct M2MB_USB_HANDLE_TAG *M2MB_USB_HANDLE;
130 
131 
132 /* Global functions =============================================================================*/
133 
134 /*-----------------------------------------------------------------------------------------------*/
171 /*-----------------------------------------------------------------------------------------------*/
172 INT32 m2mb_usb_open( const CHAR *path, INT32 flags, ... );
173 
174 /*-----------------------------------------------------------------------------------------------*/
209 /*-----------------------------------------------------------------------------------------------*/
210 INT32 m2mb_usb_close( INT32 fd );
211 
212 /*-----------------------------------------------------------------------------------------------*/
485  /*---------------------------------------------------------------------------------------------*/
486 INT32 m2mb_usb_ioctl( INT32 fd, INT32 request, ... );
487 
488 /*-----------------------------------------------------------------------------------------------*/
532  /*---------------------------------------------------------------------------------------------*/
533 SSIZE_T m2mb_usb_read( INT32 fd, void *buf, SIZE_T nbyte );
534 
535 /*-----------------------------------------------------------------------------------------------*/
579  /*-----------------------------------------------------------------------------------------------*/
580 SSIZE_T m2mb_usb_write( INT32 fd, const void *buf, SIZE_T nbyte );
581 
582 
583 /*-----------------------------------------------------------------------------------------------*/
631  /*-----------------------------------------------------------------------------------------------*/
632 
633 INT32 m2mb_usb_isCableAttached( const CHAR *path );
634 
635 
636 #endif /* M2M_M2MB_USB_API_H */
637 
638 
M2MB_USB_SIGNAL_VALUE_E
M2MB_USB_SIGNAL_VALUE_E
USB control signal value.
Definition: m2mb_usb.h:98
M2MB_USB_IND_E
M2MB_USB_IND_E
USB event type.
Definition: m2mb_usb.h:83
M2MB_USB_CFG_T::userData
void * userData
Definition: m2mb_usb.h:125
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:60
M2MB_USB_IOCTL_SET_RX_TIMEOUT
Definition: m2mb_usb.h:68
M2MB_USB_IOCTL_SET_CB
Definition: m2mb_usb.h:52
M2MB_USB_IOCTL_SET_DCD
Definition: m2mb_usb.h:56
M2MB_USB_CFG_T
USB ioctl configuration.
Definition: m2mb_usb.h:119
M2MB_USB_LOW_VALUE
Definition: m2mb_usb.h:100
M2MB_USB_IOCTL_SET_RING
Definition: m2mb_usb.h:63
M2MB_USB_HIGH_VALUE
Definition: m2mb_usb.h:101
M2MB_USB_IOCTL_SET_CFG
Definition: m2mb_usb.h:50
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:55
M2MB_USB_IOCTL_GET_RTS_STATE
Definition: m2mb_usb.h:57
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:66
M2MB_USB_RX_EVENT
Definition: m2mb_usb.h:85
M2MB_USB_IOCTL_GET_RX_TIMEOUT
Definition: m2mb_usb.h:70
M2MB_USB_IOCTL_GET_CB
Definition: m2mb_usb.h:53
M2MB_USB_CFG_T::m2mb_usb_app_cb_func
m2mb_usb_ind_callback m2mb_usb_app_cb_func
Definition: m2mb_usb.h:121
M2MB_USB_DTR_EVENT
Definition: m2mb_usb.h:88
M2MB_USB_IOCTL_GET_CFG
Definition: m2mb_usb.h:51
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:64
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:111
M2MB_USB_IOCTL_GET_CABLE_STATE
Definition: m2mb_usb.h:59
m2mb_usb_isCableAttached
INT32 m2mb_usb_isCableAttached(const CHAR *path)
m2mb_usb_isCableAttached
M2MB_USB_IOCTL_GET_DTR_FCTL
Definition: m2mb_usb.h:61
M2MB_USB_CABLE_CONNECTED_EVENT
Definition: m2mb_usb.h:87
M2MB_USB_IOCTL_REQUEST
M2MB_USB_IOCTL_REQUEST
USB configuration requests.
Definition: m2mb_usb.h:48
M2MB_USB_TX_EVENT
Definition: m2mb_usb.h:86
M2MB_USB_IOCTL_SET_USERDATA
Definition: m2mb_usb.h:54
M2MB_USB_IOCTL_GET_DTR_STATE
Definition: m2mb_usb.h:58
M2MB_USB_IOCTL_SET_DSR
Definition: m2mb_usb.h:62