home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
TELECOM
/
OSKBox.lzh
/
MAILBOX
/
CC
/
mbinit.c
< prev
next >
Wrap
C/C++ Source or Header
|
1990-01-01
|
2KB
|
55 lines
#include <stdio.h>
#include <modes.h>
#include <module.h>
#include <events.h>
#include <errno.h>
#include "mailbox.h"
#define BUFFSIZE 1024
#define ACCESS (MP_OWNER_READ+MP_OWNER_WRITE+MP_WORLD_READ+MP_WORLD_WRITE)
#define ATTR (mkattrevs(MA_REENT,0))
#define TYPE (mktypelang(MT_DATA,ML_ANY))
#define COLOR 0
main ()
{
mod_exec *mail_module, *modlink(), *make_module();
char buffer[BUFFSIZE], *moddata;
int f, fsize;
int read_event, write_event;
chdir (HOME);
if ((f = open ("mail_dir", S_IREAD)) < 0)
exit (_errmsg (0, "Error %d opening mail_dir.\n", errno));
fsize = _gs_size (f);
if ((int)(mail_module = make_module ("mail_dir", fsize, ATTR, ACCESS, TYPE, COLOR)) == -1)
exit (_errmsg (0, "Error %d while creating module.\n", errno));
moddata = (char *)mail_module + mail_module->_mexec;
read (f, moddata, fsize);
close (f);
if ((read_event = _ev_creat (0, -1, 1, "mail_read")) == -1)
exit (_errmsg (0, "Error %d while creating read signal.\n", errno));
if (_ev_unlink (read_event) == -1)
_errmsg (0, "Error %d while unlinking read signal.\n", errno);
if ((write_event = _ev_creat (0, -1, 1, "mail_write")) == -1)
exit (_errmsg (0, "Error %d while creating write signal.\n", errno));
if (_ev_unlink (write_event) == -1)
_errmsg (0, "Error %d while unlinking write signal.\n", errno);
}
movmem (from, to, count)
register char *from, *to;
register int count;
{
if (from > to)
while (count--)
*to++ = *from++;
else {
from += count;
to += count;
while (count--)
*--to = *--from;
}
}