~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/net/irda/irport.h

Version: ~ [ 2.2.5 ] ~ [ 2.4.1 ] ~ [ 2.4.9 ] ~ [ 2.6.17.10 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*********************************************************************
  2  *                
  3  * Filename:      irport.h
  4  * Version:       0.1
  5  * Description:   Serial driver for IrDA
  6  * Status:        Experimental.
  7  * Author:        Dag Brattli <dagb@cs.uit.no>
  8  * Created at:    Sun Aug  3 13:49:59 1997
  9  * Modified at:   Fri Jan 14 10:21:10 2000
 10  * Modified by:   Dag Brattli <dagb@cs.uit.no>
 11  * 
 12  *     Copyright (c) 1997, 1998-2000 Dag Brattli <dagb@cs.uit.no>
 13  *     All Rights Reserved.
 14  *     
 15  *     This program is free software; you can redistribute it and/or 
 16  *     modify it under the terms of the GNU General Public License as 
 17  *     published by the Free Software Foundation; either version 2 of 
 18  *     the License, or (at your option) any later version.
 19  *
 20  *     Neither Dag Brattli nor University of Tromsų admit liability nor
 21  *     provide warranty for any of this software. This material is 
 22  *     provided "AS-IS" and at no charge.
 23  *
 24  ********************************************************************/
 25 
 26 #ifndef IRPORT_H
 27 #define IRPORT_H
 28 
 29 #include <linux/netdevice.h>
 30 #include <linux/skbuff.h>
 31 #include <linux/types.h>
 32 #include <linux/spinlock.h>
 33 
 34 #include <net/irda/irda_device.h>
 35 
 36 #define SPEED_DEFAULT 9600
 37 #define SPEED_MAX     115200
 38 
 39 /*
 40  * These are the supported serial types.
 41  */
 42 #define PORT_UNKNOWN    0
 43 #define PORT_8250       1
 44 #define PORT_16450      2
 45 #define PORT_16550      3
 46 #define PORT_16550A     4
 47 #define PORT_CIRRUS     5
 48 #define PORT_16650      6
 49 #define PORT_MAX        6  
 50 
 51 #define FRAME_MAX_SIZE 2048
 52 
 53 struct irport_cb {
 54         struct net_device *netdev; /* Yes! we are some kind of netdevice */
 55         struct net_device_stats stats;
 56 
 57         struct irlap_cb *irlap;    /* The link layer we are attached to */
 58 
 59         chipio_t io;               /* IrDA controller information */
 60         iobuff_t tx_buff;          /* Transmit buffer */
 61         iobuff_t rx_buff;          /* Receive buffer */
 62 
 63         struct qos_info qos;       /* QoS capabilities for this device */
 64         dongle_t *dongle;          /* Dongle driver */
 65 
 66         __u32 flags;               /* Interface flags */
 67         __u32 new_speed;
 68         int mode;
 69         int index;                 /* Instance index */
 70 
 71         spinlock_t lock;           /* For serializing operations */
 72 
 73         /* For piggyback drivers */
 74         void *priv;                
 75         void (*change_speed)(void *priv, __u32 speed);
 76         void (*interrupt)(int irq, void *dev_id, struct pt_regs *regs);
 77 };
 78 
 79 struct irport_cb *irport_open(int i, unsigned int iobase, unsigned int irq);
 80 int  irport_close(struct irport_cb *self);
 81 void irport_start(struct irport_cb *self);
 82 void irport_stop(struct irport_cb *self);
 83 void irport_change_speed(void *priv, __u32 speed);
 84 void irport_interrupt(int irq, void *dev_id, struct pt_regs *regs);
 85 int  irport_hard_xmit(struct sk_buff *skb, struct net_device *dev);
 86 int  irport_net_open(struct net_device *dev);
 87 int  irport_net_close(struct net_device *dev);
 88 
 89 #endif /* IRPORT_H */
 90 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.