netfilter
firewalling, NAT, and packet mangling for linux
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
meta.c File Reference
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <pwd.h>
#include <grp.h>
#include <linux/pkt_sched.h>
#include <linux/if_packet.h>
#include <nftables.h>
#include <expression.h>
#include <statement.h>
#include <datatype.h>
#include <meta.h>
#include <gmputil.h>
#include <utils.h>
#include <erec.h>
Include dependency graph for meta.c:

Functions

struct exprmeta_expr_alloc (const struct location *loc, enum nft_meta_keys key)
 
struct stmtmeta_stmt_alloc (const struct location *loc, enum nft_meta_keys key, struct expr *expr)
 

Variables

const struct datatype arphrd_type
 

Function Documentation

struct expr* meta_expr_alloc ( const struct location loc,
enum nft_meta_keys  key 
)
struct stmt* meta_stmt_alloc ( const struct location loc,
enum nft_meta_keys  key,
struct expr expr 
)

References meta_stmt::expr, stmt::expr, meta_stmt::key, stmt::meta, stmt_alloc(), and meta_stmt::tmpl.

Here is the call graph for this function:

Variable Documentation

const struct datatype arphrd_type
Initial value:
= {
.type = TYPE_ARPHRD,
.name = "iface_type",
.desc = "network interface type",
.byteorder = BYTEORDER_HOST_ENDIAN,
.size = 2 * BITS_PER_BYTE,
.basetype = &integer_type,
.sym_tbl = &arphrd_tbl,
}
#define BITS_PER_BYTE
Definition: utils.h:14
const struct datatype integer_type
Definition: datatype.c:294
Definition: datatype.h:66
Definition: datatype.h:97
const struct symbol_table * sym_tbl
Definition: datatype.h:143

Referenced by payload_gen_dependency().