Exemple #1
0
void*
Mono_Posix_Syscall_mremap (void *old_address, mph_size_t old_size, 
		mph_size_t new_size, guint64 flags)
{
	guint64 _flags;

	mph_return_val_if_size_t_overflow (old_size, MAP_FAILED);
	mph_return_val_if_size_t_overflow (new_size, MAP_FAILED);

	if (Mono_Posix_FromMremapFlags (flags, &_flags) == -1)
		return MAP_FAILED;

	return mremap (old_address, (size_t) old_size, (size_t) new_size,
			(unsigned long) _flags);
}
Exemple #2
0
void*
Mono_Posix_Syscall_mremap (void *old_address, mph_size_t old_size, 
		mph_size_t new_size, guint64 flags)
{
	guint64 _flags;

	mph_return_val_if_size_t_overflow (old_size, MAP_FAILED);
	mph_return_val_if_size_t_overflow (new_size, MAP_FAILED);

	if (Mono_Posix_FromMremapFlags (flags, &_flags) == -1)
		return MAP_FAILED;

#if defined(linux)
	return mremap (old_address, (size_t) old_size, (size_t) new_size,
			(unsigned long) _flags);
#elif defined(__NetBSD__)
	return mremap (old_address, (size_t) old_size, old_address,
			(size_t) new_size, (unsigned long) _flags);
#else
#error Port me
#endif
}
Exemple #3
0
G_BEGIN_DECLS

void*
Mono_Posix_Syscall_mmap (void *start, mph_size_t length, int prot, int flags, 
		int fd, mph_off_t offset)
{
	int _prot, _flags;

	mph_return_val_if_size_t_overflow (length, MAP_FAILED);
	mph_return_val_if_off_t_overflow (offset, MAP_FAILED);

	if (Mono_Posix_FromMmapProts (prot, &_prot) == -1)
		return MAP_FAILED;
	if (Mono_Posix_FromMmapFlags (flags, &_flags) == -1)
		return MAP_FAILED;

	return mmap (start, (size_t) length, _prot, _flags, fd, (off_t) offset);
}