/* Support for memory-mapped windows into a BFD.
- Copyright 1995, 1996, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 1995, 1996, 2001, 2002, 2003 Free Software Foundation, Inc.
Written by Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
.struct _bfd_window_internal {
. struct _bfd_window_internal *next;
-. PTR data;
+. void *data;
. bfd_size_type size;
. int refcount : 31; {* should be enough... *}
. unsigned mapped : 1; {* 1 = mmap, 0 = malloc *}
*/
void
-bfd_init_window (windowp)
- bfd_window *windowp;
+bfd_init_window (bfd_window *windowp)
{
windowp->data = 0;
windowp->i = 0;
}
void
-bfd_free_window (windowp)
- bfd_window *windowp;
+bfd_free_window (bfd_window *windowp)
{
bfd_window_internal *i = windowp->i;
windowp->i = 0;
static int ok_to_map = 1;
bfd_boolean
-bfd_get_file_window (abfd, offset, size, windowp, writable)
- bfd *abfd;
- file_ptr offset;
- bfd_size_type size;
- bfd_window *windowp;
- bfd_boolean writable;
+bfd_get_file_window (bfd *abfd,
+ file_ptr offset,
+ bfd_size_type size,
+ bfd_window *windowp,
+ bfd_boolean writable)
{
static size_t pagesize;
bfd_window_internal *i = windowp->i;
if (i == 0)
{
- i = ((bfd_window_internal *)
- bfd_zmalloc ((bfd_size_type) sizeof (bfd_window_internal)));
+ i = bfd_zmalloc (sizeof (bfd_window_internal));
windowp->i = i;
if (i == 0)
return FALSE;
? MAP_FILE | MAP_PRIVATE
: MAP_FILE | MAP_SHARED),
fd, file_offset);
- if (i->data == (PTR) -1)
+ if (i->data == (void *) -1)
{
/* An error happened. Report it, or try using malloc, or
something. */
fprintf (stderr, "\n\tmapped %ld at %p, offset is %ld\n",
(long) real_size, i->data, (long) offset2);
i->size = real_size;
- windowp->data = (PTR) ((bfd_byte *) i->data + offset2);
+ windowp->data = (bfd_byte *) i->data + offset2;
windowp->size = size;
i->mapped = 1;
return TRUE;
if (debug_windows)
fprintf (stderr, "\n\t%s(%6ld)",
i->data ? "realloc" : " malloc", (long) size_to_alloc);
- i->data = (PTR) bfd_realloc (i->data, size_to_alloc);
+ i->data = bfd_realloc (i->data, size_to_alloc);
if (debug_windows)
fprintf (stderr, "\t-> %p\n", i->data);
i->refcount = 1;