Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
af_netlink.c File Reference
#include <linux/module.h>
#include <linux/capability.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/stat.h>
#include <linux/socket.h>
#include <linux/un.h>
#include <linux/fcntl.h>
#include <linux/termios.h>
#include <linux/sockios.h>
#include <linux/net.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <asm/uaccess.h>
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/rtnetlink.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/notifier.h>
#include <linux/security.h>
#include <linux/jhash.h>
#include <linux/jiffies.h>
#include <linux/random.h>
#include <linux/bitops.h>
#include <linux/mm.h>
#include <linux/types.h>
#include <linux/audit.h>
#include <linux/mutex.h>
#include <net/net_namespace.h>
#include <net/sock.h>
#include <net/scm.h>
#include <net/netlink.h>

Go to the source code of this file.

Data Structures

struct  netlink_sock
 
struct  listeners
 
struct  nl_portid_hash
 
struct  netlink_table
 
struct  netlink_broadcast_data
 
struct  netlink_set_err_data
 

Macros

#define NLGRPSZ(x)   (ALIGN(x, sizeof(unsigned long) * 8) / 8)
 
#define NLGRPLONGS(x)   (NLGRPSZ(x)/sizeof(unsigned long))
 
#define NETLINK_KERNEL_SOCKET   0x1
 
#define NETLINK_RECV_PKTINFO   0x2
 
#define NETLINK_BROADCAST_SEND_ERROR   0x4
 
#define NETLINK_RECV_NO_ENOBUFS   0x8
 
#define nl_deref_protected(X)   rcu_dereference_protected(X, lockdep_is_held(&nl_table_lock));
 

Functions

void netlink_table_grab (void)
 
void netlink_table_ungrab (void)
 
struct socknetlink_getsockbyfilp (struct file *filp)
 
int netlink_attachskb (struct sock *sk, struct sk_buff *skb, long *timeo, struct sock *ssk)
 
int netlink_sendskb (struct sock *sk, struct sk_buff *skb)
 
void netlink_detachskb (struct sock *sk, struct sk_buff *skb)
 
int netlink_unicast (struct sock *ssk, struct sk_buff *skb, u32 portid, int nonblock)
 
 EXPORT_SYMBOL (netlink_unicast)
 
int netlink_has_listeners (struct sock *sk, unsigned int group)
 
 EXPORT_SYMBOL_GPL (netlink_has_listeners)
 
int netlink_broadcast_filtered (struct sock *ssk, struct sk_buff *skb, u32 portid, u32 group, gfp_t allocation, int(*filter)(struct sock *dsk, struct sk_buff *skb, void *data), void *filter_data)
 
 EXPORT_SYMBOL (netlink_broadcast_filtered)
 
int netlink_broadcast (struct sock *ssk, struct sk_buff *skb, u32 portid, u32 group, gfp_t allocation)
 
 EXPORT_SYMBOL (netlink_broadcast)
 

Macro Definition Documentation

#define NETLINK_BROADCAST_SEND_ERROR   0x4

Definition at line 94 of file af_netlink.c.

#define NETLINK_KERNEL_SOCKET   0x1

Definition at line 92 of file af_netlink.c.

#define NETLINK_RECV_NO_ENOBUFS   0x8

Definition at line 95 of file af_netlink.c.

#define NETLINK_RECV_PKTINFO   0x2

Definition at line 93 of file af_netlink.c.

#define nl_deref_protected (   X)    rcu_dereference_protected(X, lockdep_is_held(&nl_table_lock));

Definition at line 141 of file af_netlink.c.

#define NLGRPLONGS (   x)    (NLGRPSZ(x)/sizeof(unsigned long))

Definition at line 65 of file af_netlink.c.

#define NLGRPSZ (   x)    (ALIGN(x, sizeof(unsigned long) * 8) / 8)

Definition at line 64 of file af_netlink.c.

Function Documentation

EXPORT_SYMBOL ( netlink_unicast  )
EXPORT_SYMBOL ( netlink_broadcast_filtered  )
EXPORT_SYMBOL ( netlink_broadcast  )
EXPORT_SYMBOL_GPL ( netlink_has_listeners  )
int netlink_attachskb ( struct sock sk,
struct sk_buff skb,
long timeo,
struct sock ssk 
)

Definition at line 833 of file af_netlink.c.

int netlink_broadcast ( struct sock ssk,
struct sk_buff skb,
u32  portid,
u32  group,
gfp_t  allocation 
)

Definition at line 1146 of file af_netlink.c.

int netlink_broadcast_filtered ( struct sock ssk,
struct sk_buff skb,
u32  portid,
u32  group,
gfp_t  allocation,
int(*)(struct sock *dsk, struct sk_buff *skb, void *data filter,
void filter_data 
)

Definition at line 1094 of file af_netlink.c.

void netlink_detachskb ( struct sock sk,
struct sk_buff skb 
)

Definition at line 890 of file af_netlink.c.

struct sock* netlink_getsockbyfilp ( struct file filp)
read

Definition at line 807 of file af_netlink.c.

int netlink_has_listeners ( struct sock sk,
unsigned int  group 
)

Definition at line 986 of file af_netlink.c.

int netlink_sendskb ( struct sock sk,
struct sk_buff skb 
)

Definition at line 882 of file af_netlink.c.

void netlink_table_grab ( void  )

Definition at line 197 of file af_netlink.c.

void netlink_table_ungrab ( void  )

Definition at line 222 of file af_netlink.c.

int netlink_unicast ( struct sock ssk,
struct sk_buff skb,
u32  portid,
int  nonblock 
)

Definition at line 950 of file af_netlink.c.