![]()  | 
  
    P4C
    
   The P4 Compiler 
   | 
 
Public Member Functions | |
| InternetChecksumAlgorithm (const EBPFProgram *program, cstring name) | |
| void | emitAddData (CodeBuilder *builder, const ArgumentsList &arguments) override | 
| void | emitClear (CodeBuilder *builder) override | 
| void | emitGet (CodeBuilder *builder) override | 
| void | emitGetInternalState (CodeBuilder *builder) override | 
| void | emitSetInternalState (CodeBuilder *builder, const IR::MethodCallExpression *expr) override | 
| void | emitSubtractData (CodeBuilder *builder, const ArgumentsList &arguments) override | 
| void | emitVariables (CodeBuilder *builder, const IR::Declaration_Instance *decl) override | 
| decl might be a null pointer   | |
| unsigned | getOutputWidth () const override | 
  Public Member Functions inherited from EBPF::EBPFHashAlgorithmPSA | |
| EBPFHashAlgorithmPSA (const EBPFProgram *program, cstring name) | |
| virtual void | emitAddData (CodeBuilder *builder, int dataPos, const IR::MethodCallExpression *expr) | 
| virtual void | emitSubtractData (CodeBuilder *builder, int dataPos, const IR::MethodCallExpression *expr) | 
| void | setVisitor (Visitor *instance) | 
  Public Member Functions inherited from EBPF::EBPFObject | |
| DECLARE_TYPEINFO (EBPFObject) | |
  Public Member Functions inherited from ICastable | |
| template<typename T > | |
| T & | as () | 
| Tries to convert the class to type T. A BUG occurs if the cast fails.  | |
| template<typename T > | |
| const T & | as () const | 
| Tries to convert the class to type T. A BUG occurs if the cast fails.  | |
| template<typename T > | |
| T * | checkedTo () | 
| Performs a checked cast. A BUG occurs if the cast fails.  | |
| template<typename T > | |
| const T * | checkedTo () const | 
| Performs a checked cast. A BUG occurs if the cast fails.  | |
  Public Member Functions inherited from RTTI::Base | |
| template<typename T > | |
| bool | is () const noexcept | 
| virtual bool | isA (TypeId typeId) const noexcept=0 | 
| template<typename T > | |
| const T * | to () const noexcept | 
Same as to, but returns const pointer to T.  | |
| template<typename T > | |
| T * | to () noexcept | 
| virtual TypeId | typeId () const noexcept=0 | 
Static Public Member Functions | |
| static void | emitGlobals (CodeBuilder *builder) | 
  Static Public Member Functions inherited from EBPF::EBPFObject | |
| static cstring | externalName (const IR::IDeclaration *declaration) | 
| static cstring | getSpecializedTypeName (const IR::Declaration_Instance *di) | 
| static cstring | getTypeName (const IR::Declaration_Instance *di) | 
Protected Member Functions | |
| void | updateChecksum (CodeBuilder *builder, const ArgumentsList &arguments, bool addData) | 
  Protected Member Functions inherited from EBPF::EBPFHashAlgorithmPSA | |
| ArgumentsList | unpackArguments (const IR::MethodCallExpression *expr, int dataPos) | 
  Protected Member Functions inherited from RTTI::Base | |
| virtual const void * | toImpl (TypeId typeId) const noexcept=0 | 
Protected Attributes | |
| cstring | stateVar | 
  Protected Attributes inherited from EBPF::EBPFHashAlgorithmPSA | |
| cstring | baseName | 
| const EBPFProgram * | program | 
| Visitor * | visitor | 
Additional Inherited Members | |
  Public Types inherited from EBPF::EBPFHashAlgorithmPSA | |
| typedef std::vector< const IR::Expression * > | ArgumentsList | 
| enum | HashAlgorithm {  IDENTITY , CRC32 , CRC32_CUSTOM , CRC16 , CRC16_CUSTOM , ONES_COMPLEMENT16 , TARGET_DEFAULT }  | 
| Keep this enum in sync with psa.p4 file.  | |
      
  | 
  overridevirtual | 
Implements EBPF::EBPFHashAlgorithmPSA.
      
  | 
  overridevirtual | 
Implements EBPF::EBPFHashAlgorithmPSA.
      
  | 
  overridevirtual | 
Implements EBPF::EBPFHashAlgorithmPSA.
      
  | 
  overridevirtual | 
Implements EBPF::EBPFHashAlgorithmPSA.
      
  | 
  overridevirtual | 
Implements EBPF::EBPFHashAlgorithmPSA.
      
  | 
  overridevirtual | 
Implements EBPF::EBPFHashAlgorithmPSA.
      
  | 
  overridevirtual | 
decl might be a null pointer
Implements EBPF::EBPFHashAlgorithmPSA.
      
  | 
  inlineoverridevirtual | 
Reimplemented from EBPF::EBPFHashAlgorithmPSA.