FreeBSD kernel usb device Code
usb_core.h File Reference

Go to the source code of this file.

Data Structures

struct  usb_xfer_flags_int
 
struct  usb_xfer
 

Macros

#define USB_GET_DATA_ISREAD(xfer)
 
#define USB_BUS_LOCK(_b)   USB_MTX_LOCK(&(_b)->bus_mtx)
 
#define USB_BUS_UNLOCK(_b)   USB_MTX_UNLOCK(&(_b)->bus_mtx)
 
#define USB_BUS_LOCK_ASSERT(_b, _t)   USB_MTX_ASSERT(&(_b)->bus_mtx, _t)
 
#define USB_BUS_SPIN_LOCK(_b)   USB_MTX_LOCK_SPIN(&(_b)->bus_spin_lock)
 
#define USB_BUS_SPIN_UNLOCK(_b)   USB_MTX_UNLOCK_SPIN(&(_b)->bus_spin_lock)
 
#define USB_BUS_SPIN_LOCK_ASSERT(_b, _t)   USB_MTX_ASSERT(&(_b)->bus_spin_lock, _t)
 
#define USB_XFER_LOCK(_x)   USB_MTX_LOCK((_x)->xroot->xfer_mtx)
 
#define USB_XFER_UNLOCK(_x)   USB_MTX_UNLOCK((_x)->xroot->xfer_mtx)
 
#define USB_XFER_LOCK_ASSERT(_x, _t)   USB_MTX_ASSERT((_x)->xroot->xfer_mtx, _t)
 
#define USB_P2U(ptr)    ((uintptr_t)(ptr))
 
#define USB_ADD_BYTES(ptr, size)    ((void *)(__DECONST(char *, (ptr)) + (size)))
 
#define USB_ASSERT   KASSERT
 

Typedefs

typedef struct malloc_type * usb_malloc_type
 

Variables

struct mtx usb_ref_lock
 
const struct usb_string_lang usb_string_lang_en
 

Macro Definition Documentation

◆ USB_ADD_BYTES

#define USB_ADD_BYTES (   ptr,
  size 
)     ((void *)(__DECONST(char *, (ptr)) + (size)))

Definition at line 64 of file usb_core.h.

◆ USB_ASSERT

#define USB_ASSERT   KASSERT

Definition at line 68 of file usb_core.h.

◆ USB_BUS_LOCK

#define USB_BUS_LOCK (   _b)    USB_MTX_LOCK(&(_b)->bus_mtx)

Definition at line 45 of file usb_core.h.

◆ USB_BUS_LOCK_ASSERT

#define USB_BUS_LOCK_ASSERT (   _b,
  _t 
)    USB_MTX_ASSERT(&(_b)->bus_mtx, _t)

Definition at line 47 of file usb_core.h.

◆ USB_BUS_SPIN_LOCK

#define USB_BUS_SPIN_LOCK (   _b)    USB_MTX_LOCK_SPIN(&(_b)->bus_spin_lock)

Definition at line 50 of file usb_core.h.

◆ USB_BUS_SPIN_LOCK_ASSERT

#define USB_BUS_SPIN_LOCK_ASSERT (   _b,
  _t 
)    USB_MTX_ASSERT(&(_b)->bus_spin_lock, _t)

Definition at line 52 of file usb_core.h.

◆ USB_BUS_SPIN_UNLOCK

#define USB_BUS_SPIN_UNLOCK (   _b)    USB_MTX_UNLOCK_SPIN(&(_b)->bus_spin_lock)

Definition at line 51 of file usb_core.h.

◆ USB_BUS_UNLOCK

#define USB_BUS_UNLOCK (   _b)    USB_MTX_UNLOCK(&(_b)->bus_mtx)

Definition at line 46 of file usb_core.h.

◆ USB_GET_DATA_ISREAD

#define USB_GET_DATA_ISREAD (   xfer)
Value:
((xfer)->flags_int.usb_mode == \
USB_MODE_DEVICE ? (((xfer)->endpointno & UE_DIR_IN) ? 0 : 1) : \
(((xfer)->endpointno & UE_DIR_IN) ? 1 : 0))
#define UE_DIR_IN
Definition: usb.h:531
@ USB_MODE_DEVICE
Definition: usb.h:779

Definition at line 40 of file usb_core.h.

◆ USB_P2U

#define USB_P2U (   ptr)     ((uintptr_t)(ptr))

Definition at line 60 of file usb_core.h.

◆ USB_XFER_LOCK

#define USB_XFER_LOCK (   _x)    USB_MTX_LOCK((_x)->xroot->xfer_mtx)

Definition at line 55 of file usb_core.h.

◆ USB_XFER_LOCK_ASSERT

#define USB_XFER_LOCK_ASSERT (   _x,
  _t 
)    USB_MTX_ASSERT((_x)->xroot->xfer_mtx, _t)

Definition at line 57 of file usb_core.h.

◆ USB_XFER_UNLOCK

#define USB_XFER_UNLOCK (   _x)    USB_MTX_UNLOCK((_x)->xroot->xfer_mtx)

Definition at line 56 of file usb_core.h.

Typedef Documentation

◆ usb_malloc_type

typedef struct malloc_type* usb_malloc_type

Definition at line 192 of file usb_core.h.

Variable Documentation

◆ usb_ref_lock

◆ usb_string_lang_en