Logo Search packages:      
Sourcecode: linux version File versions  Download package

hisax_fcpcipnp.h

#include "hisax_if.h"
#include "hisax_isac.h"
#include <linux/pci.h>

#define HSCX_BUFMAX     4096

enum {
      AVM_FRITZ_PCI,
      AVM_FRITZ_PNP,
      AVM_FRITZ_PCIV2,
};

struct hdlc_stat_reg {
#ifdef __BIG_ENDIAN
      u_char fill;
      u_char mode;
      u_char xml;
      u_char cmd;
#else
      u_char cmd;
      u_char xml;
      u_char mode;
      u_char fill;
#endif
} __attribute__((packed));

struct fritz_bcs {
      struct hisax_b_if b_if;
      struct fritz_adapter *adapter;
      int mode;
      int channel;

      union {
            u_int ctrl;
            struct hdlc_stat_reg sr;
      } ctrl;
      u_int stat;
      int rcvidx;
      int fifo_size;
      u_char rcvbuf[HSCX_BUFMAX]; /* B-Channel receive Buffer */
      
      int tx_cnt;           /* B-Channel transmit counter */
      struct sk_buff *tx_skb;     /* B-Channel transmit Buffer */
};

struct fritz_adapter {
      int type;
      spinlock_t hw_lock;
      unsigned int io;
      unsigned int irq;
      struct isac isac;

      struct fritz_bcs bcs[2];

      u32  (*read_hdlc_status) (struct fritz_adapter *adapter, int nr);
      void (*write_ctrl) (struct fritz_bcs *bcs, int which);
};


Generated by  Doxygen 1.6.0   Back to index