WE310F5  39.00.000
m2mb_usb.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
21 #ifndef M2MB_USB_H
22 #define M2MB_USB_H
23 
24 /* Include ======================================================================================*/
25 /* Global declarations ==========================================================================*/
26 /* Global typedefs ==============================================================================*/
27 typedef VOID(*M2MB_USB_CB_T)( VOID* ctx, UINT32 num_bytes, VOID *data );
28 
30 {
35 
36 typedef struct M2MB_USB_CB_CFG
37 {
41 
43 {
44  M2MB_USB_IOCTL_SET_CFG = 0, /* set whole usb device configuration */
45  M2MB_USB_IOCTL_GET_CFG, /* get whole usb device configuration */
46  M2MB_USB_IOCTL_SET_RX_CB, /* set usb rx callback function */
47  M2MB_USB_IOCTL_GET_RX_CB, /* get usb rx callback function */
48  M2MB_USB_IOCTL_SET_TX_CB, /* set usb tx callback function */
49  M2MB_USB_IOCTL_GET_TX_CB, /* get usb tx callback function */
50  M2MB_USB_IOCTL_GET_STATUS, /* get usb connection status */
51  M2MB_USB_IOCTL_SET_READ_EXIT, /* set to exit from read mode. If there is no
52  data available the read API waits for data to come and blocks the user. To
53  come out of the read, user can issue this option from another thread */
54  M2MB_USB_IOCTL_SET_READ_TIMEOUT, /* set to timeout for read mode. If there
55  is no data available the read API waits for till the timeout and returns */
57  M2MB_USB_IOCTL_NOF_REQ /* number of m2mb usb ioctl requests */
59 
60 typedef union M2MB_USB_IOCTL
61 {
67 
68 /* Global functions =============================================================================*/
69 /*-----------------------------------------------------------------------------------------------*/
107 /*-----------------------------------------------------------------------------------------------*/
108 INT32 m2mb_usb_open( HANDLE *pHandle, const char *path, int flags, ... );
109 
110 /*-----------------------------------------------------------------------------------------------*/
152  /*---------------------------------------------------------------------------------------------*/
153 SSIZE_T m2mb_usb_read( HANDLE pHandle, void *buf, size_t nbyte );
154 
155 /*-----------------------------------------------------------------------------------------------*/
196  /*-----------------------------------------------------------------------------------------------*/
197 SSIZE_T m2mb_usb_write( HANDLE pHandle, void *buf, size_t nbyte );
198 
199 /*-----------------------------------------------------------------------------------------------*/
236  /*-----------------------------------------------------------------------------------------------*/
237 INT32 m2mb_usb_close( HANDLE pHandle );
238 
239 /*-----------------------------------------------------------------------------------------------*/
292  /*---------------------------------------------------------------------------------------------*/
293 INT32 m2mb_usb_ioctl( HANDLE fd, INT32 request, M2MB_USB_IOCTL_T *reqData );
294 
295 #endif
union M2MB_USB_IOCTL M2MB_USB_IOCTL_T
INT32 SSIZE_T
Definition: m2mb_types.h:107
UINT32 read_timeout
Definition: m2mb_usb.h:65
VOID * ctx
Definition: m2mb_usb.h:39
M2MB_USB_CB_CFG_T * tx_cb
Definition: m2mb_usb.h:63
enum M2MB_USB_IOCTL_REQUEST_E M2MB_USB_IOCTL_REQUEST
SSIZE_T m2mb_usb_write(HANDLE pHandle, void *buf, size_t nbyte)
m2mb_usb_write
M2MB_USB_IOCTL_REQUEST_E
Definition: m2mb_usb.h:42
struct M2MB_USB_CB_CFG M2MB_USB_CB_CFG_T
M2MB_USB_CONN_STATUS_E
Definition: m2mb_usb.h:29
void VOID
Definition: m2mb_types.h:74
M2MB_USB_CB_T cb
Definition: m2mb_usb.h:38
INT32 m2mb_usb_ioctl(HANDLE fd, INT32 request, M2MB_USB_IOCTL_T *reqData)
m2mb_usb_ioctl
M2MB_USB_CONN_STATUS status
Definition: m2mb_usb.h:64
SSIZE_T m2mb_usb_read(HANDLE pHandle, void *buf, size_t nbyte)
m2mb_usb_read
VOID(* M2MB_USB_CB_T)(VOID *ctx, UINT32 num_bytes, VOID *data)
Definition: m2mb_usb.h:27
unsigned long int UINT32
Definition: m2mb_types.h:88
INT32 m2mb_usb_open(HANDLE *pHandle, const char *path, int flags,...)
m2mb_usb_open
signed int INT32
Definition: m2mb_types.h:82
M2MB_USB_CB_CFG_T * rx_cb
Definition: m2mb_usb.h:62
void * HANDLE
Definition: m2mb_types.h:98
enum M2MB_USB_CONN_STATUS_E M2MB_USB_CONN_STATUS
INT32 m2mb_usb_close(HANDLE pHandle)
m2mb_usb_close