__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0 */
/*
* generic net pointers
*/
#ifndef __NET_GENERIC_H__
#define __NET_GENERIC_H__
#include <linux/bug.h>
#include <linux/rcupdate.h>
#include <net/net_namespace.h>
/*
* Generic net pointers are to be used by modules to put some private
* stuff on the struct net without explicit struct net modification
*
* The rules are simple:
* 1. set pernet_operations->id. After register_pernet_device you
* will have the id of your private pointer.
* 2. set pernet_operations->size to have the code allocate and free
* a private structure pointed to from struct net.
* 3. do not change this pointer while the net is alive;
* 4. do not try to have any private reference on the net_generic object.
*
* After accomplishing all of the above, the private pointer can be
* accessed with the net_generic() call.
*/
struct net_generic {
union {
struct {
unsigned int len;
struct rcu_head rcu;
} s;
DECLARE_FLEX_ARRAY(void *, ptr);
};
};
static inline void *net_generic(const struct net *net, unsigned int id)
{
struct net_generic *ng;
void *ptr;
rcu_read_lock();
ng = rcu_dereference(net->gen);
ptr = ng->ptr[id];
rcu_read_unlock();
return ptr;
}
#endif
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| bpf.h | File | 631 B | 0644 |
|
| can.h | File | 1.05 KB | 0644 |
|
| conntrack.h | File | 2.21 KB | 0644 |
|
| core.h | File | 535 B | 0644 |
|
| flow_table.h | File | 287 B | 0644 |
|
| generic.h | File | 1.2 KB | 0644 |
|
| hash.h | File | 212 B | 0644 |
|
| ieee802154_6lowpan.h | File | 395 B | 0644 |
|
| ipv4.h | File | 7.14 KB | 0644 |
|
| ipv6.h | File | 3.26 KB | 0644 |
|
| mctp.h | File | 834 B | 0644 |
|
| mib.h | File | 1.24 KB | 0644 |
|
| mpls.h | File | 397 B | 0644 |
|
| netfilter.h | File | 998 B | 0644 |
|
| nexthop.h | File | 456 B | 0644 |
|
| nftables.h | File | 146 B | 0644 |
|
| packet.h | File | 295 B | 0644 |
|
| sctp.h | File | 4.69 KB | 0644 |
|
| smc.h | File | 714 B | 0644 |
|
| unix.h | File | 392 B | 0644 |
|
| xdp.h | File | 237 B | 0644 |
|
| xfrm.h | File | 2.11 KB | 0644 |
|