20 #ifndef POSIX_PROCESS_H 21 #define POSIX_PROCESS_H 23 #include "PosixSubsystem.h" 24 #include "pedigree/kernel/Log.h" 25 #include "pedigree/kernel/compiler.h" 26 #include "pedigree/kernel/machine/TimerHandler.h" 27 #include "pedigree/kernel/process/Process.h" 28 #include "pedigree/kernel/processor/types.h" 95 Time::Timestamp interval, Time::Timestamp *prevInterval =
nullptr);
99 setTimerValue(Time::Timestamp value, Time::Timestamp *prevValue =
nullptr);
102 void setIntervalAndValue(
103 Time::Timestamp interval, Time::Timestamp value,
104 Time::Timestamp *prevInterval =
nullptr,
105 Time::Timestamp *prevValue =
nullptr);
107 void getIntervalAndValue(Time::Timestamp &interval, Time::Timestamp &value);
110 void adjustValue(int64_t adjustment);
112 Time::Timestamp getInterval()
const;
113 Time::Timestamp getValue()
const;
116 virtual void timer(uint64_t delta, InterruptState &state);
122 Time::Timestamp m_Value;
123 Time::Timestamp m_Interval;
159 void setProcessGroup(
ProcessGroup *newGroup,
bool bRemoveFromGroup =
true);
170 void setMask(uint32_t mask);
171 uint32_t getMask()
const;
180 virtual int64_t getUserId()
const;
181 virtual int64_t getGroupId()
const;
182 virtual int64_t getEffectiveUserId()
const;
183 virtual int64_t getEffectiveGroupId()
const;
186 void setUserId(int64_t
id);
187 void setGroupId(int64_t
id);
188 void setEffectiveUserId(int64_t
id);
189 void setEffectiveGroupId(int64_t
id);
192 int64_t getSavedUserId()
const;
193 int64_t getSavedGroupId()
const;
194 void setSavedUserId(int64_t
id);
195 void setSavedGroupId(int64_t
id);
199 void registerProcess();
200 void unregisterProcess();
203 reportTimesUpdated(Time::Timestamp user, Time::Timestamp system);
204 virtual void processTerminated();
CPU time in user mode only.
List< PosixProcess * > Members