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