The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/drivers/usb/serial/usb-wwan.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Definitions for USB serial mobile broadband cards
    3  */
    4 
    5 #ifndef __LINUX_USB_USB_WWAN
    6 #define __LINUX_USB_USB_WWAN
    7 
    8 extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on);
    9 extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port);
   10 extern void usb_wwan_close(struct usb_serial_port *port);
   11 extern int usb_wwan_port_probe(struct usb_serial_port *port);
   12 extern int usb_wwan_port_remove(struct usb_serial_port *port);
   13 extern int usb_wwan_write_room(struct tty_struct *tty);
   14 extern void usb_wwan_set_termios(struct tty_struct *tty,
   15                                  struct usb_serial_port *port,
   16                                  struct ktermios *old);
   17 extern int usb_wwan_tiocmget(struct tty_struct *tty);
   18 extern int usb_wwan_tiocmset(struct tty_struct *tty,
   19                              unsigned int set, unsigned int clear);
   20 extern int usb_wwan_ioctl(struct tty_struct *tty,
   21                           unsigned int cmd, unsigned long arg);
   22 extern int usb_wwan_send_setup(struct usb_serial_port *port);
   23 extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port,
   24                           const unsigned char *buf, int count);
   25 extern int usb_wwan_chars_in_buffer(struct tty_struct *tty);
   26 #ifdef CONFIG_PM
   27 extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message);
   28 extern int usb_wwan_resume(struct usb_serial *serial);
   29 #endif
   30 
   31 /* per port private data */
   32 
   33 #define N_IN_URB 4
   34 #define N_OUT_URB 4
   35 #define IN_BUFLEN 4096
   36 #define OUT_BUFLEN 4096
   37 
   38 struct usb_wwan_intf_private {
   39         spinlock_t susp_lock;
   40         unsigned int suspended:1;
   41         int in_flight;
   42         int (*send_setup) (struct usb_serial_port *port);
   43         void *private;
   44 };
   45 
   46 struct usb_wwan_port_private {
   47         /* Input endpoints and buffer for this port */
   48         struct urb *in_urbs[N_IN_URB];
   49         u8 *in_buffer[N_IN_URB];
   50         /* Output endpoints and buffer for this port */
   51         struct urb *out_urbs[N_OUT_URB];
   52         u8 *out_buffer[N_OUT_URB];
   53         unsigned long out_busy; /* Bit vector of URBs in use */
   54         int opened;
   55         struct usb_anchor delayed;
   56 
   57         /* Settings for the port */
   58         int rts_state;          /* Handshaking pins (outputs) */
   59         int dtr_state;
   60         int cts_state;          /* Handshaking pins (inputs) */
   61         int dsr_state;
   62         int dcd_state;
   63         int ri_state;
   64 
   65         unsigned long tx_start_time[N_OUT_URB];
   66 };
   67 
   68 #endif /* __LINUX_USB_USB_WWAN */

Cache object: 25603fd297d65b1c0994351a598a0c36


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.