root/net/rds/info.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _RDS_INFO_H
   3 #define _RDS_INFO_H
   4 
   5 struct rds_info_lengths {
   6         unsigned int    nr;
   7         unsigned int    each;
   8 };
   9 
  10 struct rds_info_iterator;
  11 
  12 /*
  13  * These functions must fill in the fields of @lens to reflect the size
  14  * of the available info source.  If the snapshot fits in @len then it
  15  * should be copied using @iter.  The caller will deduce if it was copied
  16  * or not by comparing the lengths.
  17  */
  18 typedef void (*rds_info_func)(struct socket *sock, unsigned int len,
  19                               struct rds_info_iterator *iter,
  20                               struct rds_info_lengths *lens);
  21 
  22 void rds_info_register_func(int optname, rds_info_func func);
  23 void rds_info_deregister_func(int optname, rds_info_func func);
  24 int rds_info_getsockopt(struct socket *sock, int optname, char __user *optval,
  25                         int __user *optlen);
  26 void rds_info_copy(struct rds_info_iterator *iter, void *data,
  27                    unsigned long bytes);
  28 void rds_info_iter_unmap(struct rds_info_iterator *iter);
  29 
  30 
  31 #endif

/* [<][>][^][v][top][bottom][index][help] */