Lines Matching defs:call
262 * rxrpc_kernel_begin_call - Allow a kernel service to begin a call
263 * @sock: The socket on which to make the call
267 * @tx_total_len: Total length of data to transmit during the call (or -1)
268 * @hard_timeout: The maximum lifespan of the call in sec
271 * @upgrade: Request service upgrade for call
272 * @interruptibility: The call is interruptible, or can be canceled.
273 * @debug_id: The debug ID for tracing to be assigned to the call
275 * Allow a kernel service to begin a call on the nominated socket. This just
277 * call IDs as appropriate. The call to be used is returned.
296 struct rxrpc_call *call;
327 call = rxrpc_new_client_call(rx, &cp, srx, &p, gfp, debug_id);
329 if (!IS_ERR(call)) {
330 call->notify_rx = notify_rx;
331 mutex_unlock(&call->user_mutex);
334 _leave(" = %p", call);
335 return call;
348 * rxrpc_kernel_shutdown_call - Allow a kernel service to shut down a call it was using
349 * @sock: The socket the call is on
350 * @call: The call to end
352 * Allow a kernel service to shut down a call it was using. The call must be
353 * complete before this is called (the call should be aborted if necessary).
355 void rxrpc_kernel_shutdown_call(struct socket *sock, struct rxrpc_call *call)
357 _enter("%d{%d}", call->debug_id, refcount_read(&call->ref));
359 mutex_lock(&call->user_mutex);
360 if (!test_bit(RXRPC_CALL_RELEASED, &call->flags)) {
361 rxrpc_release_call(rxrpc_sk(sock->sk), call);
363 /* Make sure we're not going to call back into a kernel service */
364 if (call->notify_rx) {
365 spin_lock(&call->notify_lock);
366 call->notify_rx = rxrpc_dummy_notify_rx;
367 spin_unlock(&call->notify_lock);
370 mutex_unlock(&call->user_mutex);
375 * rxrpc_kernel_put_call - Release a reference to a call
376 * @sock: The socket the call is on
377 * @call: The call to put
379 * Drop the application's ref on an rxrpc call.
381 void rxrpc_kernel_put_call(struct socket *sock, struct rxrpc_call *call)
383 rxrpc_put_call(call, rxrpc_call_put_kernel);
388 * rxrpc_kernel_check_life - Check to see whether a call is still alive
389 * @sock: The socket the call is on
390 * @call: The call to check
392 * Allow a kernel service to find out whether a call is still alive - whether
396 const struct rxrpc_call *call)
398 if (!rxrpc_call_is_complete(call))
400 if (call->completion != RXRPC_CALL_SUCCEEDED)
402 return !skb_queue_empty(&call->recvmsg_queue);
407 * rxrpc_kernel_get_epoch - Retrieve the epoch value from a call.
408 * @sock: The socket the call is on
409 * @call: The call to query
411 * Allow a kernel service to retrieve the epoch value from a service call to
414 u32 rxrpc_kernel_get_epoch(struct socket *sock, struct rxrpc_call *call)
416 return call->conn->proto.epoch;
441 * rxrpc_kernel_set_max_life - Set maximum lifespan on a call
442 * @sock: The socket the call is on
443 * @call: The call to configure
444 * @hard_timeout: The maximum lifespan of the call in jiffies
446 * Set the maximum lifespan of a call. The call will end with ETIME or
449 void rxrpc_kernel_set_max_life(struct socket *sock, struct rxrpc_call *call,
454 mutex_lock(&call->user_mutex);
458 WRITE_ONCE(call->expect_term_by, hard_timeout);
459 rxrpc_reduce_call_timer(call, hard_timeout, now, rxrpc_timer_set_for_hard);
461 mutex_unlock(&call->user_mutex);
516 * - initiates a call (ID in control data)
517 * - ends the request phase of a call (if MSG_MORE is not set)
518 * - sends a call data packet
755 * socket; there is no guarantee that any particular call in progress
987 pr_notice("Failed to allocate call jar\n");