~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/net/af_rxrpc.h

Version: ~ [ linux-5.14-rc1 ] ~ [ linux-5.13.1 ] ~ [ linux-5.12.16 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.49 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.131 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.197 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.239 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.275 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.275 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.18.140 ] ~ [ linux-3.16.85 ] ~ [ linux-3.14.79 ] ~ [ linux-3.12.74 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 /* RxRPC kernel service interface definitions
  3  *
  4  * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
  5  * Written by David Howells (dhowells@redhat.com)
  6  */
  7 
  8 #ifndef _NET_RXRPC_H
  9 #define _NET_RXRPC_H
 10 
 11 #include <linux/rxrpc.h>
 12 #include <linux/ktime.h>
 13 
 14 struct key;
 15 struct sock;
 16 struct socket;
 17 struct rxrpc_call;
 18 
 19 enum rxrpc_interruptibility {
 20         RXRPC_INTERRUPTIBLE,    /* Call is interruptible */
 21         RXRPC_PREINTERRUPTIBLE, /* Call can be cancelled whilst waiting for a slot */
 22         RXRPC_UNINTERRUPTIBLE,  /* Call should not be interruptible at all */
 23 };
 24 
 25 /*
 26  * Debug ID counter for tracing.
 27  */
 28 extern atomic_t rxrpc_debug_id;
 29 
 30 typedef void (*rxrpc_notify_rx_t)(struct sock *, struct rxrpc_call *,
 31                                   unsigned long);
 32 typedef void (*rxrpc_notify_end_tx_t)(struct sock *, struct rxrpc_call *,
 33                                       unsigned long);
 34 typedef void (*rxrpc_notify_new_call_t)(struct sock *, struct rxrpc_call *,
 35                                         unsigned long);
 36 typedef void (*rxrpc_discard_new_call_t)(struct rxrpc_call *, unsigned long);
 37 typedef void (*rxrpc_user_attach_call_t)(struct rxrpc_call *, unsigned long);
 38 
 39 void rxrpc_kernel_new_call_notification(struct socket *,
 40                                         rxrpc_notify_new_call_t,
 41                                         rxrpc_discard_new_call_t);
 42 struct rxrpc_call *rxrpc_kernel_begin_call(struct socket *,
 43                                            struct sockaddr_rxrpc *,
 44                                            struct key *,
 45                                            unsigned long,
 46                                            s64,
 47                                            gfp_t,
 48                                            rxrpc_notify_rx_t,
 49                                            bool,
 50                                            enum rxrpc_interruptibility,
 51                                            unsigned int);
 52 int rxrpc_kernel_send_data(struct socket *, struct rxrpc_call *,
 53                            struct msghdr *, size_t,
 54                            rxrpc_notify_end_tx_t);
 55 int rxrpc_kernel_recv_data(struct socket *, struct rxrpc_call *,
 56                            struct iov_iter *, bool, u32 *, u16 *);
 57 bool rxrpc_kernel_abort_call(struct socket *, struct rxrpc_call *,
 58                              u32, int, const char *);
 59 void rxrpc_kernel_end_call(struct socket *, struct rxrpc_call *);
 60 void rxrpc_kernel_get_peer(struct socket *, struct rxrpc_call *,
 61                            struct sockaddr_rxrpc *);
 62 u32 rxrpc_kernel_get_srtt(struct socket *, struct rxrpc_call *);
 63 int rxrpc_kernel_charge_accept(struct socket *, rxrpc_notify_rx_t,
 64                                rxrpc_user_attach_call_t, unsigned long, gfp_t,
 65                                unsigned int);
 66 void rxrpc_kernel_set_tx_length(struct socket *, struct rxrpc_call *, s64);
 67 bool rxrpc_kernel_check_life(const struct socket *, const struct rxrpc_call *);
 68 u32 rxrpc_kernel_get_epoch(struct socket *, struct rxrpc_call *);
 69 bool rxrpc_kernel_get_reply_time(struct socket *, struct rxrpc_call *,
 70                                  ktime_t *);
 71 bool rxrpc_kernel_call_is_complete(struct rxrpc_call *);
 72 void rxrpc_kernel_set_max_life(struct socket *, struct rxrpc_call *,
 73                                unsigned long);
 74 
 75 #endif /* _NET_RXRPC_H */
 76 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp