P4C
The P4 Compiler
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
EBPF::BccTarget Class Reference

Represents a target compiled by bcc that uses the TC. More...

#include <target.h>

Inheritance diagram for EBPF::BccTarget:
[legend]

Public Member Functions

cstring abortReturnCode () const override
 
cstring dataEnd (cstring base) const override
 
cstring dataLength (cstring base) const override
 
cstring dataOffset (cstring base) const override
 
cstring dropReturnCode () const override
 
void emitCodeSection (Util::SourceCodeBuilder *, cstring) const override
 
void emitIncludes (Util::SourceCodeBuilder *builder) const override
 
void emitLicense (Util::SourceCodeBuilder *, cstring) const override
 
void emitMain (Util::SourceCodeBuilder *builder, cstring functionName, cstring argName) const override
 
void emitResizeBuffer (Util::SourceCodeBuilder *, cstring, cstring) const override
 
void emitTableDecl (Util::SourceCodeBuilder *builder, cstring tblName, TableKind tableKind, cstring keyType, cstring valueType, unsigned size) const override
 
void emitTableLookup (Util::SourceCodeBuilder *builder, cstring tblName, cstring key, cstring value) const override
 
void emitTableUpdate (Util::SourceCodeBuilder *builder, cstring tblName, cstring key, cstring value) const override
 
void emitUserTableUpdate (Util::SourceCodeBuilder *builder, cstring tblName, cstring key, cstring value) const override
 
cstring forwardReturnCode () const override
 
cstring packetDescriptorType () const override
 
cstring sysMapPath () const override
 
- Public Member Functions inherited from EBPF::Target
virtual void emitMapInMapDecl (Util::SourceCodeBuilder *builder, cstring innerName, TableKind innerTableKind, cstring innerKeyType, cstring innerValueType, unsigned innerSize, cstring outerName, TableKind outerTableKind, cstring outerKeyType, unsigned outerSize) const
 
virtual void emitPreamble (Util::SourceCodeBuilder *builder) const
 
virtual void emitTableDeclSpinlock (Util::SourceCodeBuilder *builder, cstring tblName, TableKind tableKind, cstring keyType, cstring valueType, unsigned size) const
 
virtual void emitTraceMessage (Util::SourceCodeBuilder *builder, const char *format) const
 
virtual void emitTraceMessage (Util::SourceCodeBuilder *builder, const char *format, int argc,...) const
 

Additional Inherited Members

- Public Attributes inherited from EBPF::Target
const cstring name
 
- Protected Member Functions inherited from EBPF::Target
 Target (cstring name)
 

Detailed Description

Represents a target compiled by bcc that uses the TC.

Member Function Documentation

◆ abortReturnCode()

cstring EBPF::BccTarget::abortReturnCode ( ) const
inlineoverridevirtual

Implements EBPF::Target.

◆ dataEnd()

cstring EBPF::BccTarget::dataEnd ( cstring base) const
inlineoverridevirtual

Implements EBPF::Target.

◆ dataLength()

cstring EBPF::BccTarget::dataLength ( cstring base) const
inlineoverridevirtual

Implements EBPF::Target.

◆ dataOffset()

cstring EBPF::BccTarget::dataOffset ( cstring base) const
inlineoverridevirtual

Implements EBPF::Target.

◆ dropReturnCode()

cstring EBPF::BccTarget::dropReturnCode ( ) const
inlineoverridevirtual

Implements EBPF::Target.

◆ emitCodeSection()

void EBPF::BccTarget::emitCodeSection ( Util::SourceCodeBuilder * ,
cstring  ) const
inlineoverridevirtual

Implements EBPF::Target.

◆ emitIncludes()

void EBPF::BccTarget::emitIncludes ( Util::SourceCodeBuilder * builder) const
overridevirtual

Implements EBPF::Target.

◆ emitLicense()

void EBPF::BccTarget::emitLicense ( Util::SourceCodeBuilder * ,
cstring  ) const
inlineoverridevirtual

Implements EBPF::Target.

◆ emitMain()

void EBPF::BccTarget::emitMain ( Util::SourceCodeBuilder * builder,
cstring functionName,
cstring argName ) const
overridevirtual

Implements EBPF::Target.

◆ emitResizeBuffer()

void EBPF::BccTarget::emitResizeBuffer ( Util::SourceCodeBuilder * ,
cstring ,
cstring  ) const
inlineoverridevirtual

Implements EBPF::Target.

◆ emitTableDecl()

void EBPF::BccTarget::emitTableDecl ( Util::SourceCodeBuilder * builder,
cstring tblName,
TableKind tableKind,
cstring keyType,
cstring valueType,
unsigned size ) const
overridevirtual

Implements EBPF::Target.

◆ emitTableLookup()

void EBPF::BccTarget::emitTableLookup ( Util::SourceCodeBuilder * builder,
cstring tblName,
cstring key,
cstring value ) const
overridevirtual

Implements EBPF::Target.

◆ emitTableUpdate()

void EBPF::BccTarget::emitTableUpdate ( Util::SourceCodeBuilder * builder,
cstring tblName,
cstring key,
cstring value ) const
overridevirtual

Implements EBPF::Target.

◆ emitUserTableUpdate()

void EBPF::BccTarget::emitUserTableUpdate ( Util::SourceCodeBuilder * builder,
cstring tblName,
cstring key,
cstring value ) const
overridevirtual

Implements EBPF::Target.

◆ forwardReturnCode()

cstring EBPF::BccTarget::forwardReturnCode ( ) const
inlineoverridevirtual

Implements EBPF::Target.

◆ packetDescriptorType()

cstring EBPF::BccTarget::packetDescriptorType ( ) const
inlineoverridevirtual

Implements EBPF::Target.

◆ sysMapPath()

cstring EBPF::BccTarget::sysMapPath ( ) const
inlineoverridevirtual

Implements EBPF::Target.