byteman  1.3 (Build #225)
Bitstream relocation and manipulation tool
byteman.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2022 Kristiyan Manev (University of Manchester)
3  *
4  * Licensed under the Apache License, Version 2.0(the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *****************************************************************************/
16 
17 /**************************************************************************/
32 #ifndef BYTEMAN_H
33 #define BYTEMAN_H
34 
35 #include<iostream>
36 #include<string>
37 
38 #ifdef XS7
40 #endif
41 
42 #ifdef XUS
44 #endif
45 
46 #ifdef XUSP
48 #endif
49 
50 
51 
52 class byteman
53 {
54  public:
55  byteman();
56  virtual ~byteman();
57  #ifdef XS7
58  XilinxSeries7 mainXS7, tempXS7;
59  #endif //XS7
60 
61  #ifdef XUS
62  XilinxUltraScale mainXUS, tempXUS;
63  #endif //XUS
64 
65  #ifdef XUSP
66  XilinxUltraScalePlus mainXUSP, tempXUSP;
67  #endif //XUSP
68 
69  enum class Architecture{
70  Unknown,
78  {
82  //parse
83  std::string parseParamsAndRemoveThemFromString(std::string);
84 
85  void parse(std::string);
86  void setArchitecture(std::string);
87  void parseAssembly(std::string);
88  void parseOutput(std::string);
89  void parseMerge(std::string);
90  void parseInput(std::string);
91  void parseDevice(std::string);
92  void parseChange(std::string);
93  void parseBlank(std::string);
94  void parseRegion(std::string);
95  void parseWarn(std::string);
96  void parseVerbose(std::string);
97 
98 
99  void help(std::string, int);
100  void help(std::string);
101  void help();
102 
103  void helpAssembly(bool=false);
104  void helpOutput(bool=false);
105  void helpMerge(bool=false);
106  void helpInput(bool=false);
107  void helpDevice(bool=false);
108  void helpChange(bool=false);
109  void helpBlank(bool=false);
110  void helpRegion(bool=false);
111  void helpWarn(bool=false);
112  void helpVerbose(bool=false);
113  void helpHelp(bool=false);
114  void helpExit(bool=false);
115  void helpStdin(bool=false);
116 
117  #if !defined(NDEBUG)
118  void parseTest(std::string);
119  #endif
120 };
121 
122 
123 #endif //BYTEMAN_H
void parseAssembly(std::string)
Definition: byteman.cpp:398
void setArchitecture(std::string)
Definition: byteman.cpp:445
void helpVerbose(bool=false)
Definition: help.cpp:122
void helpBlank(bool=false)
Definition: help.cpp:195
void parseVerbose(std::string)
Definition: byteman.cpp:169
enum byteman::Architecture selectedArchitecture
void helpStdin(bool=false)
Definition: help.cpp:448
void parseBlank(std::string)
Definition: byteman.cpp:241
void helpDevice(bool=false)
Definition: help.cpp:259
void helpMerge(bool=false)
Definition: help.cpp:348
void helpExit(bool=false)
Definition: help.cpp:440
void helpOutput(bool=false)
Definition: help.cpp:379
void parseMerge(std::string)
Definition: byteman.cpp:376
std::string parseParamsAndRemoveThemFromString(std::string)
Definition: byteman.cpp:146
Architecture
Definition: byteman.h:69
void parseRegion(std::string)
Definition: byteman.cpp:217
void helpHelp(bool=false)
Definition: help.cpp:293
void parseOutput(std::string)
Definition: byteman.cpp:354
virtual ~byteman()
Definition: byteman.cpp:92
void parseTest(std::string)
Definition: byteman.cpp:416
void help()
Definition: help.cpp:40
void helpWarn(bool=false)
Definition: help.cpp:146
void helpAssembly(bool=false)
Definition: help.cpp:409
void parse(std::string)
Definition: byteman.cpp:96
void helpChange(bool=false)
Definition: help.cpp:224
void helpRegion(bool=false)
Definition: help.cpp:170
void parseInput(std::string)
Definition: byteman.cpp:325
void helpInput(bool=false)
Definition: help.cpp:327
void parseDevice(std::string)
Definition: byteman.cpp:297
void parseChange(std::string)
Definition: byteman.cpp:269
byteman()
Definition: byteman.cpp:76
struct byteman::SelectedOptions options
void parseWarn(std::string)
Definition: byteman.cpp:193