 
#ifndef __dl_kernelswis_h
#define __dl_kernelswis_h
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __dl_core_h
#include "Core.h"
#endif
typedef enum
{
osbyte_DISPLAYOSVERSION = 0,
osbyte_SPECIFYINPUT = 2,
osbyte_SPECIFYOUTPUT,
osbyte_CURSORKEYSTATUS,
osbyte_WRITEPRINTERDRIVERTYPE,
osbyte_WRITEPRINTERIGNORECHAR,
osbyte_WRITERS423RXRATE,
osbyte_WRITERS423TXRATE,
osbyte_WRITEDURATION1STFLASHCOLOUR,
osbyte_WRITEDURATION2NDFLASHCOLOUR,
osbyte_WRITEKEYREPEATDELAY,
osbyte_WRITEKEYREPEATRATE,
osbyte_DISABLEEVENT,
osbyte_ENABLEEVENT,
osbyte_FLUSHBUFFER,
osbyte_RESETFUNCTIONKEYS = 18,
osbyte_WAITFORVSYNC,
osbyte_RESETFONTDEFINITIONS,
osbyte_FLUSHSELECTEDBUFFER,
osbyte_RESETGROUPOFFONTDEFINITIONS = 25,
osbyte_RW_COUNTRYNUMBER = 70,
osbyte_RW_ALPHABET = 71,
osbyte_RW_KEYBOARD = 71,
osbyte_SELECTPOINTER = 106,
osbyte_ACTIVATEMOUSE = 106,
osbyte_WRITEVDUDRIVERBANK = 112,
osbyte_WRITEDISPLAYHARDWAREBANK,
osbyte_WRITESHADOWSTATE,
osbyte_READVDUSTATUS = 117,
osbyte_REFLECTKEYBOARDSTATUSINLEDS,
osbyte_KEYBOARDSCAN = 121,
osbyte_KEYBOARDSCANNOSHIFT,
osbyte_CLEARESCAPECONDITION = 124,
osbyte_SETESCAPECONDITION,
osbyte_ACKNOWLEDGEESCAPECONDITION,
osbyte_CHECKFOREOF,
osbyte_GETBUFFERORMOUSESTATUS,
osbyte_SCANFORKEY = 129,
osbyte_READOSIDENTIFIER = 129,
osbyte_READTEXTCURSORPOSITION = 134,
osbyte_READCHARACTERATTEXTCURSOR = 135,
osbyte_READSCREENMODE = 135,
osbyte_INSERTCHARACTERCODEINTOBUFFER = 138,
osbyte_WRITEFSOPTIONS,
osbyte_ISSUEMODULESERVICECALL = 143,
osbyte_SETTVCHARACTERISTICS,
osbyte_GETCHARACTERFROMBUFFER,
osbyte_EXAMINEBUFFERSTATUS = 152,
osbyte_INSERTCHARACTERINTOBUFFER,
osbyte_RW_ASYNCCOMMSSTATE = 156,
osbyte_READVDUVARIABLE = 160,
osbyte_READCMOSRAM,
osbyte_WRITECMOSRAM,
osbyte_RW_GENERALGRAPHICSINFO,
osbyte_READOUTPUTCURSORPOSITION = 165,
osbyte_RW_50HZCOUNTER = 176,
osbyte_READINPUTSOURCE,
osbyte_RW_RS423INPUTINTERPTRETATION = 181,
osbyte_RW_NOIGNORESTATE,
osbyte_RW_RS423BUSYFLAG = 191,
osbyte_READRS423CONTROLBYTE,
osbyte_RW_FLASHCOUNTER,
osbyte_READDURATION2NDFLASHCOLOUR,
osbyte_READDURATION1STFLASHCOLOUR,
osbyte_RW_KEYREPEATDELAY,
osbyte_RW_KEYREPEATRATE,
osbyte_RW_EXECFILEHANDLE,
osbyte_RW_SPOOLFILEHANDLE,
osbyte_RW_BREAKESCAPEEFFECT,
osbyte_RW_KEYBOARDDISABLEFLAG,
osbyte_RW_KEYBOARDSTATUSBYTE,
osbyte_RW_RS423INPUTBUFFERMINSPACE,
osbyte_RW_RS423IGNOREFLAG,
osbyte_RW_BELLCHANNEL = 211,
osbyte_RW_BELLVOLUME,
osbyte_RW_BELLFREQUENCY,
osbyte_RW_BELLDURATION,
osbyte_RW_FUNCTIONKEYSTRINGLENGTH = 216,
osbyte_RW_PAGEDMODELINECOUNT,
osbyte_RW_BYTESINVDUQUEUE,
osbyte_RW_TABKEYCODE,
osbyte_RW_ESCAPECHARACTER,
osbyte_RW_INTERPRETATIONOFBUFFERCODES_C0_CF,
osbyte_RW_INTERPRETATIONOFBUFFERCODES_D0_DF,
osbyte_RW_INTERPRETATIONOFBUFFERCODES_E0_EF,
osbyte_RW_INTERPRETATIONOFBUFFERCODES_F0_FF,
osbyte_RW_FUNCTIONKEYINTERPRETATION,
osbyte_RW_SHIFTFUNCTIONKEYINTERPRETATION,
osbyte_RW_CTRLFUNCTIONKEYINTERPRETATION,
osbyte_RW_CTRLSHIFTFUNCTIONKEYINTERPRETATION,
osbyte_RW_ESCAPEKEYSTATUS,
osbyte_RW_ESCAPEEFFECTS,
osbyte_RW_CHARACTERDESTINATIONSTATUS = 236,
osbyte_RW_CURSORKEYSTATUS,
osbyte_RW_NUMERICKEYPADINTERPRETATION,
osbyte_READCOUNTRYFLAG = 240,
osbyte_READRS423BAUDRATES = 242,
osbyte_READTIMERSWITCHSTATE,
osbyte_READPRINTERDRIVERTYPE = 245,
osbyte_RW_PRINTERIGNORECHARACTER,
osbyte_RW_BREAKKEYACTIONS,
osbyte_READVDUDRIVERSCREENBANK = 250,
osbyte_READDISPLAYSCREENBANK,
osbyte_READLASTBREAKTYPE = 253,
osbyte_RW_EFFECTOFSHIFTCTRLONNUMERICKEYPAD,
osbyte_RW_BOOTOPTION
} osbyte_number;
os_error *OS_Byte(osbyte_number reason, int r1in, int r2in,
int *r1out, int *r2out);
typedef enum
{
osword_READLINE = 0,
osword_READSYSCLOCK,
osword_WRITESYSCLOCK,
osword_READINTERVALTIMER,
osword_WRITEINTERVALTIMER,
osword_READPIXELCOLOUR = 9,
osword_READCHARACTERDEFN,
osword_READPALETTE,
osword_WRITEPALETTE,
osword_READGFXCURSORS,
osword_READCMOSCLOCK,
osword_WRITECMOSCLOCK,
osword_DEFINEPOINTERANDMOUSE = 21,
osword_WRITESCREENBASE
} osword_number;
os_error *OS_Word(osword_number reason, void *param_block);
extern BOOL OS_ReadVarVal(char *varname, char *buf, int bufsize);
typedef enum
{
modevar_MODEFLAGS = 0,
modevar_RIGHTCOLUMN,
modevar_BOTTOMROW,
modevar_NCOLOUR,
modevar_XEIGFACTOR,
modevar_YEIGFACTOR,
modevar_LINELENGTH,
modevar_SCREENSIZE,
modevar_YSHIFTFACTOR,
modevar_LOG2BPP,
modevar_LOG2BPC,
modevar_XWINDOWLIMIT,
modevar_YWINDOWLIMIT
} mode_variable;
extern os_error *OS_ReadModeVariable(int mode, mode_variable variable,
int *value);
os_error *OS_SWINumberToString( int number, char *buffer, int size);
os_error *OS_SWINumberFromString( char *string, int *number);
os_error *OS_GSTrans(char *string, char *buffer, int size, char **end);
os_error *OS_CLI(char *cmd);
#ifdef __cplusplus
}
#endif
#endif
