nsprpub/pr/tests/system.c

branch
TOR_BUG_9701
changeset 13
44a2da4a2ab2
equal deleted inserted replaced
-1:000000000000 0:8c16c23366ce
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 #include "prio.h"
7 #include "prmem.h"
8 #include "prprf.h"
9 #include "prsystem.h"
10
11 #include "plerror.h"
12
13 static char *tag[] =
14 {
15 "PR_SI_HOSTNAME",
16 "PR_SI_SYSNAME",
17 "PR_SI_RELEASE",
18 "PR_SI_ARCHITECTURE"
19 };
20
21 static PRSysInfo Incr(PRSysInfo *cmd)
22 {
23 PRIntn tmp = (PRIntn)*cmd + 1;
24 *cmd = (PRSysInfo)tmp;
25 return (PRSysInfo)tmp;
26 } /* Incr */
27
28 int main(int argc, char **argv)
29 {
30 PRStatus rv;
31 PRSysInfo cmd;
32 PRFileDesc *output = PR_GetSpecialFD(PR_StandardOutput);
33
34 char *info = (char*)PR_Calloc(SYS_INFO_BUFFER_LENGTH, 1);
35 for (cmd = PR_SI_HOSTNAME; cmd <= PR_SI_ARCHITECTURE; Incr(&cmd))
36 {
37 rv = PR_GetSystemInfo(cmd, info, SYS_INFO_BUFFER_LENGTH);
38 if (PR_SUCCESS == rv) PR_fprintf(output, "%s: %s\n", tag[cmd], info);
39 else PL_FPrintError(output, tag[cmd]);
40 }
41 PR_DELETE(info);
42
43 PR_fprintf(output, "Host page size is %d\n", PR_GetPageSize());
44 PR_fprintf(output, "Page shift is %d\n", PR_GetPageShift());
45 PR_fprintf(output, "Memory map alignment is %ld\n", PR_GetMemMapAlignment());
46 PR_fprintf(output, "Number of processors is: %d\n", PR_GetNumberOfProcessors());
47 PR_fprintf(output, "Physical memory size is: %llu\n", PR_GetPhysicalMemorySize());
48
49 return 0;
50 } /* main */
51
52 /* system.c */

mercurial