FILENAME 3/4 - delete the old get_fun_path etc.
[hiphop-php.git] / hphp / util / kernel-version.h
blob5e62f2fea2d829cf80dbc85766e735e0578df2df
1 /*
2 +----------------------------------------------------------------------+
3 | HipHop for PHP |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 2010-present Facebook, Inc. (http://www.facebook.com) |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
16 #pragma once
18 #include <string>
20 namespace HPHP {
22 struct KernelVersion {
23 // <major>.<minor>.<release>-<build>_fbk<fbk>
24 int m_major;
25 int m_minor;
26 int m_release;
27 int m_build;
28 std::string m_release_str;
29 std::string m_build_str;
30 int m_fbk;
31 KernelVersion(); // Use uname
32 explicit KernelVersion(const char*); // A known kernel version for cmp.
33 static int cmp(const KernelVersion& l, const KernelVersion& r) {
34 #define C(field) if (l.field != r.field) return l.field - r.field;
35 C(m_major);
36 C(m_minor);
37 C(m_release);
38 C(m_build);
39 C(m_fbk);
40 #undef C
41 return 0;
43 private:
44 void parse(const char* c);
45 bool isNumber(const std::string s);