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.
This commit is contained in:
jmc 2001-05-11 06:03:55 +00:00
parent 32a67a12cd
commit b7d6b60f87
1 changed files with 11 additions and 9 deletions

View File

@ -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 @@ struct ieee1394_node;
* 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 @@ struct ieee1394_abuf {
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 @@ struct ieee1394_attach_args {
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 @@ struct ieee1394_softc {
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;
};