OpenRTM  1.0.0
OS.h
[詳解]
1 // -*- C++ -*-
19 #ifndef COIL_OS_H
20 #define COIL_OS_H
21 
22 #include <string>
23 #include <sys/utsname.h>
24 #include <sys/types.h>
25 #include <unistd.h>
26 #include <stdlib.h>
27 
28 extern "C"
29 {
30  extern char *optarg;
31 };
32 
33 namespace coil
34 {
59  inline int uname(utsname* name)
60  {
61  return ::uname(name);
62  }
63 
84  inline pid_t getpid()
85  {
87  }
88 
108  inline pid_t getppid()
109  {
111  }
112 
136  inline char* getenv(const char *name)
137  {
138  return ::getenv(name);
139  }
140 
141 
142  /* Global Variables for getopt() */
143 
157  class GetOpt
158  {
159  public:
179  GetOpt(int argc, char* const argv[], const char* opt, int flag)
180  : optarg(::optarg), optind(1), opterr(1), optopt(0), m_argc(argc), m_argv(argv), m_opt(opt), m_flag(flag)
181  {
182  ::optind = 1;
183  }
184 
201  {
202  ::optind = 1;
203  }
204 
225  {
226  ::opterr = opterr;
227  ::optind = optind;
228 
229  int result = getopt(m_argc, m_argv, m_opt);
230 
231  optarg = ::optarg;
232  optind = ::optind;
233  optopt = ::optopt;
234 
235  return result;
236  }
237 
238  char* optarg;
239  int optind;
240  int opterr;
241  int optopt;
242 
243  private:
244  int m_argc;
245  char* const * m_argv;
246  const char* m_opt;
247  int m_flag;
248  };
249 
250 };
251 
252 #endif // COIL_OS_H
char * getenv(const char *name)
環境変数取得
Definition: OS.h:136
int operator()()
コマンドライン引数解析
Definition: OS.h:224
GetOpt クラス
Definition: OS.h:157
int optind
オプション引数
Definition: OS.h:239
pid_t getppid()
呼び出し元プロセスの親プロセスのプロセスID取得
Definition: OS.h:108
GetOpt(int argc, char *const argv[], const char *opt, int flag)
コンストラクタ
Definition: OS.h:179
char * optarg
Definition: OS.h:238
char * optarg
int uname(utsname *name)
Definition: OS.h:59
::pid_t pid_t
呼び出し元プロセスのプロセスID取得
Definition: OS.h:83
pid_t getpid()
Definition: OS.h:84
~GetOpt()
デストラクタ
Definition: OS.h:200
int opterr
処理対象引数
Definition: OS.h:240
int optopt
エラー表示 0:抑止、1:表示
Definition: OS.h:241
::utsname utsname
システム情報取得
Definition: OS.h:58