aboutsummaryrefslogtreecommitdiffstats
path: root/libconfig.sln
blob: 3b855a8690d2af9612b9eee6f13fd79537e52ee9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c_example1", "examples\c\example1.vcproj", "{454984C5-C302-4CE2-9B17-15B96E05E120}"
	ProjectSection(ProjectDependencies) = postProject
		{1A234565-926D-49B2-83E4-D56E0C38C9F2} = {1A234565-926D-49B2-83E4-D56E0C38C9F2}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libconfig", "lib\libconfig.vcproj", "{1A234565-926D-49B2-83E4-D56E0C38C9F2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libconfig++", "lib\libconfig++.vcproj", "{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c_example2", "examples\c\example2.vcproj", "{E4B1E9C1-E319-4A23-A6EB-85D74AB59BBE}"
	ProjectSection(ProjectDependencies) = postProject
		{1A234565-926D-49B2-83E4-D56E0C38C9F2} = {1A234565-926D-49B2-83E4-D56E0C38C9F2}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c_example3", "examples\c\example3.vcproj", "{93568409-C7AD-4A32-88E2-8883E10A8F7E}"
	ProjectSection(ProjectDependencies) = postProject
		{1A234565-926D-49B2-83E4-D56E0C38C9F2} = {1A234565-926D-49B2-83E4-D56E0C38C9F2}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c++_example1", "examples\c++\cxx_example1.vcproj", "{A1DF518C-A515-45A3-9B67-7D49F616DECC}"
	ProjectSection(ProjectDependencies) = postProject
		{A0C36CE7-D908-4573-8B69-249EEEB7D2BE} = {A0C36CE7-D908-4573-8B69-249EEEB7D2BE}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c++_example2", "examples\c++\cxx_example2.vcproj", "{DEBD09F1-33A1-41A9-9506-BC3E6FD053FD}"
	ProjectSection(ProjectDependencies) = postProject
		{A0C36CE7-D908-4573-8B69-249EEEB7D2BE} = {A0C36CE7-D908-4573-8B69-249EEEB7D2BE}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c++_example3", "examples\c++\cxx_example3.vcproj", "{8F2C54DE-BCC8-4CC7-81F3-FD0C04E8D5AE}"
	ProjectSection(ProjectDependencies) = postProject
		{A0C36CE7-D908-4573-8B69-249EEEB7D2BE} = {A0C36CE7-D908-4573-8B69-249EEEB7D2BE}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c++_example4", "examples\c++\cxx_example4.vcproj", "{F631BE25-B384-4061-B7D1-E0C0E77D3A0C}"
	ProjectSection(ProjectDependencies) = postProject
		{A0C36CE7-D908-4573-8B69-249EEEB7D2BE} = {A0C36CE7-D908-4573-8B69-249EEEB7D2BE}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtinytest", "tinytest\tinytest.vcproj", "{58F43D41-FE56-40E1-BB83-9CB8CDE0B7AA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libconfig_tests", "tests\tests.vcproj", "{E4FF1E84-9D5A-4A45-A5E5-8B99CA895172}"
	ProjectSection(ProjectDependencies) = postProject
		{58F43D41-FE56-40E1-BB83-9CB8CDE0B7AA} = {58F43D41-FE56-40E1-BB83-9CB8CDE0B7AA}
		{1A234565-926D-49B2-83E4-D56E0C38C9F2} = {1A234565-926D-49B2-83E4-D56E0C38C9F2}
	EndProjectSection
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{454984C5-C302-4CE2-9B17-15B96E05E120}.Debug|Win32.ActiveCfg = Debug|Win32
		{454984C5-C302-4CE2-9B17-15B96E05E120}.Debug|Win32.Build.0 = Debug|Win32
		{454984C5-C302-4CE2-9B17-15B96E05E120}.Release|Win32.ActiveCfg = Release|Win32
		{454984C5-C302-4CE2-9B17-15B96E05E120}.Release|Win32.Build.0 = Release|Win32
		{1A234565-926D-49B2-83E4-D56E0C38C9F2}.Debug|Win32.ActiveCfg = Debug|Win32
		{1A234565-926D-49B2-83E4-D56E0C38C9F2}.Debug|Win32.Build.0 = Debug|Win32
		{1A234565-926D-49B2-83E4-D56E0C38C9F2}.Release|Win32.ActiveCfg = Release|Win32
		{1A234565-926D-49B2-83E4-D56E0C38C9F2}.Release|Win32.Build.0 = Release|Win32
		{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Debug|Win32.ActiveCfg = Debug|Win32
		{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Debug|Win32.Build.0 = Debug|Win32
		{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Release|Win32.ActiveCfg = Release|Win32
		{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Release|Win32.Build.0 = Release|Win32
		{E4B1E9C1-E319-4A23-A6EB-85D74AB59BBE}.Debug|Win32.ActiveCfg = Debug|Win32
		{E4B1E9C1-E319-4A23-A6EB-85D74AB59BBE}.Debug|Win32.Build.0 = Debug|Win32
		{E4B1E9C1-E319-4A23-A6EB-85D74AB59BBE}.Release|Win32.ActiveCfg = Release|Win32
		{E4B1E9C1-E319-4A23-A6EB-85D74AB59BBE}.Release|Win32.Build.0 = Release|Win32
		{93568409-C7AD-4A32-88E2-8883E10A8F7E}.Debug|Win32.ActiveCfg = Debug|Win32
		{93568409-C7AD-4A32-88E2-8883E10A8F7E}.Debug|Win32.Build.0 = Debug|Win32
		{93568409-C7AD-4A32-88E2-8883E10A8F7E}.Release|Win32.ActiveCfg = Release|Win32
		{93568409-C7AD-4A32-88E2-8883E10A8F7E}.Release|Win32.Build.0 = Release|Win32
		{A1DF518C-A515-45A3-9B67-7D49F616DECC}.Debug|Win32.ActiveCfg = Debug|Win32
		{A1DF518C-A515-45A3-9B67-7D49F616DECC}.Debug|Win32.Build.0 = Debug|Win32
		{A1DF518C-A515-45A3-9B67-7D49F616DECC}.Release|Win32.ActiveCfg = Release|Win32
		{A1DF518C-A515-45A3-9B67-7D49F616DECC}.Release|Win32.Build.0 = Release|Win32
		{DEBD09F1-33A1-41A9-9506-BC3E6FD053FD}.Debug|Win32.ActiveCfg = Debug|Win32
		{DEBD09F1-33A1-41A9-9506-BC3E6FD053FD}.Debug|Win32.Build.0 = Debug|Win32
		{DEBD09F1-33A1-41A9-9506-BC3E6FD053FD}.Release|Win32.ActiveCfg = Release|Win32
		{DEBD09F1-33A1-41A9-9506-BC3E6FD053FD}.Release|Win32.Build.0 = Release|Win32
		{8F2C54DE-BCC8-4CC7-81F3-FD0C04E8D5AE}.Debug|Win32.ActiveCfg = Debug|Win32
		{8F2C54DE-BCC8-4CC7-81F3-FD0C04E8D5AE}.Debug|Win32.Build.0 = Debug|Win32
		{8F2C54DE-BCC8-4CC7-81F3-FD0C04E8D5AE}.Release|Win32.ActiveCfg = Release|Win32
		{8F2C54DE-BCC8-4CC7-81F3-FD0C04E8D5AE}.Release|Win32.Build.0 = Release|Win32
		{F631BE25-B384-4061-B7D1-E0C0E77D3A0C}.Debug|Win32.ActiveCfg = Debug|Win32
		{F631BE25-B384-4061-B7D1-E0C0E77D3A0C}.Debug|Win32.Build.0 = Debug|Win32
		{F631BE25-B384-4061-B7D1-E0C0E77D3A0C}.Release|Win32.ActiveCfg = Release|Win32
		{F631BE25-B384-4061-B7D1-E0C0E77D3A0C}.Release|Win32.Build.0 = Release|Win32
		{58F43D41-FE56-40E1-BB83-9CB8CDE0B7AA}.Debug|Win32.ActiveCfg = Debug|Win32
		{58F43D41-FE56-40E1-BB83-9CB8CDE0B7AA}.Debug|Win32.Build.0 = Debug|Win32
		{58F43D41-FE56-40E1-BB83-9CB8CDE0B7AA}.Release|Win32.ActiveCfg = Release|Win32
		{58F43D41-FE56-40E1-BB83-9CB8CDE0B7AA}.Release|Win32.Build.0 = Release|Win32
		{E4FF1E84-9D5A-4A45-A5E5-8B99CA895172}.Debug|Win32.ActiveCfg = Debug|Win32
		{E4FF1E84-9D5A-4A45-A5E5-8B99CA895172}.Debug|Win32.Build.0 = Debug|Win32
		{E4FF1E84-9D5A-4A45-A5E5-8B99CA895172}.Release|Win32.ActiveCfg = Release|Win32
		{E4FF1E84-9D5A-4A45-A5E5-8B99CA895172}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
class="kt">unsigned int value) { char *p; /* sanity checks */ if (buffer == NULL || size < 2) return (NULL); /* p points to last char */ p = buffer + size - 1; /* set terminating zero */ *p = '\0'; do { *--p = value % 10 + '0'; value = value / 10; } while (value != 0 && p > buffer); return p; } char *struptime(const unsigned int uptime, const char *format) { static char string[256]; const char *src; char *dst; int len, size; src = format; dst = string; len = 0; /* leave room for terminating zero */ size = sizeof(string) - 1; while (len < size) { if (*src == '%') { src++; if (strchr("sSmMhHd", *src) != NULL) { char buffer[12], *s; unsigned int value = 0; int leading_zero = 0; switch (*src++) { case 's': value = uptime; break; case 'S': value = uptime % 60; leading_zero = 1; break; case 'm': value = uptime / 60; break; case 'M': value = (uptime / 60) % 60; leading_zero = 1; break; case 'h': value = uptime / 60 / 60; break; case 'H': value = (uptime / 60 / 60) % 24; leading_zero = 1; break; case 'd': value = uptime / 60 / 60 / 24; break; } if (leading_zero && value < 10) { len++; *dst++ = '0'; } s = itoa(buffer, sizeof(buffer), value); while (len < size && *s != '\0') { len++; *dst++ = *s++; } } else if (*src == '%') { len++; *dst++ = '%'; } else { len += 2; *dst++ = '%'; *dst++ = *src++; } } else { len++; *dst++ = *src; if (*src++ == '\0') break; } } /* enforce terminating zero */ if (len >= size && *(dst - 1) != '\0') { len++; *dst = '\0'; } return string; } double getuptime(void) { char buffer[36]; int i; if (fd == -2) fd = open("/proc/uptime", O_RDONLY); if (fd < 0) return -1; lseek(fd, 0, SEEK_SET); i = read(fd, buffer, sizeof(buffer) - 1); if (i < 0) return -1; buffer[i - 1] = '\0'; /* ignore the 2nd value from /proc/uptime */ return strtod(buffer, NULL); } static void my_uptime(RESULT * result, const int argc, RESULT * argv[]) { int age; static double uptime = 0.0; static struct timeval last_value; struct timeval now; if (argc > 1) { error("uptime(): wrong number of parameters"); SetResult(&result, R_STRING, ""); return; } gettimeofday(&now, NULL); age = (now.tv_sec - last_value.tv_sec) * 1000 + (now.tv_usec - last_value.tv_usec) / 1000; /* reread every 100 msec only */ if (fd == -2 || age == 0 || age > 100) { uptime = getuptime(); if (uptime < 0.0) { error("parse(/proc/uptime) failed!"); SetResult(&result, R_STRING, ""); return; } last_value = now; } if (argc == 0) { SetResult(&result, R_NUMBER, &uptime); } else { SetResult(&result, R_STRING, struptime(uptime, R2S(argv[0]))); } return; } int plugin_init_uptime(void) { AddFunction("uptime", -1, my_uptime); return 0; } void plugin_exit_uptime(void) { if (fd > 0) close(fd); fd = -2; }