extern long micro_rtx();
#define rtx_install(a) (char *)micro_rtx(0,a)
#define p_create(a,b,c,d,e,f,g) (char *)micro_rtx(1,a,b,c,d,e,f,g)
#define p_delete(a) (int)micro_rtx(2,a)
#define p_priority(a,b) (int)micro_rtx(3,a,b)
#define p_slice(a,b) (int)micro_rtx(4,a,b)
#define q_create(a,b) (char *)micro_rtx(5,a,b)
#define q_delete(a) (int)micro_rtx(6,a)
#define q_send(a,b) (int)micro_rtx(7,a,b)
#define q_req(a,b,c,d) (int)micro_rtx(8,a,b,c,d)
#define q_jam(a,b) (int)micro_rtx(9,a,b)
#define e_signal(a,b) (int)micro_rtx(10,a,b)
#define e_wait(a,b,c) (int)micro_rtx(11,a,b,c)
#define p_pause(a) (int)micro_rtx(12,a)
#define m_alloc(a) (char *)micro_rtx(13,a)
#define m_free(a) (int)micro_rtx(14,a)
#define m_assign(a,b) (int)micro_rtx(15,a,b)
#define p_lookup(a) (char *)micro_rtx(16,a)
#define q_lookup(a) (char *)micro_rtx(17,a)
#define p_info(a,b) (char *)micro_rtx(18,a,b)
#define p_vector(a,b) (long)micro_rtx(19,a)
#define p_suspend(a) (int)micro_rtx(20,a)
#define p_resume(a) (int)micro_rtx(21,a)
#define d_install(a,b,c,d,e,f,g) (int)micro_rtx(22,a,b,c,d,e,f,g)
#define d_cntrl(a,b) (long)micro_rtx(23,a,b)
#define q_info(a,b,c) (int)micro_rtx(24,a,b,c)
#define rtx_remove() (int)micro_rtx(255)

struct config {
	char *basepage;
	int max_proc;
	int max_msgs;
	int max_queues;
	int (*create_call)();
	int (*delete_call)();
	int (*switch_call)();
	};

extern long gemdos();
#define	Popen(a)	gemdos(0x100,a)
#define Ftype(a)	gemdos(0x101,a)
#define Flock(a,b,c,d)	gemdos(0x102,a,b,c,d)
#define Psettpa(a)	gemdos(0x103,a)
#define Fcntrl(a,b)	gemdos(0x104,a,b)
#define Mquota(a)	gemdos(0x105,a)
#define FD_NOECHO	0x0080
#define FD_RAWIO	0x0100
                                                                                                