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:
parent
32a67a12cd
commit
b7d6b60f87
@ -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;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user