- move system calls for use by services from libminlib into libsys; - move srv_fork(2) and srv_kill(2) from RS and into libsys; - replace getprocnr(2) with sef_self(3); - rename previous getnprocnr(2) to getprocnr(2); - clean up getepinfo(2); - change all libsys calls that used _syscall to use _taskcall, so as to avoid going through errno to pass errors; this is already how most calls work anyway, and many of the calls previously using _syscall were already assumed to return the actual error; - initialize request messages to zero, for future compatibility (note that this does not include PCI calls, which are in need of a much bigger overhaul, nor kernel calls); - clean up more of dead DS code as a side effect. Change-Id: I8788f54c68598fcf58e23486e270c2d749780ebb
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
 | 
						|
#define _SYSTEM		1
 | 
						|
 | 
						|
#include <stdio.h>
 | 
						|
#include <unistd.h>
 | 
						|
#include <fcntl.h>
 | 
						|
#include <stdlib.h>
 | 
						|
#include <signal.h>
 | 
						|
#include <sys/types.h>
 | 
						|
#include <sys/wait.h>
 | 
						|
 | 
						|
#include <minix/config.h>
 | 
						|
#include <minix/com.h>
 | 
						|
#include <minix/type.h>
 | 
						|
#include <minix/const.h>
 | 
						|
#include <minix/endpoint.h>
 | 
						|
#include <minix/safecopies.h>
 | 
						|
#include <minix/syslib.h>
 | 
						|
#include <minix/sysutil.h>
 | 
						|
#include <minix/minlib.h>
 | 
						|
#include <errno.h>
 | 
						|
 | 
						|
/* TEST_PAGE_SHIFT =
 | 
						|
 * log2(CLICK_SIZE * TEST_PAGE_NUM) = CLICK_SHIFT + log2(TEST_PAGE_NUM)
 | 
						|
 */
 | 
						|
#define TEST_PAGE_NUM    8
 | 
						|
#define TEST_PAGE_SHIFT 15
 | 
						|
 | 
						|
#define BUF_SIZE (TEST_PAGE_NUM * CLICK_SIZE)
 | 
						|
#define BUF_START 100
 | 
						|
 | 
						|
#define FIFO_REQUESTOR "/usr/src/test/safecopy/1fifo"
 | 
						|
#define FIFO_GRANTOR   "/usr/src/test/safecopy/2fifo"
 | 
						|
 | 
						|
#define FIFO_WAIT(fid) {                                                      \
 | 
						|
	int a;                                                                \
 | 
						|
	if(read(fid, &a, sizeof(a)) != sizeof(a))                             \
 | 
						|
		panic("FIFO_WAIT failed");                  \
 | 
						|
}
 | 
						|
#define FIFO_NOTIFY(fid) {                                                    \
 | 
						|
	int a = 1;                                                            \
 | 
						|
	if(write(fid, &a, sizeof(a)) != sizeof(a))                            \
 | 
						|
		panic("FIFO_NOTIFY failed");                \
 | 
						|
}
 | 
						|
 | 
						|
#define DEBUG 0
 | 
						|
#if DEBUG
 | 
						|
#	define dprint(x) printf x
 | 
						|
#else
 | 
						|
#	define dprint(x)
 | 
						|
#endif
 | 
						|
 |