/* * Definition of one channel
*/ struct channel { struct channel *next; char id[CTCM_ID_SIZE]; struct ccw_device *cdev; /* * Type of this channel. * CTC/A or Escon for valid channels.
*/ enum ctcm_channel_types type; /* * Misc. flags. See CHANNEL_FLAGS_... below
*/
__u32 flags;
__u16 protocol; /* protocol of this channel (4 = MPC) */ /* * I/O and irq related stuff
*/ struct ccw1 *ccw; struct irb *irb; /* * RX/TX buffer size
*/ int max_bufsize; struct sk_buff *trans_skb; /* transmit/receive buffer */ struct sk_buff_head io_queue; /* universal I/O queue */ struct tasklet_struct ch_tasklet; /* MPC ONLY */ /* * TX queue for collecting skb's during busy.
*/ struct sk_buff_head collect_queue; /* * Amount of data in collect_queue.
*/ int collect_len; /* * spinlock for collect_queue and collect_len
*/
spinlock_t collect_lock; /* * Timer for detecting unresposive * I/O operations.
*/
fsm_timer timer; /* MPC ONLY section begin */
__u32 th_seq_num; /* SNA TH seq number */
__u8 th_seg;
__u32 pdu_seq; struct sk_buff *xid_skb; char *xid_skb_data; struct th_header *xid_th; struct xid2 *xid; char *xid_id; struct th_header *rcvd_xid_th; struct xid2 *rcvd_xid; char *rcvd_xid_id;
__u8 in_mpcgroup;
fsm_timer sweep_timer; struct sk_buff_head sweep_queue; struct th_header *discontact_th; struct tasklet_struct ch_disc_tasklet; /* MPC ONLY section end */
int retry; /* retry counter for misc. operations */
fsm_instance *fsm; /* finite state machine of this channel */ struct net_device *netdev; /* corresponding net_device */ struct ctcm_profile prof;
__u8 *trans_skb_data;
__u16 logflags;
__u8 sense_rc; /* last unit check sense code report control */
};
/* test if protocol attribute (of struct ctcm_priv or struct channel) * has MPC protocol setting. Type is not checked
*/ #define IS_MPC(p) ((p)->protocol == CTCM_PROTO_MPC)
/* test if struct ctcm_priv of struct net_device has MPC protocol setting */ #define IS_MPCDEV(dev) IS_MPC((struct ctcm_priv *)dev->ml_priv)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.