patch-2.1.23 linux/drivers/ap1000/mac.h

Next file: linux/drivers/ap1000/plc.c
Previous file: linux/drivers/ap1000/mac.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.22/linux/drivers/ap1000/mac.h linux/drivers/ap1000/mac.h
@@ -0,0 +1,82 @@
+  /*
+   * Copyright 1996 The Australian National University.
+   * Copyright 1996 Fujitsu Laboratories Limited
+   * 
+   * This software may be distributed under the terms of the Gnu
+   * Public License version 2 or later
+  */
+/*
+ * Definitions of MAC state structures etc.
+ */
+
+struct mac_info {
+    TimerTwosComplement	tmax;
+    TimerTwosComplement tvx;
+    TimerTwosComplement treq;
+    ShortAddressType	s_address;
+    LongAddressType	l_address;
+    ShortAddressType	s_group_adrs;
+    LongAddressType	l_group_adrs;
+    int			rcv_own_frames;
+    int			only_good_frames;
+};
+
+
+struct mac_buf {
+    struct mac_buf *next;
+    int ack;
+    int length;
+    void *ptr;
+    int wraplen;
+    void *wrapptr;
+    int fr_start;
+    int fr_end;
+};
+
+int mac_xmit_space(void);
+void mac_xmit_alloc(struct mac_buf *, int);
+void mac_queue_frame(struct mac_buf *);
+int mac_recv_frame(struct mac_buf *);
+void mac_discard_frame(struct mac_buf *);
+int mac_init(struct mac_info *mip);
+int mac_inited(struct mac_info *mip);
+void mac_reset(LoopbackType loopback);
+void mac_claim(void);
+void mac_sleep(void);
+void mac_poll(void);
+void mac_disable(void);
+void mac_make_spframes(void);
+int mac_xalloc(int nwords);
+int mac_xmit_dma(struct sk_buff *skb);
+void mac_dma_complete(void);
+void mac_process(void);
+int mac_queue_append(struct sk_buff *skb);
+
+struct dma_chan {
+    int cmd;			/* cmd << 16 + size */
+    int st;			/* status << 16 + current size */
+    int hskip;			/* hskip << 16 + hcnt */
+    int vskip;			/* vskip << 16 + vcnt */
+    unsigned char *maddr;	/* memory address */
+    unsigned char *cmaddr;	/* current memory address */
+    int ccount;			/* h_count << 16 + v_count */
+    int *tblp;			/* table pointer */
+    int *ctblp;			/* current table pointer */
+    unsigned char *hdptr;	/* header pointer */
+};
+
+#define ROUND4(x)	(((x) + 3) & -4)
+#define ROUND8(x)	(((x) + 7) & -8)
+#define ROUND16(x)	(((x) + 15) & -16)
+#define ROUNDLINE(x)	ROUND16(x)
+
+#define NWORDS(x)	(((x) + 3) >> 2)
+#define NLINES(x)	(((x) + 15) >> 4)
+
+/*
+ * Queue element used to queue transmit requests on the FDDI.
+ */
+struct mac_queue {
+    volatile struct mac_queue *next;
+    struct sk_buff *skb;
+};

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov