(******************************************************************
****
****    Name:   con.h
****
****    Author: Bjørn Reese
****
****    Template of KickPascal Header for 'con.library'
****
****    WARNING!! Not tested at all!
****
******************************************************************)

{$if not def LIBRARIES_CON_H}
CONST LIBRARIES_CON_H=0;
{$if not def EXEC_LIBRARIES_H;incl"exec/libraries.h";endif}
CONST
CHARDEFSIZE2=35;
TYPE
con_=RECORD		{ ConLibrary }
 con_LibNode:???;	{ Library Node }
 con_SegList:Ptr;	{ Segment List [from LoadSeg()] }
 con_IntBase:Ptr;	{ Intuition Base }
 con_MathBase:Ptr;	{ MathFFP Base }
END;
cnh_=RECORD		{ ConHandle }
 cnh_CDBase:Ptr;	{ Base of Console Device }
 cnh_Window:Ptr;	{ Our Intuition Window }
 cnh_UserPort:Ptr;	{ UserPort for Window }
 cnh_Unit:Ptr;		{ ConUnit }
 cnh_WriteIO:Ptr;	{ Our Write IO Port }
 cnh_Signal:Long;	{ SignalSet [for Wait()] }
 cnh_ExLength:Word;	{ Extra space for string formatting }
 cnh_CursorStatus:Word;	{ Current Cursor Status [on/off] }
 cnh_PadSpace:Char;	{ Char for Leading Spaces in Numbers }
 cnh_PadZero:Char;	{ Char for Leading Zeros in Numbers }
 cnh_PadGroup:Char;	{ Char for Group Classifying }
 cnh_PadString:Char;	{ Char for Unused String Positions }
 cnh_DecimalPoint:Char;	{ Char for Decimal Point }
 cnh_FloatE:Char;	{ Char for Floating Point Exponent }
 cnh_EchoTable:Array[0..CHARDEFSIZE2] of Byte;	{ BitTable for Echo Chars }
 cnh_UserNotes:Array[0..7] of Ptr;	{ List of Pointers to UserNotes }
 cnh_MsgHandler:Ptr;	{ Pointer to a User Message Handler }
 cnh_Reserved:Array[0..3]of Long;
END;
cin_=RECORD
 cin_XPos:Word;		{ Cursor X Position }
 cin_YPos:Word;		{ Cursor Y Position }
 cin_XSize:Word;	{ Chars per Line }
 cin_YSize:Word;	{ Lines in Window }
 cin_Styles:Word;	{ Text Styles }
 cin_FgCol:Word;	{ ForeGround Color }
 cin_BgCol:Word;	{ BackGround Color }
 cin_Reserved:Array[0..3] of Long;
END;
acc_=RECORD
 acc_XStart:Word;	{ Start X Position }
 acc_YStart:Word;	{ Start Y Position }
 acc_Styles:Word;	{ Text Styles }
 acc_FgCol:Word;	{ ForeGround Color }
 acc_BgCol:Word;	{ BackGround Color }
 acc_ExitFlags:Long;	{ IDCMP Exit Flags }
 acc_Class:Long;	{ Copy of im_Class }
 acc_Code:Word;		{ Copy of im_Code }
 acc_Qualifier:Word;	{ Copy of im_Qualifier }
 acc_IAddress:Ptr;	{ Copy of im_IAddress }
 acc_MouseX:Integer;	{ Copy of im_MouseX }
 acc_MouseY:Integer;	{ Copy of im_MouseY }
 acc_Seconds:Long;	{ Copy of im_Seconds }
 acc_Micros:Long;	{ Copy of im_Micros }
 acc_IDCMPWindow:Ptr;	{ Copy of im_IDCMPWindow }
 acc_Char:Char;		{ ASCII char }
 acc_Pad001:Byte;	{ Nothing serious }
 acc_ValidTable:Array[0..CHARDEFSIZE2] of Byte;	{ BitTable of Valid Chars }
 acc_ExitTable:Array[0..CHARDEFSIZE2] of Byte;	{ BitTable of Exit Chars }
 acc_Reserved:Array[0..3] of Long;
END;
accs_=RECORD
 accs_AS:acc_;		{ Standard AcceptStructure Header }
 accs_InputBuffer:Ptr;	{ Pointer to Input Buffer }
 accs_UndoBuffer:Ptr;	{ Pointer to Work Buffer }
 accs_MaxLength:Word;	{ Maximum Length of Text [incl. NULL] }
 accs_FieldLen:Word;	{ Length of Input Field [incl. NULL] }
 accs_Length:Word;	{ Current Length of Text [excl. NULL] }
 accs_Position:Word;	{ Current Position in Text }
 accs_DispPos:Word;	{ First Displayed Position in Text }
 accs_Reserved:Array[0..3] of Long;
END
CONST
CONNAME="con.library";
CHARDEFSIZE=36;
IGNOREVALUE=$FFFFFFFF;
DEFMODE_ALL=$00000000;
DEFMODE_NEW=$00000001;
DEFMODE_ADD=$00000002;
DEFMODE_REM=$00000003;
DEFMODE_GET=$00000004;
DEFALL=$00000000;
DEFNONE=$00020000;
DEFALFANUM=$00040000;
DEFALFA=$00060000;
DEFNUMERIC=$00080000;
DEFDECIMAL=$000A0000;
DEFHEX=$000C0000;
DEFOCTAL=$000E0000;
DEFBINARY=$00100000;
DEFFLOAT=$00120000;
CURSOROFF=$0000;
CURSORON=$0001;
ACCB_ERASE=31;
ACCF_ERASE=$80000000;
ACCB_RAWKEY=28;
ACCF_RAWKEY=$10000000;
ACCB_DUALKEY=27;
ACCF_DUALKEY=$08000000;
ACCB_UPKEY=26;
ACCF_UPKEY=$04000000;
ACCB_ECHO=25;
ACCF_ECHO=$0200000;
ACCB_WAIT=24;
ACCF_WAIT=$01000000;
ACCB_JUSTIFIED=22;
ACCF_JUSTIFIED=$00400000;
ACCB_CONTINUE=21;
ACCF_CONTINUE=$00200000;
ACCB_OVERWRITE=20;
ACCF_OVERWRITE=$00100000;
ACCB_LASTEXIT=19;
ACCF_LASTEXIT=$00080000;
ACCB_FULLSTOP=18;
ACCF_FULLSTOP=$00040000;
ACCB_NOAMIGA=17;
ACCF_NOAMIGA=$00020000;
ACCB_NOSTDAMIGA=16;
ACCF_NOSTDAMIGA=$00010000;
ACCB_NOSCROLL=15;
ACCF_NOSCROLL=$00008000;
SGFB_PLAIN=0;
SGFF_PLAIN=$0000;
SGFB_BOLD=1;
SGFF_BOLD=$0001;
SGFB_ITALIC=2;
SGFF_ITALIC=$0002;
SGFB_UNDERLINED=3;
SGFF_UNDERLINED=$0004;
CNV_DECIMAL=$00000001;
CNV_HEX=$00000002;
CNV_OCTAL=$00000003;
CNV_BINARY=$00000004;
CNV_SIGNED=$00010000;
CNV_LEADSPACE=$00020000;
AKEY_NONE=0;
AKEY_HELP=5;
AKEY_BS=8;
AKEY_TAB=9;
AKEY_LF=10;
AKEY_RETURN=13;
AKEY_ARROWRG=17;
AKEY_ARROWLF=18;
AKEY_ARROWUP=19;
AKEY_ARROWDN=20;
AKEY_ESC=27;
AKEY_DEL=127;
AKEY_F1=129;
AKEY_F2=130;
AKEY_F3=131;
AKEY_F4=132;
AKEY_F5=133;
AKEY_F6=134;
AKEY_F7=135;
AKEY_F8=136;
AKEY_F9=137;
AKEY_F10=138;
AKEY_CSI=155;
{$endif}
