xref: /netbsd-src/external/gpl3/binutils/dist/bfd/hosts/alphavms.h (revision 63d4abf06d37aace2f9e41a494102a64fe3abddb)
1 /* alphavms.h -- BFD definitions for an openVMS host
2    Copyright 1996, 2000, 2001, 2007 Free Software Foundation, Inc.
3    Written by Klaus K�mpf (kkaempf@progis.de)
4    of proGIS Softwareentwicklung, Aachen, Germany
5 
6    This file is part of BFD, the Binary File Descriptor library.
7 
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
21    MA 02110-1301, USA.  */
22 
23 #include <stddef.h>
24 #include <fcntl.h>
25 #include <errno.h>
26 #include <stdio.h>
27 #include <sys/types.h>
28 #include <sys/stat.h>
29 #include <string.h>
30 #include <sys/file.h>
31 #include <stdlib.h>
32 #include <unixlib.h>
33 #include <unixio.h>
34 #include <time.h>
35 
36 #include "bfd.h"
37 
38 #ifndef BFD_HOST_64_BIT
39 /* Make the basic types 64-bit quantities on the host.
40    Also provide the support macros BFD needs.  */
41 # ifdef __GNUC__
42 #  define	BFD_HOST_64_BIT	long long
43 # else
44 #  define	BFD_HOST_64_BIT	long
45 # endif
46 typedef unsigned BFD_HOST_64_BIT uint64_type;
47 typedef BFD_HOST_64_BIT int64_type;
48 
49 # define sprintf_vma(s,x) sprintf (s, "%016lx", x) /* BFD_HOST_64_BIT */
50 # define fprintf_vma(f,x) fprintf (f, "%016lx", x) /* BFD_HOST_64_BIT */
51 
52 # define BYTES_IN_PRINTF_INT 4
53 
54 /* These must have type unsigned long because they are used as
55    arguments in printf functions.  */
56 # define uint64_typeLOW(x) ((unsigned long) (((x) & 0xffffffff))) /* BFD_HOST_64_BIT */
57 # define uint64_typeHIGH(x) ((unsigned long) (((x) >> 32) & 0xffffffff)) /* BFD_HOST_64_BIT */
58 
59 #endif /* BFD_HOST_64_BIT */
60 
61 #include "fopen-vms.h"
62 
63 #define NO_FCNTL 1
64 
65 #ifndef O_ACCMODE
66 #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
67 #endif
68 
69 extern int getpagesize PARAMS ((void));
70