#define DEBUG
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "symtab.h"
#include "value.h"
#include <sys/types.h>
#include <sys/param.h>
#include <signal.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include "gdbcore.h"
#include <sys/file.h>
#include "gdb_stat.h"
#ifdef SYM1
int
getpagesize (void)
{
return (8192);
}
fcntl (int fd, int cmd, int arg)
{
switch (cmd)
{
case F_GETFL:
return (O_RDONLY);
break;
default:
printf_unfiltered ("Ultra3's fcntl() failing, cmd = %d.\n", cmd);
return (-1);
}
}
static int _SigMask;
#define sigbit(s) (1L << ((s)-1))
init_SigMask (void)
{
_SigMask = sigbit (SIGTSTP) | sigbit (SIGTTOU) | sigbit (SIGTTIN) |
sigbit (SIGCHLD) | sigbit (SIGTINT);
}
sigmask (int signo)
{
return (1 << (signo - 1));
}
sigsetmask (unsigned int sigmask)
{
int i, mask = 1;
int lastmask = _SigMask;
for (i = 0; i < NSIG; i++)
{
if (sigmask & mask)
{
if (!(_SigMask & mask))
{
sighold (i + 1);
_SigMask |= mask;
}
}
else if (_SigMask & mask)
{
sigrelse (i + 1);
_SigMask &= ~mask;
}
mask <<= 1;
}
return (lastmask);
}
sigblock (unsigned int sigmask)
{
int i, mask = 1;
int lastmask = _SigMask;
for (i = 0; i < NSIG; i++)
{
if ((sigmask & mask) && !(_SigMask & mask))
{
sighold (i + 1);
_SigMask |= mask;
}
mask <<= 1;
}
return (lastmask);
}
#endif
void
_initialize_ultra3 (void)
{
#ifdef SYM1
init_SigMask ();
#endif
}