.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define _msgsnd
.define _msgctl
.define _msgrcv
.define _msgget
msg = 49
.extern	_msgrcv
.extern	_msgctl
.extern	_msgsnd
.extern	_msgget
.extern	_syscall

_msgget:
	link	a6,#0
	tst.b	-32(sp)
 	move.l	12(a6),-(sp)
 	move.l	8(a6),-(sp)
 	clr.l	-(sp)
 	move.l	#msg,-(sp)
 	jsr	_syscall
 	add	#0x10,sp
 	unlk	a6
 	rts
_msgctl:
 	link	a6,#0
 	tst.b	-32(sp)
 	move.l	16(a6),-(sp)
 	move.l	12(a6),-(sp)
 	move.l	8(a6),-(sp)
 	move.l	#1,-(sp)
 	move.l	#msg,-(sp)
 	jsr	_syscall
 	add	#0x14,sp
 	unlk	a6
 	rts
_msgrcv:
 	link	a6,#0
 	tst.b	-32(sp)
 	move.l	24(a6),-(sp)
 	move.l	20(a6),-(sp)
 	move.l	16(a6),-(sp)
 	move.l	12(a6),-(sp)
 	move.l	8(a6),-(sp)
 	move.l	#2,-(sp)
 	move.l	#msg,-(sp)
 	jsr	_syscall
 	add	#0x1C,sp
 	unlk	a6
 	rts
_msgsnd:
 	link	a6,#0
 	tst.b	-32(sp)
 	move.l	20(a6),-(sp)
 	move.l	16(a6),-(sp)
 	move.l	12(a6),-(sp)
 	move.l	8(a6),-(sp)
 	move.l	#3,-(sp)
 	move.l	#msg,-(sp)
 	jsr	_syscall
 	add	#0x18,sp
 	unlk	a6
 	rts