Files
sics/interrupt.h

50 lines
1.3 KiB
C

/*----------------------------------------------------------------------------
SICS needs a way to interrupt server processsing. This is done
with this module.
Interrupts may come in through two ways: They may be created
internally or they may be user requested. For the last ones
the main loop will poll an additional special interrupt
port.
Mark Koennecke, December 1996
copyrights: see implementation file
-----------------------------------------------------------------------------*/
#ifndef SICSINTERRUPT
#define SICSINTERRUPT
/* Interrupt codes */
#define eContinue 0
#define eAbortOperation 1
#define eAbortScan 2
#define eAbortBatch 3
#define eHaltSystem 4
#define eFreeSystem 5
#define eEndServer 6
/* ---------------- server side functions ---------------------------------*/
void ServerStopInterrupt(void);
/*
stops interrupt processing.
*/
void SetInterrupt(int iCode);
/*
send an interrupt to everybody
*/
/*------------------------------ utility ----------------------------------*/
int Interrupt2Text(int iInterrupt, char *text, int iTextLen);
int Text2Interrupt(char *text);
/* --------------------- client side functions ----------------------------*/
int ClientSetupInterrupt(char *host, int iPort);
void ClientStopInterrupt(void);
void SendInterrupt(int iCode);
#endif