[SOLVED] CS /* Writes to a file through a mapping, and unmaps the file,

$25

File Name: CS_/*_Writes_to_a_file_through_a_mapping,_and_unmaps_the_file,.zip
File Size: 584.04 KB

5/5 - (1 vote)

/* Writes to a file through a mapping, and unmaps the file,
then reads the data in the file back using the read system
call to verify. */

#include
#include
#include tests/vm/sample.inc
#include tests/lib.h
#include tests/main.h

#define ACTUAL ((void *) 0x10000000)

void
test_main (void)
{
int handle;
mapid_t map;
char buf[1024];

/* Write file via mmap. */
CHECK (create (sample.txt, strlen (sample)), create sample.txt);
CHECK ((handle = open (sample.txt)) > 1, open sample.txt);
CHECK ((map = mmap (handle, ACTUAL)) != MAP_FAILED, mmap sample.txt);
memcpy (ACTUAL, sample, strlen (sample));
munmap (map);

/* Read back via read(). */
read (handle, buf, strlen (sample));
CHECK (!memcmp (buf, sample, strlen (sample)),
compare read data against written data);
close (handle);
}

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] CS /* Writes to a file through a mapping, and unmaps the file,
$25