Lines Matching defs:rxrpc_call
299 struct rxrpc_call { struct
300 struct rxrpc_connection *conn; /* connection carrying call */
301 struct rxrpc_sock *socket; /* socket responsible */
302 struct timer_list lifetimer; /* lifetime remaining on call */
303 struct timer_list deadspan; /* reap timer for re-ACK'ing, etc */
304 struct timer_list ack_timer; /* ACK generation timer */
305 struct timer_list resend_timer; /* Tx resend timer */
306 struct work_struct destroyer; /* call destroyer */
307 struct work_struct processor; /* packet processor and ACK generator */
308 struct list_head link; /* link in master call list */
309 struct list_head error_link; /* link in error distribution list */
310 struct list_head accept_link; /* calls awaiting acceptance */
311 struct rb_node sock_node; /* node in socket call tree */
312 struct rb_node conn_node; /* node in connection call tree */
313 struct sk_buff_head rx_queue; /* received packets */
314 struct sk_buff_head rx_oos_queue; /* packets received out of sequence */
315 struct sk_buff *tx_pending; /* Tx socket buffer being filled */
316 wait_queue_head_t tx_waitq; /* wait for Tx window space to become available */
317 unsigned long user_call_ID; /* user-defined call ID */
318 unsigned long creation_jif; /* time of call creation */
319 unsigned long flags;
329 unsigned long events;
348 spinlock_t lock;
349 rwlock_t state_lock; /* lock for state transition */
350 atomic_t usage;
351 atomic_t sequence; /* Tx data packet sequence counter */
352 u32 abort_code; /* local/remote abort code */
353 enum { /* current state of call */
370 } state;
371 int debug_id; /* debug ID for printks */
372 u8 channel; /* connection channel occupied by this call */
375 u8 acks_head; /* offset into window of first entry */
376 u8 acks_tail; /* offset into window of last entry */
377 u8 acks_winsz; /* size of un-ACK'd window */
378 u8 acks_unacked; /* lowest unacked packet in last ACK received */
379 int acks_latest; /* serial number of latest ACK received */
380 rxrpc_seq_t acks_hard; /* highest definitively ACK'd msg seq */
381 unsigned long *acks_window; /* sent packet window
386 rxrpc_seq_t rx_data_expect; /* next data seq ID expected to be received */
387 rxrpc_seq_t rx_data_post; /* next data seq ID expected to be posted */
388 rxrpc_seq_t rx_data_recv; /* last data seq ID encountered by recvmsg */
389 rxrpc_seq_t rx_data_eaten; /* last data seq ID consumed by recvmsg */
390 rxrpc_seq_t rx_first_oos; /* first packet in rx_oos_queue (or 0) */
391 rxrpc_seq_t ackr_win_top; /* top of ACK window (rx_data_eaten is bottom) */
392 rxrpc_seq_net_t ackr_prev_seq; /* previous sequence number received */
393 u8 ackr_reason; /* reason to ACK */
394 __be32 ackr_serial; /* serial of packet being ACK'd */
395 atomic_t ackr_not_idle; /* number of packets in Rx queue */
420 static inline void rxrpc_abort_call(struct rxrpc_call *call, u32 abort_code) in rxrpc_abort_call() argument