MCPcopy Create free account
hub / github.com/HandBrake/HandBrake / init_system_info

Function init_system_info

libhb/ports.c:202–255  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200} hb_system_info;
201
202static void init_system_info()
203{
204 if (hb_system_info.name != NULL)
205 {
206 return;
207 }
208
209#if defined(SYS_DARWIN)
210 char buf[256];
211 size_t buflen = sizeof(buf);
212
213 if (sysctlbyname("kern.osproductversion", &buf, &buflen, NULL, 0) == 0)
214 {
215 hb_system_info.version = strdup(buf);
216 }
217
218 buflen = sizeof(buf);
219 if (sysctlbyname("kern.osversion", &buf, &buflen, NULL, 0) == 0)
220 {
221 hb_system_info.build = strdup(buf);
222 }
223
224 hb_system_info.name = "macOS";
225#elif defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD) || defined(SYS_OPENBSD)
226 struct utsname uts;
227 if (uname(&uts) == 0)
228 {
229 hb_system_info.name = strdup(uts.sysname);
230 hb_system_info.version = strdup(uts.release);
231 hb_system_info.build = strdup(uts.version);
232 }
233#elif defined(SYS_MINGW)
234 NTSYSAPI NTSTATUS RtlGetVersion(PRTL_OSVERSIONINFOW);
235
236 OSVERSIONINFOW vi = {0};
237 vi.dwOSVersionInfoSize = sizeof(vi);
238 char buf[32];
239
240 if (RtlGetVersion(&vi) == 0)
241 {
242 snprintf(buf, sizeof(buf), "%lu.%lu", vi.dwMajorVersion, vi.dwMinorVersion);
243 hb_system_info.version = strdup(buf);
244
245 snprintf(buf, sizeof(buf), "%lu", vi.dwBuildNumber);
246 hb_system_info.build = strdup(buf);
247 }
248
249 hb_system_info.name = "Windows";
250#else
251 hb_system_info.name = NULL;
252 hb_system_info.version = NULL;
253 hb_system_info.build = NULL;
254#endif
255}
256
257const char * hb_get_system_name()
258{

Callers 3

hb_get_system_nameFunction · 0.85
hb_get_system_versionFunction · 0.85
hb_get_system_buildFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected