Lines Matching defs:call
261 * rxrpc_kernel_begin_call - Allow a kernel service to begin a call
262 * @sock: The socket on which to make the call
266 * @tx_total_len: Total length of data to transmit during the call (or -1)
269 * @upgrade: Request service upgrade for call
270 * @interruptibility: The call is interruptible, or can be canceled.
271 * @debug_id: The debug ID for tracing to be assigned to the call
273 * Allow a kernel service to begin a call on the nominated socket. This just
275 * call IDs as appropriate. The call to be used is returned.
293 struct rxrpc_call *call;
323 call = rxrpc_new_client_call(rx, &cp, srx, &p, gfp, debug_id);
325 if (!IS_ERR(call)) {
326 call->notify_rx = notify_rx;
327 mutex_unlock(&call->user_mutex);
331 _leave(" = %p", call);
332 return call;
345 * rxrpc_kernel_end_call - Allow a kernel service to end a call it was using
346 * @sock: The socket the call is on
347 * @call: The call to end
349 * Allow a kernel service to end a call it was using. The call must be
350 * complete before this is called (the call should be aborted if necessary).
352 void rxrpc_kernel_end_call(struct socket *sock, struct rxrpc_call *call)
354 _enter("%d{%d}", call->debug_id, refcount_read(&call->ref));
356 mutex_lock(&call->user_mutex);
357 rxrpc_release_call(rxrpc_sk(sock->sk), call);
359 /* Make sure we're not going to call back into a kernel service */
360 if (call->notify_rx) {
361 spin_lock_bh(&call->notify_lock);
362 call->notify_rx = rxrpc_dummy_notify_rx;
363 spin_unlock_bh(&call->notify_lock);
366 mutex_unlock(&call->user_mutex);
367 rxrpc_put_call(call, rxrpc_call_put_kernel);
372 * rxrpc_kernel_check_life - Check to see whether a call is still alive
373 * @sock: The socket the call is on
374 * @call: The call to check
376 * Allow a kernel service to find out whether a call is still alive -
380 const struct rxrpc_call *call)
382 return call->state != RXRPC_CALL_COMPLETE;
387 * rxrpc_kernel_get_epoch - Retrieve the epoch value from a call.
388 * @sock: The socket the call is on
389 * @call: The call to query
391 * Allow a kernel service to retrieve the epoch value from a service call to
394 u32 rxrpc_kernel_get_epoch(struct socket *sock, struct rxrpc_call *call)
396 return call->conn->proto.epoch;
421 * rxrpc_kernel_set_max_life - Set maximum lifespan on a call
422 * @sock: The socket the call is on
423 * @call: The call to configure
424 * @hard_timeout: The maximum lifespan of the call in jiffies
426 * Set the maximum lifespan of a call. The call will end with ETIME or
429 void rxrpc_kernel_set_max_life(struct socket *sock, struct rxrpc_call *call,
434 mutex_lock(&call->user_mutex);
438 WRITE_ONCE(call->expect_term_by, hard_timeout);
439 rxrpc_reduce_call_timer(call, hard_timeout, now, rxrpc_timer_set_for_hard);
441 mutex_unlock(&call->user_mutex);
495 * - initiates a call (ID in control data)
496 * - ends the request phase of a call (if MSG_MORE is not set)
497 * - sends a call data packet
734 * socket; there is no guarantee that any particular call in progress
977 pr_notice("Failed to allocate call jar\n");