annotate libgomp/config/mingw32/affinity-fmt.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1 /* Copyright (C) 2018-2020 Free Software Foundation, Inc.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2 Contributed by Jakub Jelinek <jakub@redhat.com>.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
3
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
4 This file is part of the GNU Offloading and Multi Processing Library
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
5 (libgomp).
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
6
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
7 Libgomp is free software; you can redistribute it and/or modify it
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
8 under the terms of the GNU General Public License as published by
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
9 the Free Software Foundation; either version 3, or (at your option)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
10 any later version.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
11
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
12 Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
14 FOR A PARTICULAR PURPOSE. See the GNU General Public License for
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
15 more details.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
16
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
17 Under Section 7 of GPL version 3, you are granted additional
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
18 permissions described in the GCC Runtime Library Exception, version
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
19 3.1, as published by the Free Software Foundation.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
20
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
21 You should have received a copy of the GNU General Public License and
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
22 a copy of the GCC Runtime Library Exception along with this program;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
23 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
24 <http://www.gnu.org/licenses/>. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
25
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
26 #include "libgomp.h"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
27 #include <string.h>
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
28 #include <stdio.h>
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
29 #include <stdlib.h>
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
30 #ifdef HAVE_UNISTD_H
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
31 #include <unistd.h>
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
32 #endif
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
33 #ifdef HAVE_INTTYPES_H
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
34 # include <inttypes.h> /* For PRIx64. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
35 #endif
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
36 #define WIN32_LEAN_AND_MEAN
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
37 #include <windows.h>
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
38 #include <errno.h>
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
39
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
40 static int
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
41 gomp_gethostname (char *name, size_t len)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
42 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
43 /* On Win9x GetComputerName fails if the input size is less
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
44 than MAX_COMPUTERNAME_LENGTH + 1. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
45 char buffer[MAX_COMPUTERNAME_LENGTH + 1];
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
46 DWORD size = sizeof (buffer);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
47 int ret = 0;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
48
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
49 if (!GetComputerName (buffer, &size))
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
50 return -1;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
51
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
52 if ((size = strlen (buffer) + 1) > len)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
53 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
54 errno = EINVAL;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
55 /* Truncate as per POSIX spec. We do not NUL-terminate. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
56 size = len;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
57 ret = -1;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
58 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
59 memcpy (name, buffer, (size_t) size);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
60
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
61 return ret;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
62 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
63
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
64 #undef gethostname
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
65 #define gethostname gomp_gethostname
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
66 #define HAVE_GETHOSTNAME 1
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
67
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
68 #include "../../affinity-fmt.c"