RMM API 2.0.0
Loading...
Searching...
No Matches
RMMUtils.h
1#pragma once
2
3#include <sys/stat.h>
4
5#include <cmath>
6#include <cstdint>
7#include <iomanip>
8#include <iostream>
9#include <sstream>
10#include <stdexcept>
11#include <string>
12
13std::string intToHexString(uint32_t value, size_t numdigits = 8);
14bool isRegularFile(const std::string& path);
15bool valueOk(float value, float target_value, float tolerance = 0.01);
16bool checkIfIsDir(std::string dir);
17std::string buildPath(std::string path, std::string file);
18std::string stringWithZeroPadded(const std::string& prefix, int number);
19uint32_t getBitSlice(int value, int bit_begin, int bit_width);
20uint32_t getBitMask(int bit_begin, int bit_width);
21
22std::pair<uint32_t, uint32_t> parseMACString(const std::string& mac_str);
23std::string generateMACString(uint32_t high_mac, uint32_t lo_mac);
24uint32_t parseIPString(const std::string& ip_str);
25std::string generateIPString(uint32_t ip_hex);
26void validateFieldParameters(int bit_begin, int bit_width);
27std::string parseMapVersion(uint32_t value);
28
29uint32_t getFrontendAddressOffset(int ring, int node, int regbank_offset = 0x0);