26 #include "ns3/object.h"
27 #include "ns3/nstime.h"
28 #include "ns3/traced-callback.h"
29 #include "ns3/simulator.h"
32 extern "C" struct Libc;
89 uint16_t
Start (std::string name, std::string stdinfilename, std::vector<std::string> args,
90 std::vector<std::pair<std::string,std::string> > envs,
91 uid_t uid, uid_t euid, uid_t gid, uid_t egid);
92 uint16_t
Start (std::string name, std::string stdinfilename, uint32_t stackSize,
93 std::vector<std::string> args,
94 std::vector<std::pair<std::string,std::string> > envs,
95 uid_t uid, uid_t euid, uid_t gid, uid_t egid);
98 void Stop (uint16_t pid);
112 Time
Wait (Time timeout);
115 std::map<uint16_t, Process *>
GetProcs ();
116 static void AppendStatusFile (uint16_t pid, uint32_t nodeId, std::string &line);
117 int Execve (
const char *path,
const char *argv0,
char *
const argv[],
char *
const envp[]);
126 struct Process*
CreateProcess (std::string name, std::string stdinfilename, std::vector<std::string> args,
127 std::vector<std::pair<std::string,std::string> > envs,
int pid);
141 static struct ::Libc *
GetLibc (
void);
142 void SetArgv (
struct Process *process, std::string filename, std::vector<std::string> args);
143 void SetEnvp (
struct Process *process, std::vector<std::pair<std::string,std::string> > envp);
152 std::vector<std::string>
CopyArgs (
char *
const argv[]);
153 int CopyEnv (
char *
const envp[], std::vector<std::pair<std::string,std::string> > &res);