P4C
The P4 Compiler
Loading...
Searching...
No Matches
symbolic_variables.h
1#ifndef BACKENDS_P4TOOLS_COMMON_CONTROL_PLANE_SYMBOLIC_VARIABLES_H_
2#define BACKENDS_P4TOOLS_COMMON_CONTROL_PLANE_SYMBOLIC_VARIABLES_H_
3
4#include "ir/ir.h"
5#include "ir/irutils.h"
6
7namespace P4::P4Tools {
8
12namespace ControlPlaneState {
13
16const IR::SymbolicVariable *getTableActive(cstring tableName);
17
20const IR::SymbolicVariable *getTableKey(cstring tableName, cstring keyFieldName,
21 const IR::Type *type);
22
27const IR::SymbolicVariable *getTableTernaryMask(cstring tableName, cstring keyFieldName,
28 const IR::Type *type);
29
34const IR::SymbolicVariable *getTableMatchLpmPrefix(cstring tableName, cstring keyFieldName,
35 const IR::Type *type);
36
39const IR::SymbolicVariable *getTableActionArgument(cstring tableName, cstring actionName,
40 cstring parameterName, const IR::Type *type);
41
43const IR::SymbolicVariable *getTableActionChoice(cstring tableName);
44
45} // namespace ControlPlaneState
46
47namespace Bmv2ControlPlaneState {
48
51const IR::SymbolicVariable *getCloneActive();
52
55const IR::SymbolicVariable *getCloneSessionId(const IR::Type *type);
56
60std::pair<const IR::SymbolicVariable *, const IR::SymbolicVariable *> getTableRange(
61 cstring tableName, cstring keyFieldName, const IR::Type *type);
62
63} // namespace Bmv2ControlPlaneState
64
65} // namespace P4::P4Tools
66
67#endif /* BACKENDS_P4TOOLS_COMMON_CONTROL_PLANE_SYMBOLIC_VARIABLES_H_ */
const IR::SymbolicVariable * getTableActive(cstring tableName)
Definition symbolic_variables.cpp:10
const IR::SymbolicVariable * getTableTernaryMask(cstring tableName, cstring keyFieldName, const IR::Type *type)
Definition symbolic_variables.cpp:21
const IR::SymbolicVariable * getTableKey(cstring tableName, cstring keyFieldName, const IR::Type *type)
Definition symbolic_variables.cpp:15
const IR::SymbolicVariable * getTableActionChoice(cstring tableName)
Definition symbolic_variables.cpp:39
const IR::SymbolicVariable * getTableMatchLpmPrefix(cstring tableName, cstring keyFieldName, const IR::Type *type)
Definition symbolic_variables.cpp:27
const IR::SymbolicVariable * getTableActionArgument(cstring tableName, cstring actionName, cstring parameterName, const IR::Type *type)
Definition symbolic_variables.cpp:33
Definition common/compiler/compiler_result.cpp:3