Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/ieee1394 Change abuf to include both requestor and r...



details:   https://anonhg.NetBSD.org/src/rev/62a391c39d23
branches:  trunk
changeset: 509732:62a391c39d23
user:      jmc <jmc%NetBSD.org@localhost>
date:      Fri May 11 06:03:55 2001 +0000

description:
Change abuf to include both requestor and responder softc's (for dealing with requests from other nodes later).
Add a callback so the ACK bits can be looked at if wanted.
Change the input/output pointers to proper proto's and rename to read/write.

diffstat:

 sys/dev/ieee1394/ieee1394var.h |  20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diffs (61 lines):

diff -r 9c5f12be2596 -r 62a391c39d23 sys/dev/ieee1394/ieee1394var.h
--- a/sys/dev/ieee1394/ieee1394var.h    Fri May 11 06:00:17 2001 +0000
+++ b/sys/dev/ieee1394/ieee1394var.h    Fri May 11 06:03:55 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ieee1394var.h,v 1.7 2001/05/03 04:38:33 jmc Exp $      */
+/*     $NetBSD: ieee1394var.h,v 1.8 2001/05/11 06:03:55 jmc Exp $      */
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -47,7 +47,8 @@
  * requisite reference counting.
  */
 struct ieee1394_abuf {
-       struct ieee1394_softc *ab_node;         /* destination/source */
+       struct ieee1394_softc *ab_req;          /* requestor */
+       struct ieee1394_softc *ab_resp;         /* response */
        u_int32_t *ab_data;
        u_int64_t ab_csr;
        u_int8_t ab_tcode;
@@ -55,6 +56,7 @@
        u_int16_t ab_length; 
        u_int16_t ab_retlen;                    /* length returned from read. */
        void (*ab_cb)(struct ieee1394_abuf *, int);
+       void (*ab_ackcb)(struct ieee1394_abuf *, int);
        void *ab_cbarg;
 };
 
@@ -70,16 +72,16 @@
        char name[7]; 
        u_int8_t uid[8];
        u_int16_t nodeid;
-       void *input;
-       void *output;
-       void *inreg;
+       int (*read)(struct ieee1394_abuf *);
+       int (*write)(struct ieee1394_abuf *);
+       int (*inreg)(struct ieee1394_abuf *, int);
 };    
 
 struct ieee1394_softc {
        struct device sc1394_dev;
-       struct device *sc1394_if;
+       struct device *sc1394_if; /* Move to fwohci level. */
        
-       const struct ieee1394_callbacks sc1394_callback;
+       const struct ieee1394_callbacks sc1394_callback; /* Nuke probably. */
        u_int32_t *sc1394_configrom;
        u_int32_t sc1394_configrom_len;  /* quadlets. */
        u_int32_t sc1394_max_receive;
@@ -88,9 +90,9 @@
        u_int16_t sc1394_node_id;       /* my node id in network order */
        
        int (*sc1394_ifoutput)(struct device *, struct mbuf *,
-           void (*)(struct device *, struct mbuf *));
+           void (*)(struct device *, struct mbuf *)); /* Nuke. */
        int (*sc1394_ifinreg)(struct device *, u_int32_t, u_int32_t,
-           void (*)(struct device *, struct mbuf *));
+           void (*)(struct device *, struct mbuf *)); /* Nuke */
        
        LIST_ENTRY(ieee1394_softc) sc1394_node;
 };



Home | Main Index | Thread Index | Old Index