P4C
The P4 Compiler
Loading...
Searching...
No Matches
ebpfPsaRandom.h
1/*
2 * SPDX-FileCopyrightText: 2022 Open Networking Foundation
3 * SPDX-FileCopyrightText: 2022 Orange
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7#ifndef BACKENDS_EBPF_PSA_EXTERNS_EBPFPSARANDOM_H_
8#define BACKENDS_EBPF_PSA_EXTERNS_EBPFPSARANDOM_H_
9
10#include "backends/ebpf/ebpfObject.h"
11#include "frontends/p4/methodInstance.h"
12
13namespace P4::EBPF {
14
15class EBPFRandomPSA : public EBPFObject {
16 unsigned int minValue, maxValue;
17 long range;
18
19 public:
20 explicit EBPFRandomPSA(const IR::Declaration_Instance *di);
21
22 void processMethod(CodeBuilder *builder, const P4::ExternMethod *method) const;
23 void emitRead(CodeBuilder *builder) const;
24};
25
26} // namespace P4::EBPF
27
28#endif // BACKENDS_EBPF_PSA_EXTERNS_EBPFPSARANDOM_H_
Definition ebpf/codeGen.h:33
Base class for EBPF objects.
Definition ebpfObject.h:31
Definition methodInstance.h:168
Definition codeGen.cpp:25